第3課

Wormhole (W) 的技術架構

本模組解釋了Wormhole的底層架構。您將學習該協議如何通過結合鏈上智能合約和鏈下驗證者及基礎設施來連接多個區塊鏈。在鏈上,系統包括發送消息和記錄事件的核心合約,以供守護者觀察。在鏈下,Wormhole依賴於可驗證的行動批准(VAAs)、一組去中心化的守護者,以及像Spy和Relayers這樣的工具來驗證、簽名和傳遞鏈之間的消息。

鏈上組件

核心合約

核心合約是 Wormhole 協議的基礎鏈上組件。它在每個支持的區塊鏈上部署,負責發送和驗證消息,實現跨鏈通信。當 dApp 或代幣橋與 Wormhole 互動時,通常會通過這個合約發送消息。核心合約作為需要傳輸到另一條鏈上的任何操作的第一接觸點。

當消息在源鏈上發出時,核心合約會記錄該事件,包括消息有效載荷、發出者地址、序列號和一致性級別。然後,這些數據會被守護網絡觀察。重要的是,核心合約是鏈特定的,這意味著在蛹生態系統中的每條鏈都有其自己的合約版本被部署並獨立監控。

核心合約不執行超出訊息發送和驗證的邏輯。其角色是可靠地將事件發布到交易日誌,這些事件可以後續被鏈下組件讀取和驗證。其邏輯的簡單性是故意的——它減少了攻擊面並提高了所有集成鏈的可審計性。

在目的鏈上,核心合約同樣負責接收 VAA 並驗證其簽名。除非 VAA 符合所需的簽名閾值,否則消息無法在目的鏈上執行,通常該閾值是 19 名監護人簽名中的 13 名。這確保了所有鏈之間一致且可驗證的安全模型。

發射器

發射器是指任何調用的智能合約發布訊息 在核心合約上執行功能以生成跨鏈消息。這些可以是特定於應用的合約或其他想要將數據發送到不同區塊鏈的協議級整合。發射器為每條創建的消息分配唯一的序列號,幫助守護者準確地跟踪和驗證每個事件。

每條發送的消息包括三個主要組件:有效載荷(應用程序想要發送的內容)、隨機數(防止重播)和序列號(保持順序)。有效載荷通常是編碼數據,代表要在目標鏈上執行的指令,例如鑄造代幣、更新狀態或執行某項操作。

發射器不處理訊息——它們只是提交訊息。它們的責任在訊息記錄在交易日誌中後結束。之後,訊息依賴於守護者網絡進行驗證、簽名並轉發到目標鏈,在那裡它可以被另一個智能合約執行。

這個模型的一個主要優勢是模組化。只要合約整合了適當的介面並呼叫,任何合約都可以成為發射器。發佈消息 功能正常。這使開發者可以使用 Wormhole 創建自己的消息流,而無需了解或修改核心協議的內部細節。

交易記錄

交易日志是 Wormhole 如何在不需要完全链扫描的情况下实现安全通信的方式。当通过核心合约发布消息时,合约会发出一个日志事件,该事件会被记录在区块链的事件日志中。这些日志可以在链上访问,并作为消息观察的真实来源。

守護者監控這些日誌以確定何時發出有效消息。他們實時解析日誌並提取相關數據(發射者地址、有效負載、隨機數、序列號)。日誌還包括區塊時間戳,可用於強制執行基於時間的政策或順序依賴。

日誌是一種有效的消息檢測機制,因為它們避免了分析整個鏈狀態的需要。相反,Guardian Network 可以監控特定的事件簽名,顯著減少計算開銷。這在擴展到多條高交易吞吐量的鏈時尤其重要。

因為日誌是不可變的,並且由底層鏈的共識進行加密驗證,因此它們提供了一個可靠的消息驗證來源。這使得Wormhole能夠在不同鏈之間保持一致的安全模型,即使這些鏈有不同的虛擬機或共識模型。

鏈外組件

可驗證的行動批准 (VAAs)

可驗證的行動批准(VAA)是 Wormhole 連接區塊鏈事件的核心機制。當訊息在源鏈上發出並被守護者接收後,他們共同簽署一個 VAA,以證明該訊息已被觀察和驗證。VAA 不僅僅是一個簽名——它包括完整的有效負載、時間戳和發送者詳情等元數據,以及證明守護者之間共識的多重簽名方案。

VAA 只有在包含來自超大多數 Guardian 組的簽名時才被視為有效。目前,Wormhole 需要 19 位 Guardian 中的 13 位簽署 VAA。這一門檻平衡了安全性和性能,允許快速的消息傳遞,同時確保抵抗合謀或妥協。如果未達到該門檻,則接收鏈將拒絕該 VAA。

VAA 包含最初發出的精確消息,沒有任何轉換或更改。這種不可變性很重要,因為它允許目的鏈驗證消息與原始鏈上事件的一致性。如果簽名和有效載荷正確,則處理該消息;否則,將被忽略。

使用 Wormhole 的應用程序無需自行管理 VAA 創建過程。這完全由 Guardian Network 處理。然而,整合 Wormhole 的開發人員必須在目的鏈上構建邏輯以驗證 VAA 並執行相應的操作。這可能涉及鑄造代幣、更新狀態或觸發另一個智能合約函數。

守護者

Guardians 是支撐 Wormhole 安全性的去中心化驗證者。目前有 19 個 Guardian 節點,由獨立的基礎設施提供者運營,包括區塊鏈領域中的知名組織。每個 Guardian 監控 Wormhole 生態系統中所有受支持的區塊鏈,觀察 Core Contracts 發出的新消息。

守護者實時觀察每條鏈,解析交易日誌以檢測何時發佈新消息。當這發生時,每位守護者獨立驗證消息的真實性,構建消息有效載荷,並用他們的私鑰簽名。當簽名閾值達到時,這些簽名將被合併成一個VAA。

守護者的角色僅限於觀察和證明——他們不執行任何業務邏輯或處理資金。這種職責的分離使系統更安全,且不容易受到利用。守護者不在各鏈之間運行共識;相反,他們充當一個外部驗證層,提供有關觀察事件的加密保證。

間諜

Spy 是一個輕量級的觀察者過程,負責監聽在 Guardian Network 中廣播的消息。它不參與驗證或簽名,但提供了消息流的完整可見性,包括 VAA、觀察和 Guardian 心跳。開發者和應用可以運行自己的 Spy 實例,以追蹤 Wormhole 活動,而無需成為 Guardian 集合的一部分。

Spy 連接到由 Guardians 使用的點對點八卦網絡,並接收系統中傳輸的消息。這包括已簽名的 VAA 和原始觀察——未確認的消息,尚未達到簽名閾值。它為開發者提供了接近實時的 Wormhole 內部通訊訪問。

Spy 的一個常見使用案例是實時分析儀表板或警報系統,當消息延遲或 Guardians 表現不佳時,會通知操作員。由於 Spy 能夠查看所有 Guardians 的消息,因此它充當了對網絡健康狀態和活動水平的透明窗口。

運行 Spy 不需要特別的權限或憑證。這是一個開源的守護進程,任何人都可以部署。這對於希望監控與其應用程序相關的 Wormhole 消息的 dApp 團隊來說特別有用,而無需依賴第三方中繼器或基礎設施。

中繼器

中繼者是將 VAA 傳送到目的區塊鏈的鏈下代理。雖然任何人都可以技術上中繼一個 VAA(因為它們是公開且可自我驗證的),但 Wormhole 支持結構化中繼者,提供自動化的傳送和監控。這些中繼者確保一旦消息被守護者簽署,它就能準時且可靠地到達目標鏈。

中繼者不參與共識,且不需信任。他們唯一的工作是將簽名的 VAA 提交至目標鏈上的核心合約,該合約將根據簽名驗證來接受或拒絕它。這意味著,即使中繼者出現故障或惡意,也無法更改或偽造消息——VAA 是唯一的真相來源。

在 Wormhole 中有兩種主要的中繼者。標準中繼者處理通用的 VAA 並按原樣提交。這些用於基本的代幣橋接、消息傳遞和協議通信。另一方面,專用中繼者則是為了更複雜的用例而設計,如 Wormhole Connect 或原生代幣轉移,在這些情況下,它們可能會打包消息、優化燃料使用或執行後處理邏輯。

中繼者透過消除手動提交 VAA 的需求來改善用戶體驗。如果沒有他們,用戶將需要從守護者端點下載 VAA,並使用錢包手動傳遞它。通過自動化這一過程,中繼者允許去中心化應用程序提供無縫的跨鏈體驗。

重點

  • 核心合約負責消息的發送和驗證,形成區塊鏈之間鏈上通信的基礎。
  • 發射器通過核心合約發布跨鏈消息,這些消息被記錄在交易日誌中並被守護者觀察。
  • VAAs 是由超過一半的 Guardians 簽署的加密消息,用於驗證和執行目標鏈上的跨鏈操作。
  • 守護者驗證並簽署消息,而間諜則允許任何人觀察消息流而不參與共識。
  • 中繼者將 VAA 傳遞到目的鏈,自動執行並為開發者和應用程序實現無縫集成。
免責聲明
* 投資有風險,入市須謹慎。本課程不作為投資理財建議。
* 本課程由入駐Gate Learn的作者創作,觀點僅代表作者本人,絕不代表Gate Learn讚同其觀點或證實其描述。
目錄
第3課

Wormhole (W) 的技術架構

本模組解釋了Wormhole的底層架構。您將學習該協議如何通過結合鏈上智能合約和鏈下驗證者及基礎設施來連接多個區塊鏈。在鏈上,系統包括發送消息和記錄事件的核心合約,以供守護者觀察。在鏈下,Wormhole依賴於可驗證的行動批准(VAAs)、一組去中心化的守護者,以及像Spy和Relayers這樣的工具來驗證、簽名和傳遞鏈之間的消息。

鏈上組件

核心合約

核心合約是 Wormhole 協議的基礎鏈上組件。它在每個支持的區塊鏈上部署,負責發送和驗證消息,實現跨鏈通信。當 dApp 或代幣橋與 Wormhole 互動時,通常會通過這個合約發送消息。核心合約作為需要傳輸到另一條鏈上的任何操作的第一接觸點。

當消息在源鏈上發出時,核心合約會記錄該事件,包括消息有效載荷、發出者地址、序列號和一致性級別。然後,這些數據會被守護網絡觀察。重要的是,核心合約是鏈特定的,這意味著在蛹生態系統中的每條鏈都有其自己的合約版本被部署並獨立監控。

核心合約不執行超出訊息發送和驗證的邏輯。其角色是可靠地將事件發布到交易日誌,這些事件可以後續被鏈下組件讀取和驗證。其邏輯的簡單性是故意的——它減少了攻擊面並提高了所有集成鏈的可審計性。

在目的鏈上,核心合約同樣負責接收 VAA 並驗證其簽名。除非 VAA 符合所需的簽名閾值,否則消息無法在目的鏈上執行,通常該閾值是 19 名監護人簽名中的 13 名。這確保了所有鏈之間一致且可驗證的安全模型。

發射器

發射器是指任何調用的智能合約發布訊息 在核心合約上執行功能以生成跨鏈消息。這些可以是特定於應用的合約或其他想要將數據發送到不同區塊鏈的協議級整合。發射器為每條創建的消息分配唯一的序列號,幫助守護者準確地跟踪和驗證每個事件。

每條發送的消息包括三個主要組件:有效載荷(應用程序想要發送的內容)、隨機數(防止重播)和序列號(保持順序)。有效載荷通常是編碼數據,代表要在目標鏈上執行的指令,例如鑄造代幣、更新狀態或執行某項操作。

發射器不處理訊息——它們只是提交訊息。它們的責任在訊息記錄在交易日誌中後結束。之後,訊息依賴於守護者網絡進行驗證、簽名並轉發到目標鏈,在那裡它可以被另一個智能合約執行。

這個模型的一個主要優勢是模組化。只要合約整合了適當的介面並呼叫,任何合約都可以成為發射器。發佈消息 功能正常。這使開發者可以使用 Wormhole 創建自己的消息流,而無需了解或修改核心協議的內部細節。

交易記錄

交易日志是 Wormhole 如何在不需要完全链扫描的情况下实现安全通信的方式。当通过核心合约发布消息时,合约会发出一个日志事件,该事件会被记录在区块链的事件日志中。这些日志可以在链上访问,并作为消息观察的真实来源。

守護者監控這些日誌以確定何時發出有效消息。他們實時解析日誌並提取相關數據(發射者地址、有效負載、隨機數、序列號)。日誌還包括區塊時間戳,可用於強制執行基於時間的政策或順序依賴。

日誌是一種有效的消息檢測機制,因為它們避免了分析整個鏈狀態的需要。相反,Guardian Network 可以監控特定的事件簽名,顯著減少計算開銷。這在擴展到多條高交易吞吐量的鏈時尤其重要。

因為日誌是不可變的,並且由底層鏈的共識進行加密驗證,因此它們提供了一個可靠的消息驗證來源。這使得Wormhole能夠在不同鏈之間保持一致的安全模型,即使這些鏈有不同的虛擬機或共識模型。

鏈外組件

可驗證的行動批准 (VAAs)

可驗證的行動批准(VAA)是 Wormhole 連接區塊鏈事件的核心機制。當訊息在源鏈上發出並被守護者接收後,他們共同簽署一個 VAA,以證明該訊息已被觀察和驗證。VAA 不僅僅是一個簽名——它包括完整的有效負載、時間戳和發送者詳情等元數據,以及證明守護者之間共識的多重簽名方案。

VAA 只有在包含來自超大多數 Guardian 組的簽名時才被視為有效。目前,Wormhole 需要 19 位 Guardian 中的 13 位簽署 VAA。這一門檻平衡了安全性和性能,允許快速的消息傳遞,同時確保抵抗合謀或妥協。如果未達到該門檻,則接收鏈將拒絕該 VAA。

VAA 包含最初發出的精確消息,沒有任何轉換或更改。這種不可變性很重要,因為它允許目的鏈驗證消息與原始鏈上事件的一致性。如果簽名和有效載荷正確,則處理該消息;否則,將被忽略。

使用 Wormhole 的應用程序無需自行管理 VAA 創建過程。這完全由 Guardian Network 處理。然而,整合 Wormhole 的開發人員必須在目的鏈上構建邏輯以驗證 VAA 並執行相應的操作。這可能涉及鑄造代幣、更新狀態或觸發另一個智能合約函數。

守護者

Guardians 是支撐 Wormhole 安全性的去中心化驗證者。目前有 19 個 Guardian 節點,由獨立的基礎設施提供者運營,包括區塊鏈領域中的知名組織。每個 Guardian 監控 Wormhole 生態系統中所有受支持的區塊鏈,觀察 Core Contracts 發出的新消息。

守護者實時觀察每條鏈,解析交易日誌以檢測何時發佈新消息。當這發生時,每位守護者獨立驗證消息的真實性,構建消息有效載荷,並用他們的私鑰簽名。當簽名閾值達到時,這些簽名將被合併成一個VAA。

守護者的角色僅限於觀察和證明——他們不執行任何業務邏輯或處理資金。這種職責的分離使系統更安全,且不容易受到利用。守護者不在各鏈之間運行共識;相反,他們充當一個外部驗證層,提供有關觀察事件的加密保證。

間諜

Spy 是一個輕量級的觀察者過程,負責監聽在 Guardian Network 中廣播的消息。它不參與驗證或簽名,但提供了消息流的完整可見性,包括 VAA、觀察和 Guardian 心跳。開發者和應用可以運行自己的 Spy 實例,以追蹤 Wormhole 活動,而無需成為 Guardian 集合的一部分。

Spy 連接到由 Guardians 使用的點對點八卦網絡,並接收系統中傳輸的消息。這包括已簽名的 VAA 和原始觀察——未確認的消息,尚未達到簽名閾值。它為開發者提供了接近實時的 Wormhole 內部通訊訪問。

Spy 的一個常見使用案例是實時分析儀表板或警報系統,當消息延遲或 Guardians 表現不佳時,會通知操作員。由於 Spy 能夠查看所有 Guardians 的消息,因此它充當了對網絡健康狀態和活動水平的透明窗口。

運行 Spy 不需要特別的權限或憑證。這是一個開源的守護進程,任何人都可以部署。這對於希望監控與其應用程序相關的 Wormhole 消息的 dApp 團隊來說特別有用,而無需依賴第三方中繼器或基礎設施。

中繼器

中繼者是將 VAA 傳送到目的區塊鏈的鏈下代理。雖然任何人都可以技術上中繼一個 VAA(因為它們是公開且可自我驗證的),但 Wormhole 支持結構化中繼者,提供自動化的傳送和監控。這些中繼者確保一旦消息被守護者簽署,它就能準時且可靠地到達目標鏈。

中繼者不參與共識,且不需信任。他們唯一的工作是將簽名的 VAA 提交至目標鏈上的核心合約,該合約將根據簽名驗證來接受或拒絕它。這意味著,即使中繼者出現故障或惡意,也無法更改或偽造消息——VAA 是唯一的真相來源。

在 Wormhole 中有兩種主要的中繼者。標準中繼者處理通用的 VAA 並按原樣提交。這些用於基本的代幣橋接、消息傳遞和協議通信。另一方面,專用中繼者則是為了更複雜的用例而設計,如 Wormhole Connect 或原生代幣轉移,在這些情況下,它們可能會打包消息、優化燃料使用或執行後處理邏輯。

中繼者透過消除手動提交 VAA 的需求來改善用戶體驗。如果沒有他們,用戶將需要從守護者端點下載 VAA,並使用錢包手動傳遞它。通過自動化這一過程,中繼者允許去中心化應用程序提供無縫的跨鏈體驗。

重點

  • 核心合約負責消息的發送和驗證,形成區塊鏈之間鏈上通信的基礎。
  • 發射器通過核心合約發布跨鏈消息,這些消息被記錄在交易日誌中並被守護者觀察。
  • VAAs 是由超過一半的 Guardians 簽署的加密消息,用於驗證和執行目標鏈上的跨鏈操作。
  • 守護者驗證並簽署消息,而間諜則允許任何人觀察消息流而不參與共識。
  • 中繼者將 VAA 傳遞到目的鏈,自動執行並為開發者和應用程序實現無縫集成。
免責聲明
* 投資有風險,入市須謹慎。本課程不作為投資理財建議。
* 本課程由入駐Gate Learn的作者創作,觀點僅代表作者本人,絕不代表Gate Learn讚同其觀點或證實其描述。