以太坊價格 以太坊價格
Ctrl+D 以太坊價格
ads

ARK:零知識證明入門指南: 發展歷史、應用和基本原理

Author:

Time:1900/1/1 0:00:00

撰文:HashKey Capital

當前區塊鏈行業里零知識證明項目(ZKP)增速驚人,特別是 ZKP 在擴容和隱私保護兩個層面應用的崛起,令我們接觸到了各種花樣繁多的零知識證明項目。由于 ZKP 極富數學性的特質,對于加密愛好者來說,想要深度了解 ZK 的難度大幅提升。因此我們也希望從頭梳理 ZKP 理論和應用層面的一些變化,與讀者一起探索對于 crypto 行業的影響和價值——通過幾篇報告的形式共同學習,也作為 HashKey Capital 研究團隊的思考總結。本篇是該系列的第一篇,主要介紹 ZKP 的發展歷史、應用和一些基本原理。

現代零知識證明體系最早來源于 Goldwasser、Micali 和 Rackoff 合作發表的論文:The Knowledge Complexity of Interactive Proof Systems(即 GMR85),該論文提出于 1985 年,發表于 1989 年。這篇論文主要闡釋的是在一個交互系統中,經過 K 輪交互,需要多少知識被交換,從而證明一個證言(statement)是正確的。如果可以讓交換的知識為零,則被稱之為零知識證明。這里面會假設證明者(prover)具有無限資源,而驗證者(verifer)只具有有限資源。而交互式系統的問題在于證明不完全是數學上可證的,而是概率意義上正確的,雖然概率很小 (1/2^n)。

所以交互式系統并不完美,只有近似完備性,以此為基礎誕生的非交互式系統(NP)系統則具有完備性,成為零知識證明系統的完美所選。

早年的零知識證明系統在效率以及可用性方面都有所欠缺,所以一直都停留在理論層面,直到最近 10 年才開始蓬勃發展,伴隨著密碼學在 crypto 成為顯學,零知識證明走向臺前,成為至關重要的一個方向。特別是發展出一個通用的、非交互的、證明大小有限的零知識證明協議,是其中最關鍵的探索方向之一。

加密衛星公司Cryptosat和DoraHacks在國際空間站完成零知識證明實驗:1月12日消息,加密衛星開發商 Cryptosat 和全球黑客馬拉松組織者 DoraHacks 合作,在國際空間站 (ISS) 上進行了第一個在太空中發射零知識 (ZK) 證明系統的成功實驗。DoraHacks 和 Cryptosat 表示,在國際空間站上進行的實驗證明了基于衛星的計算環境能夠執行使用 ZK 證明協議所需的部分可信設置過程。 Cryptosat 稱,ZK 證明實驗的成功是證明空間計算環境有效性的重要一步,Cryptosat 正在尋求將一組立方體衛星送入軌道并建立其衛星群。[2023/1/13 11:09:04]

基本上零知識證明就是要在證明的速度、驗證的速度和證明體積的大小之間做取舍,理想的協議是證明快、驗證快、證明體積小。

零知識證明最重要的突破是 Groth 在 2010 年的論文 Short Pairing-based Non-interactive Zero-Knowledge Arguments,也是 ZKP 里面最重要的一組 zk-SNARK 的理論先驅。

零知識證明在應用上最重要的進展就是 2015 年 Z-cash 使用的零知識證明系統,實現了對交易及金額隱私的保護,后來發展到 zk-SNARK 和智能合約相結合,zk-SNARK 進入了更為廣泛的應用場景。

在此期間,一些重要的學術成果包括:

2013 年的 Pinocchio (PGHR13):Pinocchio: Nearly Practical Verifiable Computation,將證明和驗證時間壓縮到適用范圍,也是 Zcash 使用的基礎協議。

2016 年 的 Groth16:On the Size of Pairing-based Non-interactive Arguments,精簡了證明的大小,并提升了驗證效率,是目前應用最多的 ZK 基礎算法。

徐明星:以太坊2.0和零知識證明技術將使以太坊成為真正的區塊鏈操作系統:金色財經報道,OKX創始人徐明星發推特表示,2023年將非常有趣,以太坊2.0和零知識證明技術將使以太坊成為真正的區塊鏈操作系統。[2022/12/28 22:11:35]

2017 年的 Bulletproofs (BBBPWM17) Bulletproofs: Short Proofs for Confidential Transactions and More,提出了 Bulletproof 算法,非常短的非交互式零知識證明,不需要可信的設置,6 個月以后應用于 Monero,是非常快的理論到應用的結合。

2018 年 的 zk-STARKs (BBHR18) Scalable, transparent, and post-quantum secure computational integrity,提出了不需要可信設置的 ZK-STARK 算法協議,這也是目前 ZK 發展另一個讓人矚目的方向,也以此為基礎誕生了 StarkWare 這個最重量級的 ZK 項目。

其他的發展包括 PLONK、Halo2 等也是極為重要的進展,也對 zk-SNARK 做出了某些層面上的改進。

零知識證明最廣泛的兩個應用就是隱私保護和擴容。早期隨著隱私交易和幾個有名的項目 Zcash 和 Monero 等推出,隱私交易一度成為非常重要的門類,但由于隱私交易的必要性并沒有業界希望的那樣突出,因此這一類代表性項目開始慢慢進入二三線的陣營(不是退出歷史舞臺)。而應用層面,擴容的必要性提升到無以復加,隨著以太坊 2.0(已經改名叫 consensus layer)在 2020 年轉變為以 rollup 為中心的路線,ZK 系列正式又回歸業界的視線,成為焦點。

a16z:零知識證明保護去中心化和隱私,將取得一系列進展:4月15日消息,a16z發文《去中心化的速度:零知識證明的進步》表示,隨著區塊鏈吸引了數以百萬計的用戶,并且它們所承載的應用程序的復雜性不斷提高,圍繞隱私和可擴展性的兩個關鍵需求已經出現。需要識別的一個關鍵趨勢是,雖然正在為其中許多應用開發專用硬件,但也有一項運動正在優化消費者級硬件的算法,以保護去中心化和隱私。這一趨勢的一個特別好的例子是零知識證明。

我們目前正處于一個非常早期的時刻,零知識證明計劃將取得一系列進展。我們已經從零知識領域中極少數面向消費者的應用程序,發展到在很短的時間內為隱私和可擴展性提供應用程序和區塊鏈的整個生態系統。像這樣的新技術最令人興奮的一點是,很難預測另一面到底是什么樣子。[2022/4/15 14:27:35]

隱私交易:隱私交易有很多已經實現的項目,包括使用 SNARK 的 Zcash,Tornado,使用 bulletproof 的 Monero, 以及 Dash。Dash 嚴格意義上用的不是 ZKP,而是一種簡單粗暴的混幣系統,只可以隱藏地址而不能隱藏金額,在此略過不表。

Zcash 應用的 zk-SNARKs 交易步驟如下:

System setup 階段生成證明秘鑰(加密證明多項式)和驗證秘鑰,借助 KeyGen function

CPA 階段 ECIES 加密方法(Elliptic Curve Integrated Encryption Scheme)用來生成公鑰和私鑰

Minting Coins 階段,生成新幣的數量。公共地址和幣的 commitment

a16z宣布推出使用零知識證明技術的空投領取工具:金色財經報道,加密風投機構a16z在官網宣布推出使用零知識證明技術的空投領取工具,使得加密項目方向活躍貢獻者發放空投時保護貢獻者的地址隱私,特別是根據用戶鏈下活動空投代幣的情況下。

具體而言,潛在的空投接收者可以通過公共渠道(如 Telegram、Discord、Twitter 或 Signal)提供消息(稱為“承諾”);然后,空投者通過將這些承諾散列在一起,構建一個Merkle樹。隨后,潛在的接受者可以通過提供零知識Merkle證明,證明他們是樹內承諾的作者,而無需透露是哪一個,從而聲稱自己的空投份額。

a16z稱,以這種方式申領代幣將收件人的公共地址與所有其他有權空投的用戶的公共地址混合在一起,從而保護他們的匿名性。[2022/3/28 14:21:12]

Pouring 階段,生成 zk-SNARK 證明,證明被加到了 pour 交易賬本中

Verification 階段,驗證者驗證 Mint 和 Pour 的交易量是否正確

Receiving 階段,receiver 接收幣。如果想使用收到的幣,則繼續調用 Pouring,形成 zk-SNARK 驗證,重復上述 4-6 的步驟,完成交易。

Zcash 使用零知識還是有局限性的,就是其基于 UTXO, 所以部分交易信息只是被 shield 了,而不是真正的掩蓋。因為其基于比特幣的設計的單獨網絡,所以難以擴展(和其他應用結合)。真正使用 shielding(即隱私交易)的使用率只有不到 10%,說明隱私交易并沒有很成功的擴展。(from 2202)

Tornado 使用的單一大混幣池更加通用,而且基于以太坊這樣“久經考驗”的網絡。Torndao 本質上就是一個用了 zk-SNARK 的混幣池,可信設置基于 Groth 16 的論文。Tornado Cash 可以提供的特性包括:

Polygon 推出基于STARK零知識證明的擴容方案 Miden,采用Facebook開源技術且兼容EVM:11月16日消息,Polygon宣布推出基于零知識的、與 EVM 兼容的擴容解決方案Miden,同時也將開源其核心組件的早期原型版本Polygon Miden 虛擬機 (VM) 。Polygon Miden 是一個基于 STARK 的 ZK Rollup,Polygon Miden VM 是完全開源的基于 STARK 的虛擬機,它的作用是驗證程序執行并為DApp 部署提供增強的盡職調查。Miden VM 通過利用Facebook的Novi開發的STARK證明器/驗證器Winterfell 對基于Rust語言編寫的零知識虛擬機 Distaff VM進行了擴展。Distaff VM和Winterfell的核心開發人員Bobbin Threadbare將加入 Polygon 作為 Miden Lead,致力于重新整合 Distaff,將 Distaff 和 Winterfell 結合起來,并繼續開發 Miden VM 及其周圍的生態系統。

除Polygon Miden外,Polygon價值10億美元的ZK策略資金還孵化Polygon Hermez和Polygon Nightfall。Polygon Hermez是此前收購的Hermez Network,Polygon Nightfall是與安永共同開發構建的以隱私為重點保護的Rollup。[2021/11/17 21:56:06]

只有被存進去的 coin 可以被提取

沒有幣可以被提取兩次

證明過程和幣的廢止通知(Nullifier)是綁定的,相同證明但不同 Nullifier 的哈希不會允許提幣

安全性有 126-bit 的安全,不會因為 composition 而降級

Vitalik 提到過,和擴容相比,隱私相對比較容易實現,如果一些擴容的 protocol 都可以成立的話,隱私基本上不會成為問題。

擴容:ZK 的擴容可以在一層網絡上做,如 Mina,也可以在二層網絡上做,即 zk-roll up. ZK roll up 的思路可能最早來自于 Vitalik 于 2018 的 post,On-chain scaling to potentially ~500 tx/sec through mass tx validation。

ZK-rollup 有兩類角色,一類是 Sequencer, 還有一個是 Aggregator。Sequencer 負責打包交易,Aggregator 負責將大量的交易合并并創造一個 rollup, 并形成一個 SNARK 證明(也可以是基于其他算法的零知識證明),這個證明會和 Layer1 以前的狀態進行比較,進而更新以太坊的 Merkle 樹,計算新的狀態樹。

Source: Polygon

ZK rollup 的優缺點:

優點:費用低,不像 OP 會被經濟攻擊,不需要延遲交易,可以保護隱私,快速達成最終性

缺點:形成 ZK 證明需要大計算量,安全問題(SNARK 需要一個可信設置),不抗量子攻擊(SNARK, STARK 可以),交易順序可能被改變

Source: 以太坊 research

根據數據可用性以及證明的方法,Starkware 對 L2 有一張經典的分類圖(Volition 的數據可用層可以在鏈上和鏈下選擇):

Source: Starkware

目前市場上最有競爭力的 ZK rollup 項目有:Starkware 的 StarkNet,Matterlabs 的 zkSync 和 Aztec 的 Aztec connect,Polygon 的 Hermez 和 Miden,Loopring,Scroll 等。

基本上技術路線就在于 SNARK( 及其改進版本 ) 和 STARK 的選擇,以及對 EVM 的支持(包括兼容還是等同)。

Aztec 開發了通用化的 SNARK 協議 -Plonk 協議,運行中的 Aztec3 可能會支持 EVM,但是隱私優先于 EVM 兼容

Starnet 用的是 zk-STARK,一種不需要可信設置的 zkp,但是目前不支持 EVM,有自己的編譯器和開發語言

zkSync 也是用的 plonk,支持 EVM。zkSync 2.0 是 EVM 兼容的,有自己的 zkEVM

Scroll, 一種 EVM 兼容的 ZK rollup, 團隊也是以太坊基金會 zkEVM 項目的重要貢獻者

簡要討論下 EVM 兼容性問題:

ZK 系統和 EVM 的兼容一直令人頭疼,一般項目會在兩者間取舍。強調 ZK 的可能會在自己的系統里做一個虛擬機,并有自己的 ZK 語言以及編譯器,但會加重開發者的學習難度,而且因為基本上不開源,會變成一個黑箱子。一般業界目前是兩種選擇,一是和 Solidity 的操作碼完全兼容,另一種是設計一種新的虛擬機同時 ZK 友好并兼容 Solidity。業界一開始也沒有想到可以這么快的融合,但是近一兩年技術的快速迭代,讓 EVM 的兼容提升到一個新高度,開發者可以做到一定程度的無縫遷移(即以太坊主鏈到 ZK rollup),是振奮人心的進展,這將影響 ZK 的開發生態和競爭格局。我們會在之后的報告中仔細討論這個問題。

Goldwasser、Micali 和 Rackoff 提出了零知識證明有三個性質:

完整性(Completeness):每一個擁有合理見證的聲明(statement),都是可以被驗證者驗證的

可靠性(Soundness):每一個只擁有不合理見證的聲明,都不應該被驗證者驗證

零知識(Zero-knowledgeness):驗證過程是零知識的

所以為了了解 ZKP, 我們從 zk-SNARK 開始,因為很多目前的區塊鏈應用都是從 SNARK 開始。首先,我們先了解一下 zk-SNARK。

zk-SNARK 的意思是:零知識證明(zh-SNARK)是 zero-knowledge Succint Non-interactive ARguments of Knowledge。

Zero Knowledge:證明過程零知識,不會暴露多余信息

Succinct:驗證體積小

Non-interactive:非交互過程

ARguments:計算具備可靠性,即有限計算能力的證明者不能偽造證明,無限計算能力的證明者可以偽造證明

of Knowledge:證明者無法在不知道有效信息的情況下構建出一個參數和證明

對于證明者來說,在不知道證據(Witness,比如一個哈希函數的輸入或者一個確定 Merkle-tree 節點的路徑)的情況下,構造出一組參數和證明是不可能的。

Groth16 的 zk-SNARK 的證明原理和如下:

Source: https://learnblockchain.cn/article/3220

步驟是:

將問題轉換為電路

將電路拍平成 R1CS 的形式.

R1CS 轉換成 QAP(Quadratic Arithmetic Programs)形式

建立 trusted setup, 生成隨機參數,包括 PK (proving key),VK(verifying key)

zk-SNARK 的證明生成和驗證

下一篇我們將開始研究 zk-SNARK 的原理、應用,通過幾個案例來透視 ZK-SNARK 的發展,并探索它與 zk-STARK 的關系等。

Tags:ARKNARSTASTARPARK價格Narwhalswaptownstar幣總量多少starlink幣價格

火幣交易所
DEF:金色前哨 | 道瓊斯建立可打擊欺詐并保持合規的區塊鏈產品

道瓊斯風險與合規部已與一家名為EastNets的公司合作,建立了基于區塊鏈的實時監視列表訂閱源。該監視列表標識了業務交易中的高風險第三方,并有助于維持業務的合規性.

1900/1/1 0:00:00
比特幣:金色前哨丨比特幣價格暴跌時 “買買買”的都是散戶

金色財經 區塊鏈3月31日訊   根據加密貨幣交易所Coinbase披露的交易數據顯示,在今年三月份市場崩潰期間,購買最多比特幣的居然不是機構投資者,而是散戶.

1900/1/1 0:00:00
INB:金色前哨 | Coinbase出現18美分購入4.2萬BTC的交易 員工:持續提高團隊技術

金色財經訊 4月7日,加密貨幣交易員、推特用戶Captain Scio透露,他發現Coinbase上出現一筆僅用18美分購入4.2萬BTC的交易.

1900/1/1 0:00:00
ISS:反彈勢頭再遭當頭棒喝 等待階段ETC或有驚喜

主流幣種周末期間出現明顯回落,熱力圖覆蓋到的所有幣種在近兩個交易日內全線下跌,該時段內即使是跌幅最小的ETC也出現了超4%的階段跌幅,而階段領跌的BSV等幣種在周末兩天時間里跌逾13%.

1900/1/1 0:00:00
BOS:3.27早間行情:技術和基本面雙重指標表示BTC將這么走

再說說整體大環境,美股已經連續兩日大漲,總漲幅接近20%,但可以發現,近兩日外界環境的轉好僅是令BTC保持高位震蕩而已,并無有效的沖擊關鍵壓力位,不禁讓人擔憂,若是美股再次回落之時.

1900/1/1 0:00:00
NFT:“無喂價”合成代幣

前言:加密領域需要更多的創新,需要超出常規思維的模式。而“無喂價”模式本質上一種博弈機制,它可以最小化預言機的使用.

1900/1/1 0:00:00
ads