zk-STARKs

進階
有兩種熱門的零知識 (zero-knowledge, zk) 證明類型 (有時也被稱為 zk 協定) – SNARK 與 STARK。零知識證明是一種密碼學驗證方法,其中一方 (證明者) 可以在無須透露任何額外支持資訊 (除了「陳述確實為真」這項資訊外) 下,向另一方 (驗證方) 證明給定陳述為真。
zk-STARK 是指「零知識可擴展透明知識論證 (zero-knowledge scalable transparent argument of knowledge)」。zk-STARK 是由以色列理工學院 (Technion-Israel Institute of Technology) 的 Eli-Ben Sasson 教授所構思。與仰賴證明者及驗證者間的初始受信任設置 (initial trusted setup) 的 zk-SNARK 不同,zk-STARK 不需要初始受信任設置,因為它依靠更精簡的密碼學,透過抗碰撞 (collision-resistant) 雜湊函數來達成。此方法也消除了 zk-SNARK 在數論上的假設,該假設在計算上非常昂貴,且理論上可能受到量子電腦的攻擊。
簡單來說,zk-STARK 證明在密碼學假設上提供了一個更直接的結構。不過,它也有一個重大的缺點:它們的證明規模很大,通常是 zk-SNARK 的 10 到 100 倍。在資料規模上的差異也讓它更加昂貴,使用該技術發送加密貨幣到其他應用程式時,可能面臨限制。

常見的零知識證明的應用案例通常同時要求隱私與安全性。其中一個例子就是身分驗證。使用特定的線上服務會要求您證明身分以及平台存取權利。這通常需要提供個人資訊,如名稱、電子郵件、生日等等。

零知識證明可以簡化平台與用戶的身分驗證。一旦使用公開輸入 (確認用戶的平台會員資格的資料) 與私有輸入 (用戶的詳細資訊) 生成零知識證明,用戶需要存取服務時,只須出示證明,即可驗證身分。這改善了用戶體驗,並免除各組織儲存大量個人資訊的責任。