LK Venture研報:ZK Bridge能否成就「跨鏈大戰終局」?

作者:Cynic;來源: LK Venture Research

如今,以太坊佔據著區塊鏈行業基礎設施的半壁江山,但是其主網的統治地位正在被許多後來者挑戰。行業普遍的共識之一是,未來或將是多鏈共存的格局,跨鏈甚至全鏈則是多鏈生態中最關鍵的一環。

然而,如今連接各區塊鍊網絡的跨鏈橋安全問題頻發,跨鏈生態似乎岌岌可危。 ZK Bridge(使用ZK零知識證明技術的跨鏈橋)的出現,將有效解決當前跨鏈方案的多種缺陷,讓萬鏈互聯成為可能。

Heimdallr守衛彩虹橋配圖

圖片來源: Klugh, Maria Tales from the Far North (Chicago, IL: A. Flanagan Company, 1909)

在北歐神話中,海姆達爾(Heimdallr)是一個神秘且重要的神祇,負責守衛連接神域(Asgard)與人間世界(Midgard)的彩虹橋——比弗洛斯特(Bifröst)。如果我們把連接不同神域和人間世界的彩虹橋比作跨鏈橋,那麼,零知識證明技術能否肩負起守衛跨鏈安全的重任,成就彩虹橋上萬夫莫開的“海姆達爾“神話?

本文為LK venture投研團隊對ZK Bridge賽道進行的全方位解析,力求展望零知識證明技術在解決跨鏈安全性和高性能瓶頸問題的發展空間。

什麼是ZK Bridge? ZK Bridge是使用零知識證明技術的跨鏈橋,具有零信任、無許可、可拓展、高效率的特性。

為什麼需要ZK Bridge?當前跨鏈橋的中心化問題和信任假設導致安全性不足,漏洞頻出造成嚴重損失;而重視安全性的跨鏈橋,則效率低下,成本較高。 ZK Bridge可以同時保有安全性、去中心化和高效率。

如何實現ZK Bridge?基於ZK-SNARK的輕節點方案

相關項目介紹:Succinct Labs, zkIBC by Electron Labs, zkBridge by BerkleyRDI。

什麼是跨鏈橋?

跨鏈橋(Cross-chain Bridge)是一個允許在不同區塊鍊網絡之間實現價值和信息傳輸的技術解決方案。通過利用一系列加密和協議技術,跨鏈橋實現了資產和數據的安全、可驗證和無需信任的轉移,進而促進了區塊鍊網絡之間的互操作性。

一般來說,我們會把跨鏈橋分為直接的資產跨鏈橋和更具備通用性的消息跨鏈橋。

為什麼跨鏈橋會成為眾矢之的?

跨鏈橋作為一個中心化的巨額資金池,天然會吸引黑客——攻擊成功的收益是巨大的。此外,由於不同鏈之間的安全假設可能存在差異,資產跨鏈的代碼更為複雜,代碼審計也無法找出所有漏洞,也就為有著巨大激勵驅動的黑客以可乘之機。

具體的攻擊方案可以分為以下幾種:

1. 中心化攻擊:部分跨鏈橋依賴於中心化的中繼器或驗證器來傳輸和驗證交易。這種設計可能會導致單點故障,攻擊者可以通過攻擊這些中心化組件來破壞整個跨鏈系統。

2. 經濟激勵攻擊:跨鏈橋通常需要設置合適的經濟激勵來確保驗證器和中繼器的誠實行為。然而,設計合適的激勵機制並不容易,激勵不足或激勵設計失衡可能會導致惡意行為或串謀攻擊。

3. 雙花攻擊:在某些情況下,攻擊者可能會嘗試在源鍊和目標鏈上同時花費同一筆資產,從而導致資產的雙花。跨鏈橋需要設計有效的防範措施來防止雙花攻擊。

4. 重放攻擊:攻擊者可能會嘗試在目標鏈上重放已經在源鏈上發生的交易,從而試圖獲取不正當利益。跨鏈橋需要實現一定的交易驗證和防重放機制來防止此類攻擊。

5. 鏈下協調攻擊:跨鏈橋的一些實現依賴於鏈下協調,如狀態通道或側鏈。攻擊者可能會通過對鏈下協調環節進行干擾或攻擊,來破壞跨鏈橋的正常運作。

6. 鏈間共識攻擊:由於跨鏈橋涉及多個區塊鍊網絡,每個網絡可能採用不同的共識算法。攻擊者可能會利用鏈間共識的弱點來發起攻擊,例如,在一個鏈上實施51%攻擊以影響跨鏈橋的正確性。

當前主流跨鏈橋方案一覽

There are no solutions. There are only trade-offs.

沒有解決方案。只有權衡利弊。

——Thomas Sowell

托馬斯·索維爾(芝加哥經濟學派代表人物之一)

跨鏈最核心的問題就是如何驗證另一條鏈的消息是可靠的。針對該問題產生了不同解決方案,包含不同程度的信任假設。

hg9JPjGLN3iJnmQULRTE2pEpwFEFguXZ6KhXCpSk.png

跨鏈橋的信任圖譜

ZoKvHSj98D8UApy6hJUhhQhp1o2tbAeyMVAW9HsF.png

目前主流跨鏈解決方案技術參數對比

輕節點加中繼,其實是最早出現的跨鏈解決方案,代表項目要數BTC Relay,目的在於用比特幣進行支付去使用以太坊的服務。然而,由於要進行大量的鏈上計算與存儲,運行鏈上輕客戶端的代價昂貴。而且由於不同鏈間共識算法和簽名算法等的異構,導致跨鏈方案不可擴展,需要為每對特定的兩條鏈專門實現light client & relay。

迄今為止,只有Cosmos應用鏈上的IBC實現了大規模的鏈上輕客戶端,其成功之道在於Cosmos的應用鏈的標準化程度極高,每個應用鏈都需要運行Tendermint共識,並遵守IBC標準。在一個擁有不同共識機制、簽名方案和虛擬機的多鏈世界中,鏈上輕客戶端驗證是難以實現的。

當前主流跨鏈項目為了避免高昂的鏈上輕節點成本,將驗證過程移至鏈下,同時也帶來不同程度的信任假設和潛在欺詐風險,LK Venture投研團隊根據信任程度從高到低,對部分重點方案進行介紹。

跨鏈解決方案1:無質押多簽

典型項目有Multichain、Wormhole、Ronin Bridge。這些都要求多重簽名MPC實現,需要實體驗證交易,並驗證(即簽名)其有效性。通過閾值後(往往是2/3),交易就被認為是已驗證的。

在該方案中,各實體需要運行全節點來進行驗證。當然,無抵押導致撒謊沒有實際成本,但不誠實導致的聲譽受損可能會導致更大的潛在成本,所以驗證節點往往與固定的鏈下身份關聯,以此來增加節點的作惡成本。

Multichain的消息驗證由SMPC網絡保障,SMPC 網絡由24 個節點組成,超過2/3 節點簽名的消息被認為通過驗證,SMPC 節點成員不需要質押,且相對固定,AnyCall 的安全建立在對SMPC 節點的信任假設基礎上。

Wormhole 的信任層採用PoA 機制構建,由一組受信任的Guardians(守護者))負責鏈間消息的驗證,Guardians 是特定的具有資本背書和聲譽背書的主體。目前,Wormhole 中的Guardians 有19 個,其中包括FTX、Everstake 和Chorus One 等知名大公司。

跨鏈解決方案2:預言機與中繼

典型項目有LayerZero,通過將消息及消息證明傳遞和驗證Relayer 傳遞交易兩者做分割,確保跨鏈過程的安全。

LayerZero 的核心設計思想在於Oracle (預言機)和Relayer(中繼者)的分離,在LayerZero 中,Relayer 負責傳遞消息及消息證明,Oracle 負責根據消息所在區塊,按需從源鏈獲取區塊頭,然後目標鏈上的終端根據Oracle 獲取的區塊頭驗證Relayer 傳遞的交易。只要二者不串通,就可以保證跨鏈的安全。

需要注意,儘管Layerzero 將其技術方案稱為超輕節點(Ultra Light Node),但方案與Light Client有本質上的不同。 LayerZero 通過Oracle 提供的區塊頭來驗證Relayer 提供的交易證明,驗證過程在目標鏈的終端發生,屬於原生驗證,但是對區塊頭本身的驗證卻是由作為外部驗證人的第三方Oracle 網絡來完成的,驗證過程發生在鏈下。

跨鏈解決方案3:有質押多簽

在MPC的基礎上增加了一層權益證明,典型項目有Celer, Axelar, deBridge, Hyperlane, Thorchain。

如果作惡,驗證者的質押將被大幅削減,在經濟上實際增加了驗證者的欺騙成本。

PoS 橋要面對的一個問題是驗證者的不均衡性,為了緩解該問題,Axelar 採用了二次方投票的方案,簽名權重將與驗證人質押的$AXS 數量的平方根成正比;Hyperlane 則採用“可驗證欺詐證明”方案,驗證人聯合作惡將立即被發現並執行Slash;pNetwork 和Bool Network 則直接要求所有節點質押相同數額的Token。

跨鏈解決方案4:樂觀驗證(optimistic validation)

運用了博弈論知識,通過用戶間的博弈場景提高用戶作惡風險,典型項目有Nomad, Synapse。

樂觀驗證的基本邏輯是:在外部驗證的基礎上,設置一批挑戰者和一個挑戰窗口期,對不正確的驗證進行挑戰,驗證者需要抵押,當其行為不當時,挑戰者將提出挑戰,並提供欺詐證明。若挑戰成功,驗證者的抵押金將成為挑戰者的賞金。

Nomad項目設置的挑戰窗口期是30分鐘。對於樂觀驗證方案,只需要至少有一個挑戰者是誠實的,而且有經濟激勵去進行挑戰。這相比外部驗證而言,是更小的信任假設,在這樣的信任假設下,攻擊者無論付出多大的經濟代價,都不能保證攻擊一定成功。

原本跨鏈方案到此就結束了,但ZKP零知識證明技術的發展,為跨鏈橋的安全和效率兩難困境帶來了新的解決方案。

什麼是ZK Bridge?

ZK Bridge是使用零知識證明技術的跨鏈橋,不引入信任假設,適配多種同構/異構鏈,鏈下生成零知識證明,鏈上只負責驗證,大大降低鏈上計算和存儲成本,具有零信任、無許可、可拓展、高效率的特性。

我們先對輕客戶端的原理做一個基本概述。輕客戶端,也稱輕節點,在鏈上往往以輕智能合約的形式呈現。輕客戶端跨鏈的基本原理是在目標鏈部署源鏈的輕節點合約,對源鏈來的消息進行驗證。如果要實現雙向跨鏈,就需要在兩條鏈上互相部署對方鏈的輕節點合約。

相比全節點,輕節點是輕量化的節點,它不存儲完整區塊的序列,而僅存儲區塊頭的序列。儘管區塊頭體積很小,但它包含了對區塊中完整數據的密碼學概括。當輕節點需要知道某個交易是否被包含在鏈中時,可以通過該交易所在區塊的區塊頭及該交易的Merkle 路徑,對該交易執行 SPV 驗證。

下圖中,綠色方塊的合集,就是藍色方塊的默克爾路徑。

AlZbmMvDWpqCmlOe5vqNDfgjDwHiko9A9QATzagI.png

為了維護目標鏈上部署的源鏈輕節點,需要由鏈下代理將源鏈的區塊頭不斷同步到目標鏈。輕節點合約對負責同步區塊頭的鏈下代理並沒有信任假設。因為輕節點合約會對其同步的區塊頭執行驗證,鏈下代理無法欺騙輕節點。

輕節點驗證區塊頭的邏輯,與全節點、礦工節點別無二致,分為有效性驗證和最終性驗證兩部分。

LK Venture 投研團隊認為,對於PoW 鏈來說,有效性驗證主要是指驗證區塊的工作量證明,最終性驗證則是看該區塊頭後面有沒有更多的有效區塊被追加(在BTC 鏈中,一般認為6 個區塊的追加可以確認一個區塊的最終性,在以太坊中,則一般認為25 個區塊的追加可以確認一個區塊的最終性)。

對於PoS 鏈而言,有效性驗證是指驗證該區塊是否由被隨機選中的出塊人生成,最終性驗證則是看該區塊是否被2/3 以上投票權重的驗證人簽名。但PoS 的輕節點並不需要驗證有效性,只需要驗證最終性。因為PoS鏈中,最終的區塊一定有效,PoW鏈則未必。

ZK Bridge的實現,與輕節點加中繼的方案流程相同,只是略有變化。 ZK Bridge中,依然需要鏈下的中繼者監聽源鏈,將源鏈的區塊信息轉發到目標鏈。但是轉發的不僅是區塊頭,還有使用ZK-SNARK算法生成的有效性證明。而在目標鏈上,輕節點也不是通過直接根據區塊頭進行計算去驗證交易的有效性,而是根據有效性證明在鏈上驗證,減輕計算負擔。

lzZK6IoTtMm8nUMqWfLVCsrbRmVb0RAQXGi99zgL.png

ZK Bridge的實現技術路徑

為什麼ZK Bridge有望終結跨鏈大戰?

在目前以完成部署投入使用的跨鏈橋中,有多個項目都曾經遭受過嚴重的安全攻擊,被盜金額非常巨大,在當時造成大規模的恐慌,時至今日大家仍對各大跨鏈橋的安全性抱有懷疑態度。人們愈發需要一個安全、零信任、去中心化的跨鏈橋,為未來的全鏈生態打下堅實基礎。

nGSib232fqkUHvwJ0jqt0MXt4AueQMfvKXvKCIXv.png

2022年度部分跨鏈協議損失資金及追回資金統計

圖片來源: DeFiyield (https://defiyield.info/)

在LK Venture 投研團隊看來,ZK Bridge為跨鏈橋的安全和效率難以兼顧的困境帶來了新的解決方案,即通過在鏈下生成對區塊頭的零知識證明,源鏈區塊頭的正確性由ZK-SNARK算法生成的證明去驗證,因此沒有增加任何外部的信任假設,唯一信任的是數學。

而且,零知識證明在鏈上的驗證過程較原有的輕節點驗證方案,將顯著降低計算和存儲成本。

ZK Bridge部分項目介紹

Succinct by Succinct Labs

Gnosis Chain Omnibridge是Ethereum與Gnosis之間的跨鏈橋,使用的是MPC的主流方案。 Gnosis團隊成員希望能夠探索不依賴中心化實體的跨鏈設計,Succinct Labs和Gnosis團隊就此展開合作,Gnosis DAO提供grant用於R&D。

以太坊的驗證過程主要包括以下內容的驗證:區塊頭的Merkle證明;同步委員會中驗證者的Merkle證明;正確輪換同步委員會的BLS簽名等。這裡的核心思想是使用zk-SNARK(Groth16)生成大小恆定的有效性證明,可以在Gnosis上進行高效的鏈上驗證。

dhuvC0Rpw1E7EdyFLQADRKec9WuX84A7voAyIhND.png

Succinct跨鏈解決方案圖解

圖片來源: Succinct官網(https://www.succinct.xyz/)

Succinct Labs的跨鏈方案能夠在任意兩條Ethereum兼容的PoS鏈間傳遞任意消息。當前實現了Ethereum與Gnosis之間的跨鏈Demo,Ethereum上部署了bridge deposit合約,允許用戶儲蓄。 bridge deposit會傳遞消息給arbitrary message bridge (AMB),AMB在合約中存儲該消息。 Operator負責獲取同步委員會的證明,為有效的BLS簽名驗證生成SNARK證明,並向Gnosis鏈輕客戶端提交更新。

在Gnosis Chain上,存款交易所在的以太坊區塊被確認(通常2 epochs,約12分鐘),並且輕客戶端已經更新到高度大於或等於該塊的區塊後,Relayer會自動向Gnosis AMB提交一個executeMessage交易。 executeMessage交易包含針對輕客戶端已更新的插槽的Merkle存儲證明。在executeMessage期間,AMB使用輕客戶端獲取所請求插槽的以太坊狀態根,並驗證Merkle存儲證明,以顯示消息已在AMB的另一側上send。然後,AMB使用消息中指定的calldata調用接收智能合約。

出於技術棧成熟程度和鏈上驗證開銷的考慮,團隊選擇使用當前最成熟的Circom語言和鏈上驗證最便宜的Groth16證明系統來生成ZK-SNARKs,而沒有使用更新更快的PLONK + KZG or FRI。

值得注意的是,該項目雖然上了測試網,但是可用性較差。經作者測試,Goerli測試網的Succincts token經過bridge數量減少,但是Gnosis網絡未收到token,同時網站上的dashboard沒有bridge記錄顯示。而且需要注意現在的跨鍊是單向的。只能從Goerli到Gnosis,而不能反過來。

zkBridge by BerkleyRDI

zkBridge通過ZK-SNARKs證明遠程區塊鏈的區塊頭的正確性,因此不會引入任何外部信任假設。事實上,只要連接的區塊鍊和基礎輕客戶端協議是安全的,並且區塊頭中繼網絡中存在至少一個誠實的節點,zkBridge就是安全的。當然,值得注意的是,雖然至少一個誠實節點就能保證安全性,但是不誠實節點過多會顯著降低跨鏈橋的可用性,light client會頻繁拒絕傳來的proof,而無法獲取真實信息。

HOIN2q9I48XzwEes5z8tGqkpJ4370zx60LtjTgMG.png

zkBridge跨鏈解決方案圖解

圖片來源: https://rdi.berkeley.edu/zkp/zkBridge/zkBridge.html

具體來說,zkBridge主要由區塊頭中繼網絡Block Header Relay Network和更新者合約Updater Contract組成。在區塊頭中繼網絡中,中繼從發送者區塊鏈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 在以太坊上實現了一個Cosmos Client 的實例,據測試,可以在2 分鐘內生成一個Cosmos Zone 區塊頭的ZK-SNARK 證明,然後在以太坊端,驗證費用是小時230k gas的常量,對比來看,如果不用ZK-SNARK 證明,這個費用將是64 Million Gas 。

需要注意,中繼網絡計算將遭受與MPC相同的通信複雜性,這將嚴重影響證明時間。 GKR多層求和檢查協議的通信複雜度為O(N log2(簽名數量)),其中N台機器在中繼網絡中。即使對於32個簽名的情況,中繼網絡中有32台機器,也可能導致網絡中大量順序通信,損害分佈式計算帶來的性能。

zkIBC by Electron Labs

具體而言,zkIBC希望模擬Cosmos主權鏈使用的無信任通信協議——Inter Blockchain Communication Protocol (IBC),並將使用拓展到Ethereum。 zkIBC使用ZK-SNARKs進行輕客戶端狀態驗證,快速證明Ethereum上交易,跟上Tendermint共識鏈的出塊時間。

主要的難點在於在Cosmos SDK中使用的Tendermint輕客戶端運行在Ed25519曲線上,而以太坊區塊鏈不支持該曲線,在以太坊的BN254曲線上驗證Ed25519簽名昂貴和低效。

項目路線圖分為五個階段:調研-ed25519簽名證明的實現-測試網-遞歸Snark實現減少冗餘-主網。 2023年2月2日,Positron testnet正式面向公眾上線,支持Near和Ethereum之間的跨鏈。當前的測試網需要等待約20-30分鐘才能實現最終性,其中包括Goerli網絡最終性(15-20分鐘)、ZK-Proof生成(5-8分鐘)、Near鏈上鑄造(10-20秒)。

該項目宣稱完全開源,經過測試,跨鏈過程使用流暢,UI/UX設計良好,且支持雙向跨鏈。

思考

區塊鏈技術發展到一定階段,通常會演化成為關於取捨的哲學。在公鏈中,有著安全-可拓展-去中心化的三難困境;而在跨鏈中,可能也存在著安全-效率的兩難困境:追求效率,則會引入第三方信任假設,導致安全性受損;追求安全,使用完全輕節點與中繼的方案,則會招致高昂的鏈上嚴重費用。

但是實際上,從制度設計上來看,即使是信任程度最高的無質押MPC方案,其實也在絕大多數情況下保證了跨鏈橋的安全。之所以多個跨鏈橋被盜,反而是因為追求透明將代碼開源,複雜代碼中隱藏的漏洞讓黑客有了可乘之機。

LK Venture認為,隨著技術不斷進步,ZK方案可用性逐漸增強,ZK Rollup有望在2023年下半年將投入大規模使用,ZK Bridge也方興未艾。希望ZK Bridge技術的成熟,能夠打破跨鏈當前面臨的安全-效率兩難困境,讓萬鏈互聯的願景得以實現。

關於LK Venture:

藍港互動(08267.HK) 旗下聚焦Web3領域的加密投資與研究機構,前身為共識實驗室(Consensus Lab),側重投資市場前沿的基礎設施、交易平台、技術協議和金融工具,曾投資FTX、Polkadot、Filecoin、Casperlabs、Coin98等來自北美、亞洲、歐洲等國家地區的百餘個項目。

參考資料:

1. zkBridge: Trustless Cross-chain Bridges Made Practical(https://rdi.berkeley.edu/zkp/zkBridge/zkBridge.html)

2. Bridging the Multichain Universe with Zero Knowledge Proofs(https://medium.com/@ingonyama/bridging-the-multichain-universe-with-zero-knowledge-proofs-6157464fbc86)

3. Exploring ZK Bridges(https://zkvalidator.com/exploring-zk-bridges/)

4. Overall Comaprison Between Multiple Blockchains(https://dune.com/springzhang/cross-blockchain-comparison-overview)

免責聲明:

本文介紹的信息及資料均源於公開渠道,本公司對其準確性和完整性不作任何保證。涉及對未來情況的描述或者預測均屬前瞻性陳述,任何建議及觀點僅供參考,不構成對任何人的投資建議或者暗示。本公司可能採取的策略,與讀者根據本文自行推測的策略,可能相同、相反或者毫無關係。

Total
0
Shares
Related Posts