深入探討Sui Bridge技術架構

Sui Bridge是Sui的原生橋,為Sui資產的跨鏈轉移提供一個最小化信任的途徑。

在過去幾個月中,Sui生態的原生橋Sui Bridge開發取得了重大進展。這項措施不僅提高了Sui對更廣泛社群的可訪問性,也改善了與其他區塊鏈的互通性。

作為Sui生態的關鍵組成部分,Sui Bridge促進了Sui與其他區塊鏈網路之間的資產和資料的安全和高效轉移。這項功能不僅拓寬了在Sui上建立的應用程式的影響範圍,還提供了更深入整合到更廣泛區塊鏈環境的途徑。互通性增加了Sui的成長和採用,使其他網路(如以太坊)的資產能夠安全且輕鬆地遷移到Sui。

🌟 Sui Bridge:

https://bridge.testnet.sui.io

Sui Bridge背景

在區塊鏈生態中,跨鏈橋是一種協議,允許獨立的區塊鏈網路之間進行互動和通訊。跨鏈橋促進了跨鏈資料的轉移,允許使用者將其資產從一個鏈轉移到另一個鏈,甚至進行更複雜的操作如跨鏈訊息傳遞。

在眾多跨鏈橋設計選擇中,Sui Bridge採用了鎖定和鑄造機制,這是最廣泛使用的解決方案之一。作為一種鎖定和鑄造設計,Sui Bridge在以太坊智能合約中持有以太坊原生資產,而在橋接互動的方向上,Sui資產會被鑄造或銷毀。

作為Sui的原生橋,Sui Bridge不需要額外的信任。 Sui Bridge由Sui網路的節點來保障安全,其程式碼已經嵌入Sui框架中。

在其當前狀態下,Sui Bridge在測試網上可用,支援在以太坊Sepolia和Sui測試網之間橋接ETH、WETH、WBTC和USDT等tokens。 Sui Bridge在主線上線後,將優先支持更多的資產。未來版本的Sui Bridge將添加新功能,如自訂跨鏈訊息傳遞和與其他區塊鏈的整合。

進階架構

Sui Bridge有四個關鍵元件:Sui Bridge委員會或節點網路、Sui Bridge智慧合約、運行在以太坊和Sui上的全節點,以及橋接客戶端。

客戶端是使用者與Sui Bridge基礎設施之間的介面。它透過提交格式正確的交易和收集Sui Bridge節點簽章來協調使用者的橋接操作。客戶端使用全節點在橋的兩側提交交易。 Sui Bridge節點也運行以太坊和Sui全節點,以監聽橋接操作並透過以下交易回應這些操作。雖然橋接客戶端是無需許可的,任何人都可以執行,但許多橋接節點會開啟橋接客戶端以確保網路的活躍性。

Sui Bridge使用運行在以太坊和Sui上的基礎設施以及Sui Bridge節點網絡

從以太坊橋接獲Sui時,使用者將資產存入以太坊上的Sui Bridge智能合約。客戶端隨後觀察該交易並協調橋接過程。 Sui Bridge委員會操作以太坊全節點,監聽此類橋接操作以驗證客戶端請求的合法性。

驗證後,透過Sui上的Sui Bridge包為使用者鑄造橋接資產,從而完成橋接操作。由於橋接成本較低,Sui驗證節點目前補貼與Sui上橋接交易相關的gas費,讓客戶端自動執行交易,創造了無縫的橋接體驗。

從Sui橋接到以太坊時,流程類似,只是使用者必須在以太坊上手動提交認領交易。此交易包括Sui Bridge節點的簽章數據,允許以太坊帳戶贖回鎖定在橋接合約中的指定資產。

此外,所有橋接記錄和批准都儲存在鏈上的橋接物件中。這在Sui上是可行的,因為其儲存和gas費用相對低廉。 Sui Bridge合約也處理治理操作,這些操作由Sui Bridge委員會控制。

橋接訊息

為了確保低gas費,Sui Bridge建構的訊息輕量且易於接收鏈解碼。採用了通用訊息格式,以確保每個鏈都能有效率地解碼、驗證訊息和簽名。

Move編碼範例:

public struct BridgeMes​​sage has copy, drop, store { message_type: u8, message_version: u8, seq_num: u64, source_chain: u8, payload: vector }

Solidity編碼範例:

struct Message { uint8 messageType; uint8 version; uint64 nonce; uint8 chainID; bytes payload; }

這些橋接訊息設計簡單且高效,結構極簡,僅包含訊息類型、版本、序號、來源鏈標識符和有效載荷等基本欄位。這種簡化設計減少了複雜性和計算開銷,確保低gas費,同時促進快速可靠的跨鏈通訊。

橋接安全性

確定橋的信任模型是開發跨鏈橋以支援繁榮生態和大規模流動時最重要的設計決策之一。跨鏈橋應既安全又去中心化,在某些橋樑設計中,這些屬性可能相互矛盾,而開發原生橋提供了利用Sui安全性的機會來保護Sui Bridge。

與運行驗證節點以保障Sui安全的節點操作者一樣,他們也管理和維護Sui Bridge運作的基礎設施。 Sui Bridge繼承了一個去中心化的節點操作者網絡,這些操作者非常有能力運作和保護Sui基礎設施。

如上所述,大多數Sui Bridge操作都在Sui上進行,並將Sui視為橋的控制面板。這得歸功於Move中所開發的軟體所繼承的安全性。

橋接委員會

Sui Bridge由保障Sui安全的相同驗證節點集保護。在測試網階段,委員會由部分測試網驗證節點組成。上線主網後,大多數(如果不是全部)活躍的Sui驗證節點將成為橋接委員會的一部分。主網上線後將實施動態管理委員會,以便新的驗證節點加入。只允許Sui驗證節點成為Sui Bridge委員會的一部分,確保繼承其安全假設、屬性和社會共識。

為了保持高安全性並相容於其他區塊鏈網絡,Sui Bridge使用橢圓曲線數位簽章演算法(ECDSA)進行委員會簽署。透過利用ECDSA,Sui Bridge確保無縫互通性和安全性的交易驗證,強化系統的完整性和可信度。

簽名驗證

Sui Bridge使用可恢復的ECDSA簽名,允許直接從簽名中恢復公鑰。這項特性簡化了驗證過程,使我們能夠檢索公鑰並確認簽章的真實性和完整性,而無需事先了解公鑰。

當簽章的總權重達到或超過預定的閾值時,訊息才被視為有效。此閾值機制確保需要足夠數量的認證簽名來驗證訊息,從而增強系統的安全性和可靠性。透過實施這種方法,我們可以防止詐欺活動,確保只有合法交易被處理。

Move編碼範例:

…let mut message_bytes = SUI_MESSAGE_PREFIX;message_bytes.append(message.serialize_message());

let mut threshold = 0;while (i < signature_counts) { let pubkey = ecdsa_k1::secp256k1_ecrecover(&signatures[i]&message_bytes, 0);

// check duplicate // and make sure pub key is part of the committee assert!(!seen_pub_key.contains(&pubkey), EDuplicatedSignature); assert!(self.members.contains(&pubkey), EInvalidSignature);

// get committee signature weight and check pubkey is part of the committee let member = &self.members[&pubkey]; if (!member.blocklisted) { threshold = threshold + member.voting_power; }; seen_pub_key.insert(pubkey); i = i + 1;};…

Solidity編碼範例:

function verifySignatures(bytes[] memory signatures, BridgeUtils.Message memory message) external view override{ uint32 requiredStake = BridgeUtils.requiredStake(message);

uint16 approvalStake; address signer; uint256 bitmap;

// Check validity of each signature and aggregate the approval stake for (uint16 i; i < signatures.length; i++) { bytes memory signature = signatures[i]; // recover the signer from the signature (bytes32 r, bytes32 s, uint8 v) = splitSignature(signature);

(signer,,) = ECDSA.tryRecover(BridgeUtils.computeHash(message), v, r, s);

require(!blocklist[signer]”BridgeCommittee: Signer is blocklisted”); require(committeeStake[signer] > 0, “BridgeCommittee: Signer has no stake”);

uint8 index = committeeIndex[signer]; uint256 mask = 1 << index; require(bitmap & mask == 0, "BridgeCommittee: Duplicate signature provided"); bitmap |= mask;

approvalStake += committeeStake[signer]; }

require(approvalStake >= requiredStake, “BridgeCommittee: Insufficient stake amount”); }

建構互通性

Sui原生橋不僅提供了在區塊鏈網路之間轉移資產的安全高效手段,也為更高級的跨鏈互動奠定了基礎。透過利用其強大的信任模型、整合ECDSA進行安全和可驗證的交易、並採用基於委員會的簽名驗證過程Sui Bridge確保高安全性和可靠性,同時保持靈活性。

Sui bridge架構的可擴展性和靈活性允許未來的擴展和與其他區塊鏈網路的整合。隨著生態的發展,橋將支援更廣泛的資產和功能,如自訂跨鏈訊息傳遞,允許獨特的跨鏈互動。

Sui Bridge代表了Sui互通性領域的重要進步,提供了無縫且高度安全的跨鏈資產轉移解決方案。隨著Sui Bridge在主網上線,使用者可以期待一個越來越強大和多功能的跨鏈橋,滿足當前需求,同時也預見未來的需求。

Total
0
Shares
Related Posts