欧美日韩免费一区二区三区视频_在线精品视频在线观看高清_一区在线影院_国产一区二区区别

首頁 > 金融理財(cái) > 正文

一文全面了解零知識(shí)證明?什么是零知識(shí)證明(ZKP)

來源:淺藍(lán)攻略網(wǎng)     時(shí)間:2024-11-27 20:31    作者:小藍(lán)整合

零知識(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)?

零知識(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è)特性:

  • 完整性:如果一個(gè)聲明是真實(shí)的,誠實(shí)的驗(yàn)證者會(huì)被誠實(shí)的證明者說服。即對的錯(cuò)不了。
  • 合理性:如果一個(gè)聲明是錯(cuò)誤的,在絕大多數(shù)情況下,欺騙的證明者不能讓誠實(shí)的驗(yàn)證者相信虛假的聲明。即錯(cuò)的對不了。
  • 零知識(shí):如果一個(gè)聲明是真實(shí)的,驗(yàn)證者除了能得知這聲明是真實(shí)的,之外不能獲得任何多余的信息。

零知識(shí)證明存在極小的概率產(chǎn)生合理性誤差,即一個(gè)作弊的證明者可能使驗(yàn)證者相信一個(gè)錯(cuò)誤的聲明。零知識(shí)證明是概率性的證明,而不是確定性的證明,但我們可以通過一些技術(shù)將合理性誤差降低到可以忽略不計(jì)。

三.零知識(shí)證明(ZKP) 如何工作

Dmitry Laverenov (2019)把零知識(shí)證明結(jié)構(gòu)分為交互式和非交互式。

3.1 交互式零知識(shí)證明

交互式零知識(shí)證明的基本形式由三個(gè)步驟構(gòu)成:證據(jù)、挑戰(zhàn)者和回應(yīng)

  • 證據(jù):隱藏的秘密信息就是證明者的證據(jù)。這些證據(jù)建立一系列只能由知道這些信息的人正確回答的問題。證明者開始隨機(jī)抽取問題,把計(jì)算答案發(fā)給驗(yàn)證者來進(jìn)行證明。
  • 挑戰(zhàn):驗(yàn)證者從集合中隨機(jī)挑選另一個(gè)問題,要求證明者回答。
  • 回應(yīng):證明者接受問題,計(jì)算答案后將結(jié)果返還給驗(yàn)證者。證明者的回應(yīng)能夠使驗(yàn)證者檢查證明者是否知道這些證據(jù)。

這個(gè)過程可以重復(fù)多次,直到證明者在不知道秘密信息卻猜出正確答案的概率變得足夠低。舉一個(gè)簡化的數(shù)學(xué)例子,如果證明者在不知道秘密信息卻能猜出正確答案的概率為1/2,重復(fù)交互十次,證明者每次都命中的概率僅有萬分之9.7,想讓驗(yàn)證者錯(cuò)誤地認(rèn)可虛假證明的可能性極低。

4.1 ZK-SNARKs

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 遵循以下步驟。

  • L2 的用戶簽署交易后提交給驗(yàn)證者。
  • 驗(yàn)證者利用密碼學(xué)將多個(gè)交易壓縮生成相應(yīng)的有效性證明(SNARK)。
  • L1鏈上的智能合約對有效性證明進(jìn)行驗(yàn)證,決定了這批交易是否發(fā)布到主鏈上。

值得一提的是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)勢

  • 安全性:ZK rollup 被認(rèn)為比OP rollup 更安全的擴(kuò)展方案,因?yàn)閆K-SNARKs 使用了先進(jìn)的加密安全機(jī)制,很難欺騙驗(yàn)證者和進(jìn)行惡意行為。
  • 高吞吐量:ZK-SNARKs 減少了以太坊底層的計(jì)算量,緩解了主網(wǎng)堵塞情況,鏈下計(jì)算分擔(dān)交易費(fèi)用,帶來更快的交易速度。
  • 小證明尺寸:SNARK 證明的小尺寸使它們?nèi)菀自谥麈溕系玫津?yàn)證,這意味著驗(yàn)證鏈下交易的Gas Fee 較低,減少了用戶的成本。

局限

  • 相對中心化:大多數(shù)時(shí)候都依賴于一個(gè)可信的設(shè)置。這和區(qū)塊鏈去信任的初衷相違背。用ZK-SNARKs 生成有效性證明是一個(gè)計(jì)算密集型的過程,證明者必須投資于專門的硬件。這些硬件價(jià)格昂貴,只有少數(shù)人負(fù)擔(dān)得起,因此ZK-SNARK 的證明過程是高度集中的。
  • ZK-SNARKs 使用橢圓曲線密碼學(xué)(ECC)來加密用于產(chǎn)生有效性證明的信息,目前相對安全,但量子計(jì)算的進(jìn)步可能會(huì)打破其安全模型。

使用ZK SNARKs 的項(xiàng)目

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的隱私投票等等。

4.2 ZK-STARKS

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)勢

  • 去信任:ZK-STARKs 公開可驗(yàn)證隨機(jī)來取代可信設(shè)置,減少對參與人的依賴,提高協(xié)議安全性。
  • 更強(qiáng)的擴(kuò)展能力:即使底層計(jì)算的復(fù)雜性呈指數(shù)級(jí)增長,ZK-STARKs依然保持了較低的證明和驗(yàn)證時(shí)間,而非像ZK-SNARKs 線性增長。
  • 更高的安全保證:ZK-STARKs 使用抗碰撞哈希值進(jìn)行加密,而不是ZK-SNARKs中使用的橢圓曲線方案,可抗量子計(jì)算的攻擊。

局限

  • 更大的證明尺寸:ZK-STARKs 證明尺寸更大,使得在主網(wǎng)驗(yàn)證的成更更高。
  • 較低的采用率:ZK-SNARKs 是零知識(shí)證明是區(qū)塊鏈中的第一個(gè)實(shí)際應(yīng)用,因此大多數(shù)ZK rollup 采用ZK-SNARKs,具有更成熟的開發(fā)者系統(tǒng)和工具。盡管ZK-STARKs 也有以太坊基金會(huì)的支持,但是相比之下采用率不足,基礎(chǔ)工具還有待完善。

哪些項(xiàng)目使用ZK-STARKs?

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-SNARKsZK-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ì)量有待提高

4.3 遞歸ZK-SNARKs

普通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 證明常伴隨的的硬件集中化問題。

五. Zero Knowledge Rollup VS Optimistic Rollup

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 RollupsZK 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ù)的未來前景如何?

零知識(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)目的可能。

結(jié)束語

通過本文的介紹,我們可以了解到零知識(shí)證明在區(qū)塊鏈領(lǐng)域的廣泛應(yīng)用,技術(shù)路徑,發(fā)展趨勢與所面臨的挑戰(zhàn)。相信隨著硬件技術(shù)與密碼學(xué)的發(fā)展,零知識(shí)證明將在未來取得更多突破,為數(shù)字世界提供更快速,更安全的應(yīng)用服務(wù)。

二.零知識(shí)證明(ZKP) 的應(yīng)用

零知識(shí)證明最重要的兩個(gè)應(yīng)用場景是隱私和可拓展。

2.1 隱私

零知識(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é)。

2.1.1 身份信息保護(hù)和驗(yàn)證

在網(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ù)。

2.1.2 匿名支付

使用銀行卡支付的交易細(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ū)塊鏈。

2.1.3 誠實(shí)行為

零知識(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ù)的總和。這保證了投票的完整性和公正性。

2.1.4 個(gè)人信息核查

當(dāng)我們想要獲取貸款時(shí),可以從公司拿一個(gè)數(shù)字收入證明來申請貸款。這個(gè)證明的合法性容易在密碼學(xué)上得到檢查。銀行可以用零知識(shí)證明來驗(yàn)證我們的收入是否達(dá)到了規(guī)定的最低限度,但得不到敏感的具體信息。

2.1.5 結(jié)合機(jī)器學(xué)習(xí)挖掘私有數(shù)據(jù)潛能

在訓(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ù)制或篡改他們的模型。

2.2 可擴(kuò)展

隨著區(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。

3.2 非交互式零知識(shí)證明

交互式零知識(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。

四. 零知識(shí)證明的主要技術(shù)路徑

Alchemy(2022)將零知識(shí)證明的技術(shù)路徑分為ZK-SNARKs、ZK-STARKs 和遞歸ZK-SNARK。


本站提醒:投資有風(fēng)險(xiǎn),入市須謹(jǐn)慎,本文部分內(nèi)容來自幣圈網(wǎng),本內(nèi)容不可作為投資理財(cái)建議。
上面即是一文全面了解零知識(shí)證明??什么是零知識(shí)證明(ZKP)的全部內(nèi)容了,文章的版權(quán)歸原作者所有,如有侵犯您的權(quán)利,請聯(lián)系刪除,想了解更多optimistic相關(guān)信息,請關(guān)注收藏淺藍(lán)網(wǎng)。

相關(guān)閱讀推薦

主站蜘蛛池模板: 青神县| 松原市| 吉隆县| 襄樊市| 堆龙德庆县| 太仆寺旗| 阜城县| 金川县| 馆陶县| 扎赉特旗| 酒泉市| 定陶县| 清新县| 清水县| 英德市| 营山县| 都江堰市| 木里| 富阳市| 德惠市| 响水县| 建宁县| 白朗县| 钟祥市| 嘉善县| 东乌珠穆沁旗| 高陵县| 襄樊市| 长治县| 从江县| 治县。| 孟津县| 滦南县| 陇川县| 宁国市| 元氏县| 富阳市| 东安县| 寻甸| 武平县| 驻马店市|