国产麻豆精品福利在线观看,亚洲人亚洲精品成人网站,亚洲熟妇无码AV另类VR影视,欧美A级毛欧美1级A大片免费播放

您的位置:首頁 > 互聯(lián)網(wǎng) >

Arithmetization是零知識證明算法 可把CI statement轉(zhuǎn)化成Algebraic language

2019-11-25 11:53:41 來源: 區(qū)塊網(wǎng)

前言本系列的第一篇文章(技術(shù)指南 | 理解零知識證明算法之Zk-stark),以Zk-snark做對照,分別從概念和算法流程上,做了概括性的介紹。建議在

前言

本系列的第一篇文章(技術(shù)指南 | 理解零知識證明算法之Zk-stark),以Zk-snark做對照,分別從概念和算法流程上,做了概括性的介紹。建議在閱讀本篇文章之前,先閱讀下第一篇文章的內(nèi)容。本篇文章,讓我們由淺入深,一起踏上探索Zk-stark算法奧秘的旅途。

回顧

在第一篇的文章中講到,Zk-stark算法大體可以分為兩個部分:Arithmetization 和 Low Degree Testing。本篇我們先詳細介紹算法的第一階段Arithmetization。

Arithmetization的整體步驟如下圖所示:

那什么是Arithmetization?具體過程又是什么呢?帶著這些疑問,讓我們仔細的品味文章后面的內(nèi)容。

首先,什么是Arithmetization?

Arithmetization就是把CI statement轉(zhuǎn)化成正式的Algebraic language的過程,此步驟有兩個目的:第一,把CI statement以簡潔清晰的方式呈現(xiàn)出來;第二,把CI statement嵌入到代數(shù)域,為后面多項式的轉(zhuǎn)換做鋪墊。Arithmetization representation主要由兩部分組成:第一,執(zhí)行軌跡(圖中橙色部分);第二,多項式約束(圖中灰色部分)。

執(zhí)行軌跡是一個表,表的每一行代表一個單步的運算;多項式約束的構(gòu)造是和執(zhí)行軌跡相輔相成的,即當前僅當執(zhí)行軌跡是正確的,多項式約束會滿足執(zhí)行軌跡的每一行計算。最后把執(zhí)行軌跡和多項式約束結(jié)合組成一個確定的多項式,然后對多項式進行LDT驗證。至此,驗證CI statement的問題轉(zhuǎn)換成了驗證確定性多項式LDT的問題。

Arithmetization

知道了Arithmetization的整體流程,接下來,我們討論下具體的過程。為了便于理解,我們用一個簡單的例子,來貫穿整個Arithmetization的過程。

每個人都去過超市,一般超市的收據(jù)的內(nèi)容如下:

現(xiàn)在,好萊塢人氣演員Bob聲稱:"the total sum we should pay at the supermarket was computed correctly"。那怎么驗證呢?其實很簡單,這時另一個人氣演員Alice只要對著收據(jù),每一項累加求和就可以完成驗證。那么,這只是一個很簡單的例子,事實上,Alice只需要5步,就可以完成驗證過程。

試想這樣一個場景:畢竟Bob很有錢,在超市買了1000000樣?xùn)|西,同樣,他又聲稱:"the total sum we should pay at the supermarket was computed correctly",這時候,Alice真的生氣了,這怎么驗證,按照之前的辦法,得大約要算1000000步,鬧呢?誰愛干誰干。Bob心里也心疼Alice,畢竟那么多年了。心想,有沒有什么牛掰的辦法能讓Alice用很少的步驟,就能確信我說的是對的呢?于是,Bob開動了最強大腦模式。

下面,讓我們用上面簡單的例子,跟隨Bob去尋找這個牛掰的辦法。

Bob心想,你不就是驗證最終的總和對不對么?那我就把總和的計算過程列出來,我保證每次的累加都對,那么我最終的結(jié)果一定也是對的。于是Bob在收據(jù)上新增了一列,用來保存計算總和過程中的中間值(圖中橙棕色部分標注),這就是執(zhí)行軌跡(圖1中的橙色部分)。

新增的一列值需要滿足,初始化的值為0(圖2中黃色部分)、最終的值和要付的總和相等(圖2中黃色部分)、中間的每一個值都要等于上一個值加上上一行物品的單價(圖2中紅線部分),這構(gòu)成了多項式約束(圖1灰色部分,圖2左下角部分)。

從圖2可以看出:

· 多項式約束總共有3個,兩個是邊界約束(多項式索引1&3),一個是循環(huán)約束(多項式索引2);

· 多項式的大小和執(zhí)行軌跡的答案小沒有關(guān)系,即表格的長度即使擴大到1000000,最終的多項式約束仍是這三個,唯一變化的是變量x的取值范圍而已。

在這里,借用V神的話來描述一下Zk-stark:Zk-Stark不是一個確定性的算法,它是一大類密碼和數(shù)學結(jié)構(gòu),對于不同的應(yīng)用,具有不同的最優(yōu)設(shè)置。可以理解為,對于不同的問題,具有不同的算術(shù)化的方案(在本例中,是加一列值,在其他案例中就不一定適用了),因此要做到具體問題具體分析。

但是有一個共同目標就是,無論是什么問題,得到的執(zhí)行軌跡最好是用一個LOOP就可以表示,這樣得到的多項式約束也就最為簡潔。多項式約束的個數(shù)和形式直接影響到了proof的大小和Zk-stark算法的性能,因此,尋找一個最優(yōu)的設(shè)置對于Zk-stark算法顯得尤為重要。

回歸到主題,現(xiàn)在Bob已經(jīng)得到了多項式約束和執(zhí)行軌跡,那么如何把它們轉(zhuǎn)換成一個確定的多項式呢?請看下圖:(藍色箭頭代表主流程,紅色箭頭代表分支)

Bob首先把關(guān)注點切到執(zhí)行軌跡,可以看到執(zhí)行軌跡有2列,一列是單項價格,一列是價格總和,我們分別對兩列的元素進行拉格朗日插值,得到兩個函數(shù) f(x), w(x),0≤x≤5。分別對兩個函數(shù)進行域擴展,得到了在更多的點上的評估,即f(x),w(x) ,0≤x≤10000(從多項式插值,到域擴展,這其實就是Reed-Solomen的編碼過程,它可以實現(xiàn),原始數(shù)據(jù)哪怕有一處差異,得到的碼字會大不相同;主要目的用于防止證明者作惡,加入證明者作惡,會使得驗證者很容易發(fā)現(xiàn))。

然后,Bob把f(x),w(x) 和多項式約束等式結(jié)合,得到一組確切的多項式約束(圖中紅色圈2所示),以循環(huán)約束多項式為例:

1 ≤ x ≤ 5 w(x) - f(x -1) - w(x -1) = 0 (1)

令Q(x) = w(x) - f(x-1) - w(x-1),則有Q(1) = 0、Q(2) = 0、Q(3) = 0、Q(4) = 0、Q(5) = 0。

根據(jù)已知事實,度為d的多項式H(x)在x = n處為0,則存在一個度為d-1的多項式H`(x),滿足 d(H`(x)) = d(H(x)) - 1 && H(x) = H`(x) * (x - n)

因此對于Q(x),度為5,存在一個多項式Ψ(x),度為0,即常量,滿足Q(x) = Ψ(x) * (x - 1)(x - 2)(x - 3)(x - 4)(x - 5),令目標多項式T(x) = (x - 1)(x - 2)(x - 3)(x - 4)(x - 5),度為5,則有:

Q(x) = Ψ(x) * T(x) (2)

驗證者Alice從0≤x≤10000隨機選擇一點a,發(fā)送給證明者Bob,要求Bob返回相應(yīng)的值,以公式(2)為例,Bob需要返回w(a)、w(a-1)、f(a-1)、Ψ(a),然后Alice判斷等式是否成立,即:

w(a) - f(a - 1) - w(a - 1) = Ψ(a) * T(a) (3)

如果等式成立,則Alice大概率相信執(zhí)行軌跡是正確的,那么原始計算成立。假如驗證者Bob作惡,將表格中的4.98改成5.98,那么Q(1) = w(1) - w(0) - f(0) = 5.98 - 0 - 4.98 = 1,不等于0。在這種情況下,觀察公式(2),等式右邊為Q(x),度為5,x = 1不是零點;等式右側(cè)Ψ(x) * T(x) ,令G(x) = Ψ(x) * T(x),度為5,因為T(x)在x = 1處是零點,所以G(x)在x=1處也是0點。

因此,等式兩邊實際上是度相等的不同多項式,其交點最多為5個,因此在0≤x≤10000范圍內(nèi),只有5個值相等,9995值是不等的,因此隨機的從0≤x≤10000中選擇一個值,驗證不通過的概率是99.95%,如果域擴展的范圍更大,則驗證不通過的概率將會更接近于1。按照同樣的邏輯,分別處理邊界約束多項式,得到的結(jié)果如圖所示(圖中紅色圈3所示)。

下面,我們講討論如何增加零知識屬性。

對于證明者Bob來講,執(zhí)行軌跡是不希望被驗證者Alice看到的,因為它會包含一些重要的信息,因此,限定驗證者Alice只能從6≤x≤10000范圍內(nèi)隨機選擇一個值,進行驗證,當然這種限定,雙方都是同意的。

存在這樣一類問題。當驗證者Alice收到證明者Bob反饋的值時,如何保證這些值是合法的,確實是通過多項式的形式計算,并且這些多項式是小于某個度的,而不是證明者Bob僅僅為了驗證通過,而生成的隨機值?比如如何確保w(a)、w(a-1)、f(a-1)、Ψ(a)是多項式w(x)、f(x)、Ψ(x)分別在x = a && x = a - 1上的取值呢,且多項式w(x)、f(x)、Ψ(x)的度小于某個固定值的呢?這些問題將在下一篇文章中給出答案,在此之前,不如先討論一下,為何多項式的度小于某個固定值就能證明原始執(zhí)行軌跡是正確的呢?

從以上的例子中,可以看出,當且僅當執(zhí)行軌跡是正確的時候,Q(x)才會在x 取值為 1、2、3、4、5時,等于0。那么Q(x)才可以被目標多項式T(x)整除,即:Ψ(x) = Q(x) / T(x) ,d(Ψ(x)) = d(Q(x)) - 5。

從圖3可以看出,需要驗證的多項式的個數(shù)是5個(紅色圈4所示),如果對每一個多項式都進行LDT,那么消耗是很巨大的,因此,可以通過將這些多項式進行線性組合(紅色圈5所示),當且僅當每個多項式都滿足小于某個度時,其線性組合后的多項式也是小于某個度的,這個條件時充分的,具體的細節(jié)見后續(xù)的系列章節(jié)。(江小白)

關(guān)鍵詞: Arithmetization 零知識證明算法

精選 導(dǎo)讀

募資55億港元萬物云啟動招股 預(yù)計9月29日登陸港交所主板

萬科9月19日早間公告,萬物云當日啟動招股,預(yù)計發(fā)行價介乎每股47 1港元至52 7港元,預(yù)計9月29日登陸港交所主板。按發(fā)行1 167億股計算,萬

發(fā)布時間: 2022-09-20 10:39
管理   2022-09-20

公募基金二季度持股情況曝光 隱形重倉股多為高端制造業(yè)

隨著半年報披露收官,公募基金二季度持股情況曝光。截至今年二季度末,公募基金全市場基金總數(shù)為9794只,資產(chǎn)凈值為269454 75億元,同比上

發(fā)布時間: 2022-09-02 10:45
資訊   2022-09-02

又有上市公司宣布變賣房產(chǎn) 上市公司粉飾財報動作不斷

再有上市公司宣布變賣房產(chǎn)。四川長虹25日稱,擬以1 66億元的轉(zhuǎn)讓底價掛牌出售31套房產(chǎn)。今年以來,A股公司出售房產(chǎn)不斷。根據(jù)記者不完全統(tǒng)

發(fā)布時間: 2022-08-26 09:44
資訊   2022-08-26

16天12連板大港股份回復(fù)深交所關(guān)注函 股份繼續(xù)沖高

回復(fù)交易所關(guān)注函后,大港股份繼續(xù)沖高。8月11日大港股份高開,隨后震蕩走高,接近收盤時觸及漲停,報20 2元 股。值得一提的是,在7月21日

發(fā)布時間: 2022-08-12 09:56
資訊   2022-08-12

萬家基金再添第二大股東 中泰證券擬受讓11%基金股權(quán)

7月13日,中泰證券發(fā)布公告,擬受讓齊河眾鑫投資有限公司(以下簡稱齊河眾鑫)所持有的萬家基金11%的股權(quán),交易雙方共同確定本次交易的標的資

發(fā)布時間: 2022-07-14 09:39
管理   2022-07-14

央行連續(xù)7日每天30億元逆回購 對債市影響如何?

央行12日再次開展了30億元逆回購操作,中標利率2 10%。這已是央行連續(xù)7日每天僅進行30億元的逆回購縮量投放,創(chuàng)下去年1月以來的最低操作規(guī)

發(fā)布時間: 2022-07-13 09:38
資訊   2022-07-13

美元指數(shù)創(chuàng)近20年新高 黃金期貨創(chuàng)出逾9個月新低

由于對美聯(lián)儲激進加息的擔憂,美元指數(shù)11日大漲近1%創(chuàng)出近20年新高。受此影響,歐美股市、大宗商品均走弱,而黃金期貨創(chuàng)出逾9個月新低。美

發(fā)布時間: 2022-07-13 09:36
資訊   2022-07-13

美股三大股指全線下跌 納斯達克跌幅創(chuàng)下記錄以來最大跌幅

今年上半年,美股持續(xù)回落。數(shù)據(jù)顯示,道瓊斯指數(shù)上半年下跌15 3%,納斯達克綜合指數(shù)下跌29 5%,標普500指數(shù)下跌20 6%。其中,納斯達克連續(xù)

發(fā)布時間: 2022-07-04 09:51
推薦   2022-07-04

融資客熱情回升 兩市融資余額月內(nèi)增加超344億元

近期A股走強,滬指6月以來上漲4%,融資客熱情明顯回升。數(shù)據(jù)顯示,截至6月16日,兩市融資余額1 479萬億元,月內(nèi)增加344 67億元,最近一個半

發(fā)布時間: 2022-06-20 09:41
資訊   2022-06-20

4個交易日凈買入超百億元 北向資金持續(xù)流入A股市場

北向資金凈流入態(tài)勢延續(xù)。繼6月15日凈買入133 59億元后,北向資金6月16日凈買入44 52億元。自5月27日至今,除6月13日以外,北向資金累計凈

發(fā)布時間: 2022-06-17 09:37
推薦   2022-06-17