零知識(shí)證明技術(shù)讓用戶在保護(hù)自身隱私的前提下,更高效、更安全地完成驗(yàn)證。如果說(shuō)比特幣是區(qū)塊鏈帶給現(xiàn)實(shí)世界的第一大發(fā)明,提供價(jià)值存儲(chǔ)的新方式,以太坊的智能合約是第二大里程碑事件,解鎖創(chuàng)新的潛力,那么零知識(shí)證明的應(yīng)用是區(qū)塊鏈發(fā)展史上第三大第三大技術(shù)革新,帶來(lái)隱私和可擴(kuò)展。這既是Web3 生態(tài)的重要一環(huán),也是有潛力推動(dòng)社會(huì)變革的重要基礎(chǔ)技術(shù)。
這篇文章以非技術(shù)人員的角度,介紹零知識(shí)證明的應(yīng)用場(chǎng)景、工作原理、發(fā)展現(xiàn)狀和未來(lái)趨勢(shì),以期讓無(wú)技術(shù)背景的讀者了解零知識(shí)證明即將帶來(lái)的重大變革。
零知識(shí)證明(ZKP) 是在1985 年由Shafi Goldwasser、Silvio Micali、Chales Rackoff 合著的論文The knowledge complexity of interactive proof systems首次提出的數(shù)學(xué)協(xié)議,除了某一要證明的事實(shí)之外,不會(huì)透露任何其他信息。驗(yàn)證者無(wú)法獲得生成證明的秘密信息。
舉一個(gè)例子幫助大家理解:我要證明我知道某個(gè)人的電話號(hào)碼,我只需要能夠在眾人面前撥通那人的電話就可以證明這一事實(shí),不需要透露那人的真實(shí)號(hào)碼。
零知識(shí)證明提供了一種有效的近乎無(wú)風(fēng)險(xiǎn)的數(shù)據(jù)分享方式。利用零知識(shí)證明,我們可以保留對(duì)數(shù)據(jù)的所有權(quán),極大地提高隱私保護(hù),有望使數(shù)據(jù)泄露事件成為過(guò)去式。
零知識(shí)證明具有三個(gè)特性:
零知識(shí)證明存在極小的概率產(chǎn)生合理性誤差,即一個(gè)作弊的證明者可能使驗(yàn)證者相信一個(gè)錯(cuò)誤的聲明。零知識(shí)證明是概率性的證明,而不是確定性的證明,但我們可以通過(guò)一些技術(shù)將合理性誤差降低到可以忽略不計(jì)。
Dmitry Laverenov (2019)把零知識(shí)證明結(jié)構(gòu)分為交互式和非交互式。
交互式零知識(shí)證明的基本形式由三個(gè)步驟構(gòu)成:證據(jù)、挑戰(zhàn)者和回應(yīng)
這個(gè)過(guò)程可以重復(fù)多次,直到證明者在不知道秘密信息卻猜出正確答案的概率變得足夠低。舉一個(gè)簡(jiǎn)化的數(shù)學(xué)例子,如果證明者在不知道秘密信息卻能猜出正確答案的概率為1/2,重復(fù)交互十次,證明者每次都命中的概率僅有萬(wàn)分之9.7,想讓驗(yàn)證者錯(cuò)誤地認(rèn)可虛假證明的可能性極低。
ZK-SNARKs 是一個(gè)零知識(shí)的簡(jiǎn)潔的非交互式的證明。
ZK(Zero-Knowledge) | 驗(yàn)證者只能知道聲明真實(shí)與否,不能獲得任何多余的信息 |
S(Succinct) | 證明的尺寸很小,且可以被迅速驗(yàn)證 |
N (Non-Interactive) | 證明者和驗(yàn)證者之間只進(jìn)行一次信息交換 |
AR (Argument) | 計(jì)算上合理的證明:對(duì)利用多項(xiàng)式時(shí)間的驗(yàn)證器而言,合理性成立 |
K (Knowledge) | 一個(gè)沒(méi)有秘密信息的的證明者很難計(jì)算出一個(gè)有效的零知識(shí)證明 |
公鏈要確保在網(wǎng)絡(luò)上執(zhí)行交易的正確性,需要通過(guò)讓其他計(jì)算機(jī)(節(jié)點(diǎn))重新運(yùn)行每筆交易來(lái)實(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í)增長(zhǎng)。
對(duì)于這些限制,ZK-SNARK 就發(fā)揮了作用。它可以證明在鏈外進(jìn)行的計(jì)算的正確性,而不需要節(jié)點(diǎn)重放計(jì)算的每一步。這也消除了節(jié)點(diǎn)對(duì)存儲(chǔ)多余交易數(shù)據(jù)的需求,提高網(wǎng)絡(luò)的吞吐量。
使用SNARKs 驗(yàn)證鏈外計(jì)算將計(jì)算編碼為一個(gè)數(shù)學(xué)表達(dá)式來(lái)構(gòu)成有效性證明。驗(yàn)證者檢查證明的正確性。若證明通過(guò)了所有檢查,那么底層計(jì)算就被認(rèn)為是有效的。有效性證明的大小要比它所驗(yàn)證的計(jì)算小很多倍,因此我們稱SNARKs 是簡(jiǎn)潔的原因。
大多數(shù)使用ZK-SNARKs 的ZK Rollup 遵循以下步驟。
值得一提的是ZK-SNARKs 需要進(jìn)行可信設(shè)置。在這階段,密鑰生成器會(huì)獲取一個(gè)程序和一個(gè)秘密參數(shù)來(lái)生成兩個(gè)可用的公鑰,分別用于創(chuàng)建證明和驗(yàn)證證明。這兩個(gè)公鑰只需通過(guò)一個(gè)可信的設(shè)置儀式生成一次公共參數(shù),就可供希望參與零知識(shí)協(xié)議的各方多次使用。用戶需要相信可信設(shè)置儀式的參與者不作惡,且沒(méi)有方法評(píng)估參與者的誠(chéng)實(shí)性。知道秘密參數(shù)便可生成假證明,欺騙驗(yàn)證者,因此存在潛在安全隱患。目前有研究員在探索ZK-SNARKs 無(wú)需信任假設(shè)的方案。
優(yōu)勢(shì)
局限
Polygon Hermez
Polygon 在2021年以2.5 億美元并購(gòu)Hermez,成為首個(gè)兩個(gè)區(qū)塊鏈網(wǎng)絡(luò)全面并購(gòu)的案例。Hermez 給Polygon 快速增長(zhǎng)的用戶群帶來(lái)的ZK 技術(shù)和工具,使Polygon 獲得開(kāi)發(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)證的智能合約。其可與以太坊完全兼容,無(wú)需對(duì)智能合約代碼進(jìn)行太多改動(dòng),方便開(kāi)發(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 來(lái)驗(yàn)證STARK 。
zkSync
Matter Labs 于2020 年推出的zkSync 1.0 不支持智能合約,主要用于交易或轉(zhuǎn)賬。支持智能合約的ZkSync 2.0 已于2023 年3 月份公開(kāi)上線主網(wǎng)。
ZkSync 把以太坊上的智能合約源代碼Solidity 編譯為Yul 來(lái)實(shí)現(xiàn)EVM 的兼容性。Yul 是可以編譯成不同EVM 的字節(jié)碼的中間語(yǔ)言。使用LLVM 編譯器框架可以將Yul 代碼重新編譯為為zkSync 的zkEVM 設(shè)計(jì)的自定義、電路兼容的字節(jié)碼集。通過(guò)這種方法,免除通過(guò)更高級(jí)別的代碼對(duì)EVM 執(zhí)行中的所有步驟進(jìn)行zk 證明,從而在保持高性能的同時(shí)更容易使證明過(guò)程去中心化。未來(lái)還可以通過(guò)構(gòu)建新的編譯器前端來(lái)添加對(duì)Rust、Javascript 或其他語(yǔ)言的支持,增加zkEVM 架構(gòu)的靈活性和更多的開(kāi)發(fā)者。
Aztec
Aztec是第一個(gè)混合型zkRollup,在一個(gè)環(huán)境中同時(shí)實(shí)現(xiàn)公共和私有智能合約的執(zhí)行。這是一個(gè)零知識(shí)的執(zhí)行環(huán)境,而非zkEVM。通過(guò)將公共和私有執(zhí)行合并到單個(gè)混合匯總中來(lái)實(shí)現(xiàn)機(jī)密性,例如公開(kāi)AMM的隱私交易、公開(kāi)游戲中的私密對(duì)話、公開(kāi)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快。對(duì)于ZK-STARKs 證明,證明者和驗(yàn)證者的時(shí)間只隨著證據(jù)的增長(zhǎng)而略有增加。相比之下,ZK-SNARKs 證明者和驗(yàn)證者的時(shí)間隨著證據(jù)大小線性增加,需要更多的時(shí)間來(lái)產(chǎn)生和驗(yàn)證證明。 |
T (Transparent) | ZK-STARKs 依靠可公開(kāi)驗(yàn)證的隨機(jī)性來(lái)生成用于證明和驗(yàn)證的公共參數(shù),而不是一個(gè)可信的設(shè)置, 因此更加透明。 |
優(yōu)勢(shì)
局限
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)證變得更為簡(jiǎn)便。
StarkEx 和StarkNet
StarkEx 是一個(gè)需要許可的、為特定應(yīng)用程序定制的擴(kuò)展解決方案的框架。項(xiàng)目可以使用StarkEx 來(lái)進(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ù)字卡牌交易市場(chǎng)Sorare 和多鏈DeFi 聚合器rhino.fi。
StarkNet 是一個(gè)無(wú)需許可的L2,任何人員都可以在其中部署以Cairo 語(yǔ)言開(kāi)發(fā)的智能合約。部署在StarkNet 上的合約之間可以進(jìn)行交互來(lái)構(gòu)建新的可組合協(xié)議。與應(yīng)用程序負(fù)責(zé)提交交易的StarkEx 不同,StarkNet 的排序器批量交易并發(fā)送它們進(jìn)行處理和證明。StarkNet 更適合需要與其他協(xié)議同步交互或超出StarkEx 應(yīng)用范圍的協(xié)議。隨著StarkNet 開(kāi)發(fā)的進(jìn)展,基于StarkEx 的應(yīng)用將能夠移植到StarkNet,享受可組合性。
ZK-SNARKs 和ZK-STARKs 對(duì)比
ZK-SNARKs | ZK-STARKs | |
可信設(shè)置要求 | 需要可信設(shè)置 | 利用公開(kāi)可驗(yàn)證隨機(jī)來(lái)建立可信任、可驗(yàn)證的計(jì)算系統(tǒng) |
擴(kuò)展性 | 相對(duì)較少的擴(kuò)展性 | 相對(duì)更多的擴(kuò)展性 |
抗量子 | 使用公私鑰對(duì),不抗量子攻擊 | 抗量子攻擊 |
證明大小 | 相對(duì)更小 | 相對(duì)更大 |
驗(yàn)證時(shí)間 | 迅速 | 相對(duì)更長(zhǎng) |
驗(yàn)證成本 | 大多數(shù)情況下成本更低(證明大數(shù)據(jù)集的情況下除外) | 大多數(shù)情況下成本更大 |
開(kāi)發(fā)工具 | 相對(duì)成熟 | 相對(duì)原始 |
核心算法代碼 | 相對(duì)成熟 | 代碼質(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 來(lái)增加交易的新證明機(jī)制。遞歸SNARKs 通過(guò)將幾個(gè)證明聚集到一個(gè)遞歸證明中,來(lái)擴(kuò)展證明生成過(guò)程。Plonky2 使用同樣的技術(shù)來(lái)減少生成新區(qū)塊證明的時(shí)間。Plonky2 將成千上萬(wàn)的交易并行生成證明,再遞歸地將它們聚合成一個(gè)區(qū)塊證明,因此生成速度很快。而普通的證明機(jī)制試圖一次性生成整個(gè)區(qū)塊證明,效率更低。此外,Plonky2 還可以在消費(fèi)級(jí)設(shè)備上生成證明,解決了SNARK 證明常伴隨的的硬件集中化問(wèn)題。
ZK-SNARKs 和ZK-STARKs 已經(jīng)成為區(qū)塊鏈擴(kuò)展項(xiàng)目的核心基礎(chǔ)設(shè)施,特別是Zero Knowledge Rollup 方案中。Zero-Knowledge Rollup 就是指是指使用零知識(shí)證明技術(shù)將所有的計(jì)算轉(zhuǎn)移到鏈下處理來(lái)減輕網(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)期過(guò)后才能最終確定。這可能導(dǎo)致用戶在取回他們的資金時(shí)需要等待一段時(shí)間。
最初設(shè)計(jì)EVM 的時(shí)候沒(méi)有考慮到使用零知識(shí)證明技術(shù)。以太坊創(chuàng)始人Vitalik 認(rèn)為短期內(nèi)Zero Knowledge Rollup 存在技術(shù)上的復(fù)雜性,但最終在擴(kuò)容戰(zhàn)爭(zhēng)中會(huì)戰(zhàn)勝Optimistic Rollup。下面是Zero Knowledge Rollup 和Optimistic Rollup 的對(duì)比。
Optimistic Rollups | ZK Rollups | |
驗(yàn)證方法 | 加密貨幣激勵(lì) | 數(shù)學(xué) |
無(wú)效交易的處理方式 | 提交欺詐證明 | 不能被打包進(jìn)證明,無(wú)法被提交鏈上 |
延遲 | 等待一周的質(zhì)疑期 | 當(dāng)證明和狀態(tài)更新在鏈上被確認(rèn)后立即完成 |
數(shù)據(jù)存儲(chǔ) | 所有的交易數(shù)據(jù) | 只存儲(chǔ)必要的數(shù)據(jù) |
EVM 兼容 | 兼容 | 不兼容 |
開(kāi)發(fā) | 開(kāi)發(fā)歷史較長(zhǎng),難度較低 | 開(kāi)發(fā)歷史較短,難度較大 |
成熟度 | 相比采用ZK Rollups的生態(tài)較為成熟 | 部分L2剛上線主網(wǎng),部分在測(cè)試網(wǎng)階段,仍處于早期開(kāi)發(fā)階段 |
(來(lái)源:SUSS NiFT, ChatGPT)
零知識(shí)證明技術(shù)領(lǐng)域處于獨(dú)特的地位:近年來(lái),經(jīng)過(guò)大量努力致力于推進(jìn)該領(lǐng)域的研究,許多成果在密碼學(xué)和安全通信領(lǐng)域都是相當(dāng)新的。因此,許多有趣的問(wèn)題還有待學(xué)術(shù)界和開(kāi)發(fā)者社區(qū)解答。與此同時(shí),零知識(shí)證明技術(shù)被用于各類項(xiàng)目,展現(xiàn)了零知識(shí)技術(shù)的挑戰(zhàn)并拓展了其要求。
零知識(shí)證明技術(shù)值得關(guān)注的領(lǐng)域之一是零知識(shí)證明技術(shù)的后量子安全性的討論。可公開(kāi)驗(yàn)證的SNARK(簡(jiǎn)潔的非交互式知識(shí)論證)是零知識(shí)技術(shù)領(lǐng)域的關(guān)鍵組成部分。然而,大多數(shù)廣泛使用的可公開(kāi)驗(yàn)證的SNARK 方案并不被認(rèn)為是量子安全的。例如Groth16、Sonic、Marlin、SuperSonic 和Spartan。這些方案所依賴的數(shù)學(xué)問(wèn)題可在量子計(jì)算機(jī)的幫助下會(huì)被有效解決,這大大損害了它們?cè)诤罅孔邮澜缰械陌踩浴?/p>
我們發(fā)現(xiàn)學(xué)術(shù)界正在積極尋找量子安全的零知識(shí)證明,該證明可用于各種沒(méi)有預(yù)處理階段的語(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ì)。
我們對(duì)零知識(shí)技術(shù)未來(lái)的另一個(gè)期望是它抵抗攻擊的能力和實(shí)現(xiàn)相關(guān)的代碼成熟度。鑒于編寫的代碼量的增加,將會(huì)有更多安全且經(jīng)過(guò)審查的庫(kù)和最佳實(shí)踐用于各種零知識(shí)證明技術(shù)。當(dāng)然,未來(lái)也會(huì)有更多將等待被發(fā)現(xiàn)和溝通的常見(jiàn)錯(cuò)誤。我們期望該領(lǐng)域成熟并被高度采用,努力標(biāo)準(zhǔn)化協(xié)議并確保不同實(shí)現(xiàn)之間的互操作性, 一個(gè)名為ZKProof 的項(xiàng)目已經(jīng)開(kāi)始這樣做了。
零知識(shí)技術(shù)社區(qū)中將繼續(xù)存在的另一個(gè)趨勢(shì)是在高效算法和可能的特殊硬件上進(jìn)行更多工作。近年來(lái),我們已經(jīng)看到證明大小的減小以及證明者和驗(yàn)證者變得更加高效。算法、特殊硬件和計(jì)算優(yōu)化的進(jìn)步可能會(huì)帶來(lái)更快、更具擴(kuò)展性的實(shí)現(xiàn)。
雖然現(xiàn)有算法的效率有利于未來(lái)零知識(shí)證明技術(shù)的用戶,但我們也期望看到零知識(shí)證明的功能不斷擴(kuò)大。過(guò)去,我們?cè)趯?shí)現(xiàn)預(yù)處理zk-SNARK 時(shí)遇到過(guò)很多實(shí)例。現(xiàn)在我們發(fā)現(xiàn)越來(lái)越多的可升級(jí)zk-SNARK 實(shí)例。此外,一些零知識(shí)證明技術(shù)的使用更多是因?yàn)槠浜?jiǎn)潔性,而不是其零知識(shí)能力。
最后,零知識(shí)證明技術(shù)的另一個(gè)趨勢(shì)是機(jī)器學(xué)習(xí)與零知識(shí)證明的交叉(ZKML)。這個(gè)想法需要在多方環(huán)境中訓(xùn)練大型語(yǔ)言模型,并使用零知識(shí)技術(shù)來(lái)驗(yàn)證計(jì)算。這對(duì)于當(dāng)前人工智能非常有用。該領(lǐng)域有興起項(xiàng)目的可能。
通過(guò)本文的介紹,我們可以了解到零知識(shí)證明在區(qū)塊鏈領(lǐng)域的廣泛應(yīng)用,技術(shù)路徑,發(fā)展趨勢(shì)與所面臨的挑戰(zhàn)。相信隨著硬件技術(shù)與密碼學(xué)的發(fā)展,零知識(shí)證明將在未來(lái)取得更多突破,為數(shù)字世界提供更快速,更安全的應(yīng)用服務(wù)。
零知識(shí)證明最重要的兩個(gè)應(yīng)用場(chǎng)景是隱私和可拓展。
零知識(shí)證明允許用戶在沒(méi)有透露個(gè)人詳細(xì)信息的情況下,安全地分享必要的信息來(lái)獲得商品和服務(wù),免受黑客攻擊和個(gè)人身份信息的泄露。隨著數(shù)字和物理領(lǐng)域的逐漸融合,零知識(shí)證明的隱私保護(hù)功能對(duì)于Web3 乃至Web3 以外的信息安全變得至關(guān)重要。如果沒(méi)有零知識(shí)證明,用戶信息就會(huì)存在受信任的第三方數(shù)據(jù)庫(kù),有受到黑客攻擊的潛在危險(xiǎn)。零知識(shí)證明在區(qū)塊鏈中的第一應(yīng)用案例是隱私幣Zcash,用來(lái)隱藏交易細(xì)節(jié)。
在網(wǎng)上活動(dòng)中,我們經(jīng)常需要提供諸如姓名、出生日期、電子郵件、復(fù)雜的密碼來(lái)證明我們是有合法使用權(quán)限的用戶。因此也常在網(wǎng)上留下了不愿透露的敏感信息。如今接到直呼我們姓名的電話已經(jīng)屢見(jiàn)不鮮,可見(jiàn)個(gè)人信息泄露的情況十分嚴(yán)重。
我們可以利用區(qū)塊鏈技術(shù),賦予每個(gè)人一個(gè)包含個(gè)人數(shù)據(jù)的特殊加密數(shù)字標(biāo)識(shí)符。這個(gè)數(shù)字標(biāo)識(shí)符可以構(gòu)建去中心化身份,且不可能在其所有者不知情的情況下被偽造或改變。去中心化身份可以由用戶來(lái)控制對(duì)個(gè)人身份的訪問(wèn)權(quán)限,在不透露護(hù)照細(xì)節(jié)的情況下證明公民身份,簡(jiǎn)化了認(rèn)證過(guò)程,還減少了用戶由于遺忘密碼而失去訪問(wèn)權(quán)限的事件發(fā)生。零知識(shí)證明由能證明用戶身份的公開(kāi)數(shù)據(jù)和帶有用戶信息的隱私數(shù)據(jù)生成,可用于用戶訪問(wèn)服務(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)在掩蓋具體來(lái)源賬號(hào)的前提下,匿名輸出聲譽(yù)。
使用銀行卡支付的交易細(xì)節(jié)通常對(duì)多方可見(jiàn),包括支付提供商、銀行等相關(guān)方,這在一定程度上暴露了普通公民的隱私,用戶需要信任相關(guān)方不作惡。
加密貨幣可以使支付擺脫第三方,直接進(jìn)行點(diǎn)對(duì)點(diǎn)交易。但目前主流公鏈上的交易公開(kāi)可見(jiàn),雖然用戶地址匿名,依然存在通過(guò)鏈上的關(guān)聯(lián)地址和鏈下如交易所KYC、Twitter 信息等數(shù)據(jù)分析來(lái)找到現(xiàn)實(shí)世界身份。如果知道一個(gè)人的錢包地址,相當(dāng)于可以隨時(shí)查看個(gè)人的銀行賬戶余額,甚至可能對(duì)用戶身份、財(cái)產(chǎn)造成威脅。
而零知識(shí)證明可以從隱私幣、隱私應(yīng)用和隱私公鏈三個(gè)層次來(lái)提供匿名支付。隱私幣Zcash,隱藏了包括發(fā)送方、接收方地址、資產(chǎn)類型、數(shù)量和時(shí)間等交易細(xì)節(jié)。Tornado Cash 是以太坊上的去中心化應(yīng)用,使用零知識(shí)證明混淆交易細(xì)節(jié)來(lái)提供隱私轉(zhuǎn)賬(但也多被用于黑客洗錢)。Aleo 是旨在從協(xié)議層面為應(yīng)用程序提供隱私功能的L1區(qū)塊鏈。
零知識(shí)證明可以在保留隱私的前提下促進(jìn)誠(chéng)實(shí)行為。協(xié)議可以要求用戶提交零知識(shí)證明來(lái)證明其誠(chéng)實(shí)行為。由于零知識(shí)證明的合理性(錯(cuò)的對(duì)不了),用戶必須根據(jù)協(xié)議要求做出誠(chéng)實(shí)的行為才可以提交有效的證明。
MACI(Minimal Anti-Collusion Infrastructure,最小反串謀基礎(chǔ)設(shè)施)就是一個(gè)促進(jìn)誠(chéng)實(shí)的應(yīng)用場(chǎng)景,防止在鏈上投票或其他形式的決策過(guò)程中發(fā)生串謀。該系統(tǒng)利用密鑰對(duì)和零知識(shí)證明技術(shù)來(lái)實(shí)現(xiàn)這一目標(biāo)。在MACI 中,用戶將他們的公鑰注冊(cè)到一個(gè)智能合約中,并通過(guò)加密的消息將他們的投票發(fā)送到合約中。MACI 的防串謀特性允許投票者改變他們的公鑰,以防止其他人了解他們的投票選擇。協(xié)調(diào)者在投票期結(jié)束時(shí)用零知識(shí)證明來(lái)證明他們已經(jīng)正確處理了所有消息,且最終的投票結(jié)果是所有有效票數(shù)的總和。這保證了投票的完整性和公正性。
當(dāng)我們想要獲取貸款時(shí),可以從公司拿一個(gè)數(shù)字收入證明來(lái)申請(qǐng)貸款。這個(gè)證明的合法性容易在密碼學(xué)上得到檢查。銀行可以用零知識(shí)證明來(lái)驗(yàn)證我們的收入是否達(dá)到了規(guī)定的最低限度,但得不到敏感的具體信息。
在訓(xùn)練機(jī)器學(xué)習(xí)模型時(shí),通常需要大量的數(shù)據(jù)。通過(guò)使用零知識(shí)證明,數(shù)據(jù)擁有者可以證明他們的數(shù)據(jù)滿足模型訓(xùn)練的要求,而無(wú)需實(shí)際公開(kāi)這些數(shù)據(jù)。這有利于讓私有數(shù)據(jù)發(fā)揮作用,并且實(shí)現(xiàn)貨幣化。
此外,零知識(shí)證明可以允許模型創(chuàng)建者證明他們的模型滿足某些性能指標(biāo),但無(wú)需公開(kāi)模型的細(xì)節(jié),以防止他人復(fù)制或篡改他們的模型。
隨著區(qū)塊鏈用戶的增多,區(qū)塊鏈上需要進(jìn)行大量的計(jì)算,造成了交易擁堵。有些區(qū)塊鏈會(huì)走分片的擴(kuò)展路線,但這需要對(duì)區(qū)塊鏈的基礎(chǔ)層進(jìn)行大量的復(fù)雜的修改,可能會(huì)威脅到區(qū)塊鏈的安全性。
另外一個(gè)較為可行的方案是走ZK-Rollup 路線,利用可驗(yàn)證計(jì)算,將計(jì)算外包給另外一條鏈上的實(shí)體來(lái)執(zhí)行,然后將零知識(shí)證明和可驗(yàn)證結(jié)果一起提交到主鏈上以供驗(yàn)證真實(shí)性。零知識(shí)證明保證交易的真實(shí)性,主鏈只需將結(jié)果更新到狀態(tài),不需要存儲(chǔ)細(xì)節(jié)或重放計(jì)算, 也不需要等待其他人來(lái)討論交易的真實(shí)與否,極大地提高效率和擴(kuò)展能力。開(kāi)發(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)證來(lái)使得零知識(shí)證明更加有效。證明者將秘密信息通過(guò)特殊算法來(lái)計(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)閱讀推薦
最新資訊
最新游戲
反擊空襲
查看蛋國(guó)志2024
查看方塊歷險(xiǎn)記安卓版
查看面具之王Lo rd of Mask
查看惡魔獵手類惡魔城RPG
查看榮耀大天使破解版
查看chaos直升機(jī)空戰(zhàn)
查看老爹紙杯蛋糕店中文版
查看迷你世界渠道服
查看熱門文章
熱門游戲
小丑回魂內(nèi)置菜單版 v.3.0.19中文版
查看帽子先生大冒險(xiǎn)最新版 v2.1.9
查看勝利足球游戲 v1.9.1正版
查看瘋狂醫(yī)院達(dá)什醫(yī)生(Happy ASMR Hospital) v1.0.113
查看次元料理屋(附兌換碼) v1.3.18無(wú)限鉆石版
查看吞噬進(jìn)化論免廣告版 v1.9.0
查看獨(dú)奏騎士九游渠道服 v.11.55.24
查看射雕英雄傳手游 v3.0.8官方版
查看海戰(zhàn)棋2官方正版 v3.11.1
查看無(wú)盡噩夢(mèng)2詭醫(yī)院中文版 v1.2.9最新版
查看恐怖冰淇淋4 v1.8 安卓免費(fèi)版
查看曼尼漢堡店最新版 v1.0.3
查看無(wú)間夢(mèng)境官方正版 v3.4.0最新版
查看模擬山羊3(Goat Sim 3) v1.1.4.4
查看湯姆貓英雄跑酷最新版 v25.1.6
查看蘿卜保衛(wèi)戰(zhàn)3最新版
查看手機(jī)水滸傳街機(jī)滿盤龍
查看監(jiān)視者游戲(Beholder)
查看