a16z:如何用一場魔術表演來理解零知識證明
編者按:作為 Crypto 在擴容、隱私等多個方向上發展的“祕籍寶典”,零知識證明(zero-knowledge proofs,簡稱 ZKPs)被業界寄予了了極高的期許。然而,由於針對該概念的解釋性內容大多面向於具有一定計算機科學或密碼學基礎的人群,所以對於多數普通用戶而言,想要徹底理解該概念本身仍具有一定的障礙。
9 月 8 日,a16z 合夥人Michael Blau 發布了關於零知識證明的科普性文章。文章巧妙了避开了零知識證明概念本身較為抽象的數學思辨部分,而是利用魔術表演來將 ZKP 的效用具象地展現了出來。
以下為 Odaily 星球日報就Michael Blau的原文內容(第一人稱口吻)所做的編譯,出於閱讀流暢度考慮,存在一定刪改。
《2001 太空漫遊》的作者克拉克說過:“任何足夠先進的科技,都與魔法無異。”
零知識證明就是那些如同魔法般的科技中的一個,它其實是一個密碼學概念, 可用來解決 Web3 中的兩項重大難題——擴容和隱私。
從效用來看, 採用零知識證明有助於降低鏈上交易費用,設計全新的隱私保護型 App,從而推動 Crypto 傳播至十億級別的用戶。 拋开 Crypto 不提,ZKP 也有潛力被應用於安全傳輸敏感數據,進而幫助打擊非法金融系統或對抗泛濫的詐騙信息。
但零知識證明究竟是什么呢?對於少部分研究員、开發者而言,網絡上可以找到很多詳盡的解釋,但這些內容並不面向計算機科學或祕密學經驗較少的普通用戶。盡管部分先驅也寫過一些類比型的科普文章,但截至今日,想要找到一個精闢、通俗的零知識證明相關解釋,進而幫助普通人准確地把握其魔力,仍不是一件簡單的事情。
所以在接下來這篇文章中,我結合了我在 Crypto 和魔術行業的背景來探索一個全新的類比—— 把零知識證明想象成一場偉大的魔術。
首先,還有要有些基礎知識
我會先行分享關於零知識證明(特別是其經典算法 zk-SNARK)的“高級”定義,以及它的主要特性,然後再將這些“部件”一一對應至一場魔術之中。
a16z 的研究合夥人 Justin Thaler 針對 zk-SNARK 給出的定義是:“ zk-SNARK 允許某人(證明者)向其不信任的另一個人(驗證者)證明他知道一些數據,而無需透露任何關於數據本身的信息。 ”
麻省理工學院的課程則是這么定義的:“ 零知識協議允許我向你證明我知道一個事實,而不需要告訴你事實本身。 ”
這在區塊鏈的敘事下有着非常大的應用價值,因為:
-
(對應隱私) 零知識證明可以在保護私人信息的同時允許他人驗證信息的真實性。
-
(對應擴容) 零知識證明可以“簡化”並“節省”工作量。 “簡化”意味着“證明”的大小要比所證明的“數據”本身更小要;“節省”則意味着驗證者檢驗“證明”的效率要比分析原始“數據”本身更高。在以太坊上,這意味着智能合約處理的數據將會更少,因此用戶的 gas 成本會更低,Layer2也可以利用這些特性,允許 Dapps 以更低的成本處理更多的數據。
總之,零知識證明具有兩個主要特性:
-
一是 隱私性 :你正在證明的“數據”(或“事實”,或“知識”)不會被透露給驗證者。
-
二是 可擴展性 :檢驗“證明”比直接分析原始“數據”效率更高。
這便是零知識證明的經典解釋了,但聽起來仍像是在打謎語 —— 一個人如何才能在不分享信息的情況下證明自己知道這件事呢?
讓我們重新看一遍這個定義,但這一次,我們要變一場魔術。
魔術本身就是零知識證明
簡單來說,在一場魔術表演中,“魔術”本身就是零知識證明。為了完成一場魔術,“魔術師”需要掌握背後的“祕密”,只有知道這個祕密他們才可以進行表演,但他們肯定不想把這個祕密透露給“觀衆” —— 這顯然會破壞魔術的效果。
-
Odaily 星球日報注:注意這裏用引號圈出了四個角色。
“祕密”對應原始“數據”;
“魔術”對應“證明”;
“魔術師”對應“證明者”;
“觀衆”對應“驗證者”。
接下來,我們將把上一段落中關於零知識證明的“高級”定義帶入到這場魔術之中, 想象魔術師為“證明者”,觀衆為“驗證者”。
魔術表演則是“證明者”向“驗證者”進行證明的過程。 如果演出成功了,即相當於證明有效 ,觀衆也可以確認魔術師一定了解背後的祕密; 如果演出失敗了,則意味着證明無效 ,觀衆在失望之余也會意識到魔術師可能並不知曉相關技巧。
顯然, 魔術很清楚地展現了零知識證明的隱私性 ,因為觀衆始終未被告知背後的祕密究竟是什么。那么可擴展性呢?讓我們繼續回到這個比喻中…
觀衆若想要知道魔術師是否掌握了祕密(“證明者”是否了解原始“數據”),完全可以跳過正常表演,只要求魔術師分享背後的祕密本身。然而,魔術的技巧一般都相當復雜、繁瑣,觀衆很難在較短的時間理解這些技巧的設計機制及實現效果,更不要提完全掌握了,甚至於魔術師完全可以提供一個錯誤的技巧,觀衆也很難分辨其真僞。因此,想要通過剖析祕密本身來完成證明,往往需要較長的時間和較大的工作量。
這就好比直接分析原始“數據”更費時費事一樣,檢驗“證明”效率會更高, 其背後所顯現的正是零知識證明的可擴展性 。
用紙牌來舉例
舉個簡單的例子,假設我吹牛說我擁有“反向洗牌”的技能,可以把一副混亂的撲克牌洗出我想要的效果。那么我該如何向你證明呢?
最高效的方式就是我直接給你洗出一副具有一定規律的牌出來,你看到這副牌之時就可以確認我確實具備這個技能,這既不要求我向你分享技巧,也比你自己慢慢去學要來得更快。
總而言之,我希望這個類比有助於揭开零知識證明的神祕面紗,關於“魔術”“祕密”“魔術師”“觀衆”的這套解釋可以作為理解零知識證明主要特性的有效模型,幫助更多的普通用戶接觸這一概念。
再次強調, 魔術本質上就是零知識證明,而零知識證明則與魔法無異。
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。
Odaily星球日報
文章數量
191粉絲數
0