Hacker Dōjō 密碼學(xué)專題一:5.2 Plonk證明系統(tǒng)

Hacker??Dōjō?Web3前沿技術(shù) workshop文稿
研究種類:密碼學(xué)-Plonk證明系統(tǒng)
資助金額:100 USDT
Bounty鏈接:https://dorahacks.io/zh/daobounty/147
Workshop回顧:?https://b23.tv/6dIm9cy
內(nèi)容貢獻(xiàn)者:密碼學(xué)專家?Lynndell
本項(xiàng)目由Hacker?Dōjō?資助,文章轉(zhuǎn)載請(qǐng)注明出處。
??學(xué)習(xí)量子計(jì)算、密碼學(xué)、Space等Web3前沿技術(shù)
??認(rèn)領(lǐng)Bounty,賺取賞金
??參與Hackathon,獲得資助
更多Web3精彩技術(shù)分享盡在Dōjō??
WeChat: @HackerDojo0

密碼學(xué)專題一課程安排

第一課:對(duì)稱加密?(DES、AES、五種加密模式)
第二課:哈希函數(shù)?(SHA2、SHA3、MiMC、Rescue、Poseidon)
第三課:群與公鑰加密?(群,橢圓曲線群,Diffie-Hellman密鑰交換,ElGamal加密)
第四課:數(shù)字簽名?(BLS、Schnorr、EdDSA、ECDSA)
第五課:零知識(shí)證明?(Sigma零知識(shí)證明、Groth16、PLONK)
第五課:?Plonk 證明系統(tǒng)

內(nèi)容概要:
一、Fflonk
二、門約束與線約束
三、Plonk核心協(xié)議
四、聚合證明
五、遞歸零知識(shí)證明
多項(xiàng)式承諾與打開
KZG承諾A


KZG承諾B



Dan承諾批量驗(yàn)證A


Dan承諾批量驗(yàn)證B

優(yōu)勢(shì)與缺點(diǎn):增加了證明長度,降低驗(yàn)證方的計(jì)算復(fù)雜度。

Dan承諾批量驗(yàn)證C

優(yōu)勢(shì)與缺點(diǎn):增加了證明長度,降低驗(yàn)證方的計(jì)算復(fù)雜度。
Dan Boneh?承諾優(yōu)點(diǎn):驗(yàn)證復(fù)雜度僅與多項(xiàng)式個(gè)數(shù)相關(guān),與隨機(jī)打開點(diǎn)數(shù)無關(guān)。
多個(gè)多項(xiàng)式打開多個(gè)點(diǎn)


Dan承諾批量驗(yàn)證D



Fflonk多個(gè)多項(xiàng)式組合

令D為某個(gè)域。

多項(xiàng)式上的操作

多項(xiàng)式的線性組合與線性分解

對(duì)于向量多項(xiàng)式

Fflonk?將多個(gè)多項(xiàng)式單點(diǎn)打開等價(jià)轉(zhuǎn)化為1?個(gè)多項(xiàng)式多點(diǎn)打開。

Plonk證明系統(tǒng)
Plonk門約束和線約束


門約束






線約束

在電路系統(tǒng)中,上述多項(xiàng)式方程實(shí)現(xiàn)了信號(hào)在電路門之間的運(yùn)算約束。使用多項(xiàng)式相等表達(dá)信號(hào)在同一條導(dǎo)線之間的處處相等。在同一條導(dǎo)線上信號(hào)處處相等,則兩個(gè)相等的信號(hào)在運(yùn)算上是可以進(jìn)行置換的,所以線約束也稱為置換約束。
核心知識(shí):坐標(biāo)對(duì)累加器


因此,得出以下關(guān)鍵結(jié)論1。




約束匯總


Plonk證明系統(tǒng)
門約束




Plonk核心協(xié)議







聚合證明

基于Plonk驗(yàn)證算法開發(fā)為驗(yàn)證電路,對(duì)應(yīng)的驗(yàn)證密鑰為VK‘存儲(chǔ)到以太坊一層,輸入多組?,輸出Proof’,將Proof’發(fā)生給驗(yàn)證方,則驗(yàn)證方校驗(yàn),等價(jià)于完成對(duì)多組?的校驗(yàn)。
難點(diǎn):驗(yàn)證算法是雙線性映射
在電路上表達(dá)雙線性映射原理,涉及millier-loop。循環(huán)次數(shù)取決于計(jì)算出來的隨機(jī)數(shù),而不是固定值。因此,循環(huán)發(fā)生變化,導(dǎo)致電路也發(fā)生變化,導(dǎo)致 發(fā)生變化。以太坊一層礦工使用變化 校驗(yàn)有風(fēng)險(xiǎn)。因?yàn)樽C明方修改電路,也會(huì)導(dǎo)致 發(fā)生變化。證明方可以基于有漏洞的電路生成 提交到一層,實(shí)現(xiàn)作弊。所以礦工必須要使用一個(gè)固定的 ,代表一個(gè)固定的驗(yàn)證算法電路。
解決方案:驗(yàn)證電路只驗(yàn)證其他固定部分,不驗(yàn)證雙線性映射。把多組雙線性映射進(jìn)行線性組合,耦合到 中,使得以太坊一層的礦工在進(jìn)行1個(gè)雙線性映射驗(yàn)證時(shí),等價(jià)于把多組的雙線性映射的線性組合也驗(yàn)證了。
遞歸零知識(shí)證明

Bn256?曲線標(biāo)量域小于基域
難點(diǎn)1:基域和標(biāo)量域之間的轉(zhuǎn)換問題
人類十進(jìn)制與計(jì)算機(jī)二進(jìn)制位寬問題,用4個(gè)二進(jìn)制表達(dá)十進(jìn)制。
難點(diǎn)2:雙線性映射的電路
在電路上表達(dá)雙線性映射的原理,涉及一個(gè)millier-loop。循環(huán)次數(shù)取決于計(jì)算出來的隨機(jī)數(shù),而不是固定值。因此,循環(huán)發(fā)生變化,導(dǎo)致電路也發(fā)生變化,導(dǎo)致VK發(fā)生變化。將多個(gè)雙線性映射的線性組合,然后提交,礦工驗(yàn)證雙線性映射,等價(jià)于驗(yàn)證了10個(gè)雙線性映射。則不需要寫雙線性映射的電路。
zcash使用遞歸曲線,標(biāo)量域=基域
難點(diǎn)3:任意長for循環(huán)的電路約束
For循環(huán)變化,導(dǎo)致電路變化,導(dǎo)致VK變化;
將proof和VK輸入到驗(yàn)證電路,驗(yàn)證電路是確定的,則驗(yàn)證電路對(duì)應(yīng)的VK’是確定的,則可以存到以太坊一層合約中。

關(guān)于Hacker Dōjō?
Hacker Dōjō?是由Hacker共建的加密、Web3前沿技術(shù)開源知識(shí)社區(qū)。Dōjō?會(huì)以直播/音頻/文字等形式定期組織分享session, 分享主題主要覆蓋L1和L2的共識(shí)算法,架構(gòu),GitHub repo相關(guān)內(nèi)容,包括不限于以下話題:Scroll / Polygon zkEVM、 Eigen的混合證明系統(tǒng)、Starkware、azTec、 Optimism、Zecrey、Aptos、 Move、密碼學(xué)(零知識(shí)證明、公鑰加密、哈希函數(shù)、格密碼) 、 分布式系統(tǒng)、 以太坊協(xié)議棧、 量子計(jì)算和量子信息、衛(wèi)星通信系統(tǒng)和航天器系統(tǒng)設(shè)計(jì)等。
?Bounty詳情及認(rèn)領(lǐng)進(jìn)度詳情:https://innovative-laser af4.notion.site/174922df15884848b6ac8b57cb4f2fae?v=612e13dc6b9d44dd8197f755abb9fe9c
?加入?Dōjō?中文社區(qū)微信聯(lián)系:@HackerDojo0
有關(guān)DoraHacks
DoraHacks 是一個(gè)全球范圍內(nèi)的極客運(yùn)動(dòng),全球黑客馬拉松組織者,也是全球最活躍的多鏈 Web3 開發(fā)者平臺(tái)之一。DoraHacks.io平臺(tái)使得世界各地的Hacker和開源開發(fā)者可以參與黑客馬拉松、Bounty、Grant、Grant DAO,以及公共物品質(zhì)押等加密原生協(xié)議和基礎(chǔ)設(shè)施進(jìn)行協(xié)作并獲得資助。到目前為止,DoraHacks 社區(qū)的 4000 多個(gè)項(xiàng)目已經(jīng)獲得了來自全球行業(yè)支持者超過 3000 萬美元的資助。大量開源社區(qū)、DAO 和 超過50個(gè)主要區(qū)塊鏈生態(tài)系統(tǒng)正在積極使用 Dora 的基礎(chǔ)設(shè)施(DoraHacks.io)進(jìn)行開源融資和社區(qū)治理。
官網(wǎng):https://dorahacks.io/