作者| Joey吳說區塊鏈
LayerZero 和Google Cloud 已宣布將Google Cloud 集成為LayerZero 上的新跨鏈預言機選項。在LayerZero 的跨鏈實作中,預言機的角色是驗證訊息是否已經由源鏈處理了跨鏈訊息請求。現在,在LayerZero 上建立的應用程式可以從四個不同的預言機選項中進行選擇,包括Chainlink、Polyhedra 的zkLightClient 以及由Polygon 和Sequoia 管理的預言機。
最新的變化是,Google Cloud 將取代Polygon/Sequoia 管理的預言機,成為LayerZero 跨鏈解決方案的應用程式的預設配置。這是自2022 年3 月以來LayerZero 首次更改預設配置,因此對LayerZero 而言是一次重大變革。此舉也可能對Solana 產生影響,考慮到Google Cloud 僅在幾個月前加入Solana 生態系統,成為驗證者和核心基礎設施提供者。這也引發了有趣的思考,即區塊鏈的跨鏈安全性最終可能需要依賴中心化的網路巨頭,這是一個值得深思的議題。
同時,ZK 跨鏈互通協議Polyhedra 最近剛完成與BNB 二層網路opBNB 的整合。該協議與LayerZero 成為BNB Chain 生態系統催化劑獎(BNB Chain Ecosystem Catalyst Awards)榜單上僅有的兩個跨鏈橋協議。考慮到Multichain 的失敗,目前似乎只有兩種主流跨鏈路線可供選擇:預言機(Oracle)跨鍊和零知識證明(ZK)跨鏈。而LayerZero 和Polyhedra 分別代表了這兩條路的領先者。
LayerZero 本質上利用了輕節點技術原理,設計了超輕節點機制,透過中繼器和預言機將中間的信任環節分成兩部分,從而以更低的成本換取更高的安全性。
輕節點僅保存歷史所有區塊頭,不儲存區塊內的特定交易資訊。多個Merkle Root 的區塊頭足以使用梅克爾樹驗證交易是否真實存在於該區塊中。透過在輕節點上運行驗證,完全排除了公證人等外部角色的干擾,實現了更高度的去中心化,從而提高了安全性。然而,這也意味著跨鏈成本將分攤給跨鏈需求的用戶,可能會變得較高。
超輕節點(Ultra-Light Node,ULN)相對於輕節點,執行與鏈上輕節點相同的驗證,但不會按順序保留所有區塊頭,而是由分散的預言機根據需要串流傳輸。它的優點是不需要依賴輕節點來取得區塊頭資料流。然而,它的代價是缺乏歷史順序資料流,這意味著如果預言機和中繼者同時作惡,就可能透過驗證導致執行惡意訊息,從而降低了一定程度的安全性,但降低了成本。
在這個過程中,中繼器的作用是將跨鏈訊息中的Receipt 和Merkle Proof 所需的路徑資訊傳遞給目標鏈上的智慧合約以進行驗證。 Receipt 包含了交易執行結果、交易哈希和交易事件日誌等資訊。而Oracle 在LayerZero 跨鏈中扮演公證人的角色,它將源鏈上的跨鏈請求所在的Blockhash 和Block Receiptsroot 傳遞到目標鏈上。 Blockhash 用於告知目標鏈上的智慧合約哪個區塊包含了用戶的跨鏈請求,而Block Receiptsroot 則用於驗證中繼器傳遞的訊息。因此,出於利益考慮,預言機必須極其可信,因為它的可信度決定了資產的安全性。
如果只有一個預言機,存在極大的風險。為了防範這種情況,LayerZero 實施了任何應用程式都可以自訂預言機來支援其係統的策略。即使有些預言機宕機或作惡,跨鏈工作仍可繼續進行。市場競爭逐漸演化出多種選擇,形成了多對多的選擇格局,各方之間將建立去中心化的相互監督體系。即使某一預言機和某一中繼器合謀,也只會對使用了這兩者的特定應用產生一定影響。
除了安全性因素之外,LayerZero 還具有更強的通用性和極低的協定存取成本,這是一個隱形的優勢。
通用性更強。在目前的跨鏈協議中,包括Cosmos 生態的IBC 協議和Polkadot 生態的XCMP 跨鏈協議,要驗證其他公鏈上的交易,必須在以太坊上部署相應的輕節點。高昂的Gas 成本使得許多EVM 相容鏈(如ETH/BSC/Polygon/L2 等)難以支援IBC 協議,從而限制了IBC 協議的通用性,目前它僅能在相對小眾的Cosmos 生態鏈之間運作。
更低的開發者接入複雜度。從一開始,LayerZero 協議的工作重點就放在了極簡的合約接取設計上,而跨鏈訊息的需求潛力巨大,涵蓋跨鏈借貸、收益聚合和交易等方面。由於易於使用和開發,該協議已經在30 多個鏈上傳遞了數百萬條訊息。
至於ZK 跨鏈技術,它處理了預言機跨鏈的信任問題。透過引入零知識證明技術,ZK 跨鏈不是消除中繼器,而是將中繼器的證明過程交由密碼學來處理,從信任第三方轉變為信任密碼學。這使得可以在鏈下驗證新區塊頭,並將新區塊頭及其有效性證明(Zk Proof)提交到鏈上,鏈上可以直接驗證ZK Proof,等效於驗證新區塊頭。 ZKBridge 採用模組化設計,將驗證智慧合約的程序與核心橋分開。核心橋包括中繼器和更新合約,中繼器接收上一個區塊的區塊頭並驗證其正確性,由更新合約檢查並接受這些證明。應用程式合約由發送方和接收方合約組成,分別部署在兩條鏈上,這些合約與ZKBridge 交互,執行跨鏈操作。
在跨鏈時,區塊頭中繼節點產生零知識證明,證明中繼的區塊頭正確,並將其發送給更新合約。更新合約維護發送方區塊鏈的狀態,並允許接收方合約查詢區塊頭。應用程式合約定義要橋接的資訊。
為此,PolyHedra 開發了一個名為deVirgo 的證明系統,它是Virgo 協定的分散式版本,旨在透過將運算分散在多台機器上來並行化GKR 協定。雖然與Starkware 和Polygon Zero 使用的密碼假設相同,即ZK-SNARK,但其創新之處在於使用分散式方法產生SNARK 證明,即鏈下產生ZK-SNARK 證明的工作分拆成多台機器的平行計算。根據Polyhedra 公佈的測試數據,使用兩個AMD EPYC ™ 7763 CPU 產生以太坊全節點證明並遞歸驗證的時間不到12 秒,遠低於以太坊的區塊時間。
然而,這並不意味著ZKbridge 在性能方面一定優於中繼器跨鏈。即使不考慮Polyhedra 的測試數據,驗證成本仍然是一個值得擔憂的問題。以EVM 為例,驗證一個ZK 證明需要超過500k 的Gas 費,而中繼器驗證一個簽署的Gas 費不到30k,這意味著最終的跨鏈費用可能會非常高。目前,Polyhedra只推出了NFT的跨鏈功能,費用仍在可接受範圍內,但NFT 跨鏈與FT 跨鏈的本質邏輯有所不同,因此Polyhedra 的實際跨鏈成本仍需進一步測試。
此外,Polyhedra 還設計了一個名為paraPlonk 的證明系統,據稱可以加速現有的zkRollup 系統。它透過讓分佈式節點之間傳遞極少量的資料以實現協同驗證工作。然而,我們還未在產品上體驗到這項功能。
在ZK 技術的發展過程中,可能的實現路徑之一是讓ZK 證明成為其中一個預言機選項。使用者可以根據需求選擇不同的預言機,如果涉及較大金額,可以選擇ZK 驗證,如果金額較小,可以選擇像Google Cloud、Chainlink 這樣的預言機。
從產業發展的角度來看,這對於LayerZero 和Polyhedra 等ZK 跨鏈協議以及整個產業都是雙贏的路線。流動性割裂問題已經蔓延到跨鏈領域,如果ZK 證明能夠充當預言機,有望實現現在分散的流動性的大整合。
參考:
https://m.freebuf.com/articles/blockchain-articles/363739.html
https://foresightnews.pro/article/detail/38691
https://www.binance.com/zh-CN/feed/post/889904