摘要
從眾多公鏈展開競爭以來,到以太坊路線圖中的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的共識層在兩個大方向上有意義。首先,它可以彌補當前節點多樣性的缺陷,增強以太坊本身的去中心化和安全性。其次,它為以太坊生態各層協議面對更多用戶提供了可用性和安全性的基礎,包括跨鏈安全、無需信任的數據訪問、去中心化預言機、和擴容等方面。
一巨鯨ETH多頭頭寸在最近兩次市場崩盤中被清算510萬美元:金色財經報道,據Lookonchain監測,一巨鯨ETH多頭頭寸在最近兩次市場崩盤中被清算,損失約510萬美元。而在昨天市場上漲后,該巨鯨再次以1717美元的價格入場做多ETH。[2023/8/31 13:08:07]
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):目前的協議使用中心化預言機來避免直接在鏈上對大量歷史數據的訪問,增加了不必要的信任成本,并降低了可組合性。
DTCP將以軟銀支持的 3 億美元資金投資 web3:9月20日消息,專注于早期成長階段投資的德國風險投資機構DTCP(Digital Transformation Capital Partners)宣布旗下增長股權基金GE III完成首輪3億美元募資,投資方包括德國電信、軟銀、以及一些養老基金、企業、和家族投資辦公室等機構。
據悉,該基金仍會繼續募資,并計劃在2023年完成全部融資輪,DTCP將投資網絡安全、Web3、人工智能、金融科技、垂直SaaS解決方案等領域并專注于歐洲、以色列和美國市場。(Tech Funding News)[2022/9/20 7:08:27]
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)”。
CoinShares:BTC將會受益于鴿派的美聯儲和疲軟的美元出現上漲:金色財經報道,數字資產管理公司CoinShares在其官方社交媒體上發布主題帖,解釋了經濟因素和政策如何影響BTC表現、以及為何BTC會和其他投資資產表現有所不同。CoinShares認為目前BTC低迷價格表現只是暫時并表示:“美國經濟衰退已經到來,我們認為美聯儲可能會在整個夏季繼續加息,此后經濟增長會出現更疲軟的前景,從而導致美元大幅走軟。如果美聯儲無法抑制通貨膨脹并且美元走強,BTC 將會受益于鴿派的美聯儲和疲軟的美元出現上漲,而增長型股票將在經濟狀況惡化的情況下遭受更大損失。”[2022/7/31 2:49:10]
2.往往涉及許多復雜和昂貴的計算過程。
如果沒有找到合適的技術解決方案,以上兩點便會影響區塊鏈的可用性。
我們可以通過一個簡單的例子來說明不同數據獲取方式。假設你想查看自己的賬戶余額,你會怎么做?
一種最安全的方式是自己運行一個全節點,檢查本地存儲的以太坊狀態,并從中獲取賬戶余額。
全節點Benchmark。同步模式(syncmode)和客戶端選擇會影響所需的空間要求。
然而,自己運行全節點的成本很高,還需要自己維護。為了省事,很多人可能會直接向中心化的節點運營商請求數據。雖然這樣做沒有什么問題,類似于Web2中的操作,而且我們也從未見過這些供應商有過任何惡意行為,但是這也意味著我們必須相信一個中心化的服務商,這增加了整體的安全假設。
為了解決這個問題,我們可以考慮兩個解決方案:一是降低運行節點的成本,二是尋找一種驗證第三方數據可信度的方法。
那不如就只存儲必要的數據。為了更高效地訪問數據,降低信任成本,并獨立驗證數據,一些機構開發了輕客戶端(lightclients),如Rust-basedHelio、Lodestar、Nimbus和基于JavaScript的Kevlar等。輕客戶端不存儲所有的區塊數據,而只下載和存儲區塊頭——一個區塊全部信息的“總結”。輕客戶端能夠獨立驗證接收到的數據信息,因此當從第三方數據提供商獲取數據后,你不再需要完全信任該提供商的數據。
https://medium.com/coinmonks/ethereum-data-transaction-trie-simplified-795483ff3929
幣安NFT市場7月8日開始拍賣AmazingDoge“總統”NFT:據官方消息,幣安NFT市場于北京時間7月8日上線AmazingDoge“總統”NFT,采用拍賣形式。
據悉,“總統”NFT是AmazingDoge元宇宙中高等級的稀有NFT。截至發稿時,報價已突破35000美金。[2022/7/8 2:00:59]
輕節點的主要特點包括:
理想情況下,輕節點可以在手機或嵌入式設備上運行。
理想情況下,它們可以與全節點具有相同的功能和安全保障。
但是輕節點不參與共識過程,或者說只受到部分的共識機制保護,即同步委員會(SyncCommittee)。
SyncCommittee是輕節點的信任假設。
在TheMerge之前,從2020年12月開始,BeaconChain進行了一個名為Altair的硬分叉,其核心目的是為輕節點提供共識支持。和PoS全共識不同,組成這一組驗證者(512個)的是一個較小的數據集,相隔更長的時間段(256個epoch,約27小時)進行隨機抽取。
這就是為什么我們要驗證以太坊的全部共識層,以期迎來一個更加安全、可用性更強、擁有更多樣化協議、以及大規模采用的未來,目前來看最好的解決方案零知識(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,驗證者將能夠提取質押資金。
GuildFi宣布推出Marketplace項目Morroc:6月29日消息,Web3游戲社區GuildFi宣布推出Marketplace項目Morroc。據悉,Morroc是第一個混合游戲化市場,包含Web2和Web3項目,將首先在測試階段推出,用戶可以要求享有特權。[2022/6/29 1:38:26]
隨機數相關算法
每個epoch包含32個區塊(slot),提前2個Epoch進行隨機分組,將所有驗證者分成32個委員會(committee),在當前epoch行使職責,分別對每個區塊的共識負責。
每個委員會中有兩種角色,一個提議者(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),還涉及到以太坊以外的更廣闊市場。
隨著OPStack的廣受采用,OP在最近獲得了更多市場關注,接下來我將通過兩個維度的視角來拆解一下OP當前的境況.
1900/1/1 0:00:00無論是去中心化社交還是GameFi,現在都涌現出了非常多有趣且獨特的思路與想法,而在兩者的交融之處更是碰撞出了許多具有出圈潛力的項目.
1900/1/1 0:00:00作為Coinbase消費者交易前產品經理和長期的積分最大化者,我花費了數百小時思考激勵機制。這是一篇簡短的文章,引入了一個啟發式框架,幫助我們逐步邁向更強大和持久的激勵系統,有助于消費者采納.
1900/1/1 0:00:00介紹 最近的清算浪潮使得加密市場中正蔓延著擔憂,從ThreeArrowsCapital蔓延到CelsiusNetwork、BabelFinance、BlockFi和VoyagerDigital等.
1900/1/1 0:00:00NFT市場是一個快速發展的數字資產市場,其市場規模不斷擴大,應用場景也變得更加多元化。然而,NFT市場的價值波動性相對較大,投資者需要謹慎評估風險并選擇合適的投資策略.
1900/1/1 0:00:00撰文:十文 Binance與FTX的劇情在一夜間經歷了兩次翻轉,從爭論到收購再到監管的不確定性,整個大盤也隨之短暫上漲后又急劇下跌.
1900/1/1 0:00:00