昨天談 Rollup 時留了一條伏筆:Rollup 安全的前提,是壓縮後的交易資料必須「有人拿得到」,而把這批資料丟回以太坊主鏈一直是最貴的一環——即使 EIP-4844 的 blob 已把成本砍掉約九成。今天順著這條線再往下沉一層,問一個更根本的問題:一條區塊鏈,真的需要自己一手包辦「執行、結算、共識、資料可用性」全部四件事嗎?這就是模組化區塊鏈(Modular Blockchain)與資料可用性層(Data Availability, DA)要回答的。

📖 學

單體區塊鏈的瓶頸

以太坊、比特幣這類傳統設計叫「單體區塊鏈(monolithic)」——同一批節點在同一層裡把四件事全做完:執行交易(算出新狀態)、結算(定案與處理爭議)、達成共識(對交易順序取得一致)、以及確保資料可用(讓大家都拿得到交易資料)。好處是簡單、安全邊界清楚;壞處是這四件事互相搶同一塊有限資源,只要其中一項成為瓶頸(通常是資料與頻寬),整條鏈的吞吐量就被卡死。昨天講的三難困境,本質上就是單體架構下「什麼都自己扛」所付出的代價。

模組化的四層分工

模組化的思路很像軟體工程的「關注點分離」:把區塊鏈拆成四個可以各自最佳化、甚至由不同網路承擔的層。

  • 執行層(Execution):實際跑交易、更新狀態。Rollup(Arbitrum、Optimism、zkSync)就是專職的執行層。
  • 結算層(Settlement):驗證證明、處理跨 Rollup 的爭議與最終定案,常由以太坊 L1 擔任。
  • 共識層(Consensus):對「交易的排序」達成一致。
  • 資料可用性層(Data Availability):負責發布並保證交易資料「任何人都拿得到」。 關鍵洞見是:共識與資料可用性,不一定要和執行綁在同一條鏈上。把 DA 這件最吃頻寬的工作獨立出來、專門最佳化,就能大幅降低 Rollup 的發布成本——這正是 Celestia、EigenDA 這類「DA 專用鏈」的立足點。

什麼是資料可用性問題

資料可用性問題問的是一個看似簡單卻致命的問題:當有人宣稱「這個區塊我已經產出了」,我們如何確認「區塊裡的每一筆資料都真的被公開、任何人想要都拿得到」?這件事為什麼重要?因為對 Rollup 來說,只要資料公開,任何人都能自行重建 L2 狀態、驗證證明、甚至在排序者作惡時自力提款退出。反過來,如果一個惡意出塊者只公布區塊標頭、卻藏起部分交易資料(這叫「資料扣留攻擊」),那麼詐欺證明無從產生、使用者也無法確認自己的餘額——鏈看起來在動,實際上已經沒人能驗證。所以 DA 不是把資料「永久儲存」,而是保證在關鍵窗口內「確實被廣播、拿得到」。

DA 抽樣(DAS)的原理

最笨的驗證法是每個節點都下載整個區塊,但這樣區塊一大,能跑節點的人就變少,又回到中心化老路。資料可用性抽樣(Data Availability Sampling, DAS)給出巧妙的解法:讓輕節點只隨機抽查區塊裡少數幾小塊資料,就能高機率確信「整塊都在」。它靠兩個關鍵技術:一是糾刪碼(erasure coding),把原始資料擴展成兩倍,使得只要有超過一半的碎片還在,就能還原出完整區塊;二是隨機抽樣——正因為要藏資料就必須藏掉超過一半的碎片,而只要藏了一半以上,任何一次隨機抽查「抽中缺失塊」的機率都很高。每個輕節點各抽幾次、成千上萬個輕節點合起來抽,就能在數學上把「資料被扣留卻沒被發現」的機率壓到趨近於零。結論很反直覺卻很美:節點越多、每人只做一點點,反而能安全地把區塊做得更大。

Celestia、EigenDA 與以太坊 Danksharding

目前 DA 賽道主要有三條路線:

  • Celestia:第一條「模組化 DA 專用鏈」,它只做排序與資料可用性、不做執行。核心是 DAS 加上「命名空間 Merkle 樹(NMT)」,讓每條 Rollup 只需下載和自己相關的資料。Rollup 把資料發到 Celestia、只把一小段承諾錨定回以太坊,成本遠低於直接塞進 L1。
  • EigenDA:建立在 EigenLayer 的「再質押(restaking)」之上,借用以太坊既有質押者的經濟安全來替外部資料背書。它師法 Danksharding 的設計,目標是把以太坊原生 DA 之外的容量再往上推。
  • 以太坊 Danksharding:以太坊的原生終局方案。EIP-4844(proto-danksharding)先引入 blob 這個臨時資料通道當作起點;完整的 Danksharding 會把 DAS 全面上線,讓每個區塊能容納大量 blob、支撐數百條 Rollup 共用同一套資料層,而驗證者不必下載全部資料。

模組化的優缺點與爭論

模組化的優點是:專業分工帶來更高吞吐與更低成本,Rollup 可以「選購」最划算的 DA,啟動一條新鏈的門檻也大幅降低。但爭論同樣尖銳。以太坊陣營主張:資料只要不是發布在以太坊自己的共識層上,安全性就打了折扣——用外部 DA 的嚴格說是「Validium 式」而非最高安全的 Rollup,多了一層對外部委員會或再質押者的信任假設。模組化陣營則反駁:以太坊原生 DA 短期內容量與成本都跟不上需求,專用 DA 層能立刻把成本壓到極低、把區塊空間做大。此外,把系統拆成多層也帶來新的複雜度——跨層的資料同步、互通與整體安全推理,都比單體更難分析。這場「單體 vs 模組化」的路線之爭,正是當前 L2 與擴容討論的主戰場。

🧠 記

  • 單體 vs 模組化:單體鏈一手包辦執行/結算/共識/資料可用性四件事,彼此搶資源;模組化把它們拆開各自最佳化。
  • DA 是什麼:資料可用性保證交易資料「被公開、任何人拿得到」,是 Rollup 能被驗證、能自力退出的前提。
  • 資料扣留攻擊:惡意出塊者藏起部分資料,鏈看似在動卻無人能驗證——DA 就是要防這件事。
  • DAS 原理:糾刪碼(半數碎片即可還原)+ 隨機抽樣,讓輕節點只抽查幾塊就能高機率確認整塊都在;節點越多、區塊反而能越大。
  • 三大 DA 方案:Celestia(專用 DA 鏈 + NMT)、EigenDA(再質押借用以太坊安全)、以太坊 Danksharding(原生 blob + 全面 DAS)。
  • 核心爭論:模組化換來低成本高吞吐,但外部 DA 多一層信任假設、系統複雜度也更高——這是「單體 vs 模組化」路線之爭。

✍️ 實踐

用瀏覽器實地看一次 DA 到底長什麼樣。 打開 L2Beat(l2beat.com),挑幾條你熟的 L2,看它的「DA」欄位標的是「Ethereum(blobs)」「Celestia」還是「External」,對照昨天學的——資料上 L1 才是最安全的 Rollup,用外部 DA 的多一層信任。接著開 Celestia 區塊瀏覽器(celenium.io 或 celestia 官方 explorer),隨便點一個區塊,觀察它承載了哪些 Rollup 發來的 blob 資料,親眼感受「一條只做資料可用性、不做執行的鏈」是什麼樣子。

畫一張你自己的四層分工圖。 拿紙或白板,把「執行 / 結算 / 共識 / 資料可用性」四層畫成四格,然後試著把 Arbitrum、以太坊 L1、Celestia 各自填進它負責的格子;填不出來的地方,就是你今天還沒真正搞懂的環節,回頭再讀一次對應小節。

🔗 延伸學習

💬 問 AI

把今天的四層架構丟給 AI,請它用你熟悉的領域打比方、並幫你戳破理解盲點:

我正在學模組化區塊鏈,已知它把鏈拆成執行、結算、共識、資料可用性四層。
請你:
1. 用[我熟悉的領域,例如餐廳外送/雲端服務分層]的比喻,解釋這四層各自在做什麼。
2. 具體說明[Celestia / EigenDA / 以太坊 Danksharding]三者在「資料可用性」這件事上的做法差異,以及各自多了哪一層信任假設。
3. 用一個生活化例子解釋「資料可用性抽樣(DAS)」為何「節點越多、區塊反而能做越大」。
4. 最後反問我 3 個問題,檢驗我是否真的理解「資料扣留攻擊」為什麼是 Rollup 的致命威脅。