本文包括以下內容: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)放在中心化的數據庫中,這些數據庫非常容易被攻擊,一旦受到攻擊,個人身份信息泄露,進而導致各種詐騙問題。
身份認證
在使用網站時,用戶可以向網站證明他擁有私鑰,或者知道某個只有自己才知道的答案,網站不用知道密鑰,但可以通過零知識證明確認用戶身份,通過去中心化存儲,服務器可以向用戶證明數據被妥善保存下來且不被泄露。
計算壓縮與區塊鏈擴容
動態 | BitSG幣星唐伯虎解讀趨勢之王ETF產品:今日(2020年2月17日)晚19:00,BitSG幣星創始人唐伯虎通過社群與用戶深度探討了其最近推出的交易衍生品ETF,并與現貨、杠桿、合約等投資方式進行對比,剖析了在趨勢行情中ETF得天獨厚的優勢:一鍵多空、比現貨賺、比合約穩、永不爆倉,完美平衡了收益與風險,唐伯虎認為ETF產品應用于主流數字貨幣市場擁有巨大優勢,將成為行業的下一個熱點投資渠道,BitSG幣星ETF產品的獨到設計融合了再平衡、復利等先進機制,將幫助投資者在趨勢行情中取得意想不到的超高回報率。
ETF全稱為Exchange Traded Fund,含義是可交易型基金。ETF在傳統金融中主要應用于投資標的指數跟蹤,并將底層資產的價格波動,按約定的杠桿反應在基金凈值上,使投資者更便捷、更有效的獲得價格波動產生的收益,是一種低操作門檻、高應用覆蓋的成熟金融衍生品。[2020/2/17]
在傳統的區塊架構中,同樣的計算被重復多次,比如簽名校驗,交易的合法性校驗,智能合約執行等一些其他的地方,因為有了計算的證明,同一個計算就不需要多次重復了,計算過程可以被零知識技術證明壓縮。
零知識證明真正解決了數據的信任,實現了隱私數據的保護,也讓區塊鏈真正實現了信任機器這一構想。
PART.03
零知識證明的應用場景
零知識證明的主要應用場景有:匿名支付、身份證明、可驗證計算、匿名投票。
匿名支付
加密貨幣交易在公鏈上都是公開可見的。用戶通過匿名進行交易,但是也鏈接到真實世界的身份(例如,通過在 Twitter 或 GitHub 個人資料中包含 ETH 地址),要么就可以通過鏈上和鏈外數據分析獲得用戶真實世界的身份。
有專為完全匿名交易而設計的特定“隱私幣”。例如Zcash 和 Monero ,他們會屏蔽交易細節,包括發送方/接收方地址、資產類型、數量和交易時間表。通過將零知識技術融入協議,以隱私為中心的區塊鏈網絡允許節點在無需訪問交易數據的情況下驗證交易。
零知識證明也被應用于公共區塊鏈上的匿名交易。例如 Tornado Cash,一種去中心化的非托管服務,允許用戶在以太坊上進行私人交易。Tornado Cash 使用零知識證明來混淆交易細節并保證財務隱私。
聲音 | 李少平解讀最高法“五五改革綱要”: 要推動區塊鏈存證等科技創新手段深度運用:據中國之聲《央廣新聞》消息,《最高人民法院關于深化人民法院司法體制綜合配套改革的意見》,即《人民法院第五個五年改革綱要(2019—2023)》今日發布。最高人民法院副院長李少平在對該文件進行解讀時表示,“五五改革綱要”在前期工作基礎上,提出要構建中國特色社會主義現代化智慧法院應用體系,不斷破解改革難題、提升司法效能。其中,要推動語音識別、圖文識別、語義識別、智能輔助辦案、區塊鏈存證、常見糾紛網上數據一體化處理等科技創新手段深度運用。[2019/2/27]
身份證明
在不暴露具體身份信息的前提下,,出具具體的身份特征證明。例如使用在線服務需要證明用戶的身份和訪問這些平臺的權利。這通常需要提供個人信息,例如姓名、電子郵件地址、出生日期等。
零知識證明可以簡化平臺和用戶的身份驗證。使用公共輸入(例如,證明用戶是平臺成員的數據)和私人輸入(例如,用戶的詳細信息)生成了 ZK 證明,用戶可以在需要訪問時簡單地出示它以驗證其身份服務。例如證明用戶是否成年,不用出具身份證信息,或者具體的出生年份,只出具是否滿十八歲的結論。
可驗證計算
當用戶的設備無法支持需要的計算,或者在本地進行計算成本太高的時候,就會考慮第三方服務。這些第三方服務可以快速且廉價地向用戶返回輸出的結果(例如 Chainlink 的 oracle 服務)。這種場景下零知識證明允許第三方算力提供商輸出計算完整性證明,確保用戶收到的輸出結果是正確的。
匿名投票
在不暴露具體身份的前提下,證明用戶的身份并獲得投票權限,完成投票。
PART.04
零知識證明的工作原理
零知識證明最早由 MIT 的 Shafi Goldwasser 和 Silvio Micali 在 1985 年一篇名為《互動式證明系統的知識復雜性》的論文中提出。作者在論文中提到,證明者(prover)有可能在不透露具體數據的情況下讓驗證者(verifier)相信數據的真實性。零知識證明可以是交互式的,即證明者面對每個驗證者都要證明一次數據的真實性;也可以是非交互式的,即證明者創建一份證明,任何使用這份證明的人都可以進行驗證。零知識證明目前有多種實現方式,如 zk-SNARKS、zk-STARKS、PLONK 以及 Bulletproofs。每種方式在證明大小、證明者時間以及驗證時間上都有自己的優缺點。
以太坊安全主管解讀硬分叉Constantinople:重建區塊哈希值:據Ethnews的報道,今日,以太坊安全主管Martin Swende發布了一系列文章,介紹即將到來的以太坊硬分叉Constantinople正在討論中的一些特點。文章討論了V神提出的EIP210提案,Swende解釋道,提案將分成三個階段重建區塊哈希值,允許新的區塊直接與舊區塊不按順序地連接,增加區塊間的連接性。EIP210將按照EDCC或智能合約的方式算入哈希值,“將會強化輕客戶端要求”,這個區塊哈希值升級將使以太坊用戶免于查看歷史區塊哈希值。[2018/5/1]
零知識證明有三個基本特征,即:
完整性:如果 statement 為 true,則誠實的驗證者可以相信誠實的證明者確實擁有正確的信息。
可靠性:如果 statement 為 false,則任何不誠實的證明者都無法說服誠實的驗證者相信他擁有正確的信息。
零知識性:如果 statement 為 true,則驗證者除了從證明者那里得知 statement 為 true 以外,什么都不知道。
總而言之,要創建零知識證明,驗證者需要讓證明者執行一系列操作,而證明者只有在得知底層信息的情況下才能正確執行。如果證明者亂蒙一個結果,那么驗證者極有可能在驗證中發現并證明他的錯誤。
PART.05
零知識證明的分類
零知識證明可以根據交互方式分為『交互式零知識證明』和『非交互式零知識證明』。
交互式零知識證明
證明者和驗證者需要進行多次互動,驗證者會不斷提出問題來挑戰證明者,證明者則要不斷回應這些挑戰,直到驗證者被說服。
交互式零知識證明——色盲游戲
Alice 是色盲,Bob 不是色盲,在 Bob 手上有兩個大小,形狀完全一樣的球,但這兩個球的顏色不一樣,一個球是藍色的,另一個球是紅色的,由于 Alice 是色盲,所以 Alice 無法分辨這兩個球是否是一樣的,Bob 需要向 Alice 證明這兩個球是不一樣的。在這里,Alice 被稱為驗證者,他需要驗證 Bob 的陳述正確與否,Bob 被稱為證明者,他需要證明自己的陳述(存在兩個顏色不一樣的球),Bob 需要在 Alice 不能獲得兩個球的顏色的情況下,向 Alice 證明這兩個球的顏色是不一樣的這個事實,這與零知識證明的定義是相符合的。
今晚朱濤做客《金色講堂》解讀區塊鏈產業生態:4月12號晚20:00,《金色講堂》邀請中國高科技產業化研究會區塊鏈產業聯盟理事長、世界區塊鏈組織副總干事朱濤先生前來對目前區塊鏈技術的國際化出路進行講解,針對區塊鏈如何有效實現產業應用的方向進行分享,讓學員深入了解技術的的最終歸宿是什么。[2018/4/12]
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)提出問題,如果證明者都能給出正確回答,則說明證明者大概率擁有他所聲稱的“知識”。零知識證明并不是數學意義上的證明,因為它存在小概率的誤差,欺騙的證明者有可能通過虛假的陳述騙過驗證者。換句話說,零知識證明是概率證明而不是確定性證明,但是也存在技術能將誤差降低到可以忽略的值。
金色財經獨家分析 巨人轉讓區塊鏈相關股份的兩種解讀:被投資公司盈利能力反映在巨人公司的投資損益項,盈利能力存在風險會直接對其財務報表產生風險,而這正是股東看重的地方。巨人公司出售OKC股份,從因“不確定性”而“保護投資者”理由解釋合理充分,轉讓對價2850萬美元占2%左右比例并不高,董事會在其職權范圍內作出決定也不用勞煩整個股東大會,巨人也按照程序做了相同的關聯方解釋,資產并未被低估賤賣,完全符合要求。
然而“不確定性”卻存在兩種解讀。如果解釋為風險,史玉柱等自然展現了擔當與無私;如果解釋為潛在收益,那么OKC成功轉型帶來的利潤巨人公司的廣大股東也是享受不到的。旁人并不知道史玉柱和董事會的想法,但至少,此次減少“區塊鏈”相關的股權,并不能說明OKC或區塊鏈概念的利空。如果真是巨大風險,就沒必要賣給“利益相關方”了,解釋為史玉柱與股東會的“分歧”更為準確。而且值得注意的是,OKC是從經營幣到搞區塊鏈“實業”,更符合政策,有理由是個正向消息。[2018/3/24]
這種交互式方法有一些局限:
每次驗證都需要進行整個冗長的過程。
證明方與驗證方都需要同時在場,不管是在線還是面對面。
只能夠取信于一個驗證者,如果要取信于多個驗證者,則對每個驗證者都需要進行一遍證明過程。
非交互式零知識證明
交互式零知識證明需要兩方隨時可用并反復交互。即使驗證者確信證明者是誠實的,該證明也無法用于獨立驗證(計算新證明需要證明者和驗證者之間的一組新消息)。
為了解決交互式零知識證明面臨的問題,非交互式零知識證明應運而生。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
曼昆區塊鏈法律
Tags:ALIBOBALICELICReality Clash Coinbob幣價格ALICE幣blockchainresearchandapplication
加密世界的新晉熱門,ZK-Rollup 技術何以成為開發者們競相追逐的熱點?高度保障隱私與安全,擁有強大的擴容能力.
1900/1/1 0:00:00區塊鏈最突出的用途——加密貨幣和 DeFi——加密貨幣、DeFi 和 Web3 的其他部分構成了超乎想象的犯罪工具的基礎。對于犯罪分子來說,加密貨幣的監管真空使得他們能夠犯下前所未有的危險錯誤.
1900/1/1 0:00:00昨日晚間,由城堡證券(Citadel Securities)、富達投資(Fidelity Investments)和嘉信理財(Charles Schwab)支持的 EDX M.
1900/1/1 0:00:00作者:Lincoln Murr、Mary Liu中心化交易所正在陷入困境,前有美國證券交易委員會(SEC)指控幣安和 Coinbase 違反多項法律,后有去中心化競爭者「步步逼近」.
1900/1/1 0:00:00Uniswap V4 出現提出了一個問題:DEX 能否超越 CEX?這不再是一個不可企及的想象.
1900/1/1 0:00:00為什么一直這么強調去中心化的我們,會去這么相信一個如此中心化的 NFT 項目方?為什么這么痛恨中心化的我們,還會去包容一個如此的中心化 Azuki 項目.
1900/1/1 0:00:00