零知識證明(Zero-Knowledge Proofs,ZK)是一種讓證明者能夠向驗證者證明自己知道某個值,但同時不揭露任何除了證明自己知道該值之外的訊息的加密協定。
以下是零知識證明 non-interactive ZKPs 的著名實作方式。:
- zk-SNARKs(Zero-Knowledge Succinct Non-Interactive Argument of Knowledge)
- zk-STARKs(Zero-Knowledge Scalable Transparent ARguments of Knowledge)
zk-SNARKs 和 zk-STARKs 的主要區別在於信任設定、透明度、抵抗量子攻擊的能力、證明大小和驗證時間,以及他們依賴的計算假設。具體來說,zk-STARKs 不需要信任設定,具有完全的透明度,並且具有抵抗未來量子計算機攻擊的能力。然而,相比 zk-SNARKs,zk-STARKs 的證明大小較大,驗證時間較長。
Ethereum 創辦人 Vitalik Buterin 之所以看好 zk-SNARKs,原因如下:
- 隱私保護:隨著我們的生活日益數位化,隱私保護變得越來越重要。zk-SNARKs 可以提供強大的隱私保證,讓人們在不揭露敏感訊息的情況下證明自己的某些事實。
- 效率和可擴展性:像 Ethereum 這樣的區塊鏈面臨著嚴重的可擴展性挑戰。zk-SNARKs 可以將多個交易聚合到一個證明中,減少需要儲存在區塊鏈上的資料量,從而幫助解決這些挑戰。
- 非互動性:在我們與數字系統的互動越來越多的世界中,zk-SNARKs 的非互動性可以使這些互動更加高效且安全。
儘管 zk-STARKs 在透明度和抵抗量子攻擊的能力上比 zk-SNARKs 更有優勢,但是由於 zk-SNARKs 的證明大小較小、驗證時間較短,因此在效率和資源有限的系統中可能更為實用。此外,zk-STARKs 還處於初級階段,需要時間來證明其效率和實用性。因此,Vitalik Buterin 預見,在接下來的 10 到 20 年,隨著主流世界的滲透,zk-SNARKs 將引發一場重大的革命。
See More: