6
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

※翻訳元記事: AO message passing explained

image.png

AO アプリケーションを探求している方は、「Message」という用語に遭遇したことがあるでしょう。特にao.linkでトランザクションを確認している際にです。ao.link で Message を詳しく調べることは、単にトランザクションが通ったことを確認しようとしているだけでも、圧倒的に感じられることがあります。

このガイドでは、AO 上の Message が他のブロックチェーンとどう異なるのか、そして AO の並列実行への独特なアプローチがどのように比類のないスケーラビリティと効率性を解放するのかを説明します。

共有メモリとは何か?

多くのブロックチェーンはshared memoryを使用し、すべてのスマートコントラクトが同じメモリ空間にアクセスします。この設計により、コントラクトは直接データを読み書きでき、特定の操作がより簡単になります。しかし、重要な制限が導入されます:lock contentionです。

Lock contention は、複数のユーザーが同時に同じデータにアクセスし、変更しようとする際に発生します。競合を避けるため、Process は順番に処理する必要があります。例えば:

  • Alice がデータをロックし、変更を加え、ロックを解除します。
  • その後でのみ、Bob がデータにアクセスして Modify できます。

このシステムは小規模では機能しますが、ネットワーク使用量が増加するとボトルネックになります。

post image

Lock contention を示すシンプルな図。このブログから引用。

AO の Message passing はどう機能するか?

AO は根本的に異なるアプローチを使用します。共有メモリに依存する代わりに、AO 上のスマートコントラクトは独立した非同期Processとして動作します。

  • 各コントラクトは独立して実行され、Messageを送信することで他と通信します。
  • これらの Message はArweave上に永続的かつ検証可能に保存され、セキュリティと透明性を確保します。

この設計により、Process がアクセスを競合するグローバルメモリ空間の必要性が除去され、lock contention が効果的に排除されます。

このシステムを視覚化するために、以下の図は**unit**を通じてネットワーク上で Message がどのように流れるかを示しています。

post image

AO の Message passing を示す図。AO cookbookから引用。

これらの unit は AO の基盤を形成し、集合的に AO Operating System(aos)を動作させます。技術的な側面に深く入り込まずに、3 つの unit type の概要を示します:

  • Messager Unit (MU): エントリーポイントとして機能し、外部 Message を受信し、Process 間の通信を管理し、Message を Scheduler Unit(SU)に転送します。
  • Scheduler Unit (SU): Message が適切にシーケンスされ、一貫した再生と検証のために Arweave に保存されることを保証します。
  • Compute Unit (CU): 計算を実行し、メモリを管理し、さらなる処理のために MU に結果を返すという重い作業を処理します。

これらの unit は、ネットワーク全体に複数存在でき、連携して aos を効率的かつ安全に実行します。

AO Process のスケール方法

各 AO Process は単一の CPU スレッドの速度で動作します。Process が忙しくなりすぎた場合、ワークロードを処理するために複数の Process に分割でき、これはhorizontal scalingと呼ばれる方法です。

例えば、Bazar に精通しているユーザーは、それが Universal Content Marketplace(UCM)プロトコル上で実行されることを知っています。AO テストネット中、UCM Process は高いトラフィックを経験し、時々パフォーマンスが低下しました。これを解決するため、UCM はサブオーダーブックに水平スケールされており、販売用にリストされたすべてのアトミックアセットが独自の UCM Process を持つことになります。

このスケーラビリティにより、AO は速度を落とすことなく増加したトラフィックと複雑さを処理できます。

トレードオフ

Message passing の主なトレードオフは、共有グローバルメモリへの瞬時アクセスがないことです。代わりに、Process は他の Process から Message を送受信することで情報を「要求」する必要があります。

これにより追加の複雑さが導入されますが、AO 開発者はこれらの相互作用を効率的でシームレスにするために懸命に働いています。AO テストネット段階での主要な焦点は、インフラと開発者体験の改善でした。これらの進歩により、コンシューマーアプリ開発者がアプリケーションのユーザー体験を向上させることができました。急速に成長する Permaweb エコシステムはこちらで探索できます。

Bazar やその他のユーザー向けアプリケーションの開発を続ける中で、可能な限りシームレスなユーザー体験の作成を目指しています。これには、ユーザーが不必要な摩擦なしにプラットフォームを楽しめるよう「配線を隠す」ことが含まれます。

結論

AO の Message passing アプローチは、shared memory システムのボトルネックを排除します。単一の実行スレッドへのアクセスを競合する代わりに、Process は非同期で並行して通信します。

これがすべて複雑に聞こえるなら、あなたは一人ではありません。率直に言って、これらはシステムが機能し分散化を維持する限り、ほとんどのユーザーが気にしない技術的複雑さです。だからこそ、複雑さを抽象化し続け、ユーザーフレンドリーでありながら分散化を妥協しないプラットフォームを構築することが不可欠です。

この投稿は、Arweave/AO の創設者である Sam Williams のツイートからインスパイアされました。



【Arweave Japan とは】
Arweave Japan は Arweave / AO の日本語ビルダーエコシステム構築を目的とした分散型組織です。

【​Arweave / AO とは?】
​Arweave は無制限にスケール可能な分散型ストレージであり、AO は Arweave 上に構築された無制限にスケール可能な分散型スーパーコンピュータです。Arweave と AO を使って既存のブロックチェーンでは実現不可能であった実用的なプロダクトが開発できます。

イーサリアム L1 のリステーキングによってセキュリティが担保され、TVL はローンチ数ヶ月で 1000 億円近くまで上がり、今後数兆円規模の市場が期待されます。完全フェアローンチされた AO のトークン設計によって、この流動性は AO 上のプロジェクトが活用することができ、ビットコインと同じ半減スケジュールでミントされる AO トークンは開発者やプロジェクトが受け取れる仕組みとなっています。

​Web2 を置き換えるレベルで実用的なプロジェクトが構築できる唯一無二の分散型プロトコル AO で開発することはグローバルの第一線で活躍する非常に大きなチャンスとなっています。

【Social Links】

【Blog】

1080x360.jpeg

6
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?