iT邦幫忙

2024 iThome 鐵人賽

DAY 25
0
Security

零知識證明-走進PLONK世界系列 第 25

[Day25]零知識證明-走進PLONK世界: 連乘證明

  • 分享至 

  • xImage
  •  

基礎協議:連乘證明 (Grand Product Argument)

由於進行多項式編碼,所以會把多個單乘法壓縮成單次乘法的驗證。
這裡可以理解成將多個約束壓縮在一起,轉換成一個可驗證的多項式。
例子:
https://ithelp.ithome.com.tw/upload/images/20241009/20119569kJBIXcPDhq.png
引入一個輔助向量 r:
https://ithelp.ithome.com.tw/upload/images/20241009/20119569wPd41mWnaD.png
r是每一個對上計算的結果(Accumulator):
https://ithelp.ithome.com.tw/upload/images/20241009/20119569imizzwBVAf.png
假設現在有3個約束,
第1個約束的起始值是1,而相關的公式是:
https://ithelp.ithome.com.tw/upload/images/20241009/20119569BMprV30ci2.png
第2個約束(遞歸的乘法關系)的公式是:
https://ithelp.ithome.com.tw/upload/images/20241009/20119569OUUNMHhcfr.png
第3個約束:
https://ithelp.ithome.com.tw/upload/images/20241009/20119569hH6NRUeZUh.png
根據第3個約束,最後結果是:
https://ithelp.ithome.com.tw/upload/images/20241009/20119569hitVtKR3DW.png
變成:
https://ithelp.ithome.com.tw/upload/images/20241009/201195696fOh7v9ciq.png

利用遞歸的乘法關系:
https://ithelp.ithome.com.tw/upload/images/20241009/20119569bSEueMGctP.png
最後得出可以驗證的多項式:(以下是相關步驟)
https://ithelp.ithome.com.tw/upload/images/20241009/20119569921wnmE2Yi.png
當中α是一個隨機數,h(X)是商多項式,
https://ithelp.ithome.com.tw/upload/images/20241009/20119569DGblYfRCgC.png

完成了以上證明又有什麼用呢?
其實會利用連乘證明來證明其他證明!

利用連乘證明來實現Multiset等價證明(Multiset Equality Argument)

假設向量 {qi} 為一個多項式 q(X) 的根集合,即對向量中的任何一個元素qi,都滿足q(ri)=0。這個多項式可以定義為:
https://ithelp.ithome.com.tw/upload/images/20241009/20119569Q9RhYvY2iS.png
如果有另一多項式p(X)與q(x)相同,則會具有相同的根集合。
可以利用 Schwartz-Zippel 定理做檢驗,只要Verifier輸入一個隨機數 γ,Prover就可以通過下面的公式以證明向量 {pi} 和 {qi} 是在多重集合上是等價。
https://ithelp.ithome.com.tw/upload/images/20241009/20119569FABruZccrj.png
然後,再使用連乘證明完成驗證,通過加入輔助向量,轉換成可以驗證的多項式。在目前例子,兩個連乘公式可以轉換成為一個連乘公式:
https://ithelp.ithome.com.tw/upload/images/20241009/201195694DWuHpMBLL.png


上一篇
[Day24]零知識證明-走進PLONK世界: 多項式的概率檢查
下一篇
[Day26] 零知識證明-走進PLONK世界: 零多項式
系列文
零知識證明-走進PLONK世界30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言