密碼學 - 零知識證明(ZKP) - Bulletproofs
零知識證明
零知識證明的理論基礎:橢圓曲線,大數計算,羣論,同態加密,配對函數,零知識證明的各種算法(zkSNARK,zkSTARK,BulletProof等等)。零知識證明的理論可以追溯到1985年。目前有兩個方向的應用:隱私和數據壓縮。Zcash就是利用零知識證明實現交易隱私,交易的雙方信息以及交易金額只有交易雙方可知。Loopring的去中心化交易協議3.0,就是利用零知識證明實現了鏈下計算,鏈上驗證的思想。Filecoin利用零知識證明實現”數據的壓縮“,用戶存儲的數據(數據量很大)不需要直接上鍊,只需要將數據證明(數據量比較小,幾百個字節)存儲在鏈上。在零知識證明技術之前,區塊鏈世界是區塊鏈世界,現實世界是現實世界。零知識證明的技術,提供了一種方式,將現實世界,部分映射到了區塊鏈世界。
zkSNARK
- 問題: 需要由可信的人進行祕密的可信設置, 可能包含有害的內容
- Zcash使用多方計算生成協議參數
- 對每個電路進行可信設置,例如。如果您想證明2個因素的知識,則可以進行信任的設置。現在,如果您必須證明3個因素的知識,則由於約束已更改,因此您必須再次進行可信設置。
Bulletproofs
-
在用這項技術的鏈:
-
介紹視頻:
-
可選擇性公開需要公開的信息, 具備隱私與審計功能
-
問題: 驗證比zkSNARK慢, 不適用於智能合約
與別的證明系統的對比