本文包括以下內容: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)放在中心化的數據庫中,這些數據庫非常容易被攻擊,一旦受到攻擊,個人身份信息泄露,進而導致各種詐騙問題。
身份認證
在使用網站時,用戶可以向網站證明他擁有私鑰,或者知道某個只有自己才知道的答案,網站不用知道密鑰,但可以通過零知識證明確認用戶身份,通過去中心化存儲,服務器可以向用戶證明數據被妥善保存下來且不被泄露。
計算壓縮與區塊鏈擴容
Velo實驗室副董事Beam:解讀Velo收購Interstellar背后布局:金色財經報道,3月17日下午16:00,金色財經與歐易OKEx聯合舉辦“金色財經對話Beam:解讀Velo收購Interstellar背后布局“,邀請Velo 實驗室副董事長 Tridbodi Arunanondchai(Beam)作為嘉賓講述背后故事。
在直播中,Beam表示,Velo的目標是建立一個賦能傳統銀行商業并將其與最新的中心化和去中心化商業相鏈接的橋梁。
在談及本次收購的原因時,Beam解釋道,Velo與Stellar有著共同的目標和愿景,并且雙方在能力上互相補充互相賦能。Interstellar團隊在提供更快、更低廉以及更穩定的給予Stellar網絡的跨境支付方案中有著極深厚的經驗。因此彼此的融合是一個非常自然的選擇。這次合并將使其成為行業里更強、更有影響力的團隊。[2021/3/18 18:56:33]
在傳統的區塊架構中,同樣的計算被重復多次,比如簽名校驗,交易的合法性校驗,智能合約執行等一些其他的地方,因為有了計算的證明,同一個計算就不需要多次重復了,計算過程可以被零知識技術證明壓縮。
零知識證明真正解決了數據的信任,實現了隱私數據的保護,也讓區塊鏈真正實現了信任機器這一構想。
PART.03
零知識證明的應用場景
零知識證明的主要應用場景有:匿名支付、身份證明、可驗證計算、匿名投票。
匿名支付
加密貨幣交易在公鏈上都是公開可見的。用戶通過匿名進行交易,但是也鏈接到真實世界的身份(例如,通過在 Twitter 或 GitHub 個人資料中包含 ETH 地址),要么就可以通過鏈上和鏈外數據分析獲得用戶真實世界的身份。
有專為完全匿名交易而設計的特定“隱私幣”。例如Zcash 和 Monero ,他們會屏蔽交易細節,包括發送方/接收方地址、資產類型、數量和交易時間表。通過將零知識技術融入協議,以隱私為中心的區塊鏈網絡允許節點在無需訪問交易數據的情況下驗證交易。
零知識證明也被應用于公共區塊鏈上的匿名交易。例如 Tornado Cash,一種去中心化的非托管服務,允許用戶在以太坊上進行私人交易。Tornado Cash 使用零知識證明來混淆交易細節并保證財務隱私。
Gate.io芝麻開門創始人韓林跨海連線頂尖量化團隊,深度解讀頂級資金安全解決方案:11月7日,Gate.io芝麻開門聯合TokenInsight舉辦的“揚帆三亞,量化未來”為主題的首屆海島穿越賽,順利閉幕。據官方消息,Gate.io芝麻開門創始人韓林跨海連線,與現場二十余家頂尖量化團隊分享了資金安全的頂級解決方案,并深入解讀Gate.io在產品規劃、技術優勢及品牌理念上的獨到之處。[2020/11/7 11:56:09]
身份證明
在不暴露具體身份信息的前提下,,出具具體的身份特征證明。例如使用在線服務需要證明用戶的身份和訪問這些平臺的權利。這通常需要提供個人信息,例如姓名、電子郵件地址、出生日期等。
零知識證明可以簡化平臺和用戶的身份驗證。使用公共輸入(例如,證明用戶是平臺成員的數據)和私人輸入(例如,用戶的詳細信息)生成了 ZK 證明,用戶可以在需要訪問時簡單地出示它以驗證其身份服務。例如證明用戶是否成年,不用出具身份證信息,或者具體的出生年份,只出具是否滿十八歲的結論。
可驗證計算
當用戶的設備無法支持需要的計算,或者在本地進行計算成本太高的時候,就會考慮第三方服務。這些第三方服務可以快速且廉價地向用戶返回輸出的結果(例如 Chainlink 的 oracle 服務)。這種場景下零知識證明允許第三方算力提供商輸出計算完整性證明,確保用戶收到的輸出結果是正確的。
匿名投票
在不暴露具體身份的前提下,證明用戶的身份并獲得投票權限,完成投票。
PART.04
零知識證明的工作原理
零知識證明最早由 MIT 的 Shafi Goldwasser 和 Silvio Micali 在 1985 年一篇名為《互動式證明系統的知識復雜性》的論文中提出。作者在論文中提到,證明者(prover)有可能在不透露具體數據的情況下讓驗證者(verifier)相信數據的真實性。零知識證明可以是交互式的,即證明者面對每個驗證者都要證明一次數據的真實性;也可以是非交互式的,即證明者創建一份證明,任何使用這份證明的人都可以進行驗證。零知識證明目前有多種實現方式,如 zk-SNARKS、zk-STARKS、PLONK 以及 Bulletproofs。每種方式在證明大小、證明者時間以及驗證時間上都有自己的優缺點。
動態 | 西秀區干部大講堂專題解讀區塊鏈:12月3日,2019年第六期西秀干部大講堂在西秀文化中心開講,邀請中誠區塊鏈研究院副院長、中國金融培訓中心專家講師、國家信息工程研究院專家講師馬強,為全區廣大干部職工專題解讀了區塊鏈相關內容。
講座上,主講人從什么是區塊鏈、區塊鏈核心技術的突破與發展、區塊鏈在各個行業的典型應用、區塊鏈在政務服務和政務監管中的典型應用、探索使用區塊鏈賦能誠信建設、政府部門如何有效參與和監管企業區塊鏈應用等方面,給大家做了詳細的講解,詳細介紹區塊鏈的發展歷程及所帶來的經濟效益,并就區塊鏈的現狀和未來進行具體的分析展望,還與現場的參會人員進行了互動解答。
通過這次講座,大家對區塊鏈在建設網絡強國、發展數字經濟、助力經濟社會發展等方面的作用,有了較為全面的認識,也為今后西秀區在提高運用和管理區塊鏈技術能力、加速推進以信息技術帶動全區經濟高質量發展奠定了一定的基礎。(西秀區委宣傳部)[2019/12/6]
零知識證明有三個基本特征,即:
完整性:如果 statement 為 true,則誠實的驗證者可以相信誠實的證明者確實擁有正確的信息。
可靠性:如果 statement 為 false,則任何不誠實的證明者都無法說服誠實的驗證者相信他擁有正確的信息。
零知識性:如果 statement 為 true,則驗證者除了從證明者那里得知 statement 為 true 以外,什么都不知道。
總而言之,要創建零知識證明,驗證者需要讓證明者執行一系列操作,而證明者只有在得知底層信息的情況下才能正確執行。如果證明者亂蒙一個結果,那么驗證者極有可能在驗證中發現并證明他的錯誤。
PART.05
零知識證明的分類
零知識證明可以根據交互方式分為『交互式零知識證明』和『非交互式零知識證明』。
交互式零知識證明
證明者和驗證者需要進行多次互動,驗證者會不斷提出問題來挑戰證明者,證明者則要不斷回應這些挑戰,直到驗證者被說服。
交互式零知識證明——色盲游戲
Alice 是色盲,Bob 不是色盲,在 Bob 手上有兩個大小,形狀完全一樣的球,但這兩個球的顏色不一樣,一個球是藍色的,另一個球是紅色的,由于 Alice 是色盲,所以 Alice 無法分辨這兩個球是否是一樣的,Bob 需要向 Alice 證明這兩個球是不一樣的。在這里,Alice 被稱為驗證者,他需要驗證 Bob 的陳述正確與否,Bob 被稱為證明者,他需要證明自己的陳述(存在兩個顏色不一樣的球),Bob 需要在 Alice 不能獲得兩個球的顏色的情況下,向 Alice 證明這兩個球的顏色是不一樣的這個事實,這與零知識證明的定義是相符合的。
動態 | 區塊鏈技術助力共建中國人群基因變異解讀標準數據庫發布:據央廣網消息,5月27日,“區塊鏈技術助力共建中國人群基因變異解讀標準數據庫”在2019數博會“生命大數據高峰論壇”上發布。華大集團大數據中心副主任楊夢表示,數據庫的建立必須滿足可公開、可溯源、不可篡改、迭代更新、臨床信息溯源、符合倫理法規等條件,而利用區塊鏈技術可以實現賬本公開、所有歷史信息留痕、哈希摘要上鏈、分布式共識、私有數據存證、細顆粒度權限控制等。[2019/5/28]
Alice 當 Bob 的面拿起兩個球,左手拿藍球,右手拿紅球,然后將雙手放到背后,這樣 Bob 就看不到 Alice 手上的球了,Alice 在背后隨機交換左右手上的球,交換完成后 Alice 將手伸出,并詢問 Bob 兩個球是否交換過位置,如果 Bob 能看到球上的顏色,那么每次Alice換過球的位置后,Bob 都能正確回答出 Alice 的問題。
第一次,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)提出問題,如果證明者都能給出正確回答,則說明證明者大概率擁有他所聲稱的“知識”。零知識證明并不是數學意義上的證明,因為它存在小概率的誤差,欺騙的證明者有可能通過虛假的陳述騙過驗證者。換句話說,零知識證明是概率證明而不是確定性證明,但是也存在技術能將誤差降低到可以忽略的值。
金色財經獨家解讀:韓國區塊鏈協會自律控制案不具備法律效力,但協會可與商業銀行合作關閉不參加宣言的交易所的法幣兌換通道:今天韓國區塊鏈協會發布數字貨幣交易所自律控制案,金色財經第一時間對此方案進行了解析。其中對交易所最重要的一點便是,韓國區塊鏈協會自律控制案不具備法律效力,但介于協會與政府及商業銀行的友好關系,協會可以通過與商業銀行的協議關閉法幣-代幣轉換通道。而這便直接導致了大部分韓國大型交易所一致支持宣言,其中包括bithumb,korbit,coinone等。但upbit或因其主要業務為新幣種交易,拒絕接受宣言。在場的小型交易所也因為此方案對廣告限制的范圍過于廣義,而沒有同意宣言。
一家小型交易所對金色財經表態,他們認為這樣的宣言內容會對中小型交易所造成不利的競爭環境,希望協會能夠重新斟酌此方案。[2017/12/15]
這種交互式方法有一些局限:
每次驗證都需要進行整個冗長的過程。
證明方與驗證方都需要同時在場,不管是在線還是面對面。
只能夠取信于一個驗證者,如果要取信于多個驗證者,則對每個驗證者都需要進行一遍證明過程。
非交互式零知識證明
交互式零知識證明需要兩方隨時可用并反復交互。即使驗證者確信證明者是誠實的,該證明也無法用于獨立驗證(計算新證明需要證明者和驗證者之間的一組新消息)。
為了解決交互式零知識證明面臨的問題,非交互式零知識證明應運而生。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
曼昆區塊鏈法律
作者:Daniel Kuhn,CoinDesk;編譯:松雪,金色財經根據最新統計,美國證券交易委員會 (SEC) 執法部門已將至少 68 種加密貨幣列為證券.
1900/1/1 0:00:00作者:Peter Horton / 來源:Messari 編譯:白話區塊鏈2023 年Q1的加密貨幣市場反彈并沒有帶來公鏈使用量的上升.
1900/1/1 0:00:00區塊鏈最突出的用途——加密貨幣和 DeFi——加密貨幣、DeFi 和 Web3 的其他部分構成了超乎想象的犯罪工具的基礎。對于犯罪分子來說,加密貨幣的監管真空使得他們能夠犯下前所未有的危險錯誤.
1900/1/1 0:00:00作者:Jaleel、Jack,區塊律動隨著 NFT 市場步入熊市,即使是市場的領頭羊「無聊猿」也未能逃脫,與之形成鮮明對比的 Azuki 卻表現不凡.
1900/1/1 0:00:00作者:金色財經,Climber近日,受SEC起訴幣安影響BNB價格大幅下挫。當BNB幣價降至255美元附近時,網上爆出去年10月BNB Bridge黑客事件的攻擊者在 Venus 上抵押的BNB.
1900/1/1 0:00:00LSDfi協議為尋求收益的LSD持有者開啟了新的機會。通過為流動性質押代幣提供額外的使用案例,LSDfi激勵了質押參與,并有可能加速流動性質押的增長.
1900/1/1 0:00:00