以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads

為什么需要「共識層ZK化」?_以太坊

Author:

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

摘要

從眾多公鏈展開競爭以來,到以太坊路線圖中的Danksharding,再到op/zk等二層解決方案,我們一直不間斷在討論區塊鏈的擴展性——大量用戶和資金進來了怎么辦?通過接下來一系列的文章,我想向大家展示一個未來的圖景,該圖景由數據的獲取、鏈下計算、鏈上驗證三部分構成。

TrustlessDataAccess+Off-chainComputation+On-chainVerification

“證明共識”是這個藍圖中重要的一部分。本文探討了在以太坊PoS的基礎上,用零知識證明共識的意義,包括:

1.對于EVM去中心化的重要性。

2.去中心化數據訪問對于web3擴容的重要性。

證明以太坊主網的全共識是一項復雜的任務,但是如果我們能夠實現共識層的zk化,將會在確保安全信任的基礎上助力以太坊的擴容,同時增強整個以太坊生態的穩健性,降低參與成本,讓更多人融入其中。

一、為什么證明共識層很重要?|Whydoesprovingconsensusmatter?

1.以太坊的?度|PerspectivefromEthereum

2.以太坊?態各層協議的?度|PerspectiveofProtocolStacksonEthereum

二、區塊鏈數據來?何處?不同數據源的信任假設|WhereisBlockchainData?TrustAssumptionsforDifferentDataSources

三、?零知識證明共識層之路|ThePathtoProveConsensusUsingZK

1.以太坊2.0中共識形成的核?步驟|KeyStepsinConsensusFormationinEthereum2.0

2.證明共識層的ZK技術棧|TechStackstoProveConsensus

3.終極?標:多樣性的Level1zkEVM|TheEndGame:DiversifiedLevel1zkEVM

四、未來展望|WhatistheFuture?

五、參考|Reference

一、為什么證明共識層很重要?|Whydoesprovingconsensusmatter?

利用zk來驗證以太坊L1的共識層在兩個大方向上有意義。首先,它可以彌補當前節點多樣性的缺陷,增強以太坊本身的去中心化和安全性。其次,它為以太坊生態各層協議面對更多用戶提供了可用性和安全性的基礎,包括跨鏈安全、無需信任的數據訪問、去中心化預言機、和擴容等方面。

Blur上188枚DeGods已進入清算程序,占總量2%:8月15日消息,Blur數據顯示,Blur上188枚DeGods已進入清算程序,占總量2%。[2023/8/15 21:25:32]

1.以太坊的角度|PerspectivefromEthereum

對于以太坊來說,要實現其去中心化和穩健性(robustness),它需要一個客戶端多樣性的環境。意味著更多的人參與其中,尤其是普通用戶,運行基于不同代碼環境的客戶端。然而,要求每個用戶都運行全節點是不現實的,因為這需要大量的資源,沒有幾個人能夠承擔至少16GB+RAM和FastSSDwith2+TB,而這些要求還在不斷增長。

目前的目標是實現輕節點(lightnode),既能提供與全節點相同的信任度,又能在內存、存儲和帶寬要求上具有更低的成本。然而,目前輕節點并不參與共識過程,或者說只受到部分的共識機制保護(SyncCommittee)。

這一目標在以太坊的路線圖中被稱為"TheVerge"。

"TheVerge"旨在彌合客戶端差距,關鍵步驟是如何實現去信任的輕節點,安全程度應等同于今天的全節點,填補“theclientgap”,從而讓更多人積極參與網絡的去中心化和穩健性。

https://www.ethernodes.org/network-types

https://clientdiversity.org/

2.以太坊生態各層協議的角度|PerspectiveofProtocolStacksonEthereum

從第一性原理出發,我們需要解決鏈上數據訪問與鏈下計算驗證的結合問題。

目前鏈上數據的使用相對初級,不夠充分。在很多情況下,協議調整所需的數據過于復雜,無法進行鏈上計算,而以去信任方式獲取數據的成本又過高,需要大量歷史數據訪問和頻繁的數字計算等。

對于個人用戶和項目來說,我們的理想情況是實現去中心化的、端到端的無需信任假設數據傳遞和讀寫,以此為基礎,面向未來更多的用戶,應實現盡量低的計算成本,兼顧安全性、可用性和經濟性。

具體包括以下幾個方面:

1.去中心化和無需信任的預言機(Oracle):目前的協議使用中心化預言機來避免直接在鏈上對大量歷史數據的訪問,增加了不必要的信任成本,并降低了可組合性。

疑似美國官方比特幣地址轉出9819枚比特幣:5月11日消息,鏈上數據顯示,疑似美國官方的絲綢之路案件相關地址于今日凌晨將地址內全部剩余9819枚比特幣轉移至1PCwV開頭比特幣網絡地址。[2023/5/11 14:56:04]

2.數據和資產敏感相關協議的數據讀寫:例如,DeFi協議在運行過程中需要進行一些參數動態調整,但是否能夠無需信任地訪問歷史數據并進行更復雜的計算,如基于最近的市場波動調整AMM費用,設計鏈上衍生品交易價格模型和動態波動,引入機器學習方法進行資產管理,根據市場情況調整借貸利息等。

3.跨鏈安全:目前基于zk技術的輕節點方案在安全性(security)、資金效率(capitalefficiency)、狀態保留程度(statefulness)和傳遞信息多樣性方面都更優秀。當前Succinct的Telepathy跨鏈方案和Polehedra在LayerZero上面做的跨鏈方案,都是基于SyncCommittee做的輕節點區塊頭zk驗證。然而,SyncCommittee并非以太坊PoS共識層本身,存在一定的信任假設,未來還有余地可以做的更加完備。

目前,由于經濟成本、技術限制和用戶體驗等方面的考慮,開發者在利用鏈上數據時通常依賴于中心化的RPC服務器,例如Alchemy、Infura和Ankr等。

二、區塊鏈數據來自何處?不同數據源的信任假設|WhereisBlockchainData?TrustAssumptionsforDifferentDataSources

區塊鏈中的計算數據有兩種來源:鏈上數據(on-chaindata)和鏈下數據(off-chaindata)。對應鏈上和鏈下兩種去向,進行計算。比如前文提到的調整DeFi協議參數的需求。

DataAccess,computation,proofandverification

鏈上和鏈下數據的讀寫和計算有兩個顯著特點:

1.為了實現去中心化和安全,最好能夠驗證我們所獲取的數據,即“不要相信,要驗證(Don’tTrust,Verify)”。

2.往往涉及許多復雜和昂貴的計算過程。

如果沒有找到合適的技術解決方案,以上兩點便會影響區塊鏈的可用性。

我們可以通過一個簡單的例子來說明不同數據獲取方式。假設你想查看自己的賬戶余額,你會怎么做?

一種最安全的方式是自己運行一個全節點,檢查本地存儲的以太坊狀態,并從中獲取賬戶余額。

Circle官方數據:儲備金共計435億美元,其中111億美元為現金儲備:3月11日,據Circle官網發布的最新數據顯示,目前流通中的USDC市值共計約為434億美元,資金儲備共計435億美元,其中現金儲備為111億美元,占比約為25%,其余334億美元儲備為短期國債投資組合。[2023/3/11 12:55:43]

全節點Benchmark。同步模式(syncmode)和客戶端選擇會影響所需的空間要求。

然而,自己運行全節點的成本很高,還需要自己維護。為了省事,很多人可能會直接向中心化的節點運營商請求數據。雖然這樣做沒有什么問題,類似于Web2中的操作,而且我們也從未見過這些供應商有過任何惡意行為,但是這也意味著我們必須相信一個中心化的服務商,這增加了整體的安全假設。

為了解決這個問題,我們可以考慮兩個解決方案:一是降低運行節點的成本,二是尋找一種驗證第三方數據可信度的方法。

那不如就只存儲必要的數據。為了更高效地訪問數據,降低信任成本,并獨立驗證數據,一些機構開發了輕客戶端(lightclients),如Rust-basedHelio、Lodestar、Nimbus和基于JavaScript的Kevlar等。輕客戶端不存儲所有的區塊數據,而只下載和存儲區塊頭——一個區塊全部信息的“總結”。輕客戶端能夠獨立驗證接收到的數據信息,因此當從第三方數據提供商獲取數據后,你不再需要完全信任該提供商的數據。

https://medium.com/coinmonks/ethereum-data-transaction-trie-simplified-795483ff3929

輕節點的主要特點包括:

理想情況下,輕節點可以在手機或嵌入式設備上運行。

理想情況下,它們可以與全節點具有相同的功能和安全保障。

但是輕節點不參與共識過程,或者說只受到部分的共識機制保護,即同步委員會(SyncCommittee)。

SyncCommittee是輕節點的信任假設。

在TheMerge之前,從2020年12月開始,BeaconChain進行了一個名為Altair的硬分叉,其核心目的是為輕節點提供共識支持。和PoS全共識不同,組成這一組驗證者(512個)的是一個較小的數據集,相隔更長的時間段(256個epoch,約27小時)進行隨機抽取。

礦企Hut 8向法院提交對其電力供應商的索賠聲明:金色財經報道,加密礦企Hut 8 Mining Corp周四宣布已向安大略省法院提交針對 Validus Power Corp. 及其子公司 Bay Power Corp.的索賠聲明,Validus是該公司在安大略省北灣采礦設施的第三方能源供應商。Hut 8表示,由于 Validus 未能履行其與公司簽訂的購電協議中的合同義務,Hut 8 與 Validus 一直存在爭議。Hut 8 正在尋求各種救濟,包括執行 PPA 的某些條款和因爭議而產生的金錢損失。由于此事現已提交法院審理,Hut 8 表示不打算就此問題發表其他評論。[2023/1/27 11:31:43]

這就是為什么我們要驗證以太坊的全部共識層,以期迎來一個更加安全、可用性更強、擁有更多樣化協議、以及大規模采用的未來,目前來看最好的解決方案零知識(zero-knowledge)技術。

三、用零知識證明共識層之路|ThePathtoProveConsensusUsingZK

要構建一個無需信任假設的環境,必須解決輕節點可信度、去中心化數據訪問、和鏈下計算驗證這些問題,在這些方面零知識證明是目前最被認可的核心技術,其中涉及到但不限于zkEVM、zkWASM、其他zkVM、zkCo-processor等底層解決方案。

證明共識層是其中重要一環。

PoS算法非常復雜,以ZK方式實現它們需要大量的工程工作和架構考慮,我們先將其組件進行拆分。

1.以太坊2.0中共識形成的核心步驟|KeyStepsinConsensusFormationinEthereum2.0

驗證者(validator)相關算法

其中包括以下步驟

成為驗證者:驗證者候選人需向存款合約發送32ETH,并等待至少16小時至幾天或幾周的時間,以使信標鏈處理并激活成為正式驗證者。(可參考FAQ-Whydoesittakesolongforavalidatortobeactivated)

行使驗證職責:涉及隨機數和區塊證明算法。

退出驗證者角色:退出驗證者的方式可以是自愿退出或者因違規而被處罰(slashed)。驗證者可以隨時主動發起“退出”,每個epoch對于退出的驗證者數量有限制。如果有過多的驗證者同時嘗試退出,他們將被放入一個隊列中,在排到之前,他們仍然需要履行驗證職責。成功退出后,經過1/8個eek,驗證者將能夠提取質押資金。

隨機數相關算法

每個epoch包含32個區塊(slot),提前2個Epoch進行隨機分組,將所有驗證者分成32個委員會(committee),在當前epoch行使職責,分別對每個區塊的共識負責。

數據:165,163枚LTC從Binance轉移到未知錢包:金色財經報道,據WhaleAlert數據,165,163 枚LTC (14,908,934 美元) 從Binance轉移到未知錢包。[2023/1/24 11:28:02]

每個委員會中有兩種角色,一個提議者(Proposer),其余為區塊構建者(Builders),也被隨機選出。這樣將交易排序和區塊構建兩個過程分離開來(詳見proposer/builderseparation-PBS)。

區塊證明(BlockAttestation)和BLS簽名相關算法

簽名部分是共識層最核心的部分。

每個slot的驗證委員會給投票(使用BLS簽名),需要獲得2/3的通過率才能構建區塊。

在以太坊PoS共識層中,BLS簽名使用BLS12–381橢圓曲線,pairing-friendly,適合聚合所有簽名,減少證明時間和大小。

在工作量證明中,區塊可能會發生重組(re-org)。在合并之后,引入了執行層上的”最終化(finalized)區塊和安全頭(safehead)”的概念。要創建一個沖突的區塊(conflictingblock);攻擊者需要銷毀至少總質押以太幣的1/3;很大程度上,PoS比PoW更可靠。

https://blog.ethereum.org/2021/11/29/how-the-merge-impacts-app-layer

2023年6月底,《PuzzleVentures晚自習》中間介紹到了HyperOracle的zkPoS(用zk的方法去驗證以太坊全共識層)。詳情請見zkPoS:End-to-EndTrustless

其他:如弱主觀性檢查點(weaksubjectivitycheckpoints)

無需信任的PoS共識證明面臨的其中一個挑戰是若主觀性checkpoint的選擇,涉及到社會層面的共識(socialconsensusbasedonsocialinformation)。這些檢查點是回退限制(revertlimits),因為位于弱主觀性檢查點之前的區塊無法更改。詳見:https://ethereum.org/en/developers/docs/consensus-mechanisms/pos/weak-subjectivity/

檢查點(checkpoints)也是共識層zk化當中一個需要考慮的點。

2.證明共識層的ZK技術棧|TechStackstoProveConsensus

在證明共識層中,證明簽名或其他計算本身是非常昂貴的,但相較之下驗證零知識證明卻十分便宜。

在選擇使用零知識證明共識層的方法時,協議需要考慮以下因素:

你要證明什么?

證明之后的應用場景是什么?

如何提高證明的效率?

以HyperOracle為例,對于證明BLS簽名,選擇了Halo2,他們選擇了Halo2而不是SuccinctLabs使用的Circom,出于以下幾個原因:

Circom和Halo2都可以生成BLS簽名的零知識證明。

HyperOracle并不只是干zkPoS這一件事,其核心產品是可編程的鏈上零知識預言機(ProgrammableOnchainzkOracle)。其中直接面向用戶的有zkGraph、zkIndexing和zkAutomation,并且還利用zkWASM虛擬機去驗證鏈下計算。盡管Circom對于工程師來說更易上手,但兼容性較差,無法確保所有功能的邏輯都能使用

Circom-pairing會被編譯成為R1CS,與zkWASM和其他電路的Plonkish約束系統不兼容,而Halo2Pairing電路能夠非常容易地整合進zkWASM電路;相比之下,R1CS對于批處理證明(ProofBatching)也并不理想。

從效率的角度,Halo2-pairing生成的BLS電路更小,證明時長更短,對硬件要求更低,gasfee也更低。

https://mirror.xyz/hyperoracleblog.eth/lAE9erAz5eIlQZ346PG6tfh7Q6xy59bmA_kFNr-l6dE

用零知識來證明共識層的另一個關鍵點在于遞歸證明(recursiveproof)——即證明之證明(proofsofproofs),把之前發生的事情打包成一個證明。

如果沒有遞歸證明,最終會輸出O(blockheight)大小的證明,即每個區塊證明(blockattestation)和相對應的zkp。通過遞歸證明,除了初始狀態和最終狀態外,對于任意數量的區塊,我們只需要O(1)大小的證明。

VerifyProofNandStepN+1togetProofN+1,i.e.youknowN+1piecesofknowledge,insteadofverifyallNStepsseparately.

回到最初的目標,我們的解決方案應該針對有計算和內存限制的“輕客戶端”。即使每個證明可以在固定的時間內進行驗證,如果區塊和證明的數量累加,驗證時間將變得非常長。

3.終極目標:多樣性的Level1zkEVM|TheEndGame:DiversifiedLevel1zkEVM

以太坊的目標不僅僅是證明共識層,還希望通過zkEVM實現整個Layer1虛擬機的零知識化,并最終實現多樣化的zkEVM,以增強以太坊的去中心化和魯棒性(robustness)。

針對這些問題,以太坊當前的解決方案和路線圖如下:

“輕量化light”——更小的內存、存儲和帶寬要求

目前通過輕節點(lightnode)實現僅存儲和驗證區塊頭(blockheader)的方式。

未來的發展還需要在verkletree和statelessclients方面做進一步的努力,涉及改進主網數據結構。

“安全去信任trustless”——實現與全節點相同的最小信任(trust-minimization)

目前已經實現基礎的輕節點共識層,即同步委員會(SyncCommittees),但這只是一個過渡方案。

使用SNARK來驗證以太坊Layer1,包括驗證執行層的VerkleProof、驗證共識層、以及將整個虛擬機進行SNARK化。

Level1zkEVM用于實現整個以太坊Layer1虛擬機的零知識化,且實現zkEVM的多樣化。

可能的風險在理想情況下,當進入zk時代時,我們需要多種開源的zkEVM——不同的客戶端具有不同的zkEVM實現,每個客戶端在接受一個區塊之前會等待與其自身實現兼容的證明。

然而,多種證明系統可能會面臨一些問題,因為每種證明系統都需要一個點對點網絡,一個只支持某一種證明系統的客戶端只能等待相應類型的證明,才能被其驗證器(verifier)所識別。其中可能出現的兩個主要挑戰包括“延遲挑戰(latencychallenge)”和“數據低效(datainefficiency)”,前者主要源于生成證明很慢,在生成針對不同證明系統的證明時,有一段時間差留給作惡者創建臨時分叉;后者因為你要生成多種類型的zk證明,就得保存原始簽名,雖然理論上zkSNARK本身的優勢是可以刪除原始簽名等數據,這里就出現了一些矛盾需要優化和解決。

四、未來展望|WhatistheFuture?

要讓web3迎來更多用戶、提供更流暢的體驗、創造更高的可用性和保障應用的安全性,我們必須為去中心化數據訪問、鏈下計算、鏈上驗證做好基礎設施建設。

證明共識層是其中一個重要組成部分,除了以太坊PSE和前面提到的zkEVMlayer2之外,還有一些協議正在通過零知識證明共識來實現自己的應用端目標,包括HyperOracle(ProgrammablezkOracleNetwork)計劃使用零知識證明以太坊PoS的全部共識層來獲取數據;SuccinctLabs的Telepathy是一個輕節點橋(LightNodeBridge),通過驗證SyncCommittee共識,提交statevalidityproof來達到跨鏈通訊的比目的;Polyhedra原本也是輕節點橋,但現在也聲明利用devirgo實現了全節點全共識的zk證明。

除了跨鏈安全、去中心化預言機之外,這種鏈下計算+鏈上驗證的方式,也可能參與到樂觀rollup中fraudproof當中,與OPL2相互融合;或在基于意圖的架構(intent-basedarchitecture)中,針對更復雜的意圖結構提供鏈上證明等等。

這里我們談論的是不僅限于以太坊的鏈下生態系統(off-chainecosystemsurroundingEthereum),還涉及到以太坊以外的更廣闊市場。

Tags:以太坊BLSConsensus以太坊幣是什么幣BLS幣BLS價格Consensus幣是什么幣

以太坊交易
模擬代幣經濟:代幣設計如何影響代幣價格及其穩定性?_ETH

6MV已經開發了初始的代理人基模型,以促進代幣研究,并幫助我們的投資組合公司就初始代幣生成/發布和機制設計權衡方面提供建議.

1900/1/1 0:00:00
從 MEV 和價值捕獲的角度談 Uniswap 轉向 UNIchain 的必然性_MEV

關于應用鏈未來的一個案例研究。 在過去的幾個月里,人們對特定于應用的區塊鏈越來越感興趣,通常我們稱它們為應用鏈.

1900/1/1 0:00:00
「X」to「Earn」:賽道現狀與破局思路_STEPN

我們從不同的x模式下,挑選了較具代表性的10個項目從項目背景、進度、機制及賽道定位四個維度進行了對比.

1900/1/1 0:00:00
12月15日晚間重要動態一覽12:00-21:00

關鍵詞:國務院、歐盟、CFTC、微軟1.國務院辦公廳:探索擴大區塊鏈技術應用,提升現代供應鏈運行效率;2.歐盟委員會計劃在2023年第二季度提出數字歐元立法;3.CFTC:FTX使用韓國賬戶來掩.

1900/1/1 0:00:00
比特幣、區塊鏈的磨難、堅守與希望_比特幣

一、我們來自哪里 比特幣出現 比特幣于2009年1月推出,最初僅限于少數幾個人知道。在接下來的3年里,比特幣受到了越來越多的媒體關注—-但相對于今天的數據而言仍然非常小.

1900/1/1 0:00:00
數字市場現牛市,區塊鏈“新王”降臨_BUP

2020年新冠疫情席卷全球,實體經濟市場一篇昏暗,世界經濟中心美國第二季度GDP同歷史相比縮短32.9%,是自1889年完整記載開端以來最糟糕的一次(此前是1932年GNP年度縮短17.2%).

1900/1/1 0:00:00
ads