技術指南:Supra區塊鏈技術堆棧全解

2024-12-19 16:12:20

摘要

Supra 將多年來的多項創新成果集成到一個強大且高性能的架構中,該架構完全垂直集成了 MultiVM 智能合約支持和原生服務,包括價格預言機、鏈上隨機數、跨鏈通信以及自動化功能。

在此基礎上,該文詳細介紹了 Supra 區塊鏈的端到端交易流程,並展示了如何有效緩解審查風險和最大可提取價值(MEV)攻擊的威脅。

Supra 網絡依托共享安全平臺,提供了一系列廣泛的服務與功能。其中包括創新技術:分布式預言機協議(DORA)、分布式可驗證隨機函數(DVRF)、零區塊延遲的自動化網絡、受 AppChain 啓發的容器架構、多 VM 支持,以及通過並行交易處理優化的區塊執行。此外,Supra 的跨鏈設計——HyperLoop 和 HyperNova——使 Supra 成為全球首個通過智能合約平臺邏輯實現多鏈互聯的“IntraLayer”。

1. 區塊鏈服務的原生完全垂直集成

Supra 致力於通過开創性的研究和卓越的工程能力推動區塊鏈技術變革,目標是構建一款高效的 Layer 1 區塊鏈,全面集成各種區塊鏈相關服務,為個人用戶、機構客戶以及开發者提供一體化解決方案和流暢的使用體驗。

本文中,我們將展示 Supra 技術如何詮釋古希臘哲學家亞裏士多德的名言:“整體大於部分之和。” 秉承完全垂直集成的理念,Supra 提供了一套全面的區塊鏈功能和服務,支持豐富的生態系統开發和多樣化的應用場景。

核心功能概覽

Supra 區塊鏈為 dApp 提供的原生服務(如圖 1 所示)涵蓋以下核心功能:

  • Layer 1 區塊鏈

  • 支持多種資產類型,包括原生代幣、可編程的同質化和非同質化代幣,以及標准化的跨鏈代幣。

  • 智能合約執行環境

  • 提供多種鏈上圖靈完備的智能合約平臺,適用於 DeFi 協議、區塊鏈遊戲、彩票、供應鏈追蹤等各種公共區塊鏈應用。

  • 鏈下數據服務

  • 提供基於需求(拉取式)和流式(推送式)的數據服務,包括加密貨幣價格預言機、外匯匯率、股票指數和天氣數據等。這些數據通過 Supra 的分布式預言機協議(DORA)傳輸,不僅服務於 Supra 區塊鏈,也支持其他區塊鏈網絡。

圖 1 完全垂直集成

  • 推送與拉取式鏈上隨機數服務
    提供流式和按需格式的分布式可驗證隨機函數(dVRF),適用於 Web 2.0 和 Web 3.0 用戶,用於生成和分發隨機數服務。

  • 自動化網絡
    用於根據特定的時間節點、鏈上事件或通過 DORA 提供的鏈下事件安排交易執行。例如,客戶可能會提出請求:“在 2025 年 6 月 1 日,東部標准時間 12: 00 整,如果 ETH 價格高於 4000 美元,則出售我的 DOGE。”

  • 應用專用鏈(AppChain)
    Supra 上的容器提供了 AppChain 的靈活性和自主性,同時部署成本顯著降低,並受益於 Supra 網絡的高性能、共享安全性和統一流動性。

2. IntraLayer:連接 Supra 及其他區塊鏈

盡管 Supra 提供了一系列原生服務,我們深刻認識到多鏈生態的現實和價值。為提升互操作性,我們設計了一種星型拓撲結構(見圖 2),在這一結構中,Supra 的 L1 區塊鏈及其集成服務作為 IntraLayer 網絡的核心,通過我們的互操作性解決方案 HyperLoop 和 HyperNova 連接其他 L1 和 L 2 區塊鏈。

作為一個獨立的 MultiVM 智能合約平臺,Supra 不僅提供自身服務,還致力於在多鏈生態中扮演關鍵角色。這種角色體現在網絡之間或“網絡之內”的價值交換上,通過原生智能合約、自動化功能和預言機服務實現安全、高效的通信。

HyperLoop

基於傳統的多籤名跨鏈協議,HyperLoop 是經過嚴格分析和博弈論驗證的安全解決方案,是業內首個此類創新設計,確保跨鏈交易的可靠性。

HyperNova

作為一種無需信任的互操作性方案,HyperNova 提供跨鏈通信的高度安全性,為多鏈生態中的信息和價值交換奠定了堅實基礎。

通過 HyperLoop 和 HyperNova,Supra 實現了廣泛的鏈間互聯,為用戶和开發者提供了強大的工具,推動了多鏈生態的深度融合與發展。

 

圖 2 Supra’s IntraLayer

連接鏈的安全性不依賴傳統跨鏈或中繼節點的安全假設。在此我們概述了 HyperLoop 和 HyperNova 最適用的具體場景。

  • HyperLoop
    我們發現,HyperLoop 跨鏈解決方案特別適合將 Optimistic Rollup 連接到 Supra,因為它消除了實現最終確定性所需的欺詐證明挑战期。

  • HyperNova
    適用於將任何權益證明(PoS)L1區塊鏈連接到 Supra,因為它通過重新計算 Supra 交互鏈的共識來維護連接鏈的安全性,從而保持L1到L1的安全性。Supra 的L1區塊鏈專門設計用於促進安全高效的跨鏈通信。

我們的計劃包括利用 HyperNova 將比特幣跨鏈到 Supra,同時通過 HyperLoop 實現反向連接。此外,我們正在探索如何在這個環境中實現原子交換,以進一步提升跨鏈互操作性。

以下是由 Supra IntraLayer 技術棧 支持的一些核心功能:

  • DeFi IntraLayer
    作為“平臺之上的平臺”,Supra 封裝了多種主流的 DeFi 協議(例如 AMM)。dApp 开發者可以輕松訪問來自多個區塊鏈的資產和信息,簡化跨鏈开發流程。

  • 跨鏈自動化服務
    我們允許用戶基於多個區塊鏈的事件和數據設置自動化任務,從而極大提升用戶體驗和操作效率。

我們堅信,將多種原生服務完全垂直集成到一個高性能的L1區塊鏈中,與我們打造全球首個跨鏈 IntraLayer 的愿景高度契合。隨着其他區塊鏈對我們服務的需求不斷增長,Supra 網絡的實用性(包括我們的代幣和鏈上資產)將會帶來價值的自然波動,進一步激勵用戶和客戶採用我們的基礎設施。

同時,隨着 IntraLayer 架構在不同生態系統中的廣泛應用,越來越多的开發者將被我們的原生服務和卓越性能所吸引,進而選擇直接在 Supra 區塊鏈上开發和構建應用。這不僅會增強我們的 DeFi 層,包括我們內部开發的協議和第三方協議,也將推動網絡的整體採用率和吸引力。

我們相信,憑借卓越的性能和一站式、多元化的服務,Supra 將為开發者社區帶來下一波 Web 3.0 技術普及浪潮,助力整個生態的快速發展。

3. Supra 的核心——“部落與氏族”節點模型

Supra 的基本哲學是完全垂直集成,在單一平臺上提供幾乎所有與區塊鏈相關的服務。這一方案能確保用戶和开發者獲得統一、流暢的使用體驗。

完全垂直集成 vs 模塊化 Layer 2

Supra 採用的是垂直集成架構,不同於傳統的模塊化 L 2 解決方案:

在 L2 中,核心功能(如共識、執行和數據可用性)分散在獨立網絡中,雖然這種設計被稱為“模塊化優勢”,但卻帶來了不少問題:

  • 延遲增加: 跨網絡通信導致時間延遲;

  • 經濟安全分散: 不同網絡擁有各自的代幣,無法共享安全性;

  • 復雜性高: 整體架構更難維護和協調。

與之相比,Supra 的完全垂直集成設計將所有組件統一到一個區塊鏈中:

  • 共享經濟安全性和統一的代幣經濟;

  • 大幅減少通信延遲,提升系統性能;

  • 統一的激勵機制增強網絡安全;

  • 降低了整體運營成本。

拜佔庭容錯的突破

分布式系統研究表明,在異步或部分同步的網絡中,傳統的拜佔庭容錯(BFT)協議只能容忍最多三分之一的節點為惡意節點。但 Supra 的創新突破將這一容忍度提升至一半,實現了前所未有的安全性和效率。

排序服務與誠信鏈

Supra L1 區塊鏈的核心是排序服務,其共識協議負責交易排序,而交易數據的傳播與排序服務相分離。因此:

  • 區塊只包含交易批次的元數據(如摘要和數據可用性證明),而不包括具體的交易數據;

  • 這使 Supra 區塊鏈的區塊非常小,極大提升了運行效率。

由於排序服務是所有其他服務的核心基礎,我們將 Supra 區塊鏈稱為**“誠信鏈”**。

為什么容忍更多拜佔庭節點很重要?

容忍更多拜佔庭節點的直接優勢在於:

  • 更小的委員會:例如,容忍 50 個惡意節點,傳統方法需要 151 名成員,而 Supra 只需 101 名成員;

  • 降低成本:減少共識節點數量意味着需要補償的節點更少,從而降低用戶費用;

  • 提高執行速度:共識節點數量更少,流程更快,同時仍保持強大的安全性。

圖 3 部落、氏族與家庭

部落、氏族與家庭

這一核心促進了 Supra 區塊鏈上多個服務的高效完全垂直集成。Supra 提出了一種全新的網絡框架,支持在部落、氏族或家庭層面執行各種不同的算法。

如圖 3 所示:

  • 部落(Tribe) 是一個節點委員會,最多容忍三分之一的拜佔庭節點;

  • 氏族(Clan) 是一個節點委員會,最多容忍二分之一的拜佔庭節點;

  • 家庭(Family) 是一個節點委員會,至少需要一個正確節點。

為了實現最佳性能和強大的安全性,我們的網絡架構如下:活躍節點被組織成一個運行共識協議的部落,為排序服務提供支持,並容忍最多三分之一的拜佔庭節點。

我們設計中的一個關鍵點是,整個 Supra 部落並不需要參與交易執行或維護完整的 Supra 狀態。相反,一個更小的子集——稱為“氏族”——即可管理狀態、執行交易、計算區塊的後狀態並籤署狀態承諾。因此,交易數據的傳播最初僅在氏族層面發生,然後再進一步廣播。

這種架構非常適合高效的狀態分片(state sharding),其中不同的氏族管理不同的狀態分片,並可能使用獨立的虛擬機。這種設計提高了可擴展性,允許我們通過增加更多氏族(或分片)來調整吞吐量。因此,除了共識之外的所有協議(如數據傳播、分片執行、預言機服務和分布式隨機數服務)都運行在只需要簡單多數正確節點的小型委員會(氏族)中。

我們通過隨機選擇將節點分配到氏族中,將排序部落和多個服務氏族組織在一起,使這些氏族實際構成了部落的一個分區。共識或全局排序運行在部落上,而各種可驗證的計算服務則在氏族中執行。這種節點的隨機選擇允許我們在氏族層面執行,並為系統引入了概率因素。例如,假設部落由 625 個節點組成,其中最多有 208 個拜佔庭節點。如果將部落分成 5 個氏族,每個氏族 125 個節點,則任一氏族中超過半數(即 62 個)節點為拜佔庭節點的概率約為 35 × 10 ⁻⁶。換句話說,當部落中拜佔庭節點佔 33% 時,出現“壞氏族”的概率僅為百萬分之 35 。在實踐中,這些概率極低。我們將在討論周期和時間段時進一步分析這些概率,並展示它們在實踐中幾乎可以忽略不計。

4. 交易流程

Supra 鏈上交易流程大致如下,具體步驟將在後續章節詳細描述:

圖 4 展示了 Supra 區塊鏈中端到端的交易流程

  • 用戶通過 Supra 的 Starkey 錢包 [ 3 ] 或 dApp 提交交易 ttt。錢包連接到網關 RPC 節點,交易 ttt 被發送至該節點。

  • 網關 RPC 節點根據對交易 ttt 的基本驗證和分類,將其發送到特定批次提議者的主存儲(Primary Bucket),並將交易發送至一些其他批次提議者的次存儲桶(Secondary Bucket)。

  • 批次提議者從主存儲桶中打包交易,並將次存儲桶中超時的交易加入到批次中。有關詳情請參見第 5 節。

  • 批次通過 xRBC 協議傳播到相應的執行氏族節點,必須形成數據可用性仲裁證書(DAQC)後,批次才能被包含到區塊中。這些證書會傳播到整個部落,批次也會傳播到網關 RPC 節點。

  • 部落節點運行 Supra 的 Moonshot 共識協議。區塊提議者通過打包這些 DAQC 及相關批次的元數據來構建區塊。

  • 共識協議對區塊進行排序,從而間接對跨批次的交易進行排序。當區塊被最終確定時,所有運行共識協議的部落節點以及所有氏族的節點都能看到這些區塊。最終確定的區塊也會傳播到網關 RPC 節點。

  • 氏族節點從最終區塊中執行相應批次的交易,並在當前區塊鏈末端更新區塊鏈狀態。隨後,它們計算後狀態、進行默克爾化操作並計算新的默克爾根。注意,不同的氏族會並行執行不同的批次。氏族節點籤署該默克爾根,並將其傳播到整個部落以及網關 RPC 節點。

  • 網關 RPC 節點執行區塊,計算後狀態及其默克爾根,驗證其與接收到的籤名默克爾根一致,並在交易完成後通知錢包。

最終確認性階段

在我們的工作流程中,交易 ttt 經歷以下三個不同的最終性階段,每個階段都為交易在區塊鏈上的狀態提供更強的保證:

  • 預確認階段
    當包含交易 ttt 的批次 bbb 獲得數據可用性仲裁證書(DAQC)時,保證交易 ttt 將被包含在區塊鏈中。在這一階段,雖然交易的包含性得以保證,但其具體位置和執行結果尚未確定。

  • 排序最終性
    當共識協議對包含批次 bbb 的區塊完成最終確認時,交易 ttt 在區塊鏈中的位置變得固定且不可更改,從而確定了其相對於其他交易的執行順序。

  • 執行最終性
    這是最終性階段的終點。氏族節點執行批次 bbb,用交易 ttt 的執行結果更新區塊鏈狀態,創建新狀態的默克爾化版本,籤署生成的默克爾根並廣播以形成狀態承諾。一旦此階段完成,交易的執行結果即為最終且不可逆轉。

Supra L1支持快速的最終性時間。在我們的實驗中,這些不同最終性階段的觀察時間將在第 7 節中報告。

後續章節將詳細展开上述交易流程中的重要步驟。

圖 5 無內存池的分桶方案

5. 無內存池的分桶方案

我們先討論以太坊和 Solana 現有的內存池協議,然後展示 Supra 如何在此基礎上實現改進。

以太坊內存池方案

傳統的以太坊內存池協議流程如下:

  • 客戶端(錢包)向 RPC 節點發送交易,該節點通過 Gossip 協議廣播交易,使其到達所有共識驗證者。

  • 當某個驗證者成為區塊提議者時,會嘗試打包已接收到的交易。

  • 區塊提議者可能嘗試通過不將交易包含在區塊中進行審查,但由於所有共識驗證者都持有這些交易,下一輪成為區塊提議者的驗證者將包含被遺漏或審查的交易。因此,此協議具有抗審查性。

在典型的區塊鏈架構中,客戶端(Web3 錢包)將交易發送到公开的 RPC 節點。RPC 節點隨後通過點對點的 Gossip 協議,將交易傳播到整個 RPC 節點網絡和共識驗證者網絡。這些節點會維護一個稱為“內存池”(mempool)的數據結構,用於暫存由客戶端發送的交易。

接下來,區塊構建者會從內存池中提取交易,將其打包到區塊中,並通過共識協議進行處理。一旦區塊達到最終性,包含的所有交易也會被視為最終確認的交易。

由於比特幣和以太坊的內存池中積壓了大量未處理的交易,平均來看,交易在被區塊構建者選中之前會在內存池中停留較長時間。此外,點對點的 Gossip 協議在傳播交易時也會進一步增加延遲。

Solana 無內存池方案

為減少內存池延遲,Solana 採用了一種無內存池協議,其流程如下:

  • 區塊的生成按照固定的時間表進行,區塊提議者會提前確定。

  • 客戶端(如錢包)將交易發送到 RPC 節點,RPC 節點會為交易附加讀寫訪問信息等輔助數據,並將其發送給即將提議區塊的部分提議者。如果某個提議者錯過了該交易,其他提議者會在之後的區塊中將該交易包含進去。

需要注意的是,Solana 網絡需要 32 個區塊確認才能實現完全最終性。盡管 Solana 在設計上對端到端的延遲進行了優化,但交易重復的問題仍然偶爾發生,可能會導致網絡中斷。與以太坊的內存池協議相比,Solana 採用針對預期區塊提議者的定向通信,這種方法有效減少了交易傳播的延遲。

Supra 無內存池協議方案

與 Solana 類似,Supra 也採用了無內存池協議,但我們通過針對性通信替代了傳統的網絡範圍 Gossip 協議。然而,Supra 的方法在兩個關鍵方面有所不同:

1. 即時最終性

與 Solana 基於時間槽的系統不同,Supra 使用經典的拜佔庭容錯(BFT) PBFT 風格的共識協議,稱為 Moonshot(詳見後文)。在 Moonshot 協議中,當區塊收到提交仲裁證書(QC)後,即可實現即時最終性,無需像 Solana 那樣等待 32 個區塊確認。這大大縮短了交易的最終確認時間,提升了系統性能。

2. 批次元數據存儲

在 Supra 的共識設計中,區塊中不直接包含交易數據,而是存儲交易批次的 DAQC 和元數據(詳見第 6 節)。在我們的無內存池協議中,來自客戶端錢包的交易會被放入由指定批次提議者管理的分桶中,流程如圖 5 所示。

我們的分桶方案特點如下:

1)去重機制
為每筆交易分配一個唯一的主批次提議者,該提議者負責將交易包含到一個批次中。這種單一責任模型天然避免了重復交易被打包進區塊鏈。

2)冗余與抗審查性
為確保交易不會被遺漏,我們引入了次級批次提議者作為備份。如果主批次提議者未能及時包含交易,次級批次提議者會在超時後將該交易納入批次中。

  • 盡管多個次級提議者同時處理交易可能導致重復打包,但 Supra 系統會通過交易的首次出現來保持一致性。

  • 重復的交易會因無效的交易序列號在執行階段被自動中止,不影響鏈上狀態。

3)不可更改的責任記錄
如果次級提議者成功將交易包含進區塊,它將生成一份不可更改的記錄,證明主提議者未履行職責。這份記錄可用於後續的網絡分析,對那些審查交易或導致不必要延遲的批次提提議者進行處罰,確保系統的公平性和可靠性。

無內存池的分桶方案具體流程如下:

  • 每個批次提議者維護兩個分桶:主分桶和次分桶。

  • 對於每筆交易 ttt,根據其唯一且不可預測的標識符(哈希值),系統會將其分配到一個特定的批次提議者家庭(family)。在該家庭中,一個節點被指定為交易 ttt 的主批次提議者,其余節點為次級批次提議者。

  • 當 RPC 節點從錢包或 dApp 前端接收到交易 ttt 時,會根據交易的標識符,將其轉發至對應的批次提議者家庭。主批次提議者將交易 ttt 存儲在其主分桶中,而次級批次提議者則將交易 ttt 存儲在各自的次分桶中。

  • 在構建新批次時,批次提議者必須包含其主分桶中的所有交易。為了防範拜佔庭行為(例如通過從主分桶中排除交易來審查特定交易),次級批次提議者作為備用機制發揮作用。

  • 當批次被最終確定並由批次提議者觀察到後,該提議者會從其主分桶和次分桶中移除已包含在批次中的交易。

  • 此外,每筆交易 ttt 都有一個可配置的超時時間。如果 ttt 在超時之前未被納入最終確定的批次,則其家庭中的次級批次提議者在構建下一批次時,必須從其次分桶中將 ttt 包含進批次中。這一機制確保交易不會被遺漏,並增強了系統的抗審查能力。

圖 6 與現有解決方案的概念性比較

這種雙層設計在高效去重和強大抗審查能力之間達成了巧妙的平衡。此外,當次級批次提議者成功將某筆交易納入批次時,會生成一份不可更改的記錄,證明主提議者未能履行其職責。這份記錄可用於後續分析,並對那些審查交易或造成不必要延遲的批次提議者施加相應懲罰。

6.無內存池架構:實現交易數據傳播與交易排序的高效解耦

我們接下來介紹 Supra 是如何通過部落-氏族架構實現交易數據傳播與交易排序的高效解耦的。

近年來,一些協議(如 Narwhal/Tusk [ 11 ] 和 Bullshark [ 20 ])已經認識到交易數據傳輸的重要性,並採用了一種全新的設計範式,將數據傳輸與交易排序進行解耦。這一設計通過兩個並行運行的子協議分別實現數據傳輸和排序:

  • 在沒有排序需求的情況下,數據傳輸簡化為可靠廣播(RBC),這是分布式系統中一個被廣泛研究的基礎操作。

  • 具體來說,節點通過 RBC 子協議不斷提議並傳播新數據塊;隨後,這些數據塊通過排序子協議被確定並輸出。

這種設計有效地優化了帶寬資源的利用率,使系統吞吐量相比傳統方法有了顯著提升。Supra 也遵循這一原則,解耦了數據傳輸與交易排序。然而,我們觀察到,即使在當前最先進的共識協議中,優化的重心依然主要放在排序子協議上,這其實與系統的實際瓶頸相悖。

例如,Tusk [ 11 ] 和 Bullshark [ 20 ] 的主要優勢是所謂的零消息排序,即在排序階段完全消除通信开銷。但正如我們之前所指出的,通信成本的主要來源並非排序,而是數據傳輸。

圖 6 對比了我們的方法與現有解決方案。我們的目標是在數據傳輸階段降低每個節點的傳輸量,特別是減少任意單個節點的最大傳輸負載。在實際應用中,網絡帶寬往往是系統吞吐量的主要限制因素。因此,通過優化數據傳輸過程,我們可以進一步提升系統整體的性能和效率。

Supra 的 xRBC 協議

我們通過以下創新顯著降低了數據傳輸的通信成本:採用一個由同一節點集運行的獨立排序服務。

在傳統方法中,數據傳輸通常通過可靠廣播(RBC)協議執行。RBC 需要系統中超過 2/3 的誠實節點,以防止廣播者向不同節點發送不同的數據批次(即發送者歧義問題)。

然而,我們發現可以利用獨立的排序服務,將數據傳輸改進為一種放寬的 RBC 操作,稱為 xRBC。在 xRBC 中,僅需要超過 1/2 的誠實節點即可完成數據傳輸,這大幅降低了通信成本。

xRBC 的設計優勢

在 xRBC 中,僅依靠參與節點不足以完全防止發送者歧義。為解決這一問題,排序服務會對廣播者的批次進行認證,確保誠實節點之間的共識,從而消除分歧。盡管排序服務仍需要超多數(超過 2/3 的誠實節點)的保障,但 xRBC 相較於傳統 RBC 在以下方面具有顯著優勢:

  • 更低的通信开銷:通過減少對超多數誠實節點的依賴,降低了協議運行中的通信復雜度。

  • 提升性能:xRBC 的設計能夠更高效地處理數據傳輸,同時保持與傳統 RBC 相當的安全性。

利用氏族分布式數據傳播

由於交易僅在氏族(部落的隨機子委員會)內部執行,交易數據最初只需傳輸到執行該氏族的節點。這大大降低了網絡帶寬負載,相比將數據傳播到整個部落而言更為高效。在每個執行氏族內,我們指定部分節點作為批次提議者,負責從各自的分桶中構建交易批次,並將其傳輸給氏族內的所有節點。

值得一提的是,不同氏族的批次提提議者能夠獨立並行地傳播交易批次,無需同步或等待協議步驟。這種並行的異步傳播機制在推送數據時最大化了網絡帶寬的利用效率。

此外,為了實現狀態同步(以便跨周期進行節點重新分配,詳見第 9 節),交易數據可能會在後續階段進一步傳播到整個部落。這種分階段的數據傳播設計在保證網絡性能的同時,也確保了系統的一致性和靈活性。

圖 7 xRBC protocol

具體流程(圖 7 說明)

  • 批次提議者負責構建交易批次並將其發送到氏族內的所有節點。

  • 當氏族節點接收到有效的批次後,會對批次的數據可用性進行投票,並將投票結果廣播至氏族內的所有節點、部落的其他節點,以及指定的網關 RPC 節點。

  • 一旦簡單多數投票通過,系統會生成一個數據可用性證書(DAQC),確保至少有一個誠實節點擁有完整的交易數據。

  • 如果某個節點缺失部分批次數據,它可以向簡單多數的氏族節點請求數據,而 DAQC 保證了這一請求必定能夠被滿足。

  • 對於超過大小閾值的批次,或者在並非所有氏族節點都擔任批次提議者的情況下,我們引入糾刪編碼(erasure coding),以確保數據在氏族內部的均勻分布,優化帶寬使用效率。

區塊內容與最終性

區塊中僅包含批次證書。當共識協議的驗證者(部落節點)擔任區塊提議者時,會將其接收到的所有批次的 DAQC 打包進區塊中。一旦區塊達到最終性並被驗證者確認,驗證者會將這些已包含的 DAQC 從緩存中移除,因為它們已被記錄在最終確定的區塊中,不再需要保留。

由於區塊只包含批次證書,而不直接存儲交易數據,Supra 區塊鏈實際上是一條極為輕量化的區塊鏈。這種設計大大減少了區塊的大小,提高了數據傳輸效率。

7.共識協議

拜佔庭容錯 (BFT) 共識協議:區塊鏈的核心

BFT 共識協議是區塊鏈的核心組件,負責為區塊提供標准的排序,從而確保區塊內的交易也具有標准順序。我們創新性地設計了一種新型 BFT 共識協議,名為 Moonshot SMR,其靈感來源於經典的實用拜佔庭容錯 (PBFT) 協議,並在此基礎上進行了性能優化。

正如前文所述,共識協議在部落中執行,而交易執行僅限於氏族內。因此,Moonshot 採用了彈性設計,能夠根據實際交易吞吐量需求進行靈活適配。值得注意的是,區塊中不直接包含交易數據,僅包含批次證書,這使得系統更為高效和輕量。

Moonshot 的性能

Moonshot 實現了以下關鍵性能指標:

  • 連續提議延遲(兩次區塊提議之間的最小延遲): 1 個消息延遲 (md)。

  • 提交延遲: 3 md。

  • 批次傳播和數據可用性證書生成的累計延遲: 2 md。

  • 由於區塊每次網絡跳躍(network hop)都會被提議,數據可用性證書需要排隊等待下一個區塊提議,平均排隊延遲為 0.5 md。

因此,系統的整體端到端延遲為 5.5 md。

形式化驗證:確保協議安全性

分布式協議往往具有復雜的行為和無限的狀態空間,這使得證明其正確性變得極具挑战性。而形式化驗證是確保協議安全性的黃金標准,因為它能夠通過數學手段證明協議不存在錯誤。

為此,我們採用微軟的 IvY 驗證器對 Moonshot 共識協議的安全屬性進行了形式化驗證,嚴格證明了其永不分叉的特性,為協議的正確性和安全性提供了數學保障。

實驗評估

我們在谷歌雲平臺 (GCP) 上進行了廣泛評估,將節點均勻分布在五個不同區域:

  • us-east 1-b(南卡羅來納州)

  • us-west 1-a(俄勒岡州)

  • europe-north 1-a(芬蘭哈米納)

  • asia-northeast 1-a(東京)

  • australia-southeast 1-a(悉尼)

實驗設置如下:

  • 客戶端與共識節點共置

  • 每筆交易由 512 字節隨機數據組成,批次大小設為 500 KB

  • 每次實驗運行 180 秒

  • 延遲測量:計算從交易生成到被所有非故障節點提交的平均時間,以確定端到端延遲

  • 吞吐量測量:基於每秒最終確定的交易數量進行評估

我們測試的架構由 300 個節點組成,劃分為 5 個氏族,每個氏族包含 60 個節點(每個 GCP 區域部署 12 個節點)。在這一配置下, 300 節點網絡中某個氏族(60 個節點)因內部不誠實多數而失敗的概率為 0.0107 。

盡管如此,我們的目標不僅是展示該架構的高性能,還希望證明它即使在更大規模的系統中,依然能夠維持高吞吐量和低延遲。

硬件配置:

  • 我們使用了 e 2-standard-32 機器,每臺配備 32 個 vCPU、 128 GB 內存,出口帶寬最高達 16 Gbps。

通過這些實驗,我們驗證了 Supra 架構在性能和擴展性方面的強大能力。

 

 

圖 8 吞吐量與端到端延遲

我們觀察了系統的吞吐量與端到端延遲之間的關系,具體如圖 8 所示:

  • 當吞吐量達到 500, 000 TPS 時,端到端延遲仍保持在 1 秒以內。

  • 在 300, 000 TPS 時,延遲約為 650 毫秒,這一表現已接近我們架構設計的理論極限。

此外,我們測量了**數據可用性證書(DAQC)**的生成時間,約為 160 毫秒。

綜上所述:

  • 交易的預確認延遲約為 160 毫秒;

  • 排序最終性延遲低於 1 秒。

DAG 共識協議

受 DAG(有向無環圖)共識協議 研究的啓發,我們設計了一種全新的 DAG 共識協議,稱為 Sailfish。該協議在不犧牲系統吞吐量的前提下,將提交延遲優化至 1 次可靠廣播 + 1 消息延遲(md),超越了目前最先進的 DAG 共識協議的性能。

此外,我們开發了 Sailfish 的一個變體,將其與 部落-氏族架構 相結合,以進一步提升系統吞吐量。目前,我們正在對這一設計進行廣泛的實驗測試。如果 Sailfish 在大規模網絡環境下的性能表現優於現有的 Moonshot 協議,我們計劃將核心共識協議切換為 Sailfish,以實現更高效的共識流程。

圖 9 Supra 的並行執行方法

8.執行

區塊鏈的當前狀態包含所有資產及其所有權信息,以及所有智能合約的最新數據。執行已最終確定的區塊交易時,需要加載相關的狀態部分,按照區塊內交易的順序更新狀態,並將修改後的狀態持久化存儲。

在現代區塊鏈中,隨着交易處理能力的不斷提高,執行時間已成為交易最終確認端到端延遲中不可忽略的重要因素。這一趨勢在 Solana、Sui、Aptos 和 Monad 等鏈中尤為明顯,它們通過並行化執行有效地縮短了延遲時間。

我們的部落-氏族架構同樣實現了交易的並行執行,但是在網絡層面進行優化。具體來說,交易的執行僅限於氏族內部,不同的氏族分別並行處理各自的交易批次,從而顯著提升了系統的執行效率(見圖 9)。

8.1 並行執行交易

除了在網絡層面實現並行性之外,我們還深入研究了如何通過充分利用單個節點內的多核處理器,高效地並行執行交易。目前文獻和行業中常見的並行執行方法主要分為兩類:

  • 樂觀/推測性執行技術

  • 基於確定性依賴關系的預先確定技術

軟件事務內存(STM)

STM 技術 在傳統計算領域廣泛應用於多核程序的並行執行。Aptos 的 BlockSTM 將 STM 技術引入到區塊鏈交易執行中,其核心思想是:

  • 樂觀地在所有可用的核心上並行執行交易;

  • 隨後驗證交易之間是否存在依賴關系衝突;

  • 若發現衝突,則通過一個協作調度器重新執行衝突的交易。

Supra 創新方案

我們提出了一種創新的 STM 並行執行算法,不同於 Aptos 的 BlockSTM,我們的設計無需調度器即可高效解決衝突。這種方法在性能和架構上與 BlockSTM 具有可比性,目前我們正在對該設計進行深入評估,以驗證其在實際應用中的優勢。

基於訪問規範的並行化

一些區塊鏈通過指定交易的訪問模式實現並行化:

  • Solana 的 Sealevel 要求交易明確聲明需要讀取和寫入的账戶。

  • Sui 要求交易指定讀取和寫入的對象(通過對象標識符),並聲明這些對象是獨佔的還是共享的。

  • Polygon 的方法則不同,區塊提議者使用 BlockSTM 技術執行區塊,預先計算交易之間的依賴關系,並將這些依賴信息包含在區塊中,從而使其他驗證者能夠並行執行互不依賴的交易。

然而,需要注意的是,無論是在交易中顯式聲明訪問模式,還是在區塊中包含依賴信息,都會顯著增加區塊大小。這可能導致帶寬更快飽和,進而限制系統所能達到的最大吞吐量。

借鑑這些方法,我們正在开發一種確定性並行執行算法,通過靜態分析智能合約,在合約部署時自動推導其訪問規範,並將這些規範存儲在區塊鏈狀態中,而無需 RPC 節點或錢包顯式提供訪問模式。這些規範允許我們將最終確定區塊中的线性交易順序優化為部分(放寬的)順序,從而實現獨立交易的並行執行。這種方法不僅減少了對帶寬的佔用,還提升了整體系統的吞吐量和效率。

混合方法

我們認為,通過利用靜態推導的訪問規範改進 STM 算法的混合方法是優化執行技術的最終形式(見圖 9)。我們目前正在對此設計進行全面評估。

8.2 執行順序的公平性

為確保交易排序的公平性,我們設計了一個兩步流程:

  • 初始隨機排序:共識協議首先生成一個交易的初始隨機種子排序。

  • 最終排序:通過基於區塊的 BLS 門限籤名生成的鏈上隨機數協議,推導出最終確定的交易排序,決定交易的實際執行順序。

這一額外的隨機化層能夠有效緩解最大可提取價值(MEV)攻擊,因為批次提議者或區塊提議者既無法預測,也無法操控最終的隨機化交易執行順序。

為應對垃圾交易(Spam)問題,我們引入了局部費用市場。在爭議狀態下,交易的成本將呈指數級增長,從而提高系統的抗幹擾能力,同時確保交易排序的效率和公平性。

8.3 多虛擬機 (Multi-VM)

以太坊引入了 EVM,這是一種圖靈完備的鏈上編程環境,極大地釋放了 dApp 开發的創造力,尤其是為 DeFi 應用提供了強大支持。EVM 借鑑了 Web 2.0 編程語言的經驗,催生了 Solidity。然而,隨着區塊鏈技術的發展,社區逐漸意識到,需要一種專為資產轉移和鏈上資產管理設計的編程語言。因此,Meta 的 Diem 團隊开發了 Move 語言,其後也衍生出 Aptos Move 和 Sui Move 等變體。

Supra 深刻認識到定制化鏈上交易編程語言的重要性,因此選擇 Move 語言 作為我們智能合約平臺的首選,並將在 Move 的支持下推出我們的 L1 區塊鏈。

同時,我們也看到多虛擬機生態系統的巨大潛力。不同虛擬機下的开發者可以相輔相成,共同推動區塊鏈行業的創新與發展。因此,我們設計了一個高效的多虛擬機架構。

基於部落-氏族架構的天然分片特性,每個氏族托管一個狀態分片,而不同的氏族可以托管不同的虛擬機。

在集成 Move 智能合約平臺 後,Supra 將進一步擴展至 以太坊虛擬機(EVM),實現與龐大的以太坊生態系統的兼容性。接下來,我們將集成 Solana 虛擬機(SVM),支持开發者使用 Rust、C 和 C++ 等廣泛應用的編程語言來構建智能合約。

最終,Supra 還將支持 CosmWasm,實現與活躍的 Cosmos 生態系統的無縫連接。

跨虛擬機通信

在多虛擬機環境中,用戶可能在不同虛擬機上擁有多個账戶,並希望實現跨虛擬機資產轉移。此外,Supra 的原生代幣 $SUPRA 必須在所有虛擬機中實現統一管理。為解決這一問題,我們提出了一個簡單高效的三步工作流:

  • 提交跨虛擬機轉移交易
    用戶發起跨虛擬機的資產轉移交易 ttt,該交易由兩部分組成:

  • 源虛擬機的扣款交易 tdt_dtd

  • 目標虛擬機的入账交易 tct_ctc。
    交易 ttt 首先在源虛擬機上執行,完成扣款並觸發相應事件。

  • 事件監控與提交
    從源虛擬機的氏族中隨機選出一個家庭(該家庭至少包含一個誠實節點),這些節點監控扣款事件並負責提交入账交易 tct_ctc。

  • 執行目標虛擬機入账
    目標虛擬機的氏族接收並執行 tct_ctc,完成資產入账,至此跨虛擬機的轉移流程完成。

9. 紀元與周期

在 Supra 的架構中,只有在 紀元(Epoch) 的邊界時,才允許向部落中添加新節點或移除現有節點。紀元的持續時間是可配置的,通常根據區塊數量或實際時間來定義。我們計劃將紀元的時長設置為約一周。在每個紀元期間,部落中的所有節點都會通過運行共識協議來執行排序服務。

如圖 10 所示,一個紀元進一步劃分為多個 周期(Cycle),每個周期的典型持續時間為 約一天。在每個周期中,部落中的節點會通過 Supra 的 VRF(可驗證隨機函數) 被隨機分配到不同的氏族。例如:

  • 在紀元 1 的周期 2 (e 1 c 2),某節點可能擔任 DORA 驗證者的角色;

  • 而在紀元 1 的周期 3 (e 1 c 3),同一節點可能負責執行 EVM 交易的任務。

這種每周期隨機重新分配節點角色的機制顯著提升了系統的安全性,能夠有效防御惡意行為者試圖針對特定角色或功能進行的攻擊。

圖 10 紀元與周

攻擊特定服務(例如服務 SSS)的攻擊者可能會嘗試通過使提供服務 SSS 的氏族的一些節點失效來破壞該服務。

為了應對這一威脅,每個周期都會運行一個分布式密鑰生成(DKG)協議進行氏族重組。我們能夠實現這種頻繁重組,得益於我們在 DKG 領域的創新——开發了一種基於類群(class-group)的高性能 DKG 協議。

壞氏族出現的概率

如第 3 節所述,我們分析了在一個包含 625 個節點的部落中,將其劃分為 5 個氏族(每個氏族 125 個節點)時的安全性影響:

  • 壞氏族的定義:拜佔庭節點佔據某氏族的簡單多數。

  • 壞氏族形成的概率:隨機形成壞氏族的概率約為 百萬分之 35 。

假設每個周期為一天,並且氏族每天通過重組重新分配節點。這意味着即使在最極端的情況下(部落中 33% 的節點由拜佔庭行為者控制),壞氏族的出現概率也極低,預計每 78 年才會發生一次。

這一極低的概率幾乎可以忽略不計,充分證明了我們氏族形成機制在提供強大安全保障方面的可靠性。

10.容器

Supra 容器(Container) 是為开發者社區設計的一項重要功能,其靈感來源於當前流行的 應用鏈(Appchain) 概念。

我們充分認可應用鏈的優勢,尤其是它們在為 dApp 开發者及其社區提供主權能力方面的獨特價值。此外,應用鏈還能夠支持基於應用的商業模式。目前,Layer 2、側鏈、Polkadot 平行鏈、Cosmos 區域鏈(Zones)和 Avalanche 子網(Subnets)是應用鏈領域的領先解決方案。

然而,我們也意識到,這些解決方案在高吞吐量區塊鏈(如 Supra L1)的環境下並不理想。應用鏈通常需要提供以下關鍵功能:

  • 智能合約的受限部署

  • 自定義 Gas 代幣

  • 自定義 Gas 定價

當這些應用鏈托管在次級鏈(如平行鏈、區域鏈、子網等)上時,它們的 Gas 價格不會與對應主鏈(例如 Polkadot 中繼鏈、Cosmos Hub 或 Avalanche C-Chain)的 Gas 價格產生競爭,也不會隨主鏈價格波動。這種本地化的費用市場為用戶提供了一種更加可預測的交易費用體驗,這一特性在實際應用中非常理想。

通過 Supra 容器,我們旨在將這些應用鏈的優勢與高性能 L1 區塊鏈的能力相結合,為开發者和用戶創造更加靈活、穩定的生態環境。

圖 11 容器

Supra 容器(Supra Container)是區塊鏈領域的一種全新概念。我們將其定義為服務於單個或一組相關 dApp 的智能合約集合或捆綁包。通過 Supra 容器,我們對 Supra 的運行時框架進行了優化,為 dApp 开發者提供類似應用鏈(Appchain)的體驗,同時具備以下顯著特點:

  • 自定義 Gas 代幣

  • 自定義 Gas 定價

  • 智能合約的受限部署

這一切都能以極低的成本實現,完全省去了啓動一個全新的次級網絡(例如需要抵押激勵的驗證者網絡)的繁瑣過程。

解決流動性碎片化問題

更重要的是,我們通過支持跨容器方法調用的原子可組合性,克服了應用鏈通常面臨的一個重大問題——流動性碎片化。這一設計確保了容器間的高效交互,同時保留了流動性的集中性。

促進並行執行

在以太坊 EVM 模型中,每個智能合約擁有獨立的存儲空間。將 Supra 容器引入 EVM 模型後,可以將區塊鏈狀態劃分為多個分區:

  • 容器內交易(intra-container transactions) 只訪問目標容器的狀態,而不會影響其他容器的狀態。

  • 這種狀態隔離優化了容器內交易的執行時間,並減少了不同容器間的衝突。

基於這一特性,我們構建了一個簡單而高效的工作共享隊列,用於優化並行執行。通過這一設計,Supra 容器顯著提升了區塊鏈的執行效率,既簡化了开發者體驗,又推動了整個生態系統的性能提升。

11. 結語

Supra 作為一個完全垂直集成的 IntraLayer,其雄心勃勃的愿景歷經多年的嚴謹研究,正在逐步成形。我們在多個頂級學術會議上發表了大量研究成果,例如 IEEE Security & Privacy、網絡與分布式安全研討會(NDSS)、ACM 計算機與通信安全會議(CCS)等。此外,我們還發布了一系列核心組件的白皮書,包括:

  • Moonshot 和 Sailfish 共識協議

  • 分布式預言機協議(DORA)

  • 分布式可驗證隨機函數(DVRF)

  • 高效類群分布式密鑰生成(DKG)

  • Supra 容器

  • HyperLoop

  • HyperNova

此次,Supra 首次全面呈現了我們關於完全垂直集成區塊鏈基礎設施棧的愿景。這一體系結合了多年來开發的衆多創新協議,旨在打造一個極致高性能的全方位一體化區塊鏈。

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。

推薦文章

薩爾瓦多不能定投比特幣了?與IMF達成14億鎂貸款協議,將限制購買BTC

國 際貨幣基金組織(IMF)長期敦促薩爾瓦多政府放棄其比特幣計劃,並表示若政府妥協,將可獲得貸款支...

DaFi Weaver
2 2小時前

一文速覽幣安 Alpha 十個專案亮點與代幣經濟學

2 024 年 12 月 18 日,Binance Alpha 公佈第一、二批專案名單,分別是:...

PANews
2 2小時前

幣安 Alpha 首日上架 10 個新代幣,表現如何?社群認為是 Alpha 嗎

昨 (18)日,幣安交易所 宣布 推出幣安錢包內新平臺 Binance Alpha,幣安共同創辦人...

Arthur Wang
3 2小時前

鮑威爾「打臉」特朗普,BTC 跳水 5% 險守 10 萬關口

撰文:BitpushNews 當地時間周三下午,美聯儲宣布將基准政策利率下調 25 個基點,但暗示...

比推BitpushNews
2 2小時前

Caldera已支持SVM,成為“多虛擬機”Rollup平臺

為 Manta Pacific、Injective、Apechain 和 Kinto 等主要區塊鏈...

星球日報
2 2小時前

24H熱門幣種與要聞 | 美聯儲降息25個基點,並預計2025年將降息兩次(12.19)

24 H 熱門幣種 1、CEX 熱門幣種 CEX 成交額 Top 10 及 24 小時漲跌幅: B...

星球日報
3 2小時前