Bitroot部落格
返回官網 ↗
© 2026 Bitroot · 本站內容僅供一般參考,不構成財務、投資、法律或稅務建議。
編輯標準返回官網
← 全部文章
平行執行·2026/08/27·約 6 分鐘

平行執行的三條路線:確定性排程、樂觀 OCC 與物件模型

突破單執行緒執行有三條成熟路徑:Sealevel 式確定性預先宣告、Block-STM 式樂觀並行控制,以及 Sui 式物件模型。本文比較各自的假設、開發者代價與和 EVM 相容性的關係。

作者: Bitroot 核心团队 · 编辑标准

單執行緒 EVM 把確定性買得相對便宜:順序固定,重放簡單。一旦目標變成「在可驗證正確性不變的前提下提高執行寬度」,設計者就會撞上同一個岔路口:誰來判斷兩筆交易能不能同時跑——開發者事先宣告,還是執行時再發現?

這個問題決定了平台的程式設計模型、生態遷移成本,以及衝突熱點下的真實吞吐量。產業裡已經走出三條相對清晰的路徑:以 Solana Sealevel 為代表的確定性平行、以 Aptos Block-STM 及多條平行 EVM 為代表的樂觀並行控制(OCC),以及以 Sui 為代表的物件模型。三者都在談「平行」,但假設與代價差得很遠。

確定性平行:依賴寫在交易上

確定性路線要求交易在提交時攜帶完整的讀寫帳戶(或資源)清單,並標明唯讀或可寫。執行環境在執行前即可建圖:無寫入衝突則可平行;同讀可共享;同寫則串列。排程器不必在執行中猜測依賴,衝突關係在入隊時已大致可知。Solana 的 Sealevel 是這條路上最常被引用的工程樣本,並與其帳戶模型、執行環境的儲存設計綁在一起。

優點是可預測:接受交易後,執行路徑較少出現「跑到一半才發現衝突、再整筆作廢」的浪費。代價則落在開發者與工具鏈上。簡單轉帳的宣告成本低;分支複雜、存取路徑取決於執行時條件的程式,要嘛過度宣告(縮小平行度),要嘛漏宣告(交易失敗)。對經典 EVM 而言,儲存槽的存取往往由合約內部條件決定,位元組碼本身並不攜帶 Sealevel 式的帳戶清單。若強行要求預先宣告,位元組碼層級的相容性會立刻破裂——合約與稽核的假設都得重寫。

預先宣告也不能消滅應用層的熱點。DEX 池、借貸清算、熱門鑄造仍會把寫集集中到少數帳戶,衝突鏈變長,平行度被狀態設計而不是排程器卡住。確定性路線解決的是「排程階段知不知道依賴」,不是「狀態有沒有被拆散」。工作負載如何製造熱點,需要另文討論;這裡先記下:引擎再聰明,也救不了所有人都搶同一個儲存槽的合約結構。

樂觀並行控制:預設能平行,錯了再收斂

OCC 路線翻轉了假設:多數交易互不衝突,先平行跑,再驗證讀集是否仍然有效;衝突則中止並按規範順序重新執行,直到結果與某個串列順序等價。軟體事務記憶體(STM)與資料庫 OCC 為這條路提供了理論骨架;Aptos 的 Block-STM 是區塊鏈語境裡被廣泛引用的實作之一——按預設順序樂觀執行,協作式排程在執行過程中發現依賴並安排重跑,力求只回滾真正受影響的交易。

公開資料中出現的高 TPS 數字,通常來自特定基準、硬體與交易類型(例如非平凡的 Move 交易在實驗室或測試環境下的結果),不能直接等同於主網混合負載下的使用者體驗。重要的是機制形狀:正確性依賴「最終與給定順序等價」,效能則依賴「衝突率足夠低或重新執行足夠便宜」。

多條追求 EVM 相容的鏈選擇 OCC,理由高度一致:接收交易時無法靜態得知全部的儲存存取,只有執行才能揭曉。在執行環境中記錄實際讀寫集,衝突的子集再串列收斂,其餘交易則保持平行帶來的收益。Monad、Sei 等專案在工程細節上不同——狀態快照、提交順序、共識與執行是否解耦——但共享「不要求開發者預先宣告」這一相容性前提。

OCC 的核心風險也公開:衝突率飆升時,重新執行會吃掉平行紅利,極端情況下吞吐量可能接近甚至劣於樸素的串列加鎖策略。因此選擇性回滾、執行中偵測、批次劃分與讀寫集粒度,決定了樂觀假設失效時的尾端成本。下一篇會從資料庫視角把 OCC 的讀—驗證—寫三階段講清楚。

物件模型:換資料模型來換平行邊界

第三條路不是「在帳戶模型上打補丁」,而是改動帳本結構。Sui 把資產建模為帶唯一 ID 的物件,並區分歸屬物件與共享物件。歸屬物件的寫者唯一,相關交易可走低延遲路徑,弱化全域排序的需求;共享物件允許多方觸達,必須經共識排序協調寫者。平行度問題被改寫成所有權問題:天生為單一所有者的流轉可大規模平行,真正多方共享的狀態才付全域排序的帳。

這套模型對 NFT、點對點資產轉移友善,但對 AMM 池、全域拍賣等共享物件密集的應用,仍會回到熱點競爭——只是競爭發生在物件粒度,而不是帳戶儲存槽粒度。代價是程式設計範式與語言棧的遷移:Move 與物件所有權的心智模型,和 Solidity 帳戶模型不同。現有的以太坊合約、Foundry/Hardhat 工作流程無法「原樣搬遷」,生態要為平行重新付出學習與稽核成本。

物件模型證明了:執行平行不必然只有「宣告」或「樂觀」兩種排程哲學,還可以從狀態拓撲下手。它也提醒 EVM 相容路線:堅持帳戶與全域狀態,就意味著放棄物件模型換來的一部分結構性平行,必須在執行環境的排程上把功課做滿。

三條路線如何對照

維度確定性(Sealevel 類)樂觀 OCC(Block-STM 類)物件模型(Sui 類)
依賴何時可知提交前宣告執行中/後發現由物件所有權推導
開發者負擔高(存取清單)低(保持原合約寫法)高(新模型/語言)
與經典 EVM 相容難(語意衝突)相對可行需遷移
主要失敗模式過度宣告/漏宣告;熱點仍串列高衝突重新執行風暴共享物件熱點;生態遷移

規律很清楚:若產品硬性約束是「位元組碼層級相容現有以太坊合約與工具」,確定性預先宣告與物件模型都會強迫開發者改寫法或換棧,現實中的選項往往收斂到 OCC。這不是宣稱 OCC 在所有負載下理論最優——確定性與物件路線在各自生態裡都跑出過強勁吞吐——而是承認相容性約束會壓縮設計空間。

對 Bitroot 這類定位為樂觀平行 EVM 的 L1 而言,選擇 OCC 是約束下的收斂,而不是口號。真正的工程問題變成:如何定義讀寫集、如何盡早發現衝突、如何在熱點負載下控制重新執行的範圍。那些問題建立在 OCC 的資料庫直覺之上,也建立在對工作負載熱點的誠實評估之上。

延伸閱讀

區塊鏈擴容地圖:L1 平行、L2、分片與 DA 各自解決什麼前置閱讀樂觀並行控制(OCC)入門:從資料庫到鏈上執行下一篇Bitroot 平行化 EVM 技術解析:樂觀平行化相關閱讀衝突熱點與工作負載:平行 EVM 何時真的變快相關閱讀
← 上一篇區塊鏈擴容地圖:L1 平行、L2、分片與 DA 各自解決什麼下一篇 →樂觀並行控制(OCC)入門:從資料庫到鏈上執行
本文目錄
確定性平行:依賴寫在交易上樂觀並行控制:預設能平行,錯了再收斂物件模型:換資料模型來換平行邊界三條路線如何對照延伸閱讀
閱讀設定