從點對點的橋,到整個生態系
想像一片群島。在這一階前面的指南裡,你站在兩座島之間,一次架一條繩橋:你學會用鎖定—鑄造把代幣搬過去、繪出撐起每條繩索的信任模型,也讀過那些斷裂者的事後檢討——Ronin、Wormhole、Nomad。接著你從搬硬幣推廣到傳遞任意訊息。每篇指南都停在同一個令人不安的地方:每一條新的兩兩相連的橋,都是一個新的、會壞掉的東西。
這筆算術很殘酷。把 n 條鏈兩兩相連,你可能需要多達 n(n−1)/2 座橋——10 條鏈就是 45 條繩索,每一條都是握著鎖定抵押品的蜜罐。生態系的建造者看著這景象,下了不一樣的賭注:與其讓 n 條鏈各自防守、事後再硬接上橋,不如從一開始就把這些鏈設計成共用同一塊安全地基、同一層原生訊息傳遞。互通與安全因此成為地基的性質,而不是事後補丁。
兩個問題切開了整個設計空間。第一:誰來提供每條鏈的安全——它自己招募驗證者,還是向別人借?第二:每條鏈有多少主權——它能否自訂規則、驗證者集合與升級路徑,還是必須順從一個共用的母體?Cosmos、Polkadot、Rollup 超級鏈與再質押,是四種不同的答案,它們在共享安全與主權之間朝相反方向取捨。把這兩條軸記在腦中;它們是整篇指南的脊樑。
Cosmos:由 IBC 縫合的主權鏈星系
Cosmos 把主權擺在第一位。用 Cosmos SDK 打造的鏈跑的是 Tendermint/CometBFT,完完全全自己作主:自己的驗證者集合、自己的質押代幣、自己的治理、自己的狀態轉換規則。座右銘是「一個應用,一條鏈」。沒有任何上游能強迫你升級,或塞進一筆你不想要的交易。
這些主權鏈透過 IBC(跨鏈通訊協定,Inter-Blockchain Communication)對話。上一篇指南走過了通道握手;這裡真正重要的是它為何是信任最小化的。鏈 B 並不信任某個多重簽章來從鏈 A 轉送——它在自己的狀態機裡跑一個 A 的輕用戶端,並驗證一份 Merkle 證明,確認 A 確實提交了該封包。轉送者只是搬運位元組,無法偽造任何東西。因此一條 IBC 連線的強度,只取決於兩條鏈各自的共識,而且它是無須許可的任意對任意:Cosmos Hub 只是一個方便的路由器,而不是必經的中介。
// Chain B accepts a packet from Chain A. No multisig, no oracle:
// B verifies A's own committed state with a light client.
func recvPacket(packet, proof, proofHeight):
client = clients["chain-A"] // light client of A, run by B
root = client.consensusState[proofHeight] // a header root B already trusts
// Membership proof: A's commitment tree really contains this packet
assert verifyMembership(root, proof,
commitmentPath(packet),
hash(packet.data))
// Only now does B act on it (e.g. mint a voucher token)
runModuleLogic(packet)
writeAck(packet)
// Security = min(consensus of A, consensus of B). A relayer that lies
// simply fails verifyMembership; it can stall, never forge.不過主權有一道鋒利的邊:你必須自行啟動安全。 一條代幣只值 500 萬美元的全新應用鏈,攻擊起來很便宜——買進或租用足夠的質押來控制三分之一的驗證者,你就能讓它停擺;控制三分之二,你就能讓謊言定案。一條鏈的安全由它自己的質押價值所界定,而年輕的代幣很單薄。這就是「一個應用,一條鏈」的陰暗面:啟動難題,以及如影隨形的廉價攻擊風險。
Cosmos 的解法是複製式安全(Interchain Security),於 2023 年隨 Neutron 鏈上線。一條「消費者」鏈不再自行招募,而是租用整個 Cosmos Hub 的驗證者集合:Hub 的驗證者替消費者鏈出塊,若在上面作惡會在 Hub 被罰沒,消費者鏈則付給他們手續費與獎勵。這就是 Cosmos 風格的共享安全——以選配方式接上,而非烤進架構裡。它用一部分主權,換取即時而深厚的安全;後來的設計(網狀與部分集合安全)更讓一條鏈把自己的驗證者與租來的混搭使用。
Polkadot:單一中繼鏈下的集中式共享安全
Polkadot 從相反的預設出發:共享安全是強制的,不是選配的。 正中央坐著一條中繼鏈,為一切提供共識、最終性與安全。各個應用鏈——稱為平行鏈(parachain)——像插卡插進主機板般接上它。一條平行鏈根本沒有自己的驗證者集合。
讓這一切安全的機制如下。中繼鏈有數百名質押 DOT 的驗證者。對每一個平行鏈區塊,會隨機指派其中一小群來背書該區塊——他們依該平行鏈註冊的執行環境(一個 Wasm 狀態轉換函式)重新執行並為它擔保。接著一個更大的隨機集合作為核可檢查者再次驗證,區塊資料則透過抹除碼保持可取回,讓任何人都能提出挑戰。因為指派是隨機的、而整個質押集合都站在它背後,你無法在不同時攻擊整個 Polkadot 的情況下廉價地攻擊單一平行鏈。每條平行鏈都繼承了所有質押 DOT 的完整經濟安全。
平行鏈之間用 XCM(跨共識訊息傳遞)互相溝通。由於中繼鏈已經驗證了兩端,一則 XCM 訊息在構造上就是信任最小化的——中間沒有外部橋。一段 XCM「程式」是一小串指令,由目的端執行:
// XCM: move 1 DOT to an account on the destination parachain,
// paying execution fees out of the same assets. Instructions run top-down.
[
WithdrawAsset([{ id: DOT, amount: 1_000_000_000_000 }]), // 1 DOT (12 dp)
BuyExecution({ fees: { id: DOT, amount: 100_000_000_000 }, // 0.1 DOT for weight
weightLimit: Unlimited }),
DepositAsset({ assets: All,
beneficiary: { parents: 0,
interior: AccountId32(0x9c3a...f1) } })
]
// The relay chain secured both chains, so no lock-and-mint bridge is needed:
// this is native, validated cross-chain execution.代價是主權。一條平行鏈必須順從中繼鏈的驗證節奏,以及數量有限的執行「核心」。過去你得在 DOT 拍賣中標下一個平行鏈插槽(透過鎖定 DOT 的群眾貸款);2024 年 Polkadot 以敏捷核心時間(agile coretime)取代拍賣——你像買雲端運算一樣,批量或按需購買區塊空間。而且你不能隨意換上自己的最終性裝置、或一時興起就分叉出走:中繼鏈的規則就是規則。你得到了銀行金庫等級的安全;你放棄了自己當銀行。
Rollup 超級鏈:眾多 L2 共享以太坊
以太坊原生的版本既沒有 Hub 也沒有中繼鏈——共用的地基就是以太坊本身,扮演結算層。從擴容那一階你已經知道,單一 Rollup 如何向以太坊借安全:它在鏈下執行,但把資料與狀態承諾(外加詐欺或有效性證明)貼回 L1,讓任何人都能重建並挑戰它。一條超級鏈就是許多 Rollup 一起這麼做,共用同一份結算合約、同一座橋、同一套升級框架。
最清楚的例子是 OP Stack 超級鏈:OP Mainnet、Base 等鏈跑著一模一樣的 OP Stack 軟體,共用一座標準橋與一份共享登錄表,並結算到以太坊——並日益以無須許可的詐欺證明來強制正確性。由於它們共用設計,一次安全升級或一套新的詐欺證明系統,就能讓每一條成員鏈同時受惠,而不必各自重新稽核自己量身打造的橋。Polygon 的 AggLayer 推進了一個互補的構想:一座橫跨眾多鏈的統一橋,由悲觀證明(pessimistic proof)支撐,保證任何相連的鏈都不可能提走超過存入它的金額——即使該鏈自己的證明器有錯——從而在中間不需要另設可信橋的情況下,達成近乎即時的跨鏈移動。
在一條超級鏈之內,每條 Rollup 保有執行主權——自己的定序器、手續費代幣,甚至自己的虛擬機——同時透過結算層繼承以太坊的安全。把它和主權 Rollup對比:後者把資料貼到另一個獨立的可得性層、並執行自己的規則,主權更多,但它不繼承以太坊的結算安全,因此一旦狀態起爭議,沒有 L1 可上訴。不過要誠實面對當下的現實:多數超級鏈 Rollup 仍處於「Stage 0/1」——由多重簽章的安全委員會可升級、由單一定序器運行——所以「完整的以太坊安全」有一部分還是願景;而共享定序(由一個定序器替多條鏈排序,以達成原子化的跨 Rollup 動作)也還在萌芽。
再質押:把安全變成可租用的商品
最新的轉折把共享安全變成了一個市場。由 EigenLayer 開創的再質押,從一個簡單的觀察出發:那一大池已經在質押以太坊的 ETH,只做著一件事——保護基礎鏈。再質押讓那同一份質押也能選擇加入保護其他服務,把一份資本基礎重複使用多次。
機制如下:一名持有再質押 ETH 的營運者,選擇加入某個 AVS——一個主動驗證服務,例如資料可得性層、預言機網路、橋,或一條全新的鏈。該 AVS 定義它自己的罰沒條件。若營運者在該 AVS 上作惡,它的再質押 ETH 會依該 AVS 的規則被罰沒。於是一個年輕的服務,第一天就能租用以太坊那龐大安全預算的一小片,而不必從頭啟動全新的驗證者集合與代幣——這正是困擾一條新 Cosmos 鏈的難題,從另一個方向被解掉了。
// Restaking: one stake, reused to secure extra services.
operator.restake(stakedETH) // ETH already securing Ethereum L1
operator.optIn(daLayerAVS) // take on EXTRA duties + EXTRA risk
operator.optIn(oracleAVS)
// Each AVS enforces its OWN slashing logic on the SAME collateral:
if daLayerAVS.provedFault(operator, evidence):
eigenlayer.slash(operator, amount) // burned from the shared restaked ETH
// Upside: a 1-day-old service rents Ethereum-grade security.
// Downside: one stake backs many services -> CORRELATED slashing risk.要清醒地看待其中的危險。由於一份質押撐起多個服務,再質押帶來相關性與連鎖性的罰沒風險:單一個臭蟲,或營運者所加入的多個服務同時出錯,都可能觸發大規模罰沒,並回頭波及以太坊自己的驗證者集合。Vitalik Buterin 在 2023 年警告,別讓以太坊的社群共識去當太多外部責任的後盾,以免「超載」。再質押確實強大——它把安全變成可交易的商品——但商品市場也一併引進了市場式的系統性風險。
主權與安全的光譜(以及模組化的終局)
把這四種設計排在同一條軸上,模式就很清楚。在完全主權的一端,是擁有自己驗證者的 Cosmos 區(zone):對規則與升級握有最大掌控,但你得自己扛啟動難題、並與單薄的安全預算共處。在共享安全的一端,是 Polkadot 平行鏈、OP Stack Rollup 與再質押 AVS:第一天就繼承強大的安全,但你接受了別人的驗證者、節奏或升級金鑰。複製式安全與再質押則是中間地帶,你在那裡按需租用安全。
- 安全預算 vs 你的代幣市值。 如果你自己的質押價值嚇阻不了 51% 攻擊,那麼繼承或租用的安全就不是奢侈品——而是活命所需。
- 你真正需要多少主權。 客製虛擬機、客製手續費代幣,或不可被否決的治理,也許值得你自行啟動;若非如此,就順從並繼承。
- 活性耦合與共享爆炸半徑。 若中繼鏈、共享定序器或再質押服務停擺或被罰沒,你會不會跟著一起停?共享安全也共享故障。
- 退出與遷移成本。 主權鏈能乾淨地分叉出走;綁在核心時間上的平行鏈、或綁在單一結算合約上的 Rollup,無法說走就走。
- 訊息傳遞的信任。 原生輕用戶端的訊息傳遞(IBC、XCM)是信任最小化的;而孤島鏈之間的外部橋,會重新引入這一階你花了整整一階學會去害怕的那種蜜罐。
退一步看,這些就不再像彼此敵對的宗教,而開始像一份菜單。模組化區塊鏈的主張正是如此:別再打造單體鏈,而是分別挑選你的執行、你的結算、你的資料可得性與你的安全來源,依口味搭配。整個這一階的目標——真正的全鏈互通——是一個讓使用者跨越這一切移動價值、呼叫合約,卻完全感覺不到接縫的世界。