零知識(shí)證明技術(shù)讓用戶在保護(hù)自身隱私的前提下,更高效、更安全地完成驗(yàn)證。如果說比特幣是區(qū)塊鏈帶給現(xiàn)實(shí)世界的第一大發(fā)明,提供價(jià)值存儲(chǔ)的新方式,以太坊的智能合約是第二大里程碑事件,解鎖創(chuàng)新的潛力,那么零知識(shí)證明的應(yīng)用是區(qū)塊鏈發(fā)展史上第三大第三大技術(shù)革新,帶來隱私和可擴(kuò)展。這既是Web3 生態(tài)的重要一環(huán),也是有潛力推動(dòng)社會(huì)變革的重要基礎(chǔ)技術(shù)。
這篇文章以非技術(shù)人員的角度,介紹零知識(shí)證明的應(yīng)用場景、工作原理、發(fā)展現(xiàn)狀和未來趨勢,以期讓無技術(shù)背景的讀者了解零知識(shí)證明即將帶來的重大變革。
零知識(shí)證明(ZKP) 是在1985 年由Shafi Goldwasser、Silvio Micali、Chales Rackoff 合著的論文The knowledge complexity of interactive proof systems首次提出的數(shù)學(xué)協(xié)議,除了某一要證明的事實(shí)之外,不會(huì)透露任何其他信息。驗(yàn)證者無法獲得生成證明的秘密信息。
舉一個(gè)例子幫助大家理解:我要證明我知道某個(gè)人的電話號(hào)碼,我只需要能夠在眾人面前撥通那人的電話就可以證明這一事實(shí),不需要透露那人的真實(shí)號(hào)碼。
零知識(shí)證明提供了一種有效的近乎無風(fēng)險(xiǎn)的數(shù)據(jù)分享方式。利用零知識(shí)證明,我們可以保留對數(shù)據(jù)的所有權(quán),極大地提高隱私保護(hù),有望使數(shù)據(jù)泄露事件成為過去式。
零知識(shí)證明具有三個(gè)特性:
零知識(shí)證明存在極小的概率產(chǎn)生合理性誤差,即一個(gè)作弊的證明者可能使驗(yàn)證者相信一個(gè)錯(cuò)誤的聲明。零知識(shí)證明是概率性的證明,而不是確定性的證明,但我們可以通過一些技術(shù)將合理性誤差降低到可以忽略不計(jì)。
Dmitry Laverenov (2019)把零知識(shí)證明結(jié)構(gòu)分為交互式和非交互式。
交互式零知識(shí)證明的基本形式由三個(gè)步驟構(gòu)成:證據(jù)、挑戰(zhàn)者和回應(yīng)
這個(gè)過程可以重復(fù)多次,直到證明者在不知道秘密信息卻猜出正確答案的概率變得足夠低。舉一個(gè)簡化的數(shù)學(xué)例子,如果證明者在不知道秘密信息卻能猜出正確答案的概率為1/2,重復(fù)交互十次,證明者每次都命中的概率僅有萬分之9.7,想讓驗(yàn)證者錯(cuò)誤地認(rèn)可虛假證明的可能性極低。
ZK-SNARKs 是一個(gè)零知識(shí)的簡潔的非交互式的證明。
ZK(Zero-Knowledge) | 驗(yàn)證者只能知道聲明真實(shí)與否,不能獲得任何多余的信息 |
S(Succinct) | 證明的尺寸很小,且可以被迅速驗(yàn)證 |
N (Non-Interactive) | 證明者和驗(yàn)證者之間只進(jìn)行一次信息交換 |
AR (Argument) | 計(jì)算上合理的證明:對利用多項(xiàng)式時(shí)間的驗(yàn)證器而言,合理性成立 |
K (Knowledge) | 一個(gè)沒有秘密信息的的證明者很難計(jì)算出一個(gè)有效的零知識(shí)證明 |
公鏈要確保在網(wǎng)絡(luò)上執(zhí)行交易的正確性,需要通過讓其他計(jì)算機(jī)(節(jié)點(diǎn))重新運(yùn)行每筆交易來實(shí)現(xiàn)。但這種方法會(huì)使每個(gè)節(jié)點(diǎn)重新執(zhí)行每筆交易,會(huì)減慢網(wǎng)絡(luò)的速度,限制可擴(kuò)展性。節(jié)點(diǎn)還必須存儲(chǔ)交易數(shù)據(jù),導(dǎo)致區(qū)塊鏈的規(guī)模呈指數(shù)級(jí)增長。
對于這些限制,ZK-SNARK 就發(fā)揮了作用。它可以證明在鏈外進(jìn)行的計(jì)算的正確性,而不需要節(jié)點(diǎn)重放計(jì)算的每一步。這也消除了節(jié)點(diǎn)對存儲(chǔ)多余交易數(shù)據(jù)的需求,提高網(wǎng)絡(luò)的吞吐量。
使用SNARKs 驗(yàn)證鏈外計(jì)算將計(jì)算編碼為一個(gè)數(shù)學(xué)表達(dá)式來構(gòu)成有效性證明。驗(yàn)證者檢查證明的正確性。若證明通過了所有檢查,那么底層計(jì)算就被認(rèn)為是有效的。有效性證明的大小要比它所驗(yàn)證的計(jì)算小很多倍,因此我們稱SNARKs 是簡潔的原因。
大多數(shù)使用ZK-SNARKs 的ZK Rollup 遵循以下步驟。
值得一提的是ZK-SNARKs 需要進(jìn)行可信設(shè)置。在這階段,密鑰生成器會(huì)獲取一個(gè)程序和一個(gè)秘密參數(shù)來生成兩個(gè)可用的公鑰,分別用于創(chuàng)建證明和驗(yàn)證證明。這兩個(gè)公鑰只需通過一個(gè)可信的設(shè)置儀式生成一次公共參數(shù),就可供希望參與零知識(shí)協(xié)議的各方多次使用。用戶需要相信可信設(shè)置儀式的參與者不作惡,且沒有方法評估參與者的誠實(shí)性。知道秘密參數(shù)便可生成假證明,欺騙驗(yàn)證者,因此存在潛在安全隱患。目前有研究員在探索ZK-SNARKs 無需信任假設(shè)的方案。
優(yōu)勢
局限
Polygon Hermez
Polygon 在2021年以2.5 億美元并購Hermez,成為首個(gè)兩個(gè)區(qū)塊鏈網(wǎng)絡(luò)全面并購的案例。Hermez 給Polygon 快速增長的用戶群帶來的ZK 技術(shù)和工具,使Polygon 獲得開發(fā)zkEVM 的支持。Hermez 1.0 是支付平臺(tái),把一批交易在鏈外執(zhí)行,允許用戶便捷地把ERC-20 代幣從一個(gè)Hermez 賬戶轉(zhuǎn)移到另一個(gè)Hermez 賬戶,每秒交易可達(dá)2000次。Hermez 2.0 作為一個(gè)零知識(shí)的zkEVM 以透明方式執(zhí)行以太坊交易,包括具有零知識(shí)驗(yàn)證的智能合約。其可與以太坊完全兼容,無需對智能合約代碼進(jìn)行太多改動(dòng),方便開發(fā)者將L1的項(xiàng)目部署到Polygon Hermez 上。Hermez 1.0 使用SNARK-proofs,2.0 中同時(shí)使用SNARK-proofs 和STARK-proofs。在2.0,使用STARK-proof 證明鏈外交易的有效性。但STARK-proof 在主鏈上驗(yàn)證的成本很高,因此引入SNARK-proof 來驗(yàn)證STARK 。
zkSync
Matter Labs 于2020 年推出的zkSync 1.0 不支持智能合約,主要用于交易或轉(zhuǎn)賬。支持智能合約的ZkSync 2.0 已于2023 年3 月份公開上線主網(wǎng)。
ZkSync 把以太坊上的智能合約源代碼Solidity 編譯為Yul 來實(shí)現(xiàn)EVM 的兼容性。Yul 是可以編譯成不同EVM 的字節(jié)碼的中間語言。使用LLVM 編譯器框架可以將Yul 代碼重新編譯為為zkSync 的zkEVM 設(shè)計(jì)的自定義、電路兼容的字節(jié)碼集。通過這種方法,免除通過更高級(jí)別的代碼對EVM 執(zhí)行中的所有步驟進(jìn)行zk 證明,從而在保持高性能的同時(shí)更容易使證明過程去中心化。未來還可以通過構(gòu)建新的編譯器前端來添加對Rust、Javascript 或其他語言的支持,增加zkEVM 架構(gòu)的靈活性和更多的開發(fā)者。
Aztec
Aztec是第一個(gè)混合型zkRollup,在一個(gè)環(huán)境中同時(shí)實(shí)現(xiàn)公共和私有智能合約的執(zhí)行。這是一個(gè)零知識(shí)的執(zhí)行環(huán)境,而非zkEVM。通過將公共和私有執(zhí)行合并到單個(gè)混合匯總中來實(shí)現(xiàn)機(jī)密性,例如公開AMM的隱私交易、公開游戲中的私密對話、公開DAO的隱私投票等等。
ZK-STARKs 不需要可信的設(shè)置。ZK-STARKs 是for Zero-Knowledge Scalable Transparent Argument of Knowledge 的縮寫。相比ZK-SNARKs, ZK- STARKs 有更好的可拓展性和和透明性。
S(Scalable) | 當(dāng)證據(jù)較大時(shí),ZK-STARKs 在生成和驗(yàn)證證明方面比ZK-SNARKs快。對于ZK-STARKs 證明,證明者和驗(yàn)證者的時(shí)間只隨著證據(jù)的增長而略有增加。相比之下,ZK-SNARKs 證明者和驗(yàn)證者的時(shí)間隨著證據(jù)大小線性增加,需要更多的時(shí)間來產(chǎn)生和驗(yàn)證證明。 |
T (Transparent) | ZK-STARKs 依靠可公開驗(yàn)證的隨機(jī)性來生成用于證明和驗(yàn)證的公共參數(shù),而不是一個(gè)可信的設(shè)置, 因此更加透明。 |
優(yōu)勢
局限
Polygon Miden
Polygon Miden,一個(gè)基于Ethereum L2的擴(kuò)展解決方案,利用zk-STARKs技術(shù)將大量L2交易集成到單一的以太坊交易中,從而提升了處理能力并降低了交易成本。在不進(jìn)行分片的情況下,Polygon Miden可以在5秒內(nèi)產(chǎn)生一個(gè)區(qū)塊,并且其TPS可以達(dá)到1000以上。而在進(jìn)行分片后,其TPS可高達(dá)10,000。用戶只需要15分鐘,就能將資金從Polygon Miden提現(xiàn)到Ethereum。Polygon Miden的核心功能是一個(gè)基于STARK的圖靈完備虛擬機(jī)——Miden VM,它使得合約的形式化驗(yàn)證變得更為簡便。
StarkEx 和StarkNet
StarkEx 是一個(gè)需要許可的、為特定應(yīng)用程序定制的擴(kuò)展解決方案的框架。項(xiàng)目可以使用StarkEx 來進(jìn)行低成本的鏈下計(jì)算,生成證明執(zhí)行正確性的STARK 證明。這樣的證明包含12,000–500,000 筆交易。最后將證明發(fā)送到鏈上的STARK 驗(yàn)證器,驗(yàn)證正確后接受狀態(tài)更新。在StarkEx 上部署的應(yīng)用程序包括永續(xù)期權(quán)dYdX、NFT L2 Immutable、體育數(shù)字卡牌交易市場Sorare 和多鏈DeFi 聚合器rhino.fi。
StarkNet 是一個(gè)無需許可的L2,任何人員都可以在其中部署以Cairo 語言開發(fā)的智能合約。部署在StarkNet 上的合約之間可以進(jìn)行交互來構(gòu)建新的可組合協(xié)議。與應(yīng)用程序負(fù)責(zé)提交交易的StarkEx 不同,StarkNet 的排序器批量交易并發(fā)送它們進(jìn)行處理和證明。StarkNet 更適合需要與其他協(xié)議同步交互或超出StarkEx 應(yīng)用范圍的協(xié)議。隨著StarkNet 開發(fā)的進(jìn)展,基于StarkEx 的應(yīng)用將能夠移植到StarkNet,享受可組合性。
ZK-SNARKs 和ZK-STARKs 對比
ZK-SNARKs | ZK-STARKs | |
可信設(shè)置要求 | 需要可信設(shè)置 | 利用公開可驗(yàn)證隨機(jī)來建立可信任、可驗(yàn)證的計(jì)算系統(tǒng) |
擴(kuò)展性 | 相對較少的擴(kuò)展性 | 相對更多的擴(kuò)展性 |
抗量子 | 使用公私鑰對,不抗量子攻擊 | 抗量子攻擊 |
證明大小 | 相對更小 | 相對更大 |
驗(yàn)證時(shí)間 | 迅速 | 相對更長 |
驗(yàn)證成本 | 大多數(shù)情況下成本更低(證明大數(shù)據(jù)集的情況下除外) | 大多數(shù)情況下成本更大 |
開發(fā)工具 | 相對成熟 | 相對原始 |
核心算法代碼 | 相對成熟 | 代碼質(zhì)量有待提高 |
普通ZK rollup 只能處理一個(gè)交易區(qū)塊,這限制了他們可以處理的交易數(shù)量。遞歸ZK-SNARKs 可以驗(yàn)證一個(gè)以上的交易區(qū)塊,把不同的L2 區(qū)塊生成的SNARKs 合并為一個(gè)單一的有效性證明,提交給L1鏈。一旦L1 鏈上合約接受了提交的證明,所有這些交易都會(huì)變得有效, 極大地增加了可以用零知識(shí)證明最終完成的交易數(shù)量。
Plonky2 是Polygon Zero 的一種使用遞歸ZK-SNARKs 來增加交易的新證明機(jī)制。遞歸SNARKs 通過將幾個(gè)證明聚集到一個(gè)遞歸證明中,來擴(kuò)展證明生成過程。Plonky2 使用同樣的技術(shù)來減少生成新區(qū)塊證明的時(shí)間。Plonky2 將成千上萬的交易并行生成證明,再遞歸地將它們聚合成一個(gè)區(qū)塊證明,因此生成速度很快。而普通的證明機(jī)制試圖一次性生成整個(gè)區(qū)塊證明,效率更低。此外,Plonky2 還可以在消費(fèi)級(jí)設(shè)備上生成證明,解決了SNARK 證明常伴隨的的硬件集中化問題。
ZK-SNARKs 和ZK-STARKs 已經(jīng)成為區(qū)塊鏈擴(kuò)展項(xiàng)目的核心基礎(chǔ)設(shè)施,特別是Zero Knowledge Rollup 方案中。Zero-Knowledge Rollup 就是指是指使用零知識(shí)證明技術(shù)將所有的計(jì)算轉(zhuǎn)移到鏈下處理來減輕網(wǎng)絡(luò)堵塞的一種以太坊的二層擴(kuò)容解決方案。Zero Knowledge Rollup的主要優(yōu)點(diǎn)是可以大幅提高以太坊的交易吞吐量,同時(shí)保持較低的交易費(fèi)用,且交易一旦打包進(jìn)rollup,就能立即確定。
目前以太坊的L2擴(kuò)展方案除了Zero Knowledge Rollup,還有Optimistic Rollup。在Optimistic Rollup 運(yùn)行的交易被默認(rèn)為有效并立即執(zhí)行。只有當(dāng)發(fā)現(xiàn)欺詐性/交易時(shí)(有人提交欺詐證明),該交易才會(huì)被撤銷。所以安全性是低于Zero Knowledge Rollup的。為了防止欺詐交易,Optimistic Rollup 設(shè)有一段挑戰(zhàn)期,如果交易需要在挑戰(zhàn)期過后才能最終確定。這可能導(dǎo)致用戶在取回他們的資金時(shí)需要等待一段時(shí)間。
最初設(shè)計(jì)EVM 的時(shí)候沒有考慮到使用零知識(shí)證明技術(shù)。以太坊創(chuàng)始人Vitalik 認(rèn)為短期內(nèi)Zero Knowledge Rollup 存在技術(shù)上的復(fù)雜性,但最終在擴(kuò)容戰(zhàn)爭中會(huì)戰(zhàn)勝Optimistic Rollup。下面是Zero Knowledge Rollup 和Optimistic Rollup 的對比。
Optimistic Rollups | ZK Rollups | |
驗(yàn)證方法 | 加密貨幣激勵(lì) | 數(shù)學(xué) |
無效交易的處理方式 | 提交欺詐證明 | 不能被打包進(jìn)證明,無法被提交鏈上 |
延遲 | 等待一周的質(zhì)疑期 | 當(dāng)證明和狀態(tài)更新在鏈上被確認(rèn)后立即完成 |
數(shù)據(jù)存儲(chǔ) | 所有的交易數(shù)據(jù) | 只存儲(chǔ)必要的數(shù)據(jù) |
EVM 兼容 | 兼容 | 不兼容 |
開發(fā) | 開發(fā)歷史較長,難度較低 | 開發(fā)歷史較短,難度較大 |
成熟度 | 相比采用ZK Rollups的生態(tài)較為成熟 | 部分L2剛上線主網(wǎng),部分在測試網(wǎng)階段,仍處于早期開發(fā)階段 |
(來源:SUSS NiFT, ChatGPT)
零知識(shí)證明技術(shù)領(lǐng)域處于獨(dú)特的地位:近年來,經(jīng)過大量努力致力于推進(jìn)該領(lǐng)域的研究,許多成果在密碼學(xué)和安全通信領(lǐng)域都是相當(dāng)新的。因此,許多有趣的問題還有待學(xué)術(shù)界和開發(fā)者社區(qū)解答。與此同時(shí),零知識(shí)證明技術(shù)被用于各類項(xiàng)目,展現(xiàn)了零知識(shí)技術(shù)的挑戰(zhàn)并拓展了其要求。
零知識(shí)證明技術(shù)值得關(guān)注的領(lǐng)域之一是零知識(shí)證明技術(shù)的后量子安全性的討論??晒_驗(yàn)證的SNARK(簡潔的非交互式知識(shí)論證)是零知識(shí)技術(shù)領(lǐng)域的關(guān)鍵組成部分。然而,大多數(shù)廣泛使用的可公開驗(yàn)證的SNARK 方案并不被認(rèn)為是量子安全的。例如Groth16、Sonic、Marlin、SuperSonic 和Spartan。這些方案所依賴的數(shù)學(xué)問題可在量子計(jì)算機(jī)的幫助下會(huì)被有效解決,這大大損害了它們在后量子世界中的安全性。
我們發(fā)現(xiàn)學(xué)術(shù)界正在積極尋找量子安全的零知識(shí)證明,該證明可用于各種沒有預(yù)處理階段的語句。目前最先進(jìn)的量子安全零知識(shí)證明的例子包括Ligero、Aurora、Fractal、Lattice Bulletproofs 和LPK22 等方案。Ligero、Aurora 和Fractal 基于哈希函數(shù),而Lattice Bulletproofs 和LKP22 基于點(diǎn)陣函數(shù)。這兩個(gè)函數(shù)都被認(rèn)為是量子安全的。推廣這些方案并提高其效率已成為趨勢。
我們對零知識(shí)技術(shù)未來的另一個(gè)期望是它抵抗攻擊的能力和實(shí)現(xiàn)相關(guān)的代碼成熟度。鑒于編寫的代碼量的增加,將會(huì)有更多安全且經(jīng)過審查的庫和最佳實(shí)踐用于各種零知識(shí)證明技術(shù)。當(dāng)然,未來也會(huì)有更多將等待被發(fā)現(xiàn)和溝通的常見錯(cuò)誤。我們期望該領(lǐng)域成熟并被高度采用,努力標(biāo)準(zhǔn)化協(xié)議并確保不同實(shí)現(xiàn)之間的互操作性, 一個(gè)名為ZKProof 的項(xiàng)目已經(jīng)開始這樣做了。
零知識(shí)技術(shù)社區(qū)中將繼續(xù)存在的另一個(gè)趨勢是在高效算法和可能的特殊硬件上進(jìn)行更多工作。近年來,我們已經(jīng)看到證明大小的減小以及證明者和驗(yàn)證者變得更加高效。算法、特殊硬件和計(jì)算優(yōu)化的進(jìn)步可能會(huì)帶來更快、更具擴(kuò)展性的實(shí)現(xiàn)。
雖然現(xiàn)有算法的效率有利于未來零知識(shí)證明技術(shù)的用戶,但我們也期望看到零知識(shí)證明的功能不斷擴(kuò)大。過去,我們在實(shí)現(xiàn)預(yù)處理zk-SNARK 時(shí)遇到過很多實(shí)例。現(xiàn)在我們發(fā)現(xiàn)越來越多的可升級(jí)zk-SNARK 實(shí)例。此外,一些零知識(shí)證明技術(shù)的使用更多是因?yàn)槠浜啙嵭裕皇瞧淞阒R(shí)能力。
最后,零知識(shí)證明技術(shù)的另一個(gè)趨勢是機(jī)器學(xué)習(xí)與零知識(shí)證明的交叉(ZKML)。這個(gè)想法需要在多方環(huán)境中訓(xùn)練大型語言模型,并使用零知識(shí)技術(shù)來驗(yàn)證計(jì)算。這對于當(dāng)前人工智能非常有用。該領(lǐng)域有興起項(xiàng)目的可能。
通過本文的介紹,我們可以了解到零知識(shí)證明在區(qū)塊鏈領(lǐng)域的廣泛應(yīng)用,技術(shù)路徑,發(fā)展趨勢與所面臨的挑戰(zhàn)。相信隨著硬件技術(shù)與密碼學(xué)的發(fā)展,零知識(shí)證明將在未來取得更多突破,為數(shù)字世界提供更快速,更安全的應(yīng)用服務(wù)。
零知識(shí)證明最重要的兩個(gè)應(yīng)用場景是隱私和可拓展。
零知識(shí)證明允許用戶在沒有透露個(gè)人詳細(xì)信息的情況下,安全地分享必要的信息來獲得商品和服務(wù),免受黑客攻擊和個(gè)人身份信息的泄露。隨著數(shù)字和物理領(lǐng)域的逐漸融合,零知識(shí)證明的隱私保護(hù)功能對于Web3 乃至Web3 以外的信息安全變得至關(guān)重要。如果沒有零知識(shí)證明,用戶信息就會(huì)存在受信任的第三方數(shù)據(jù)庫,有受到黑客攻擊的潛在危險(xiǎn)。零知識(shí)證明在區(qū)塊鏈中的第一應(yīng)用案例是隱私幣Zcash,用來隱藏交易細(xì)節(jié)。
在網(wǎng)上活動(dòng)中,我們經(jīng)常需要提供諸如姓名、出生日期、電子郵件、復(fù)雜的密碼來證明我們是有合法使用權(quán)限的用戶。因此也常在網(wǎng)上留下了不愿透露的敏感信息。如今接到直呼我們姓名的電話已經(jīng)屢見不鮮,可見個(gè)人信息泄露的情況十分嚴(yán)重。
我們可以利用區(qū)塊鏈技術(shù),賦予每個(gè)人一個(gè)包含個(gè)人數(shù)據(jù)的特殊加密數(shù)字標(biāo)識(shí)符。這個(gè)數(shù)字標(biāo)識(shí)符可以構(gòu)建去中心化身份,且不可能在其所有者不知情的情況下被偽造或改變。去中心化身份可以由用戶來控制對個(gè)人身份的訪問權(quán)限,在不透露護(hù)照細(xì)節(jié)的情況下證明公民身份,簡化了認(rèn)證過程,還減少了用戶由于遺忘密碼而失去訪問權(quán)限的事件發(fā)生。零知識(shí)證明由能證明用戶身份的公開數(shù)據(jù)和帶有用戶信息的隱私數(shù)據(jù)生成,可用于用戶訪問服務(wù)時(shí)的身份驗(yàn)證。這既減少了繁瑣的驗(yàn)證流程,提升了用戶體驗(yàn),又避免用戶信息的中心化存儲(chǔ)。
此外,零知識(shí)證明還可以在構(gòu)建私人信譽(yù)系統(tǒng),允許服務(wù)機(jī)構(gòu)在用戶不暴露身份的情況下驗(yàn)證其是否符合某些信譽(yù)標(biāo)準(zhǔn)。用戶可以從Facebook、Twitter 和Github 等平臺(tái)在掩蓋具體來源賬號(hào)的前提下,匿名輸出聲譽(yù)。
使用銀行卡支付的交易細(xì)節(jié)通常對多方可見,包括支付提供商、銀行等相關(guān)方,這在一定程度上暴露了普通公民的隱私,用戶需要信任相關(guān)方不作惡。
加密貨幣可以使支付擺脫第三方,直接進(jìn)行點(diǎn)對點(diǎn)交易。但目前主流公鏈上的交易公開可見,雖然用戶地址匿名,依然存在通過鏈上的關(guān)聯(lián)地址和鏈下如交易所KYC、Twitter 信息等數(shù)據(jù)分析來找到現(xiàn)實(shí)世界身份。如果知道一個(gè)人的錢包地址,相當(dāng)于可以隨時(shí)查看個(gè)人的銀行賬戶余額,甚至可能對用戶身份、財(cái)產(chǎn)造成威脅。
而零知識(shí)證明可以從隱私幣、隱私應(yīng)用和隱私公鏈三個(gè)層次來提供匿名支付。隱私幣Zcash,隱藏了包括發(fā)送方、接收方地址、資產(chǎn)類型、數(shù)量和時(shí)間等交易細(xì)節(jié)。Tornado Cash 是以太坊上的去中心化應(yīng)用,使用零知識(shí)證明混淆交易細(xì)節(jié)來提供隱私轉(zhuǎn)賬(但也多被用于黑客洗錢)。Aleo 是旨在從協(xié)議層面為應(yīng)用程序提供隱私功能的L1區(qū)塊鏈。
零知識(shí)證明可以在保留隱私的前提下促進(jìn)誠實(shí)行為。協(xié)議可以要求用戶提交零知識(shí)證明來證明其誠實(shí)行為。由于零知識(shí)證明的合理性(錯(cuò)的對不了),用戶必須根據(jù)協(xié)議要求做出誠實(shí)的行為才可以提交有效的證明。
MACI(Minimal Anti-Collusion Infrastructure,最小反串謀基礎(chǔ)設(shè)施)就是一個(gè)促進(jìn)誠實(shí)的應(yīng)用場景,防止在鏈上投票或其他形式的決策過程中發(fā)生串謀。該系統(tǒng)利用密鑰對和零知識(shí)證明技術(shù)來實(shí)現(xiàn)這一目標(biāo)。在MACI 中,用戶將他們的公鑰注冊到一個(gè)智能合約中,并通過加密的消息將他們的投票發(fā)送到合約中。MACI 的防串謀特性允許投票者改變他們的公鑰,以防止其他人了解他們的投票選擇。協(xié)調(diào)者在投票期結(jié)束時(shí)用零知識(shí)證明來證明他們已經(jīng)正確處理了所有消息,且最終的投票結(jié)果是所有有效票數(shù)的總和。這保證了投票的完整性和公正性。
當(dāng)我們想要獲取貸款時(shí),可以從公司拿一個(gè)數(shù)字收入證明來申請貸款。這個(gè)證明的合法性容易在密碼學(xué)上得到檢查。銀行可以用零知識(shí)證明來驗(yàn)證我們的收入是否達(dá)到了規(guī)定的最低限度,但得不到敏感的具體信息。
在訓(xùn)練機(jī)器學(xué)習(xí)模型時(shí),通常需要大量的數(shù)據(jù)。通過使用零知識(shí)證明,數(shù)據(jù)擁有者可以證明他們的數(shù)據(jù)滿足模型訓(xùn)練的要求,而無需實(shí)際公開這些數(shù)據(jù)。這有利于讓私有數(shù)據(jù)發(fā)揮作用,并且實(shí)現(xiàn)貨幣化。
此外,零知識(shí)證明可以允許模型創(chuàng)建者證明他們的模型滿足某些性能指標(biāo),但無需公開模型的細(xì)節(jié),以防止他人復(fù)制或篡改他們的模型。
隨著區(qū)塊鏈用戶的增多,區(qū)塊鏈上需要進(jìn)行大量的計(jì)算,造成了交易擁堵。有些區(qū)塊鏈會(huì)走分片的擴(kuò)展路線,但這需要對區(qū)塊鏈的基礎(chǔ)層進(jìn)行大量的復(fù)雜的修改,可能會(huì)威脅到區(qū)塊鏈的安全性。
另外一個(gè)較為可行的方案是走ZK-Rollup 路線,利用可驗(yàn)證計(jì)算,將計(jì)算外包給另外一條鏈上的實(shí)體來執(zhí)行,然后將零知識(shí)證明和可驗(yàn)證結(jié)果一起提交到主鏈上以供驗(yàn)證真實(shí)性。零知識(shí)證明保證交易的真實(shí)性,主鏈只需將結(jié)果更新到狀態(tài),不需要存儲(chǔ)細(xì)節(jié)或重放計(jì)算, 也不需要等待其他人來討論交易的真實(shí)與否,極大地提高效率和擴(kuò)展能力。開發(fā)者可借助零知識(shí)證明,設(shè)計(jì)可以運(yùn)行在如手機(jī)這樣的普通硬件上的輕節(jié)點(diǎn)dapps,更有利于Web3 走向大眾。
零知識(shí)證明的擴(kuò)展既可運(yùn)用在在一層網(wǎng)絡(luò)上,如Mina Protocol,也可以運(yùn)用二層網(wǎng)絡(luò)ZK – rollups。
交互式零知識(shí)證明具有局限性,一方面是需要證明者和驗(yàn)證者同時(shí)存在并進(jìn)行重復(fù)驗(yàn)證,另一方面是每計(jì)算一個(gè)新的證明都需要證明者和驗(yàn)證者傳遞一組信息,證明不可在獨(dú)立的驗(yàn)證中重復(fù)使用。
為了解決交互式零知識(shí)證明的局限性,Manuel Blum, Paul Feldman, 和Silvio Micali 提出了非交互式零知識(shí)證明,由證明者和驗(yàn)證者共享密鑰,且僅需進(jìn)行一輪驗(yàn)證來使得零知識(shí)證明更加有效。證明者將秘密信息通過特殊算法來計(jì)算生成一個(gè)零知識(shí)證明,發(fā)送給驗(yàn)證者。驗(yàn)證者使用另外一種算法檢查證明者是否知道秘密信息。該零知識(shí)證明一旦生成,任何有共享密鑰和驗(yàn)證算法的人都可以進(jìn)行驗(yàn)證。
非交互式零知識(shí)證明是零知識(shí)證明技術(shù)的一大突破,促進(jìn)了使用零知識(shí)證明系統(tǒng)的發(fā)展。主要方法有ZK-SNARKS 和ZK-STARKS。
Alchemy(2022)將零知識(shí)證明的技術(shù)路徑分為ZK-SNARKs、ZK-STARKs 和遞歸ZK-SNARK。
相關(guān)閱讀推薦
最新資訊
最新游戲
虛擬家庭3(Virtual Families 3)
查看地球末日:生存Last Day on Earth
查看磚塊破壞者(Many Bricks)
查看榮耀文明官網(wǎng)版
查看模擬山羊:太空廢物2025正版
查看極限摩托3(Trial Xtreme 3)
查看帝國征服者(兌換碼)
查看問劍長生(內(nèi)附兌換碼)
查看戰(zhàn)爭時(shí)代2內(nèi)置作弊菜單版 無敵版v1.0.5
查看熱門文章
熱門游戲
星球重啟 v1.1.11安卓最新版
查看極無雙2 v1.29.60手游版
查看弓箭傳說2手游 v1.1.0
查看重裝上陣網(wǎng)易官方版 v0.100.352
查看出發(fā)吧麥芬測試服 v.1.2
查看獸化實(shí)驗(yàn)室(Changed) v1.0
查看狂扁小豆丁去廣告版 v1.1.2
查看王國紀(jì)元 v2.167官方正版
查看夢境食旅官方正版 v1.0.5.6
查看射箭沖突 v0.32.0安卓版
查看洛伊的移動(dòng)要塞手機(jī)版 v.1.5.08
查看爆炒江湖 v1.42中文版
查看龍與劍 V1.1.1最新版
查看天道洪荒模擬器 v4.1無限靈氣/本源
查看龍之劍官方版 v0.1.3最新版
查看致命槍殺中文版 v12.0破解版
查看皇帝成長計(jì)劃2 v2.2.2手機(jī)版
查看開心酷跑安卓版 v4.6.5官方版
查看