皆さんは、モジュラ―ブロックチェーンとか、Celestia(セレスティア)といった単語を聞いたことがあるでしょうか?
モジュラ―ブロックチェーンは、新しいブロックチェーンの構造、作り方に関する用語です。
既に多くの方が利用しているOptimism(オプティミズム)やzkSync(ジーケーシンク)などのレイヤー2ブロックチェーンも、ある意味ではモジュラ―ブロックチェーンに属します。
今回の記事では、このモジュラ―ブロックチェーンとは何か、そしてそれを提唱したCelestiaとはどのようなプロジェクトか?ということを解説しようと思います。
モジュラーブロックチェーンとは
モジュラーブロックチェーンとは、一言で言うなら『役割別に分割されたブロックチェーン』と表現できます。
これだけだと理解しにくいとは思いますが、モジュラーブロックチェーンを理解するためにはもう一つのブロックチェーン構造の概念である『モノリシックブロックチェーン』を把握する必要があります。
モノリシックブロックチェーンについては本記事内で解説しているため、一旦読み進めていただければ幸いです。
Celestiaの概要
Celestia(セレスティア)は、モジュラーブロックチェーンにおけるDAレイヤーを担当するブロックチェーンです。
DAレイヤーについては後ほど解説します。
また、Celestiaブロックチェーンを開発している団体も便宜的にCelestiaとなっており、Celestiaの主な発明は以下の2つです:
- モジュラーブロックチェーンの提唱
- DASによる、ライトクライアントのブロック検証能力の獲得
Celestiaを理解するための前提知識
まずは、Celestiaについて理解するために必要な前提知識を紹介しておきましょう。
ブロックチェーンの4つの機能を知る
Celestiaによれば、ブロックチェーンは機能別にレイヤーとして切り分けることができ、それらは以下の4つになります。
ブロックチェーンは以下の4つの機能を必要とする:
- Execution(※実行)は、状態を正しく更新するトランザクションの実行を伴う。したがって、実行は有効なトランザクション、すなわち有効なステートマシン遷移をもたらすトランザクションのみが実行されることを保証しなければならない。
- Settlement (※決済)は、実行レイヤーがプルーフを検証し、不正論争を解決し、他の実行レイヤー間の橋渡しをするための環境を伴う。
- Consensus (※コンセンサス)は、トランザクションの順序に合意する。
- Data Availability (※データ可用性) (DA)は、トランザクションデータを利用可能にする。実行、決済、コンセンサスにはDAが必要だ。
引用元:Celestia公式Docsの記述を筆者にて翻訳、及び(※補足)を記載
既存のL2になぞらえて各機能を説明すると、以下のようになります。
Optimismの場合:
各レイヤー | 構成 |
Execution | Optimismノード(OP-geth)のp2pネットワーク |
Settlement | Ethereum上にデプロイされているOptimismのコントラクト(fraud proof等を行う) |
Consensus | OPのSequencer(シーケンサー)とEthereum |
Data Availability | Ethereum |
特にSettlement LayerとData Availability Layerについては概念として難しい部分が多々あるので、それぞれ以下に詳細を説明していきます。
Settlement Layerについて
Settlement Layer(決済レイヤー)はトランザクションの検証を司るレイヤーであり、Exucution Layerで処理されたトランザクションが正しいのかどうかを確認する領域です。
またSettlement Layerは、証明の検証(zk proofやmarkle proof等)、紛争の解決(Optimistic Rollup)なども行います。
Settlement Layerには以下の機能がある。
- プルーフの検証と紛争解決:ロールアップが外部検証のために証明を公開する場所。これは、インタラクティブな不正証明に依存するOptimistic Rollupにとって特に有用である。
- ブリッジングを促進するハブ:共通のSettlement Layerを経由すれば、ロールアップ同士のブリッジングが可能になる。ハブがあれば、すべてのロールアップが互いにブリッジする必要がなくなる。
- 流動性の源泉:Settlement Layerに存在する流動性は、すべてのロールアップで利用できる。
引用元:Celestia公式Docsの記述を筆者にて翻訳
Data Availabilityとは何か?
Data Availability(DA)とは、ブロックチェーンにおけるデータ(トランザクションやブロック)が正しいかどうか、信用に足るかどうか、使用可能かどうか、を表す性質のことです。
DAの概念は「Data Availability問題」と言われているブロックチェーン上の課題に端を発しています。
これを解決する手法を最初に示したのが、Celestiaの共同創業者であるMustafa Al -Bassam氏です。
Celestia開発チームが提唱したブロックチェーンが抱える課題
Celestiaの開発チームは、ブロックチェーンが抱える課題としてモノリシックブロックチェーンへの依存を挙げています。
以下より詳細を見ていきます。
モノリシック(monolithic)ブロックチェーンとは?
モノリシックブロックチェーンとは、先のブロックチェーンの4つの機能である実行、決済、コンセンサス、DAそれぞれの層が全て単一のチェーンによって作られているブロックチェーンのことです。
具体例としては、EthereumやSolana、Avalanche等のL1ブロックチェーンが挙げられます。
モノリシックなブロックチェーンの弱点
モジュラ―ブロックチェーンと比較した場合、モノリシックブロックチェーンには以下のような弱点があります。
- 高いハードウェア要件:モノリシック・チェーンは処理するトランザクションの数を増やすことができるが、それにはコストがかかります。ここでいうコストとは、チェーンを検証するためのノードのハードウェア要件が高くなることです。
- バリデータのブートストラップ(バリデーターの募集、0から安全な量まで増やす):新しいモノリシック・ブロックチェーンを展開するには、セキュアなバリデータ・セットをブートストラップし、コンセンサス・ネットワークを維持するというメンテナンスが必要になります。
- コントロールの制限:モノリシックブロックチェーン上に展開されるアプリは、デプロイ先のチェーンの決められたルールに従わなければなりません。例えば、プログラミング言語とモデル、フォーク能力、コミュニティ文化などが含まれます。
上記の弱点に対する解決策
先の弱点を克服するために、Celestiaはモジュラーブロックチェーンという概念を提唱しました。
今までとは違い、ブロックチェーンのレイヤーをそれぞれ切り離し、それぞれが独立して、これらを組み合わせて機能するブロックチェーンを組み上げる、という考え方です。
画像引用元:Celestia - Modular and monolithic blockchains
モジュラーブロックチェーンで可能になることとしては、以下の3つが挙げられます。
- Shared Security:新しいブロックチェーンがバリデータ集めをしなくて良くなる。新しいチェーンがシェアードセキュリティ層(Celestiaなど)を使用することで、0から始めるより確実にセキュリティを獲得しやすくなり、チェーン間のセキュリティの差がなくなる
- Scalability:CelestiaがDAに特化するように、それぞれのチェーンが何かに特化し、それらを組み合わせることによって、より高いスケーラビリティが期待できる
- Sovereignity:モジュール型ブロックチェーンなら、アプリケーションのルールをコントロールすることができる。例えば、よりパフォーマンスの高い実行環境(開発言語など)を作ったり、トランザクション処理の仕組みを変更したりすることができる。
Celestiaの特徴
CelestiaのDAレイヤーには、2つの重要な特徴があります。
それが、Data Availability Sampling(DAS)と Namespaced Merkle trees(NMT)です。
以下にこの2つを解説していきます。
Data Availability Sampling(DAS)
Celestiaでは、ライトノード(Ethereumでいうライトクライアント)がブロックの全データをダウンロードしなくてもそのData Availabilityを検証できるメカニズムを持っています。この仕組みをData Availability Sampling(DAS)と言います。
要するに、従来のブロックチェーンのように全データをダウンロード・同期せずとも、ブロックチェーンの情報が正しいことを証明できる仕組みを持っているということです。
公式説明では以下のように説明されています:
データ可用性サンプリング(DAS)は、ライトノードがブロックデータの小部分に対してランダムサンプリングを複数回実施することで機能します。ライト・ノードがブロック・データのサンプリング・ラウンドを重ねるにつれて、データが利用可能であるという確信が高まります。ライトノードが所定の信頼度(たとえば99%)に達すると、そのブロックデータは利用可能であるとみなされます。
引用元:公式Docsの記述を著者にて翻訳
つまりDASを用いることにより、大きなブロックデータのごく小さな部分をランダムに選び正しいか確認するという作業を何度も繰り返すことによって、全データをダウンロードせずに確率的にブロックが正しいことを確認できる、ということです。
Namespaced Merkle Tree(NMT)
Celestiaにおけるトランザクションの認証には、一般的なブロックチェーンでも用いられているマークルツリーが使われています。
ただし、CelestiaはDAレイヤーとして開発されており、複数のExecution LayerがCelestiaを使用する予定です。
しかし、マークルツリーをExecution Layerごとに作るのではブロックサイズが大きくなりすぎます。(例えるならOptimismで1tree、zkSyncで1treeのように作るイメージです)
そのため、Celestiaではマークルツリーの各枝に名前をつけ、自分(Execution Layer)に関係するトランザクションだけを抽出することができるようになっています。
この仕組みをNamespaced Merkle Tree(NMT)と言います。
画像引用元:Celestia公式Docs - Celestia's data availability layer
まとめ
今回は、Celestiaやモジュラーブロックチェーンに関して解説を行いました。
モジュラ―ブロックチェーンは、EthereumのL2技術やApp-chainの動向等にも深く関わってくる概念です。
今後の技術動向をチェックするための前提知識の一つになると思いますので、ぜひ本記事で概要を掴んでいただければ幸いです。
参考文献
Securely Scaling Blockchain Base Layers:https://discovery.ucl.ac.uk/id/eprint/10117245/1/thesis.pdf
Fraud and Data Availability Proofs: Maximising Light Client Security and Scaling Blockchains with Dishonest Majorities:https://arxiv.org/pdf/1809.09044.pdf
Lazy Ledger: A Distributed Data Availability Ledger With Client-Side Smart Contracts:https://arxiv.org/pdf/1905.09274.pdf
公式ドキュメント:https://docs.celestia.org/
ブロックエクスプローラ: https://testnet.mintscan.io/celestia-testnet