Privacy

zk-SNARKs vs. Zk-STARKs vs. BulletProofs?(更新)

  • March 24, 2019

zk-S N ARKsZk-S T ARKsBulletProofs是為區塊鏈技術提供隱私的三大零知識證明。

如果我們可以比較它們,

(1) BulletproofsZk-S T ARK不需要可信設置。

zk-S N ARK 不同,zk-S N ARK需要一個可信的設置,這會給它帶來不舒服的情況。

(2)使用zk-S N ARKs的Zcash可以隱藏金額地址以及****發送方和接收方

我還不清楚是否可以通過BulletproofsZk-S T ARKs隱藏發件人和收件人。

(3 )顯然,Zk -S T ARKszk- S N ARKsBulletproofs****快

(4) Bulletproofszk -S N ARKsZk-S T ARKs

一般來說,這三種主要的零知識證明技術之間的主要區別(優點和缺點)是什麼?

**注:**參考文獻用於上述比較:

https://crypto.stanford.edu/bulletproofs/

https://blockonomi.com/bullet-proofs/

https://nulltx.com/mit-review-acclaims-zk-snarks-but-zk-starks-may-steal-the-show/

**注 1:**以下文章將 SNARKs 與 STARKs 進行比較: https ://medium.com/coinmonks/zk-starks-create-verifiable-trust-even-against-quantum-computers-dd9c6a2bb13d

**注 2:**我在下圖中比較了 zk-SNARKs、Zk-STARKs 和 BulletProofs。對此比較的任何評論表示讚賞:

在此處輸入圖像描述

你的一些觀點是有效的(例如 SNARKs 和 STARKS 都比 Bulletproofs 快)但也有一些錯誤:

  1. STARK 僅在證明者級別比 SNARK 快(1.6 秒對 2.3 秒),而對於驗證者,協議稍慢(16 毫秒對 10 毫秒)。
  2. 如果更短的意思是字節大小,Bulletproofs 僅小於 STARK(1,300B 對 45,000B),而它們明顯大於 SNARK(1,300B 對 288B)

主要區別是什麼(優點和缺點)?

根據令人敬畏的 ZKP 回購

真棒ZKP


根據 Devcon4 的 Elena Nadilinski 的幻燈片

瘦豆


根據來自 Devcon4 的 Zooko Wilcox (Zcash)主題演講

動物園


根據 Eli-Ben Sasson在 Technion 暑期學校的主題演講(請注意,最後一張圖片測量的是子集和求解器,可能比上面比較中的計算更複雜):

伊本

Starks 幾乎比Snarks 更好:它們需要較弱的加密假設,不需要受信任的設置並且具有後量子抗性。但是它們有一個主要缺點,因為證明是巨大的。

對於某些應用程序,例如我必須工作的應用程序,這根本不可行。我們必須在數百字節的 Snark 證明和數百千字節的 STARK 證明之間做出選擇。那個單一的因素對我們來說是一個殺手。

Starks 的驗證時間也比 Snarks 長得多。在前者中,它隨時間增長 O(poly log n),而對於Snarks,它在輸入大小上是線性的,這只是一個很小的常數,尤其是在復雜電路中。請記住,這裡的 n 是門的數量。

例如,用一個電路證明你知道某個雜湊值的原像。輸入將是該輸入的大小,如果您使用 SHA256,則為 32 個字節。但是,對於此功能,門的數量將達到數万,您可以看到相比之下,SNARK 的驗證時間可以忽略不計。

上表中的數字非常具有誤導性。他們不會告訴你你有什麼樣的電路,以及n有多大。根據您的電路的複雜程度,它們可能會有很大的不同。我更喜歡使用漸近表示法,本文中有一個很好的表格(第 3 頁)。

引用自:https://ethereum.stackexchange.com/questions/59145