三つの視点で、AOの破壊的イノベーションを理解する
AOは従来の意味でのブロックチェーンではありません。AOの反常識的な設計は、AOを初めて理解する研究者が特定のポイントで混乱する原因となります。特に、研究者が従来のブロックチェーンの構造を用いてAOを定義しようとする場合において:
- 非PoS、非PoW、AOが言う「ホロスコープコンセンサス」とはどのようなコンセンサスメカニズムなのでしょうか?
- ハッシュチェーンもブロックもないAOは、どのようにデータの不変性を保証するのでしょうか?
- 調整の中心がないAOは、どのように全体の状態の一貫性を保証するのでしょうか?
- 冗長計算メカニズムがない場合、誰が計算の信頼性を保証するのでしょうか?計算にエラーがあった場合はどうするのでしょうか?
- 共有の安全性がない場合、プロセス間の相互運用性をどのように保証するのでしょうか?
私は3つの視点から、ブロックチェーンで皆が既に知っている概念を用いて、皆さんが未知から既知へと移行し、AOを感覚的に理解できるようにします。
シャーディングの視点
Ethereum 2.0、Polkadot、Nearなどのパブリックチェーンの教育を受けた皆さんは、「シャーディング」という概念に馴染みがあるはずです。
シャーディングの概念:ブロックチェーンにおいて、シャーディングはネットワークのスケーラビリティを向上させるための解決策であり、ネットワークを複数のシャードに分割し、各シャードが独立してトランザクションを検証・処理し、自身のブロックを生成することで、全体のネットワーク効率を向上させます。シャード内では同期的な相互運用が実現され、シャード間では特定の通信プロトコルを通じて非同期的な相互運用が実現されます。
Polkadotは最も典型的なシャーディングアーキテクチャです。Polkadotでは、各パラレルチェーンが1つのシャードであり、パラレルチェーンは独立して自身のブロックチェーンを収集・パッケージ化し、中継チェーンがランダムに検証者グループを割り当てて検証します。パラレルチェーン間は統一されたXCMメッセージフォーマットを用いて通信し、相互運用を実現します。
AOの極限シャーディング
シャーディングの視点から見ると、AOは極限の「シャーディング」として理解できます:各プロセスは1つのシャードです。もしEthereumの各スマートコントラクトがそれぞれ独立したシャード上で実行されるとしたら、どのようなことになるでしょうか?そう、それがAOです。各プロセスは独立しており、プロセス間の呼び出しはメッセージ駆動で、完全に非同期的に行われます。
モジュール化の視点
しかし、私たちは重要な点に気づきました。Polkadotの設計には「中継チェーン」が存在し、ETH2.0にも「ビーコンサイン」があります。これらの役割は統一されたコンセンサス層として、共有の安全性を提供することです。統一されたコンセンサス層は、すべてのシャードおよびシャード間のメッセージ伝達に対して直接または間接的な検証サービスを提供する責任があります。しかし、AOにはこのコンポーネントがないようです。では、AOのコンセンサス層はどのように設計されているのでしょうか?
AOのコンセンサス層は実際にはArweaveです。モジュール化の視点から理解すると、AOはArweaveのL2として理解できます。ArweaveをL1とするロールアップであり、AOネットワークの運用中に生成されるすべてのメッセージのログはArweaveにアップロードされ、永久に保存されます。つまり、ArweaveにはAOネットワークの運用に関する不変の記録が存在します。では、Arweaveは分散型ストレージプラットフォームであり、あまり計算能力を持たないのに、AOネットワークがアップロードしたデータをどのように検証するのでしょうか?
答えは:Arweaveは検証を行わず、AOネットワーク自体が楽観的な仲裁メカニズムを持っています。ArweaveはAOネットワークがアップロードしたメッセージデータを拒否せず、各メッセージはその発信者のプロセスIDと、それを実行するCU(計算ユニット)の署名を持ち、さらにそれを順序付けるSU(ソートユニット)の署名も持ちます。争いが発生した場合、Arweave上の不変のメッセージ記録に依存し、より多くのノードを引き入れて再計算を行い、正しいフォークを作成し、元の誤ったフォークを放棄し、正しいフォークの中でエラーを起こしたCUまたはSUのデポジットを没収します。ここで注意が必要なのは、MUはプロセスの待機メッセージを収集し、SUに渡すだけで、信頼が不要で、デポジットも必要なく、没収にも関与しないということです。
AOは、ArweaveをL1とする楽観的ロールアップに非常に似ています。ただし、検証の挑戦プロセスはL1ではなく、AOネットワーク自体の中で発生します。
しかし、ここには問題があります。すべてのメッセージがArweaveに収録されるのを待ってから確認することは不可能です。実際、Arweaveの最終的な確定性形成時間は半時間を超えます。したがって、AOは独自のソフトコンセンサス層を持ちます。Ethereumのロールアップが独自のソフトコンセンサス層を持つのと同様に、大多数のトランザクションはL1の確認を待たずにすぐに記録されます。
AOのプロセスは、実際には検証の強度を自主的に決定します。
メッセージの受信者であるプロセスは、Arweaveの確認を待ってからそのメッセージを処理するか、ソフトコンセンサス層の確認後に即座に処理するかを決定する必要があります。ソフトコンセンサス層の確認段階でも、プロセスは柔軟な戦略を取ることができ、単一のCUが確認した後に即処理することも、複数のCUによる冗長確認を行い、交差検証した後に処理することもできます。冗長度もプロセスによって決定されます。
実際のアプリケーションでは、検証の強度はしばしばトランザクションの金額に関連しています。例えば、
小額取引では、迅速な検証戦略を採用し、単点確認後に即処理します。
中程度の額の取引では、具体的な額に応じて異なる冗長度の多点確認後に処理する戦略を採用します。
大額取引では、慎重な検証戦略を採用し、Arweaveネットワークの確認後に処理します。
これがAOが言う「ホロスコープコンセンサス」と「柔軟な検証」のモデルです。「検証可能性」と「検証」行為自体を分離することにより、AOはコンセンサスの問題に対して従来のブロックチェーンとは全く異なるアプローチを取り、メッセージの検証の責任はネットワーク自体にはなく、受信者のプロセス自体、あるいはアプリケーション開発者にあります。
このようなコンセンサスモデルを採用することで、AOは「極限シャーディング」の無中心、無限スケーラブルなモデルを採用することが可能になります。
もちろん、柔軟な検証は異なるプロセスの検証強度に差をもたらし、複雑な相互運用の中で信頼の鎖が断裂する可能性があります。長い呼び出しチェーンの中で個々の部分が失敗すると、全体のトランザクションが失敗またはエラーになる可能性があります。実際、AOのテストネット段階では、このような問題がすでに露呈しています。私は、AOがすべての検証タスクに最低限の検証強度の基準を設定するべきだと考えています。AOの正式ネットワークがどのような新しい設計を持つのか、期待しましょう。
リソースの視点
従来のブロックチェーンシステムでは、リソースは「ブロックスペース」として抽象化されます。ブロックスペースは、ノードが提供するストレージ、計算、伝送リソースの集合体として理解でき、チェーン上のブロックと有機的に結合し、チェーン上のアプリケーションに運用の基盤を提供します。ブロックスペースは有限なリソースであり、従来のブロックチェーンでは、異なるアプリケーションがブロックスペースを争奪し、そのために支払う必要があります。そして、ノードはこの支払いを通じて利益を得ます。
AOにはブロックの概念がなく、したがって「ブロックスペース」の概念もありません。しかし、他のチェーン上のスマートコントラクトと同様に、AO上の各プロセスも運用中にリソースを消費する必要があります。取引や状態データを一時的に保存するためにノードが必要であり、計算タスクを実行するためにノードが計算リソースを消費します。また、発信されたメッセージはMUとSUによってターゲットプロセスに伝送されます。
AOでは、ノードはCU(計算ユニット)、MU(メッセージユニット)、SU(ソートユニット)の3種類に分かれます。CUは計算タスクを担うコアです。MUとSUは通信タスクを担います。プロセスが他のプロセスと相互作用する必要がある場合、メッセージが生成され、出発キューに保存されます。プロセスを実行するCUはそのメッセージに署名し、MUは出発キューからそのメッセージを取り出し、SUに提出します。SUはメッセージにユニークなシリアル番号を付与し、Arweaveに永久保存します。その後、MUはメッセージをターゲットプロセスの到着キューに伝達し、メッセージの配信が完了します。MUはメッセージの収集者および配信者として理解でき、SUはメッセージのソートおよびアップロード者として理解できます。
ストレージリソースについては、AOネットワークのMUは計算に必要な一時データを保存するだけで、計算が完了した後は破棄できます。永久保存を担当するのはArweaveであり、Arweaveは水平にスケールできませんが、そのストレージ性能の上限は非常に高いです。AOネットワークのストレージ需要は、予見可能な未来において、Arweaveの上限に達することはありません。
私たちは、AOネットワークの計算リソース、伝送リソース、ストレージリソースがすべて分離されていることを発見しました。Arweaveが提供する統一ストレージリソースを除けば、計算リソースと伝送リソースはそれぞれ水平にスケールでき、制限はありません。
より多くの高性能なCUノードがネットワークに参加すればするほど、ネットワークはより高い計算能力を持ち、より多くのプロセスを支えることができます。同様に、より多くの高性能なMU、SUノードがネットワークに参加すればするほど、ネットワークの伝送効率は向上します。つまり、AOにおける「ブロックスペース」は継続的に創出される可能性があります。アプリケーションにとっては、オープンマーケットで公共のCU、MU、SUノードサービスを購入することも、自分自身でプライベートノードを運用してアプリケーションにサービスを提供することも可能です。アプリケーションのビジネスが拡大すれば、ノードを拡張して性能を向上させることができます。これはWeb2アプリケーションが行っていることと同様です。これは従来のブロックチェーンでは想像できないことです。
リソースの価格設定の面では、AOは需給に応じて柔軟に調整できるため、リソースの供給は需要に応じてスケールできます。この調整は非常に敏感で、ノードの参加と退出は非常に迅速に行われます。Ethereumを振り返ると、リソース需要が急激に上昇した際、皆は高額なガス代を忍耐する以外に選択肢がないことがわかります。なぜなら、Ethereumはノード数を増やすことで性能を向上させることができないからです。
まとめ
以上のように、私たちは「シャーディング」、「モジュール化」、「ロールアップ」、「ブロックスペース」など、多くの暗号研究者がよく知っている概念を通じて、AOの原理とメカニズムに切り込み、AOがどのように破壊的な革新を通じてほぼ無限のスケーラビリティを実現しているのかを理解する手助けをしました。
さて、最初のいくつかの質問に戻ってみると、あなたはもう理解できたでしょうか?
- 非PoS、非PoW、AOが言う「ホロスコープコンセンサス」とはどのようなコンセンサスメカニズムなのでしょうか?
AOのコンセンサスメカニズムは、実際にはOp Rollupに近い設計です。ハードコンセンサスのレベルではArweaveに依存し、ソフトコンセンサスのレベルでは各プロセスが自主的に検証強度を決定し、冗長計算を行うCUノードの数を決定します。
- ハッシュチェーンもブロックもないAOは、どのようにデータの不変性を保証するのでしょうか?
ArweaveにアップロードされたDAデータは不変であり、AO上のすべての計算および伝送プロセスに検証可能性を提供します。AO自体は単位時間内の処理容量を制限する必要がないため、ブロックを設定する必要はありません。「ハッシュチェーン」と「ブロック」、これらはデータの不変性を保証するための構造であり、Arweaveチェーンには存在します。
- 調整の中心がないAOは、どのように全体の状態の一貫性を保証するのでしょうか?
各プロセスは独立した「シャード」であり、独立して取引と状態を管理し、プロセスはメッセージ駆動の方法で相互作用します。したがって、全体の状態の一貫性は必要ありません。Arweaveの永久保存は、全体の検証可能性と歴史的な回溯能力を提供し、楽観的な挑戦メカニズムと組み合わせて、争議の解決に使用できます。
- 冗長計算メカニズムがない場合、誰が計算の信頼性を保証するのでしょうか?計算にエラーがあった場合はどうするのでしょうか?
AOには全体的に強制される冗長計算メカニズムがなく、各プロセスは受信した各メッセージの信頼性をどのように検証するかを自主的に決定できます。計算にエラーがあった場合は、楽観的な挑戦の形式で発見し、修正することができます。
- 共有の安全性がない場合、プロセス間の相互運用性をどのように保証するのでしょうか?
プロセスは、相互運用する各プロセスの信用を自主的に管理する必要があります。異なる安全レベルのプロセスに対しては、異なるレベルの検証強度を適用できます。呼び出しチェーンが比較的複雑な相互運用の場合、信頼の鎖の断裂による高いエラーコストを避けるために、AOには最低限の検証強度の要件があるかもしれません。