買以太坊 買以太坊
Ctrl+D 買以太坊
ads

PLO:學習筆記 | 零知識證明算法之PLONK——協議_數字貨幣和加密貨幣的區別和聯系

Author:

Time:1900/1/1 0:00:00

上一篇主要描述了PLONK協議里的一個核心部分,用置換校驗的方法去證明電路門之間的一致性;接下來,將繼續分享如何證明門的約束關系得成立,以及整體的協議剖析。

門約束

舉個簡單的例子,假如存在一個電路,電路中僅有3個乘法門,對應的約束如下:

L1*R1-O1=0

L2*R2-O2=0

L3*R3-O3=0

進行多項式壓縮:定義多項式函數L(X),R(X),O(X)滿足:

L(1)=L1,R(1)=R1,O(1)=O1

L(2)=L2,R(2)=R2,O(2)=O2

L(3)=L3,R(3)=R3,O(3)=O3

此時,定義新的多項式函數F(X),令F(X)=L(X)*R(X)-O(X)

則有:

F(1)=L(1)*R(1)-O(1)=0

F(2)=L(2)*R(2)-O(2)=0

F(3)=L(3)*R(3)-O(3)=0

也就是表明:如果多項式函數F(X)在X=1,2,3處有零點,則說明門關系約束成立。

多項式函數F(X)在X=1,2,3處有零點則表明多項式F(X)可以被(X-1)(X-2)(X-3)整除,為了和論文一致,我們把這個多項式函數設置成Z(X),即:

學習時報:充分應用區塊鏈等新技術支撐疫情防控工作:3月12日,學習時報發文《戰勝疫情和推動發展的精神法寶》。文章指出,充分運用大數據、無人機、人工智能、區塊鏈等新技術支撐疫情防控工作。不少城市和地區依托全覆蓋的信息管理體系和大數據分析平臺,對病傳播速度、發展規律、病例癥狀等信息進行數據分析,對人員流動進行動態監測,實現疫情分析、決策及各項防控舉措的科學化、精準化、高效化。[2020/3/12]

F(X)=T(X)*Z(X)==>T(X)=F(X)/Z(X)

如果能證明T(X)是一個多項式,則說明多項式F(X)與Z(X)有相同的零點,進而說明門約束關系成立。

一般過程應該如下:

1.P計算F(X)并把F(X)發送給V;

2.V根據Z(X)直接校驗F(X)/Z(X)

但是如此過程存在兩個問題,一個是復雜性問題,假如F(X)的階為n,那通信復雜度就是O(n);而是安全性問題,多項式F(X)完全暴露給V。

那應該如何解決這兩個問題呢?最佳的答案可能就是:多項式承諾

多項式承諾

什么是多項式承諾?就是證明方P用一個很短的數據來代表一個多項式F,這些很短的數據可以被驗證方V用來驗證多項式F在某一點的值確實為證明方P聲稱的值z。

聲音 | Circle CEO評論Facebook收到議員聯名信:Maxine Waters需要傾聽并學習:Circle首席執行官Jeremy Allaire就“美國眾議院民主黨議員聯合致信Facebook,呼吁其暫停Libra開發”一事評論表示:我想告訴Maxine Waters(眾議院金融服務委員會主席),你需要傾聽并學習,因為(加密)技術正在以驚人的速度發展。這不僅僅是一個處于早期階段的實驗項目,也不僅僅是Facebook上的一個空白頁面。在全球范圍內,成千上萬的工程師在不斷地建造東西——這是無法停止的,它在增長,且還在繼續增長。我想說的是,現在是決策者去學習的時候了,因為這是全球經濟的一個重大突破。 此前報道,包括Maxine Waters在內的美國眾議院民主黨議員周二向Facebook發布公開信,呼吁其暫停所有的Libra開發。[2019/7/5]

具體看一下論文里的定義:

由圖可知:

1.Setup:初始化,生成計算多項式承諾需要的一些必備參數;

2.Commit:計算多項式承諾,其結果是一個值;

3.Open:返回與多項式承諾對應的多項式函數;

動態 | Stellar加入Coinbase Earn學習平臺:據coingape報道,Stellar加入了Coinbase Earn學習平臺。Stellar發展基金會將提供價值約1億美元的Stellar作為參加該平臺學習計劃的用戶的獎勵。[2019/3/27]

4.VerifyPoly:驗證多項式承諾是否和多項式函數一致;

5.CreateWitness:證明多項式函數在某一點的值是否是證明方P聲稱的值,具體的數學方法就是:判斷多項式是否能被整除,即:

6.VerifyEval:驗證方V驗證多項式函數在某一點的值是否是證明方P聲稱的值,具體的數學方法是:利用雙線性配對驗證其數學乘法邏輯關系。

繼續回到我們上面的問題:

證明方如何證明:T(X)=F(X)/Z(X),我們再簡化一下場景,就令Z(X)=X-1,則:

T(X)=F(X)/(X-1)==>T(X)*(X-1)=F(X)==>T(X)*X=F(X)+T(X)

對應多項式承諾的協議可知:證明方P其實是想證明多項式函數F(X)再X=1處的值為0,因此根據協驗證方只需要證明:

e(Commit(T(x)),x*G)=?e(Commit(F(x))+Commit(T(x)),G)(雙線性配對的性質)

動態 | 華為云創校園計劃助力大學生學習區塊鏈技術:據洞察網消息,近日,在2018華為全聯接大會上,華為云開發者中心負責人介紹道,華為云創校園計劃為高校生量身打造了優惠云產品組合(價格低至官網目錄價一折),學生只要通過學生身份驗證,即可專享優惠套餐。此外,云創校園計劃聯合華為云各產品定期組織區塊鏈、機器學習、大數據等熱門技術實踐訓練營,由專家指導高校生動手實踐,提升實戰能力。[2018/10/19]

可以看出,利用多項式承諾的數學工具,既可以實現復雜度的優化,又可以實現隱私保護。

協議

接下來分析一下完整的PLONK協議:

Relation

上圖表示了PLONK算法里,要證明的一種關系,需要說明的是:

1.w代表著電路里的輸入、輸出,總共3n個,n是電路里乘法門的數量,每個門都有左輸入,右輸入和輸出,因此w總共有3n個;

2.q*代表著選擇向量,它的取值對應這這個是乘法門,還是加法門等類似的約束類型

3.σ代表著置換多項式,其表示門之間的一致性約束索引

4.倒數第一個公式代表門之間的約束成立

聲音 | 比特幣記者先驅:2018年才學習數字貨幣 仍遙遙領先:據Bitcoin消息,數字貨幣領域的先驅記者杰米·雷德曼(Jamie Redman)近日接受采訪時表示,加密貨幣領域仍然是原始的、暴露的和新生的。我已經在加密社區呆了很長時間了,有些人會認為我是一個“早期報道者”。然而,我仍然認為,就加密貨幣的采用而言,現在還為時過早,不管一枚加密貨幣的當前價格和市場表現如何。即使到2018年,剛剛開始學習加密貨幣的人仍然遙遙領先。

據悉,杰米·雷德曼(Jamie Redman)是世界上第一批通過報道加密貨幣行業來謀生的記者之一,至今已寫過2000多篇相關文章。[2018/8/26]

5.倒數第二個公式代表門的約束關系成立

CRS&P_Input&V_Input

上圖表示了PLONK算法里的CRS設置,以及證明方P和驗證方V的一些輸入,需要說明的是:

1.整個協議都是基于多項式的,因此需要構建對應的多項式形式。

2.多項式σ的階是3n的,由于和多項式承諾相關的CRS最高的階位n+2,因此需要把σ拆分成3個多項式S,分別記錄每個多項式的置換關系(L,R,O);

3.為了減少通信復雜度和保護隱私,協議基于多項式承諾構建,因此驗證方V的輸入都是承諾值。

Prove

上圖表示了PLONK算法里證明方的一些操作,需要說明的是:

1.b1,...b9是隨機數,從用法看是為了安全,但是我暫時也沒明白,不加這個隨機數,又會有什么安全問題?

2.a(X),b(X),c(X)分別是代表了電路里的左輸入,右輸入和輸出

3.,,表示多項式的承諾值,參考多項式承諾小節里的承諾計算方法

上圖表示了PLONK算法里證明方的一些操作,主要是置換校驗,參考第一篇的置換校驗的協議過程,生成多項式z(X),需要說明的是:

1.β和?都是用來生成置換校驗函數的參數,詳見第一篇里f`(x)和g`(x)的生成過程;

2.z(X)的生成方式對應置換校驗里跨多項式的生成過程,Li(X)為拉格朗日多項式基,性質滿足,盡在x=i的時候為1,其他為0;

3.注意區分ω和w,ω是群H的生成元,是多項式的自變量的取值。w是電路的左輸入,右輸入和輸出,是多項式L,R,O在在群H上的取值。

上圖表示了PLONK算法里證明方P的一些操作,主要是把門約束和門之間的一致性約束組合到一起,通過α,需要說明的是:

1.根據前面的描述,門約束多項式和一致性約束多項式在群H上的所有元素都是取值為0的,因此都會被多項式ZH(X)整除,等同于上面所述的T(X);

2.因此,證明方只要能證明整除的結果的確是多項式,那就能證明,門約束多項式和一致性多項式在群H所有元素上取值為0,即所有約束關系成立,即電路邏輯成立;

3.可以知道的是t(X)的階最高為3n,但是用于計算承諾的CRS只到了n的級別,因此需要把多項式t(X)拆分,然后單獨計算承諾值。

上圖表示了PLONK算法了證明方P的一些操作,主要根據多項式承諾的協議,前面P算出了多個多項式在點x=z處的值是多少,現在要用多項式承諾協議去證明,這些計算是正確的,需要說明的是:

1.為了減少驗證方V的操作復雜度,t(X)的分子部分r(X)在x=z處的值,P計算好,然后驗證方直接驗證,其他的操作類似;

2.v的值看起來是為了更安全;

3.Wz(X)對應多項式協議里的CreateWitness操作,證明這些多項式r(X),a(X),b(X)等在x=z處的值確實等于r,a,b等,對Wzw(X)同理,并返回承諾值。

Verify

至此,證明方P的所有操作都完事了,接下來都是驗證方V的操作。

上圖表示了PLONK算法里驗證方V的一些操作,主要重新生成相關的參數,確保證明方P沒有作惡。需要說明的是:

1.從輸入看,比較清晰,就是一些公開的輸入和證明方P的證明輸出;

2.根據輸入,生成置換校驗過程中需要的一些參數

上圖表示了PLONK算法里驗證方V的一些操作,對于一些公開的,并且計算復雜度很小的多項式,其在x=z處的值還是需要自己計算,更為方便。需要說明的是:

1.根據證明方P的過程來看,驗證方V的核心工作就是驗證兩個多項式承諾;

2.兩個多項式承諾驗證需要兩個配對,可以通過一個參數組合成一個配對,即μ;

3.在驗證前,先計算Wz(x),Wzw(x)的分母在x=z處的值,兩部分,減數和被減數,分別對應,。μ作為系數的,就是對應Wzw(X)多項式的。

4.最后通過一個雙線性配對操作完成兩個多項式承諾的驗證。

結束

至此,PLONK算法的協議原理已全部分享完成,公式很密集,但是細分下來,又很有層次感。能堅持看完,已實屬不易。各位讀者有什么不同的簡介,還請指教,謝謝。

Tags:PLOLON加密貨幣COISociety of Galactic ExplorationELONONE數字貨幣和加密貨幣的區別和聯系MTTCOIN

火幣網下載官方app
ROC:Rocki和它的音樂NFT_rocki幣行情

本文來自MorningTick,作者VarshaSaraogi,由Odaily星球日報實習生Vane編譯.

1900/1/1 0:00:00
COI:加密評級委員會評分表明XRP被視為證券的可能性很高_加密貨幣

據TheDailyHodl1月20日消息,加密貨幣評級委員會正在評估哪些加密貨幣具有與美國法律規定的證券相符的特征。CRC的評分為1到5分.

1900/1/1 0:00:00
CRYP:瑞士加密貨幣銀行SEBA B輪融資獲得2250萬美元,將進一步擴大業務范圍_SEBA

據TheBlockCrypto12月23日報道,瑞士加密貨幣銀行SEBA已完成了B輪融資。SEBA的首席營銷官SandraFrankDudler告訴TheBlock,這輪融資金額為2000萬瑞士.

1900/1/1 0:00:00
比特幣:Coin Metrics:為什么說BTC是對沖通脹的工具?_OIN

作者:NateMaddrey&CoinMetricsTeam 翻譯:李翰博 在比特幣存在的大部分時間里,機構通常以比特幣是一種風險性、投機性資產為由,一直遠離投資比特幣.

1900/1/1 0:00:00
比特幣:任澤平:投機需求和監管不足推動比特幣暴漲 比特幣尚不能媲美黃金經濟學家_DIN

任澤平今日在微信公眾號“澤平宏觀”上刊文稱,投機需求是主導比特幣價格瘋漲的內在原因,包括變相換匯、ICO融資等交易活動.

1900/1/1 0:00:00
ARE:邁阿密市長:探索將邁阿密打造成美國第一個以加密為中心的市政府_SHARE幣

美國邁阿密市長FrancisSuarez今日發布推文稱,他正在探索使美國第七大城市邁阿密成為該國第一個以加密為中心的市政政府所在地,Suarez支持代幣化概念以及鏈上投票.

1900/1/1 0:00:00
ads