日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

双线性映射:零知识证明的引擎

發布時間:2023/12/31 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 双线性映射:零知识证明的引擎 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

就像汽車一樣,zk-SNARK零知識證明系統是由很多具有不同功能的部件組成的。在我看來zk-SNARK這輛車的引擎就是用來保護私有信息的雙線性配對。配對是一種特殊的映射,它模糊了信息但依然允許你進行有限的計算,非常令人著迷。

用自己熟悉的語言學習以太坊DApp開發: Java | Php | Python | .Net / C# | Golang | Node.JS | Flutter / Dart

配對的基本概念

配對(Pairing)將輸入的兩個群成員映射為第三個群的成員,將配對記為e。

上式左邊的群由橢圓曲線上的點構成。你可以在很多地方找到橢圓曲線數學的介紹,不過我推薦Nick Sullivan寫的這篇。上式右邊的群被稱為目標群,通常是一些大型有限群。

有趣的是,第一個橢圓曲線配對是法國數學家André Weil二戰期間在監獄中給出的:

配對必須具備一些代數特征,下面是最重要的一個,被稱為雙線性:


下面是另一種表達方式:


配對的另一個重要特征是非退化性(non-degeneracy):

右邊的1表示目標群中的乘法單位元。非退化性保證了只要我們選擇橢圓曲線上的非單位成員G,就能得到目標群中的非單位元。

雙線性配對在零知識證明中的應用

正如Vitalik Buterin指出的,配對可以用于驗證一個數學過程是否正確執行,這也是配對在zk-SNARK中的用途。例如,假設我聲稱自己知道一個滿足以下二次方程的數值:

為了說服你我的確知道上述方程的一個解,一個辦法就是告訴你
我知道的這個解,然后你自己帶入上述方程去驗證。另一個辦法
就是我不告訴你這個具體的解是多少,但是使用橢圓曲線上的配對
進行驗證。

首先注意,如果:

那么k要么是0,要么是群的階的倍數,因此如果以下等式成立,我們
就可以確定二次方程成立:

由于x2-x-42可以為0或目標群的階的倍數, 因此我們需要更多x的信息來判斷x的確是0,這一問題在另一篇文章已經介紹過了。

利用雙線性,我們可以將上述等式重寫為:

進一步整理:

現在,不需要驗證原始的二次方程成立,只需要驗證上面這個配對方程成立即可。
我不需要提供x的具體數值,只需要告訴驗證人xG就可以了 —— 這隱藏了真實的x,
同時也讓驗證人可以驗證我的x的確讓等式成立。


原文鏈接:雙線性配對:零知識證明的引擎 —— 匯智網

總結

以上是生活随笔為你收集整理的双线性映射:零知识证明的引擎的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。