撰文:FoxTechCEO康水躍,FoxTech首席科學家孟鉉濟前言:如果密碼學家沒有發現張量積和多項式取值之間的聯系,那就很難出現多項式承諾協議Brakedown,也就不可能誕生基于Brakedown的Orion、以及FOAKS這類全新的快速算法。
在許多依賴多項式承諾的零知識證明系統當中,使用了不同的承諾協議。根據a16z的JustinThaler在2022年8月文章“MeasuringSNARKperformance:Frontends,backends,andthefuture”的評估,Brakedown雖然有較大的ProofSize,但是無疑是當下最快的多項式承諾協議。
FRI、KZG、Bulletproof是更為常見的多項式承諾協議,但速度是它們的瓶頸。zkSync采用的Plonky、PolygonzkEVM采用的Plonky2、Scroll采用的Ultra-Plonk等算法都是基于KZG的多項式承諾。Prover涉及到大量的FFT計算和MSM運算生成多項式和承諾,這兩者都會帶來大量的計算負擔。雖然MSM有運行多線程加速的潛力,但需要大量內存,即使在高并行下也很慢,而大型FFT則嚴重依賴算法運行時數據的頻繁洗牌,難以通過分布式加速跨計算集群加載。
正是由于有了更為快速的多項式承諾協議Brakedown,才使這類運算的復雜度大幅降低。
FOAKS即FastObjectiveArgumentofKnowledges,是由FoxTech提出的一種基于Brakedown的零知識證明系統框架。FOAKS在Orion的基礎上進一步減少FFT運算,目標是最終消除FFT。此外,FOAKS還設計出一種全新的非常精妙的證明遞歸方式來減少證明大小。FOAKS框架的優勢在于在實現線性證明時間的基礎上有著較小的證明大小,非常適合應用于zkRollup場景當中。
Candy Collective項目Discord服務器的驗證程序遭到黑客入侵:金色財經消息,據CertiK官方推特發布消息稱,Candy Collective項目Discord服務器的驗證程序遭到黑客入侵,請用戶勿與Wallet Drainer相關鏈接交互。[2023/6/20 21:50:00]
下文我們將詳細介紹FOAKS所使用的多項式承諾協議Brakedown。
在密碼學當中,承諾協議由證明者對某一個秘密值進行承諾,生成一個公開的承諾值,這個承諾值具有綁定性和隱藏性,之后提交者需要打開此承諾并將消息發送到驗證者,以驗證承諾與消息之間的對應關系。這一點,使得承諾協議和哈希函數的作用有許多共通之處,但是承諾協議往往依賴于公鑰密碼學領域的數學結構。而多項式承諾是一類對于多項式的承諾方案,也就是說被承諾值是多項式。而同時多項式承諾協議當中還包含了在給定的點取值并給出證明的算法,這就使得多項式承諾協議本身成為一類重要的密碼學協議,是許多零知識證明系統的核心部分。
而在最新的密碼學領域的研究當中,由于發現了張量積和多項式取值之間的聯系,所以誕生了一系列與此相關的多項式承諾協議,Brakedown是其中的代表性協議。
在詳細介紹Brakedown的協議細節之前,需要先了解一些基礎知識。我們需要先了解線性碼、抗碰撞哈希函數、默克爾樹、張量積的運算以及多項式取值的張量積表示。
首先是線性碼。一個消息長度為k,碼字長度為n的線性碼是一個線性子空間CFn,使得存在一個從消息到碼字的單射,稱為編碼,記作EC:FkC。任意的對于碼字的線性組合仍然是一個碼字。兩個碼字u,v的距離即他們的漢明距離,記作(u,v)。最短距離為d=minu,v(u,v)。這樣的碼記作線性碼,用dn表示碼的相對距離。
數據:過去24小時全網爆倉約1.24億美元:金色財經報道,據Coinglass數據顯示,過去24小時全網爆倉約1.24億美元,其中多單爆倉1525.23萬美元,空單爆倉1.09億美元。最大單筆爆倉單發生在Bitmex-XBTUSD上,爆倉價值729.47萬美元。[2023/5/29 9:47:54]
其次是抗碰撞哈希函數與默克爾樹。
使用H:{0,1}2{0,1}表示一個哈希函數。默克爾樹是一種特殊的數據結構,可以實現對于2d個消息的承諾,生成一個哈希值h,在打開任何消息時候需要d+1個哈希值。
默克爾樹可以被表示為一個深度為d的二叉樹,其中L個消息元素m1,m2,...,ml分別對應樹的葉子。樹的每一個內部節點都由它的兩個子節點進行哈希計算得出。打開消息mi時,需要公開從mi到根節點的路徑。
用以下記號來表示:
hMerkle.Commit(m1,...,ml)
(mi,i)Merkle.Open(m,i)
{0,1}Merkle.Verify(i,mi,h)
圖1:默克爾樹
我們還需要了解張量積的運算是怎么做的。數學上,張量是向量和矩陣向高維空間的擴展,是很重要的研究對象,詳細的討論張量超出本文的研究范疇,這里只介紹向量和矩陣的張量積運算。
圖2:向量和矩陣的張量積運算
緊接著,我們需要知道多項式取值的張量積表示。當中提到,多項式的取值可以被表示成張量積的形式。在這里我們考慮多線性多項式的承諾。
Argo Blockchain 2月產出162枚BTC,挖礦收入為376萬美元:金色財經報道,加密礦企Argo Blockchain在2月份產出162枚比特幣或比特幣等價物,與2022年12月相比,每日增長7%。截至2023年2月28日,該公司持有101枚比特幣或比特幣等價物。此外,Argo 2月份的挖礦收入為376萬美元,而2023年1月為342萬美元。
盡管2月份的平均網絡難度比前一個月增加了10%,但Argo依然能夠實現每日BTC產量的增長。[2023/3/7 12:47:12]
具體來講,給定一個多項式,他在向量x0,x1,...,xlogN-1的取值可以寫成:
(x0,x1,...,xlogN-1)=i0=01i1=01...ilogN-1=01wi0i1...ilogN-1x0i0x1i1...xlogN-1ilogN-1
根據多線性的定義,每一個變量的次數是0或1,因此,這里有N個單項式和系數,以及logN個變量。令i=j=0logN-12jij,其中i0i1...ilogN-1是i的二進制表示。令w表示多項式系數,w=wi0i1...ilogN-1。同樣的,定義Xi=x0i0x1i1...xlogN-1ilogN-1。令k=N,r0={X0,X1,...,Xk-1},r1={X0k,X1k,...,Xk-1k}。于是有X=r0r1。
從而,多項式取值可以被表示成張量積的形式:(x0,x1,...,xlogN-1)=<w,r0r1>。
最后,我們來看FOAKS、Orion當中使用的Brakedown的過程。
“0x212bb”開頭地址2小時前使用1000ETH購買22.7萬枚LINK:金色財經報道,據推特用戶Bit余燼監測,“0x212bb”開頭地址在2小時前使用1000ETH購買了22.7萬枚LINK(價值約165萬美元),該筆交易MetaMask賺取手續費8.75ETH(14,280美元)。[2023/2/9 11:56:58]
首先,PC.Commit將多項式系數w劃分成kk的矩陣形式,并將其編碼,記作C2。之后對于C2的每一列C2進行承諾建立一個默克爾樹,然后再對于每一個列形成的默克爾樹樹根建立另一個默克爾樹,作為最終的承諾。
在取值證明的計算中,需要證明兩點,一是近似性,二是一致性。近似性保證了承諾的矩陣確實和編碼后的一個碼字足夠接近。一致性保證y=<w,r0r1>。
近似性檢驗:近似性檢驗由兩步組成。首先,驗證者發送一個隨機向量0給證明者,證明者計算0與C1的內積,也就是以0的分量為系數對C1的行計算線性組合。由于線性碼的性質,C0是y0的碼字。之后,證明者證明C0確實是從被承諾的碼字計算出的。為了證明這一點,驗證者隨機選取t列,證明者打開對應的列并提供默克爾樹證明。驗證者檢查這些列和0的內積和C0當中對應位置相等。當中證明如果使用的線性碼有常數的相對距離,那么被承諾的矩陣就以壓倒性的概率與一個碼字接近。
一致性檢驗:一致性檢驗和近似性檢驗的流程完全類似。不同之處在于,不使用隨機向量0而是直接使用r0來完成線性組合的部分。類似的,c1也是消息y1的一個線性碼,并且有(x)=<y1,r1>。當中證明,通過一致性檢驗,如果被承諾的矩陣與一個碼字接近,則以壓倒性概率成立y=(x)。
數支F1車隊被迫在法國大獎賽期間移除加密相關廣告商標:7月26日消息,長期以來,法國對多種產品的廣告都有嚴格的規定,加密貨幣是最新一個違反法國規定的產品。在上周末的法國大獎賽期間,幾支F1車隊不得不遮蓋或移除加密相關產品的商標貼紙。(RacingNews365)[2022/7/26 2:38:57]
以偽代碼形式,我們給出Brakedown協議的流程:
Publicinput:TheevaluationpointX,parsedasatensorproductX=r0r1;
Privateinput:Thepolynomial,thecoefficientofisdenotedbyw.
LetCbethe-limearcode,EC:FkFnbetheencodingfunction,N=kk.IfNisnotaperfectsquare,wecanpadittothenextperfectsquare.Weuseapythonstylenotationmattoselectthei-thcolumnofamatrixmat。
functionPC.Commit():
????????Parsewasakkmatrix.TheproverlocallycomputesthetensorcodeencodingC1,C2,C1isaknmatrix,C2isannmatrix.
????????forido
??????????????ComputetheMerkletreerootRoott=Merkle.Commit(C2)
????????ComputeaMerkletreerootR=Merkle.Commit(),andoutputRasthecommitment.
functionPC.Prover(,X,R)
????????Theproverreceivesarandomvector0Fkfromtheverifier
????????Proximity:C0=i=0k-10C1,y0=i=0k-10w
????????Consistency:C1=i=0k-1r0C1,y1=i=0k-1r0w
????????ProversendsC1,y1,C0,y0totheverifier.
????????VerifierrandomlysamplestasanarrayIandsendittoprover
????????foridxIdo
??????????????ProversendsC1andtheMerkletreeproofofRootidxforC2underRtoverifier
functionPC.VERIFY_EVAL(X,X,y=(X),R)
????????Proximity:idxI,C0==<0,C1>andEC(y0)==C0
????????Consistency:idxI,C1==<r0,C1>andEC(y1)==C1
????????y==<r1,y1>
????????idxI,EC(C1)isconsistentwithROOTidx,andROOTidx’sMerkletreeproofisvalid.
????????Outputacceptifallconditionsaboveholds.Otherwiseoutputreject.
結語:多項式承諾是一類非常重要的密碼學協議,被廣泛的應用在許多密碼學系統當中,尤其是零知識證明系統。本文詳細介紹了多項式承諾Brakedown協議以及和其相關的數學知識,作為FOAKS很重要的底層組件,Brakedown對FOAKS的實例化性能的提升起到了重要作用。
參考文獻
:AlexanderGolovnev,JonathanLee,SrinathSetty,JustinThaler,andRiadS.Wahby.Brakedown:Linear-timeandpost-quantumsnarksforr1cs.CryptologyePrintArchive.https://ia.cr/2021/1043.
:XieT,ZhangY,SongD.Orion:Zeroknowledgeproofwithlinearprovertime//AdvancesinCryptology–CRYPTO2022:42ndAnnualInternationalCryptologyConference,CRYPTO2022,SantaBarbara,CA,USA,August15–18,2022,Proceedings,PartIV.Cham:SpringerNatureSwitzerland,2022:299-328.https://eprint.iacr.org/2022/1010
:Bootle,Jonathan,AlessandroChiesa,andJensGroth."Linear-timeargumentswithsublinearverificationfromtensorcodes."TheoryofCryptography:18thInternationalConference,TCC2020,Durham,NC,USA,November16–19,2020,Proceedings,PartII18.SpringerInternationalPublishing,2020.
JustinThalerfromA16zcrypto,MeasuringSNARKperformance:Frontends,backends,andthefuturehttps://a16zcrypto.com/measuring-snark-performance-frontends-backends-and-the-future/
張量積的介紹:https://blog.csdn.net/chenxy_bwave/article/details/127288938
Tags:THEANDPROIONThe Crypto PropheciesDiviLandMPRO幣Retrogression
原文標題:《Polygon@ThePit加速器11個獲獎項目速覽》作者:PolygonDevelopers編譯:angelilu.
1900/1/1 0:00:00整理:西昻翔,ChainCatcher“過去24小時都發生了哪些重要事件”?1、數據:2月份加密市場共計披露120筆融資,總額達9.5億美元據數據網站Rootdata統計.
1900/1/1 0:00:00Solana基礎設施初創公司Helius現已推出SolanaNFTCompression,開發者能夠通過數字資產標準以低成本鑄造大量NFT.
1900/1/1 0:00:00原文作者:VINCERO,OPResearch我是如何進入?Crypto?的?2017?年,在?Bali,當時也算是個?Nomad,但是還不懂什么是?Crypto.
1900/1/1 0:00:00撰文:Sui基金會 編譯:Babywhale,ForesightNewsSui測試網Wave2已圓滿結束,本次測試幫助我們實現了在Sui上進行質押操作的目標.
1900/1/1 0:00:00STEPN開發商FindSatoshiLab推出的新興NFT平臺MOOARLaunchpad第二季投票已于2月26日8:00結束,目前正在唱票,將于2月28日8:00公布最終結果.
1900/1/1 0:00:00