本文包括以下內容: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)放在中心化的數據庫中,這些數據庫非常容易被攻擊,一旦受到攻擊,個人身份信息泄露,進而導致各種詐騙問題。
身份認證
在使用網站時,用戶可以向網站證明他擁有私鑰,或者知道某個只有自己才知道的答案,網站不用知道密鑰,但可以通過零知識證明確認用戶身份,通過去中心化存儲,服務器可以向用戶證明數據被妥善保存下來且不被泄露。
計算壓縮與區塊鏈擴容
彭博社:ChatGPT已可解讀美聯儲聲明,并根據頭條新聞預測股價走勢:4月19日消息,在本月發表的兩篇新論文顯示,ChatGPT 已可解讀美聯儲聲明中的鷹派或鴿派立場,并可根據頭條新聞預測股價走勢。
ChatGPT 甚至能夠以一種類似于央行分析師的方式解釋其對美聯儲政策聲明的分類,后者也將語言解釋為該研究的人類基準。
同時,研究發現,ChatGPT 根據新聞標題預測的股價后續走勢與統計數據有關,表明該技術能夠正確分析消息的含義。
這兩篇新論文表明,ChatGPT 甚至可以在沒有經過專門培訓的情況下完成類似的任務。(彭博社)[2023/4/19 14:12:35]
在傳統的區塊架構中,同樣的計算被重復多次,比如簽名校驗,交易的合法性校驗,智能合約執行等一些其他的地方,因為有了計算的證明,同一個計算就不需要多次重復了,計算過程可以被零知識技術證明壓縮。
零知識證明真正解決了數據的信任,實現了隱私數據的保護,也讓區塊鏈真正實現了信任機器這一構想。
PART.03
零知識證明的應用場景
零知識證明的主要應用場景有:匿名支付、身份證明、可驗證計算、匿名投票。
匿名支付
加密貨幣交易在公鏈上都是公開可見的。用戶通過匿名進行交易,但是也鏈接到真實世界的身份(例如,通過在 Twitter 或 GitHub 個人資料中包含 ETH 地址),要么就可以通過鏈上和鏈外數據分析獲得用戶真實世界的身份。
有專為完全匿名交易而設計的特定“隱私幣”。例如Zcash 和 Monero ,他們會屏蔽交易細節,包括發送方/接收方地址、資產類型、數量和交易時間表。通過將零知識技術融入協議,以隱私為中心的區塊鏈網絡允許節點在無需訪問交易數據的情況下驗證交易。
零知識證明也被應用于公共區塊鏈上的匿名交易。例如 Tornado Cash,一種去中心化的非托管服務,允許用戶在以太坊上進行私人交易。Tornado Cash 使用零知識證明來混淆交易細節并保證財務隱私。
身份證明
在不暴露具體身份信息的前提下,,出具具體的身份特征證明。例如使用在線服務需要證明用戶的身份和訪問這些平臺的權利。這通常需要提供個人信息,例如姓名、電子郵件地址、出生日期等。
數據/機器智能美學先驅Refik Anadol推出解讀量子物理的藝術NFT:金色財經報道,根據德國知名畫廊“國王畫廊”(K?NIG GALERIE)披露,媒體藝術家、導演和數據/機器智能美學先驅Refik Anadol在misa.art平臺上已售出1000 NFT,這些NFT是Refik Anadol系列作品《QUANTUM MEMORIES : NOISE》的一部分,Refik Anadol使用 Google Quantum AI量子計算研究數據和算法來探索平行世界的可能性,并開發了一種定制的程序相干噪聲實現,利用超越經典測量的計算surflets(Surflets:包含平滑不連續性的多維函數的稀疏表示)。這件作品的靈感來自于量子物理學中的多世界解釋,并對其進行了推測——該理論認為有許多平行世界與我們自己的空間和時間存在于相同的時空。[2021/9/27 17:08:54]
零知識證明可以簡化平臺和用戶的身份驗證。使用公共輸入(例如,證明用戶是平臺成員的數據)和私人輸入(例如,用戶的詳細信息)生成了 ZK 證明,用戶可以在需要訪問時簡單地出示它以驗證其身份服務。例如證明用戶是否成年,不用出具身份證信息,或者具體的出生年份,只出具是否滿十八歲的結論。
可驗證計算
當用戶的設備無法支持需要的計算,或者在本地進行計算成本太高的時候,就會考慮第三方服務。這些第三方服務可以快速且廉價地向用戶返回輸出的結果(例如 Chainlink 的 oracle 服務)。這種場景下零知識證明允許第三方算力提供商輸出計算完整性證明,確保用戶收到的輸出結果是正確的。
匿名投票
在不暴露具體身份的前提下,證明用戶的身份并獲得投票權限,完成投票。
PART.04
零知識證明的工作原理
零知識證明最早由 MIT 的 Shafi Goldwasser 和 Silvio Micali 在 1985 年一篇名為《互動式證明系統的知識復雜性》的論文中提出。作者在論文中提到,證明者(prover)有可能在不透露具體數據的情況下讓驗證者(verifier)相信數據的真實性。零知識證明可以是交互式的,即證明者面對每個驗證者都要證明一次數據的真實性;也可以是非交互式的,即證明者創建一份證明,任何使用這份證明的人都可以進行驗證。零知識證明目前有多種實現方式,如 zk-SNARKS、zk-STARKS、PLONK 以及 Bulletproofs。每種方式在證明大小、證明者時間以及驗證時間上都有自己的優缺點。
動態 | BafeEx解讀:歐洲央行對歐元穩定幣態度較為樂觀:1月3日,歐洲央行市場基礎設施和支付總監Ulrich Bindseil發布了央行歐元穩定幣CBDC工作總結。BafeEx交易所分析師Zoy表示,從文章來看,歐洲央行對歐元穩定幣CBDC持較為樂觀的態度,注意不是極度樂觀。歐洲央行主要擔心:1.金融脫媒(Disintermediation),儲戶和機構通過這種方式藏匿和轉移歐元資產,規避歐洲央行監管;2.無法應對危機時期的銀行的系統性建導(Facilitation)問題,即CBDC相對來說更難被央行調控。BafeEx分析師Zoy強調,CBDC的雙層利率系統也許可以應對上述兩個問題,CBDC得以順利發行的可能性在逐漸提高。[2020/1/4]
零知識證明有三個基本特征,即:
完整性:如果 statement 為 true,則誠實的驗證者可以相信誠實的證明者確實擁有正確的信息。
可靠性:如果 statement 為 false,則任何不誠實的證明者都無法說服誠實的驗證者相信他擁有正確的信息。
零知識性:如果 statement 為 true,則驗證者除了從證明者那里得知 statement 為 true 以外,什么都不知道。
總而言之,要創建零知識證明,驗證者需要讓證明者執行一系列操作,而證明者只有在得知底層信息的情況下才能正確執行。如果證明者亂蒙一個結果,那么驗證者極有可能在驗證中發現并證明他的錯誤。
PART.05
零知識證明的分類
零知識證明可以根據交互方式分為『交互式零知識證明』和『非交互式零知識證明』。
交互式零知識證明
證明者和驗證者需要進行多次互動,驗證者會不斷提出問題來挑戰證明者,證明者則要不斷回應這些挑戰,直到驗證者被說服。
交互式零知識證明——色盲游戲
Alice 是色盲,Bob 不是色盲,在 Bob 手上有兩個大小,形狀完全一樣的球,但這兩個球的顏色不一樣,一個球是藍色的,另一個球是紅色的,由于 Alice 是色盲,所以 Alice 無法分辨這兩個球是否是一樣的,Bob 需要向 Alice 證明這兩個球是不一樣的。在這里,Alice 被稱為驗證者,他需要驗證 Bob 的陳述正確與否,Bob 被稱為證明者,他需要證明自己的陳述(存在兩個顏色不一樣的球),Bob 需要在 Alice 不能獲得兩個球的顏色的情況下,向 Alice 證明這兩個球的顏色是不一樣的這個事實,這與零知識證明的定義是相符合的。
分析 | TokenGazer幣安中簽解讀:大陸用戶仍為主力 機構持有較多BNB:TokenGazer分析顯示:幣安此次簽數16666個,因為放開國內用戶準入,中簽率從上次MATIC的58.38%下降到30.82%;按照這次的中簽率,鎖定20天的BNB數量是540多萬個,約3-4%的比例,再次說明大部分bnb在機構手里;另,此次中簽率下降了一半,持有100個BNB以上地址大概率為活躍交易用戶,可能說明中國大陸用戶仍舊占到幣安活躍交易用戶的半壁江山。[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)提出問題,如果證明者都能給出正確回答,則說明證明者大概率擁有他所聲稱的“知識”。零知識證明并不是數學意義上的證明,因為它存在小概率的誤差,欺騙的證明者有可能通過虛假的陳述騙過驗證者。換句話說,零知識證明是概率證明而不是確定性證明,但是也存在技術能將誤差降低到可以忽略的值。
聲音 | 最高人民法院工作報告解讀:探索司法區塊鏈等互聯網模式:據新華網消息,12日,最高人民法院辦公廳副主任陳志遠接受專訪,解讀最高人民法院工作報告中網民高度關注的熱點內容。陳志遠介紹,杭州互聯網法院通過全流程在線審理平臺,實現案件全流程在線辦理,讓當事人打官司“一次都不用跑”;采用司法區塊鏈等技術,讓存證取證更方便,讓電子證據更可靠。[2019/3/12]
這種交互式方法有一些局限:
每次驗證都需要進行整個冗長的過程。
證明方與驗證方都需要同時在場,不管是在線還是面對面。
只能夠取信于一個驗證者,如果要取信于多個驗證者,則對每個驗證者都需要進行一遍證明過程。
非交互式零知識證明
交互式零知識證明需要兩方隨時可用并反復交互。即使驗證者確信證明者是誠實的,該證明也無法用于獨立驗證(計算新證明需要證明者和驗證者之間的一組新消息)。
為了解決交互式零知識證明面臨的問題,非交互式零知識證明應運而生。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:ALIBOBICELICALIF價格Boboo Tokenalice幣前景ethicalsiliconpolice
作者:Justin,UOB Ventur 編譯:Lynn加密貨幣支付的全面入門知識,提供投資者的想法。本文由UOB Venture的Justin撰寫.
1900/1/1 0:00:00為什么一直這么強調去中心化的我們,會去這么相信一個如此中心化的 NFT 項目方?為什么這么痛恨中心化的我們,還會去包容一個如此的中心化 Azuki 項目.
1900/1/1 0:00:00作者:31 | Trader,來源:作者推特@althunter31四月上線主網,僅兩個月 TVL 翻了幾十倍,占了整個 #LSDfi 賽道 TVL 的 38.9%.
1900/1/1 0:00:00在智能合約領域,"以太坊虛擬機 EVM" 以及其算法和數據結構就是第一性原理。本文從合約為什么要分類出發,結合每個場景可能面對怎樣的惡意攻擊,最終給出一套達成相對安全的合約分類分析算法.
1900/1/1 0:00:00▌黃立成起訴鏈上偵探ZachXBT誹謗罪“麻吉大哥”黃立成起訴區塊鏈偵探ZachXBT。該鏈上偵探去年發布了一份報告,指控Huang盜用了價值數千萬美元的加密貨幣.
1900/1/1 0:00:00作者:John Paul Koning,博客Moneyness主理人;翻譯:金色財經xiaozou早在2018年.
1900/1/1 0:00:00