作者:LKVenture
如今,以太坊占據著區塊鏈行業基礎設施的半壁江山,但是其主網的統治地位正在被許多后來者挑戰。行業普遍的共識之一是,未來或將是多鏈共存的格局,跨鏈甚至全鏈則是多鏈生態中最關鍵的一環。
然而,如今連接各區塊鏈網絡的跨鏈橋安全問題頻發,跨鏈生態似乎岌岌可危。ZKBridge的出現,將有效解決當前跨鏈方案的多種缺陷,讓萬鏈互聯成為可能。
在北歐神話中,海姆達爾是一個神秘且重要的神祇,負責守衛連接神域與人間世界的彩虹橋——比弗洛斯特。如果我們把連接不同神域和人間世界的彩虹橋比作跨鏈橋,那么,零知識證明技術能否肩負起守衛跨鏈安全的重任,成就彩虹橋上萬夫莫開的「海姆達爾」神話?
本文為LKventure投研團隊對ZKBridge賽道進行的全方位解析,力求展望零知識證明技術在解決跨鏈安全性和高性能瓶頸問題的發展空間。
TL;DR
-什么是ZKBridge?ZKBridge是使用零知識證明技術的跨鏈橋,具有零信任、無許可、可拓展、高效率的特性。
-為什么需要ZKBridge?當前跨鏈橋的中心化問題和信任假設導致安全性不足,漏洞頻出造成嚴重損失;而重視安全性的跨鏈橋,則效率低下,成本較高。ZKBridge可以同時保有安全性、去中心化和高效率。
-如何實現ZKBridge?基于ZK-SNARK的輕節點方案
-相關項目介紹:SuccinctLabs,zkIBCbyElectronLabs,zkBridgebyBerkleyRDI。
什么是跨鏈橋?
跨鏈橋是一個允許在不同區塊鏈網絡之間實現價值和信息傳輸的技術解決方案。通過利用一系列加密和協議技術,跨鏈橋實現了資產和數據的安全、可驗證和無需信任的轉移,進而促進了區塊鏈網絡之間的互操作性。
一般來說,我們會把跨鏈橋分為直接的資產跨鏈橋和更具備通用性的消息跨鏈橋。
為什么跨鏈橋會成為眾矢之的?
跨鏈橋作為一個中心化的巨額資金池,天然會吸引黑客——攻擊成功的收益是巨大的。此外,由于不同鏈之間的安全假設可能存在差異,資產跨鏈的代碼更為復雜,代碼審計也無法找出所有漏洞,也就為有著巨大激勵驅動的黑客以可乘之機。
具體的攻擊方案可以分為以下幾種:
Beanstalk Farms的重啟提案已獲社區投票通過:8月7日消息,基于信用的去中心化穩定幣協議Beanstalk Farms的重啟提案已獲社區投票通過,超99.2%的投票用戶贊成,目前對項目代碼的更改已經由兩家公司進行了審計,治理已經轉移到社區運營的多重簽名錢包中,直到可以實施安全的鏈上治理機制。
此前消息,Beanstalk Farms今年4月遭到閃電貸攻擊,隨后推出籌款活動,以籌集7700萬美元重啟項目。[2022/8/7 12:07:17]
1.中心化攻擊:部分跨鏈橋依賴于中心化的中繼器或驗證器來傳輸和驗證交易。這種設計可能會導致單點故障,攻擊者可以通過攻擊這些中心化組件來破壞整個跨鏈系統。
2.經濟激勵攻擊:跨鏈橋通常需要設置合適的經濟激勵來確保驗證器和中繼器的誠實行為。然而,設計合適的激勵機制并不容易,激勵不足或激勵設計失衡可能會導致惡意行為或串謀攻擊。
3.雙花攻擊:在某些情況下,攻擊者可能會嘗試在源鏈和目標鏈上同時花費同一筆資產,從而導致資產的雙花。跨鏈橋需要設計有效的防范措施來防止雙花攻擊。
4.重放攻擊:攻擊者可能會嘗試在目標鏈上重放已經在源鏈上發生的交易,從而試圖獲取不正當利益。跨鏈橋需要實現一定的交易驗證和防重放機制來防止此類攻擊。
5.鏈下協調攻擊:跨鏈橋的一些實現依賴于鏈下協調,如狀態通道或側鏈。攻擊者可能會通過對鏈下協調環節進行干擾或攻擊,來破壞跨鏈橋的正常運作。
6.鏈間共識攻擊:由于跨鏈橋涉及多個區塊鏈網絡,每個網絡可能采用不同的共識算法。攻擊者可能會利用鏈間共識的弱點來發起攻擊,例如,在一個鏈上實施51%攻擊以影響跨鏈橋的正確性。
當前主流跨鏈橋方案一覽
跨鏈最核心的問題就是如何驗證另一條鏈的消息是可靠的。針對該問題產生了不同解決方案,包含不同程度的信任假設。
輕節點加中繼,其實是最早出現的跨鏈解決方案,代表項目要數BTCRelay,目的在于用比特幣進行支付去使用以太坊的服務。然而,由于要進行大量的鏈上計算與存儲,運行鏈上輕客戶端的代價昂貴。而且由于不同鏈間共識算法和簽名算法等的異構,導致跨鏈方案不可擴展,需要為每對特定的兩條鏈專門實現lightclient&relay。
Beanstalk Farms:關于開啟Barn Raise的提案BFP-71已獲投票通過:5月15日消息,算法穩定幣項目Beanstalk Farms發推稱,關于The Path Forward、Barn Raise Structure的提案BFP-71已經以100%的投票率通過。隨著BFP-71的通過,Barn Raise將于6月6日下午4:00(UTC時間)開始,截至6月27日下午4:00(UTC時間)或直到所有NFT被售出。[2022/5/15 3:17:08]
迄今為止,只有Cosmos應用鏈上的IBC實現了大規模的鏈上輕客戶端,其成功之道在于Cosmos的應用鏈的標準化程度極高,每個應用鏈都需要運行Tendermint共識,并遵守IBC標準。在一個擁有不同共識機制、簽名方案和虛擬機的多鏈世界中,鏈上輕客戶端驗證是難以實現的。
當前主流跨鏈項目為了避免高昂的鏈上輕節點成本,將驗證過程移至鏈下,同時也帶來不同程度的信任假設和潛在欺詐風險,LKVenture投研團隊根據信任程度從高到低,對部分重點方案進行介紹。
跨鏈解決方案1:無質押多簽
典型項目有Multichain、Wormhole、RoninBridge。這些都要求多重簽名MPC實現,需要實體驗證交易,并驗證(即簽名)其有效性。通過閾值后,交易就被認為是已驗證的。
?在該方案中,各實體需要運行全節點來進行驗證。當然,無抵押導致撒謊沒有實際成本,但不誠實導致的聲譽受損可能會導致更大的潛在成本,所以驗證節點往往與固定的鏈下身份關聯,以此來增加節點的作惡成本。
?Multichain的消息驗證由SMPC網絡保障,SMPC網絡由24個節點組成,超過2/3節點簽名的消息被認為通過驗證,SMPC節點成員不需要質押,且相對固定,AnyCall的安全建立在對SMPC節點的信任假設基礎上。
?Wormhole的信任層采用PoA機制構建,由一組受信任的Guardians負責鏈間消息的驗證,Guardians是特定的具有資本背書和聲譽背書的主體。目前,Wormhole中的Guardians有19個,其中包括FTX、Everstake和ChorusOne等知名大公司。
跨鏈解決方案2:預言機與中繼
典型項目有LayerZero,通過將消息及消息證明傳遞和驗證Relayer傳遞交易兩者做分割,確保跨鏈過程的安全。
?LayerZero的核心設計思想在于Oracle和Relayer的分離,在LayerZero中,Relayer負責傳遞消息及消息證明,Oracle負責根據消息所在區塊,按需從源鏈獲取區塊頭,然后目標鏈上的終端根據Oracle獲取的區塊頭驗證Relayer傳遞的交易。只要二者不串通,就可以保證跨鏈的安全。
Beanstalk Farms將商討項目重啟方案,并呼吁黑客返還90%被盜資金:4月19日消息,此前因受閃電貸攻擊損失1.8億美元的算法穩定幣項目Beanstalk Farms在Discord發布公告表示,項目團隊基于社區討論,正在起草一份提案以重啟項目,同時將召開社區會議,針對項目重啟方案聽取更廣泛的意見以保證 Beanstalk 的持久成功。會議結束后,團隊將在Snapshot發布提案投票。此外,Beanstalk Farms在推特上呼吁黑客返還90%被盜資金,并向其支付剩余10%作為白帽獎金。[2022/4/19 14:33:19]
?需要注意,盡管Layerzero將其技術方案稱為超輕節點,但方案與LightClient有本質上的不同。LayerZero通過Oracle提供的區塊頭來驗證Relayer提供的交易證明,驗證過程在目標鏈的終端發生,屬于原生驗證,但是對區塊頭本身的驗證卻是由作為外部驗證人的第三方Oracle網絡來完成的,驗證過程發生在鏈下。
跨鏈解決方案3:有質押多簽
在MPC的基礎上增加了一層權益證明,典型項目有Celer,Axelar,deBridge,Hyperlane,Thorchain。
?如果作惡,驗證者的質押將被大幅削減,在經濟上實際增加了驗證者的欺騙成本。
?PoS橋要面對的一個問題是驗證者的不均衡性,為了緩解該問題,Axelar采用了二次方投票的方案,簽名權重將與驗證人質押的$AXS數量的平方根成正比;Hyperlane則采用「可驗證欺詐證明」方案,驗證人聯合作惡將立即被發現并執行Slash;pNetwork和BoolNetwork則直接要求所有節點質押相同數額的Token。
跨鏈解決方案4:樂觀驗證
運用了博弈論知識,通過用戶間的博弈場景提高用戶作惡風險,典型項目有Nomad,Synapse。
?樂觀驗證的基本邏輯是:在外部驗證的基礎上,設置一批挑戰者和一個挑戰窗口期,對不正確的驗證進行挑戰,驗證者需要抵押,當其行為不當時,挑戰者將提出挑戰,并提供欺詐證明。若挑戰成功,驗證者的抵押金將成為挑戰者的賞金。
?Nomad項目設置的挑戰窗口期是30分鐘。對于樂觀驗證方案,只需要至少有一個挑戰者是誠實的,而且有經濟激勵去進行挑戰。這相比外部驗證而言,是更小的信任假設,在這樣的信任假設下,攻擊者無論付出多大的經濟代價,都不能保證攻擊一定成功。
原本跨鏈方案到此就結束了,但ZKP零知識證明技術的發展,為跨鏈橋的安全和效率兩難困境帶來了新的解決方案。
安全團隊:算法穩定幣項目Beanstalk Farms遭黑客攻擊,損失超過8000萬美元:4月17日消息,據派盾推特消息,算法穩定幣項目Beanstalk Farms遭黑客攻擊,損失超過8000萬美元,包括 24830 ETH 和 3600 萬 BEAN。
另據Etherscan瀏覽器顯示,標記為“Beanstalk Flashloan Exploiter”的地址已經通過Tornado Cash將上千個 ETH 轉入混幣池。[2022/4/18 14:30:08]
什么是ZKBridge?
ZKBridge是使用零知識證明技術的跨鏈橋,不引入信任假設,適配多種同構/異構鏈,鏈下生成零知識證明,鏈上只負責驗證,大大降低鏈上計算和存儲成本,具有零信任、無許可、可拓展、高效率的特性。
我們先對輕客戶端的原理做一個基本概述。輕客戶端,也稱輕節點,在鏈上往往以輕智能合約的形式呈現。輕客戶端跨鏈的基本原理是在目標鏈部署源鏈的輕節點合約,對源鏈來的消息進行驗證。如果要實現雙向跨鏈,就需要在兩條鏈上互相部署對方鏈的輕節點合約。
相比全節點,輕節點是輕量化的節點,它不存儲完整區塊的序列,而僅存儲區塊頭的序列。
盡管區塊頭體積很小,但它包含了對區塊中完整數據的密碼學概括。當輕節點需要知道某個交易是否被包含在鏈中時,可以通過該交易所在區塊的區塊頭及該交易的Merkle路徑,對該交易執行SPV驗證。
下圖中,綠色方塊的合集,就是藍色方塊的默克爾路徑。
為了維護目標鏈上部署的源鏈輕節點,需要由鏈下代理將源鏈的區塊頭不斷同步到目標鏈。輕節點合約對負責同步區塊頭的鏈下代理并沒有信任假設。因為輕節點合約會對其同步的區塊頭執行驗證,鏈下代理無法欺騙輕節點。
輕節點驗證區塊頭的邏輯,與全節點、礦工節點別無二致,分為有效性驗證和最終性驗證兩部分。
LKVenture投研團隊認為,對于PoW鏈來說,有效性驗證主要是指驗證區塊的工作量證明,最終性驗證則是看該區塊頭后面有沒有更多的有效區塊被追加。
對于PoS鏈而言,有效性驗證是指驗證該區塊是否由被隨機選中的出塊人生成,最終性驗證則是看該區塊是否被2/3以上投票權重的驗證人簽名。但PoS的輕節點并不需要驗證有效性,只需要驗證最終性。因為PoS鏈中,最終的區塊一定有效,PoW鏈則未必。
澳本聰Craig Wright稱中本聰從未登錄Bitcointalk 論壇:澳本聰Craig Wright最近稱,中本聰從未登錄使用過論壇Bitcointalk。該網站是已知最早的比特幣論壇之一,并且有許多帖子來自聲稱是Satoshi的帳戶。Wright稱中本聰未使用該平臺進行交流,他說中本聰使用該網站是一個“神話”。
“這是一個神話,Bitcointalk上Satoshi的賬號是我的,上面所有帖子實際上都是我發的,并且未被編輯或更改,并且網站登錄名屬于我”。(Bitcoin.com)[2020/4/28]
ZKBridge的實現,與輕節點加中繼的方案流程相同,只是略有變化。ZKBridge中,依然需要鏈下的中繼者監聽源鏈,將源鏈的區塊信息轉發到目標鏈。但是轉發的不僅是區塊頭,還有使用ZK-SNARK算法生成的有效性證明。而在目標鏈上,輕節點也不是通過直接根據區塊頭進行計算去驗證交易的有效性,而是根據有效性證明在鏈上驗證,減輕計算負擔。
為什么ZKBridge有望終結跨鏈大戰?
在目前以完成部署投入使用的跨鏈橋中,有多個項目都曾經遭受過嚴重的安全攻擊,被盜金額非常巨大,在當時造成大規模的恐慌,時至今日大家仍對各大跨鏈橋的安全性抱有懷疑態度。人們愈發需要一個安全、零信任、去中心化的跨鏈橋,為未來的全鏈生態打下堅實基礎。
在LKVenture投研團隊看來,ZKBridge為跨鏈橋的安全和效率難以兼顧的困境帶來了新的解決方案,即通過在鏈下生成對區塊頭的零知識證明,源鏈區塊頭的正確性由ZK-SNARK算法生成的證明去驗證,因此沒有增加任何外部的信任假設,唯一信任的是數學。
而且,零知識證明在鏈上的驗證過程較原有的輕節點驗證方案,將顯著降低計算和存儲成本。
ZKBridge部分項目介紹
SuccinctbySuccinctLabs
GnosisChainOmnibridge是Ethereum與Gnosis之間的跨鏈橋,使用的是MPC的主流方案。Gnosis團隊成員希望能夠探索不依賴中心化實體的跨鏈設計,SuccinctLabs和Gnosis團隊就此展開合作,GnosisDAO提供grant用于R&D。
以太坊的驗證過程主要包括以下內容的驗證:區塊頭的Merkle證明;同步委員會中驗證者的Merkle證明;正確輪換同步委員會的BLS簽名等。這里的核心思想是使用zk-SNARK生成大小恒定的有效性證明,可以在Gnosis上進行高效的鏈上驗證。
SuccinctLabs的跨鏈方案能夠在任意兩條Ethereum兼容的PoS鏈間傳遞任意消息。當前實現了Ethereum與Gnosis之間的跨鏈Demo,Ethereum上部署了bridgedeposit合約,允許用戶儲蓄。bridgedeposit會傳遞消息給arbitrarymessagebridge(AMB),AMB在合約中存儲該消息。Operator負責獲取同步委員會的證明,為有效的BLS簽名驗證生成SNARK證明,并向Gnosis鏈輕客戶端提交更新。
在GnosisChain上,存款交易所在的以太坊區塊被確認,并且輕客戶端已經更新到高度大于或等于該塊的區塊后,Relayer會自動向GnosisAMB提交一個executeMessage交易。executeMessage交易包含針對輕客戶端已更新的插槽的Merkle存儲證明。在executeMessage期間,AMB使用輕客戶端獲取所請求插槽的以太坊狀態根,并驗證Merkle存儲證明,以顯示消息已在AMB的另一側上send。然后,AMB使用消息中指定的calldata調用接收智能合約。
出于技術棧成熟程度和鏈上驗證開銷的考慮,團隊選擇使用當前最成熟的Circom語言和鏈上驗證最便宜的Groth16證明系統來生成ZK-SNARKs,而沒有使用更新更快的PLONK+KZGorFRI。
值得注意的是,該項目雖然上了測試網,但是可用性較差。經作者測試,Goerli測試網的Succinctstoken經過bridge數量減少,但是Gnosis網絡未收到token,同時網站上的dashboard沒有bridge記錄顯示。而且需要注意現在的跨鏈是單向的。只能從Goerli到Gnosis,而不能反過來。
zkBridgebyBerkleyRDI
zkBridge通過ZK-SNARKs證明遠程區塊鏈的區塊頭的正確性,因此不會引入任何外部信任假設。事實上,只要連接的區塊鏈和基礎輕客戶端協議是安全的,并且區塊頭中繼網絡中存在至少一個誠實的節點,zkBridge就是安全的。當然,值得注意的是,雖然至少一個誠實節點就能保證安全性,但是不誠實節點過多會顯著降低跨鏈橋的可用性,lightclient會頻繁拒絕傳來的proof,而無法獲取真實信息。
具體來說,zkBridge主要由區塊頭中繼網絡BlockHeaderRelayNetwork和更新者合約UpdaterContract組成。在區塊頭中繼網絡中,中繼從發送者區塊鏈C1中檢索區塊頭,生成區塊頭有效性證明,并將區塊頭及證明發送到設置在接收者區塊鏈C2上的更新器合約中。對于更新器合約,一旦相關證明通過驗證,C1的相應區塊頭將被存儲。
此外,更新器合約還維護一個輕客戶端狀態。一旦添加新的區塊頭,合約就像C1上的其他輕客戶端一樣更新輕客戶端狀態,并更新C1的當前主鏈。更新器合約還向應用程序公開一個功能,通過該功能,C2上的應用程序可以獲取C1上給定高度的區塊頭。在獲得區塊頭信息后,應用程序可以進行更多的驗證并構建自己的應用。
為了使底層zk-SNARK系統與鏈上使用兼容,需要快速證明生成和低鏈上證明驗證成本。zkBridge的主要創新是:
?deVirgo:采用分布式的方法來生成ZK-SNARK證明,且無需信任假設。deVirgo方法通過將計算工作進行拆分,分配給更多的設備,大幅度提升了在鏈下生成ZK-SNARK證明的時間。
?遞歸證明:為了降低鏈上成本,zkBridge使用遞歸證明,通過兩次遞歸,將ZK-SNARK證明的體積壓縮到131字節左右。第一步生成deVirgo證明,第二步使用Groth16證明生成器進行壓縮。Groth16驗證器生成執行deVirgo電路的完整性證明。
?批處理:zkBridge實現了一個區塊頭的更新合約,它以區塊高度為輸入,返回相應區塊頭。但zkBridge并不會在每個新區塊產生時,調用更新合約,證明者可以先收集N個區塊頭,生成一個單一的證明。N值可以設置,N越大,用戶等待時間越長但系統運行成本越低。
目前zkBridge已經以Solidity在以太坊上實現了一個CosmosClient的實例,據測試,可以在2分鐘內生成一個CosmosZone區塊頭的ZK-SNARK證明,然后在以太坊端,驗證費用是小時230kgas的常量,對比來看,如果不用ZK-SNARK證明,這個費用將是64MillionGas。
需要注意,中繼網絡計算將遭受與MPC相同的通信復雜性,這將嚴重影響證明時間。GKR多層求和檢查協議的通信復雜度為O(Nlog2(簽名數量)),其中N臺機器在中繼網絡中。即使對于32個簽名的情況,中繼網絡中有32臺機器,也可能導致網絡中大量順序通信,損害分布式計算帶來的性能。
zkIBCbyElectronLabs
具體而言,zkIBC希望模擬Cosmos主權鏈使用的無信任通信協議——InterBlockchainCommunicationProtocol(IBC),并將使用拓展到Ethereum。zkIBC使用ZK-SNARKs進行輕客戶端狀態驗證,快速證明Ethereum上交易,跟上Tendermint共識鏈的出塊時間。
主要的難點在于在CosmosSDK中使用的Tendermint輕客戶端運行在Ed25519曲線上,而以太坊區塊鏈不支持該曲線,在以太坊的BN254曲線上驗證Ed25519簽名昂貴和低效。
項目路線圖分為五個階段:調研-ed25519簽名證明的實現-測試網-遞歸Snark實現減少冗余-主網。2023年2月2日,Positrontestnet正式面向公眾上線,支持Near和Ethereum之間的跨鏈。當前的測試網需要等待約20-30分鐘才能實現最終性,其中包括Goerli網絡最終性、ZK-Proof生成、Near鏈上鑄造。
該項目宣稱完全開源,經過測試,跨鏈過程使用流暢,UI/UX設計良好,且支持雙向跨鏈。
思考
區塊鏈技術發展到一定階段,通常會演化成為關于取舍的哲學。在公鏈中,有著安全-可拓展-去中心化的三難困境;而在跨鏈中,可能也存在著安全-效率的兩難困境:追求效率,則會引入第三方信任假設,導致安全性受損;追求安全,使用完全輕節點與中繼的方案,則會招致高昂的鏈上嚴重費用。
但是實際上,從制度設計上來看,即使是信任程度最高的無質押MPC方案,其實也在絕大多數情況下保證了跨鏈橋的安全。之所以多個跨鏈橋被盜,反而是因為追求透明將代碼開源,復雜代碼中隱藏的漏洞讓黑客有了可乘之機。
LKVenture認為,隨著技術不斷進步,ZK方案可用性逐漸增強,ZKRollup有望在2023年下半年將投入大規模使用,ZKBridge也方興未艾。希望ZKBridge技術的成熟,能夠打破跨鏈當前面臨的安全-效率兩難困境,讓萬鏈互聯的愿景得以實現。
Tags:IDGDGEBRIDGEBRIsquidgrow幣發行價PledgeBridge NetworkBRIGHT幣
RippleNet前總經理AsheeshBirla發推稱,Coinbase正在從加密貨幣交易所過渡到支持加密貨幣的銀行服務.
1900/1/1 0:00:00據彭博社援引兩位知情人士報道,一個由加密貨幣投資者組成的團隊正在尋求2億美元的資金,以支持一個名為TenSquaredCapital的新公司投資數字資產創業公司.
1900/1/1 0:00:00原文作者:YeZhang原文來源:ScrollCN 編譯:F.F 在最新的ZKPMooc課程中,Scroll的聯合創始人張燁發表了關于zkEVM設計,優化和應用的演講.
1900/1/1 0:00:00作者:Morty,深潮TechFlowMEV是加密世界最重要的議題之一。它是指驗證者通過添加、刪除并更改區塊中的交易順序,在超過標準區塊獎勵和Gas費用的區塊生產中所能提取的最大價值.
1900/1/1 0:00:00Host:Pear|BinaryDAOGuest:FlexYang|FounderofHOPE“在未來復雜的國際變化中,HOPE將成為我們重新連接世界的重要工具.
1900/1/1 0:00:00由ChainCatcher聯合RootData主辦,Blofin、BitouchNews、LapinDigita?參與協辦的“Web3胡志明之夜”交流酒會于當地時間昨日19:30在越南胡志明市順.
1900/1/1 0:00:00