本文包括以下內容:1. 什么是零知識證明?2. 為什么需要零知識證明?3. 零知識證明的應用場景。4. 零知識證明的工作原理。5. 零知識證明的分類和應用案例。6. 零知識證明的缺陷。
PART.01
什么是零知識證明
零知識證明(Zero-Knowledge Proof),是由 S.Goldwasser、S.Micali 及 C.Rackoff 在20世紀 80 年代初提出的。它指的是證明者能夠在不向驗證者提供任何有用的信息的情況下,使驗證者相信某個論斷是正確的。
舉一個簡單的例子,泡芙說自己是個大廚,中餐,韓餐、意大利菜都會做。我媽表示不信,因為我在家沒做過一頓飯。那么這個時候我要怎么證明我會做菜呢?
我可以讓老媽在廚房看著我做完一頓飯,這樣就證明我確實會做。但是我不想讓老媽看到我做飯的時候把廚房弄的一團亂,不然又要被嘮叨,那該怎么辦呢?我一個人進廚房,爸媽都在外面等著,等我做完飯收拾好了,把菜端出來。這依然可以證明我會做飯。至于我用了什么食材,放了什么調料,過程中把廚房弄得亂不亂,這都不需要,老媽只要知道我能做一頓飯,就證明我沒說謊。
簡單說:零知識證明在試圖以最小的信息交換量在雙方之間建立信任。在不透露更多信息的前提下,一方(證明者, the prover)可以向另一方(驗證者,the verifier)證明一件事是對的。
PART.02
為什么需要零知識證明
保護隱私數據
流氓廠商們都想盡可能多地收集用戶數據,其中一些和他們業務無關的收據也給用戶要權限(真的是非常討厭它們)。他們又把我們收集到的用戶個人身份信息(PII)放在中心化的數據庫中,這些數據庫非常容易被攻擊,一旦受到攻擊,個人身份信息泄露,進而導致各種詐騙問題。
身份認證
在使用網站時,用戶可以向網站證明他擁有私鑰,或者知道某個只有自己才知道的答案,網站不用知道密鑰,但可以通過零知識證明確認用戶身份,通過去中心化存儲,服務器可以向用戶證明數據被妥善保存下來且不被泄露。
計算壓縮與區塊鏈擴容
Gate.io芝麻開門創始人韓林跨海連線頂尖量化團隊,深度解讀頂級資金安全解決方案:11月7日,Gate.io芝麻開門聯合TokenInsight舉辦的“揚帆三亞,量化未來”為主題的首屆海島穿越賽,順利閉幕。據官方消息,Gate.io芝麻開門創始人韓林跨海連線,與現場二十余家頂尖量化團隊分享了資金安全的頂級解決方案,并深入解讀Gate.io在產品規劃、技術優勢及品牌理念上的獨到之處。[2020/11/7 11:56:09]
在傳統的區塊架構中,同樣的計算被重復多次,比如簽名校驗,交易的合法性校驗,智能合約執行等一些其他的地方,因為有了計算的證明,同一個計算就不需要多次重復了,計算過程可以被零知識技術證明壓縮。
零知識證明真正解決了數據的信任,實現了隱私數據的保護,也讓區塊鏈真正實現了信任機器這一構想。
PART.03
零知識證明的應用場景
零知識證明的主要應用場景有:匿名支付、身份證明、可驗證計算、匿名投票。
匿名支付
加密貨幣交易在公鏈上都是公開可見的。用戶通過匿名進行交易,但是也鏈接到真實世界的身份(例如,通過在 Twitter 或 GitHub 個人資料中包含 ETH 地址),要么就可以通過鏈上和鏈外數據分析獲得用戶真實世界的身份。
有專為完全匿名交易而設計的特定“隱私幣”。例如Zcash 和 Monero ,他們會屏蔽交易細節,包括發送方/接收方地址、資產類型、數量和交易時間表。通過將零知識技術融入協議,以隱私為中心的區塊鏈網絡允許節點在無需訪問交易數據的情況下驗證交易。
零知識證明也被應用于公共區塊鏈上的匿名交易。例如 Tornado Cash,一種去中心化的非托管服務,允許用戶在以太坊上進行私人交易。Tornado Cash 使用零知識證明來混淆交易細節并保證財務隱私。
身份證明
在不暴露具體身份信息的前提下,,出具具體的身份特征證明。例如使用在線服務需要證明用戶的身份和訪問這些平臺的權利。這通常需要提供個人信息,例如姓名、電子郵件地址、出生日期等。
零知識證明可以簡化平臺和用戶的身份驗證。使用公共輸入(例如,證明用戶是平臺成員的數據)和私人輸入(例如,用戶的詳細信息)生成了 ZK 證明,用戶可以在需要訪問時簡單地出示它以驗證其身份服務。例如證明用戶是否成年,不用出具身份證信息,或者具體的出生年份,只出具是否滿十八歲的結論。
動態 | 肖磊解讀特朗普“攻擊”Libra原因:Libra沒有明確跟美元掛鉤:7月13日消息,財經專欄作家、財經評論員肖磊解讀特朗普“攻擊”Libra原因,他認為特朗普說Libra不可靠,而且需要獲得一張銀行牌照,接受監管。其實這里隱含的意思是,Libra沒有明確跟美元掛鉤,所以不可靠,沒有美國監管機構的批準,就不能干金融的業務。[2019/7/13]
可驗證計算
當用戶的設備無法支持需要的計算,或者在本地進行計算成本太高的時候,就會考慮第三方服務。這些第三方服務可以快速且廉價地向用戶返回輸出的結果(例如 Chainlink 的 oracle 服務)。這種場景下零知識證明允許第三方算力提供商輸出計算完整性證明,確保用戶收到的輸出結果是正確的。
匿名投票
在不暴露具體身份的前提下,證明用戶的身份并獲得投票權限,完成投票。
PART.04
零知識證明的工作原理
零知識證明最早由 MIT 的 Shafi Goldwasser 和 Silvio Micali 在 1985 年一篇名為《互動式證明系統的知識復雜性》的論文中提出。作者在論文中提到,證明者(prover)有可能在不透露具體數據的情況下讓驗證者(verifier)相信數據的真實性。零知識證明可以是交互式的,即證明者面對每個驗證者都要證明一次數據的真實性;也可以是非交互式的,即證明者創建一份證明,任何使用這份證明的人都可以進行驗證。零知識證明目前有多種實現方式,如 zk-SNARKS、zk-STARKS、PLONK 以及 Bulletproofs。每種方式在證明大小、證明者時間以及驗證時間上都有自己的優缺點。
零知識證明有三個基本特征,即:
完整性:如果 statement 為 true,則誠實的驗證者可以相信誠實的證明者確實擁有正確的信息。
可靠性:如果 statement 為 false,則任何不誠實的證明者都無法說服誠實的驗證者相信他擁有正確的信息。
零知識性:如果 statement 為 true,則驗證者除了從證明者那里得知 statement 為 true 以外,什么都不知道。
分析 | 幣安中簽解讀:最新中簽率顯示持倉逐步分散 機構投資者或有一定撤離:據TokenGazer觀察BNB最新的中簽信息,TokenGazer猜測機構投資者可能已經有一定程度撤離。
本次elrond中簽率僅為11.07%,大幅度低于one的30%和matic的58%;
總簽數10833,共計鎖定978.5萬BNB,約占BNB總體供應的10%,遠遠高于之前鎖定2%左右的量,說明BNB的持倉已經有了一定程度的分散。
而幣安自6月中宣布在9月隔離美國用戶后出現較大幅度的跌幅,時間點上和本次Launchpad抽簽時間段重合,可能說明機構投資者對監管有所顧慮已經出現一定程度撤離。[2019/7/2]
總而言之,要創建零知識證明,驗證者需要讓證明者執行一系列操作,而證明者只有在得知底層信息的情況下才能正確執行。如果證明者亂蒙一個結果,那么驗證者極有可能在驗證中發現并證明他的錯誤。
PART.05
零知識證明的分類
零知識證明可以根據交互方式分為『交互式零知識證明』和『非交互式零知識證明』。
交互式零知識證明
證明者和驗證者需要進行多次互動,驗證者會不斷提出問題來挑戰證明者,證明者則要不斷回應這些挑戰,直到驗證者被說服。
交互式零知識證明——色盲游戲
Alice 是色盲,Bob 不是色盲,在 Bob 手上有兩個大小,形狀完全一樣的球,但這兩個球的顏色不一樣,一個球是藍色的,另一個球是紅色的,由于 Alice 是色盲,所以 Alice 無法分辨這兩個球是否是一樣的,Bob 需要向 Alice 證明這兩個球是不一樣的。在這里,Alice 被稱為驗證者,他需要驗證 Bob 的陳述正確與否,Bob 被稱為證明者,他需要證明自己的陳述(存在兩個顏色不一樣的球),Bob 需要在 Alice 不能獲得兩個球的顏色的情況下,向 Alice 證明這兩個球的顏色是不一樣的這個事實,這與零知識證明的定義是相符合的。
Alice 當 Bob 的面拿起兩個球,左手拿藍球,右手拿紅球,然后將雙手放到背后,這樣 Bob 就看不到 Alice 手上的球了,Alice 在背后隨機交換左右手上的球,交換完成后 Alice 將手伸出,并詢問 Bob 兩個球是否交換過位置,如果 Bob 能看到球上的顏色,那么每次Alice換過球的位置后,Bob 都能正確回答出 Alice 的問題。
動態 | 律師解讀《區塊鏈信息服務管理規定》:部分要求在現階段實施條件尚不成熟:2月14日,微信公眾號“京都律師”刊文指出,《區塊鏈信息服務管理規定》的部分條款偏向于原則性規定,且部分要求在現階段實施條件尚不成熟,可操作性值得商榷,有以下幾點可供探討和完善: 1.區塊鏈信息服務提供者的概念并未完全明確; 2.區塊鏈信息服務提供者的技術標準并不明晰; 3.區塊鏈信息服務提供者的安全評估流程并未說明; 4.行業自律條件尚不成熟。[2019/2/15]
第一次,Alice 偷偷交換了手中球的位置,然后 Alice 問 Bob 是否交換了球的位置,如果 Bob 回答 Yes,那么 Alice 有 50% 的概率相信 Bob 是可以區分這兩個球的顏色,因為 Bob 有 1/2 的概率蒙對,所以 Alice 可以再進行一次測試。如果 Bob 回答 No,那么 Alice 可以肯定 Bob 不能區分兩個球的顏色。
第二次,Alice 沒有交換手中球的位置,然后 Alice 問 Bob 是否交換了球的位置。如果 Bob 回答 No,那么 Alice 有 75% 的概率相信 Bob 是可以區分兩個球的顏色。
第一次迭代后,Alice 可以說 Bob 陳述的斷言為真的概率為 50%。如果 Bob 第二次回答正確,那么 Alice 可以說 Bob 陳述為真的概率達 75%。在第三次迭代后,它將是 87.5%。如果連續n次Bob都通過了檢查,則 Alice 有 1-(1/2)^n 的概率可以認為 Bob 說的是真的,這兩個球的確是有紅藍兩種顏色。
交互式零知識證明是一種基于概率的驗證方式,驗證者(verifier)基于一定的隨機性向證明者(prover)提出問題,如果證明者都能給出正確回答,則說明證明者大概率擁有他所聲稱的“知識”。零知識證明并不是數學意義上的證明,因為它存在小概率的誤差,欺騙的證明者有可能通過虛假的陳述騙過驗證者。換句話說,零知識證明是概率證明而不是確定性證明,但是也存在技術能將誤差降低到可以忽略的值。
這種交互式方法有一些局限:
每次驗證都需要進行整個冗長的過程。
證明方與驗證方都需要同時在場,不管是在線還是面對面。
楊東教授解讀:央行開展對虛擬貨幣的清理整頓,切實保護金融消費者始終是基礎:楊東教授發文稱,當前虛擬貨幣交易存在一定風險與亂象,而投資者是風險的主要承擔者,因為區塊鏈技術應用于金融業態在包裝和銷售小額化金融資產的同時,也將金融風險擴散到了廣大小微投融資者之間。但值得注意的是,投資者是區塊鏈應用于金融業態的重要基礎,金融科技必然回歸到投資者保護。[2018/3/31]
只能夠取信于一個驗證者,如果要取信于多個驗證者,則對每個驗證者都需要進行一遍證明過程。
非交互式零知識證明
交互式零知識證明需要兩方隨時可用并反復交互。即使驗證者確信證明者是誠實的,該證明也無法用于獨立驗證(計算新證明需要證明者和驗證者之間的一組新消息)。
為了解決交互式零知識證明面臨的問題,非交互式零知識證明應運而生。Manuel Blum、Paul Feldman 和 Silvio Micali 提出了第一個交互式零知識證明——其中證明者和驗證者有一個共享密鑰。這使證明者可以在不提供信息本身的情況下證明他們對某些信息的了解。
非交互式零知識證明---數獨游戲
數獨是源自 18 世紀瑞士的一種數學游戲,是一種運用紙、筆進行演算的邏輯游戲。玩家需要根據 9×9 盤面上的已知數字,推理出所有剩余空格的數字,并滿足每一行、每一列、每一個粗線宮(3*3)內的數字均含 1-9,不重復。
Alice 為了向 Bob 證明她已經解決了一個數獨難題,為此 Alice 創建了一個防篡改的機器。Alice 將生成好的數獨答案放入機器中,機器可以向 Bob 發送證明。Alice 的機器遵循以下公開可驗證的協議:首先,Alice 在機器中放入尚未被解決的原始數獨題目,數獨中的謎題卡片三張正面朝上。接下來,Alice 上機器將他的答案正面朝下放置在相應的單元格上,同樣也是每個單元格放三張。最后 Bob 向機器獲取證明,機器返回給 Bob27 個袋子:
機器將數獨中每一行 9 張卡片取出,并分別混淆后放入一個袋子中,一共有9行,用掉 9 個袋子;機器將數獨中每一列 9 張卡片取出,并分別混淆后放入一個袋子中,一共有 9 列,用掉 9 個袋子;機器將數獨中每個粗線宮(3*3)內卡片取出,并分別混淆后放入一個袋子中,一共有 9 個,用掉 9 個袋子;
Bob 分別對這 27 個袋子進行檢查,如果每個袋子中的卡片都包含數字 1 到 9,而且沒有任何數字丟失或重復,那么 Bob 可以確認 Alice 的確解開了數獨,并且 Bob 并沒有從機器返回的證明中獲取任何關于數獨解的知識,因為機器返回給 Bob 袋子中的數據是被隨機打亂的。
非交互式零知識證明克服了交互式零知識證明的一些缺點,不需要冗長的在線交互,可以取信于很多人(甚至所有人),證明始終有效,但是可能需要額外的機器和程序來確定實驗的順序。例如,在數獨這個例子中,由程序決定要驗證的列或行。驗證序列必須保密,否則驗證者可能會在不知道真正“知識”的情況下通過驗證。
交互式零知識證明 VS 非交互式零知識證明
交互式證明的每次驗證都需要進行新一輪通信,非交互式證明只需要參與者(證明者和驗證者)之間進行一輪通信。證明者將秘密信息傳遞給特殊算法以計算零知識證明。該證明被發送給驗證者,驗證者使用另一種算法檢查證明者是否知道秘密信息。
非交互式證明減少了證明者和驗證者之間的通信,使 ZK 證明更加高效。此外,一旦生成了證明,其他任何人(可以訪問共享密鑰和驗證算法)都可以進行驗證。
PART.06
零知識證明的技術方案和應用
零知識技術可以讓開發者既能利用以太坊等底層區塊鏈的安全性,又能為 dApp 提高交易吞吐量和速度,并同時將用戶個人信息放在鏈下,以保護用戶隱私。交易將打包上傳至鏈上,以降低終端用戶的使用成本。最終,項目可以利用這些功能打造出高級的 dApp,不僅在性能上可以與 Web2 系統媲美,而且還能保持 Web3 去中心化的優勢。
(圖片來源:Chainlink)
在 Layer2 中 zk-rollup 會將多筆交易打包在一起,并發布到 Layer1 區塊鏈上,同時還會發布一個驗證計算有效性的零知識證明。發布到鏈上的證明也被稱作“有效性證明”。有效性證明技術分為 SNARKs 和 STARKs 兩類。
zk-SNARs
SNARK 的全稱是“zero-knowledge succinct non-interactive argument on knowledge”(簡潔的非交互式零知識證明)。這是一種加密證明,文件很小而且很容易驗證。它利用橢圓曲線生成一個加密證明,該橢圓曲線假設無法從一個公開的基點找到隨機橢圓曲線元素的離散對數。橢圓曲線的計算成本低于 STARK 的哈希函數,因此 SNARK 協議的 gas 成本更低。
案例:Zcash, Loopring, zkSync1.0,zkSync 2.0,Zigzag, Mina
zk-STARK
STARK 全稱是“zero-knowledge scalable transparent argument of knowledge”(零知識的可擴展、透明知識證明)。這種加密證明幾乎不需要證明者和驗證者之間產生任何交互。STARKs 相比 SNARKs 的最大優勢在于證明時間更短,而且更容易擴展。另外,由于 STARKs 采用哈希函數,因此也可以抗量子攻擊。
值得一提的是,STARKs 的發明者是 Eli Ben-Sasson,此人是 StarkWare 的聯合創始人,這個團隊也開發了 StarkEx 和 StarkNet。
案例:StarkEx, StarkNet, Immutable X, Starkware
PART.07
零知識證明的缺點
高昂的硬件成本
根據證明系統的不同,零知識證明生成過程有所不同。但最終都會面臨難題:大數字向量(字段或組)的乘法,特別是可變基數和固定基數的多標量乘法(MSM),或者快速傅立葉變換(FFT)和逆 FFT。
MSM 和 FFT 的運算速度都很慢。在同時存在 FFT 和 MSM 的系統中,大約 70% 的證明生成時間花在 MSM 上,30%的時間花在FFT 上。需要硬件加速才能在復雜的計算中實現。通常認為對 ZK 硬件加速最重要的技術是 FPGA 而不是 GPU(由于成本和能源效率)或 ASIC(由于它們的不靈活性和長迭代周期)。頂級 FPGA比頂級 GPU 便宜約 3 倍。而且FPGA 的能效比 GPU 高出10 倍以上,主要原因是 GPU 需要連接到主機設備,這會消耗大量電能。
驗證成本
驗證證明需要大量復雜的計算,這也增加了運算成本。例如,ZK-rolluos 需要支付約500,000gas 來驗證以太坊上的單個 AK-SNARK 證明,ZK-STARKs 需要的費用就更高了。
信任假設
零知識證明的前提是,雙方都是誠實的,都很希望知道真實答案,不會進行數據造假。在 ZK-SNARK 中,生成一次公共參數可以讓參與零知識協議的各方重復使用,這就默認參與者是提供的數據是正確的。
但事實上,用戶沒有辦法評估參與者的誠實度,即使參與者輸入了假的數據,用戶也必須相信。在 ZK-STARK 中沒有信任假設,現在,研究人員正在為 ZK-SNARKs 進行非可信設置,來提高證明機制的安全性。
量子計算威脅
ZK-SNARK 使用了橢圓曲線數字簽名算法(ECDSA)進行加密,目前看來 ECDSA 算法是安全的,但是未來量子計算機的發展很可能破解這種算法。
通常認為 ZK-STARK 不會受到量子計算的威脅,因為它使用抗碰撞哈希進行加密,與 ECDSA 的公私密鑰對不同,抗碰撞哈希更難被量子計算破解。
金色早8點
Odaily星球日報
金色財經
Block unicorn
DAOrayaki
曼昆區塊鏈法律
加密貨幣逃犯 Do Kwon 因逃避國際刑警組織(Interpol)已經數月。一位韓國教授緊隨其后,跟蹤 Terraform Labs 首席執行官的一舉一動.
1900/1/1 0:00:00作者:Vitalik Buterin 編譯:白話區塊鏈在之前那篇關于三個轉變的文章中,我概述了一些關鍵原因.
1900/1/1 0:00:00作者:Mary Liu 伴隨著 TradFi (傳統金融)進軍加密市場的利好消息刺激,比特幣持續反彈,北京時間6月22日凌晨成功突破了 30,000 美元,24小時漲幅超過10%.
1900/1/1 0:00:00作者:Eric Jorgenson;編譯:Leia,TEDAO 譯者導讀 在 Web3 世界中,價值創造是至關重要的.
1900/1/1 0:00:00作者:Jacob Oliver ,CryptoSlate;編譯:松雪,金色財經當美國努力應對數字資產分裂且動蕩的監管環境時,加拿大的一些立法者正在嘗試采取更全面的做法.
1900/1/1 0:00:00原文作者:Mia,ChainCatcher隨著比特幣鏈上協議 Ordinals 熱度持續升溫,基于 Ordinals 協議的創新開始層出不窮.
1900/1/1 0:00:00