ジェミニを動かす:SuiとAptosのブロックチェーンへの挑戦
イントロd作用
最近、市場は著しく冷え込んでおり、業界のベテランでさえ業界の存在意義に疑問を呈している。私の個人的な考えを少し述べたい:私は、過去の偉大なビジョンの多くは、最初から論理的に一貫していなかったために「反証」されたと考えている。
非金融系Dappsは、分散化を強調することで、プロダクト自体が十分でないことを隠そうとすることが多かった。現実には、グーグル、ツイッター、ユーチューブを信用せず、マルチシグネチャのウォレットやシングルサーバーのセットアップが安全だと信じろというのだ。
多くのビジョンは否定されなかったが、真に検証されることはなかった。私は、たとえほとんどのビジョンが壮大なものでなかったとしても、それには意味があると信じている。最終的には、少なくとも分散化かWeb2に匹敵するユーザー・エクスペリエンスのどちらかを提供することができるだろう。
TONとSolanaがかつて過小評価されていたのと同じように、今では多くの面で先人に追いつきつつある。アプリケーションをサポートするパブリック・チェーンにはイノベーションが必要であり、それはあらゆるサイクルにおいて業界の進歩を促進する。そこで今日は、長い間見過ごされてきたパブリック・チェーンの一種であるMoveエコシステムについて探ってみよう。
1.移動
Moveプログラミング言語はもともと、メタの放棄されたプロジェクトであるDiem(当初はLibraと呼ばれていた)のために作られたもので、メタバース・ビジョンの基盤として、より安定し規制されたステーブルコインを開発することを目的としていた。
しかし、このプロジェクトは世界の規制当局からの強い反対と継続的な圧力に直面した。彼らは、ディエムの規模とフェイスブックの膨大なユーザーベースが、金融の安定性、金融政策、データプライバシーを脅かしかねないと危惧したのだ。バイデン政権がリーダーシップを発揮して圧力をかけたことで、最終的にメタはディエム・プロジェクトを断念せざるを得なくなった。
幸いなことに、ディームのコアは捨て去られることはなかった。オリジナル・チームから分裂したさまざまな派閥がMoveの探求と開発を続け、現在私たちが知っているMoveの双子、SuiとAptosへと発展した。さらに、Linera(MoveにインスパイアされたRustベースのブロックチェーン)や最近推進されたMovementのような他のプロジェクトは、まだ初期段階にある。
なぜ廃止プロジェクトの残存インパクトがこれほどまでに大きいのか?Moveは、大手Web2企業によって開発されたブロックチェーン・プログラミング言語として、強固な基盤を持っています。既存のブロックチェーン言語、特にSolidityに蔓延するパフォーマンスとセキュリティの問題に対処することに重点を置いて設計された。その設計目標は、資産管理とアクセス制御に合わせた型システムを作ることだった。要点をまとめると以下のようになる:
- セキュリティ: Moveの設計はセキュリティを優先しており、静的な型チェックとリソース管理を使用して、オーバーフロー・エラーやリエントランシー攻撃などの一般的な脆弱性を防止しています。他の言語バーチャル・マシンと比較して、Move はさまざまなセキュリティ機能をサポートしています。
- コンポーザビリティ: Moveはモジュール性とコンポーザビリティをサポートしており、開発者はより複雑なアプリケーションを構築するために、異なるスマートコントラクトを簡単に作成し、組み合わせることができる。
- パフォーマンス: Moveの仮想マシンは、スマートコントラクトを効率的に実行するために最適化(並列処理、メモリ管理、コンパイラの最適化をサポート)されており、トランザクションのスピードとスループットが向上している。
モジュール式EVMチェーンが飽和状態にある市場において、Moveは何か違うものへの勇敢な試みである。多くのパブリック・チェーン・プロジェクトの紹介で、同様の主張に遭遇したことがあるかもしれないが、これらのコンセプトを真に理解するためには、実際に体験することをお勧めする。
2.スイ
2.1 アーキテクチャ
Moveツインズの1つであるSuiは、エアドロップやトークン放出の仕組みに関する問題で、初期に批判に直面した。しかし、こうした問題はさておき、プロジェクトそのものにのみ焦点を当てると、Suiは特にゲーム分野において、パフォーマンスとユーザー体験の両面で卓越性を発揮している。
この成功は、メインストリームでの採用のために特別に改良されたアーキテクチャと密接に結びついている。ここでは、Suiのアーキテクチャーの革新について簡単に説明する:
- オブジェクト・ストレージ・モデル: このコンポーネントは、Moveに対するSuiの機能拡張の中核である。オブジェクト・ストレージ・モデルは、データを個々のオブジェクトとして保存し、それぞれが一意の識別子を持つ。従来のデータベース・システムとは異なり、オブジェクト・ストレージ・モデルには固定的なデータ構造がなく、テキスト、画像、動画、音声など、さまざまな種類のデータを格納できる。このモデルは、並列実行と水平スケーリング(ストレージ容量を拡張するためにノードを追加すること)を可能にする。Suiの設計はこのモデルを中心に展開されている。
- 因果関係の順序付け: 因果関係を尊重した順序でトランザクションが実行されるようにし、データの衝突や不整合を回避する。これにより、Suiはデータの一貫性を維持しながら大量の同時トランザクションを処理できる。
- ナルホドとブルシャークのコンセンサス・エンジン: SuiはコンセンサスエンジンとしてNarwhalとBullsharkを使っている。Narwhalはローカルトランザクションプールを維持し、因果関係に基づいてトランザクションをソートし、それらをブロードキャストすることによって、トランザクションの順序付けと検証を担当する。BullsharkはNarwhalからソートされたトランザクションリストを受け取ると、Byzantine Fault Tolerance (BFT)コンセンサスを使用してリストに投票し、すべてのノードがトランザクション順序に同意することを保証する。
- スイ・ムーブ: Suiは、NFTのサポート、アセット管理、データストレージなどの新機能を追加することで、Move言語を拡張しています。
- 隋のフレームワーク: Suiは、Sui Wallet、Sui SDK、Sui CLIなどのツールやライブラリを含め、開発者がアプリケーションを迅速に構築し、デプロイするための完全なフレームワークを提供します。
Suiのアーキテクチャは、高速、低手数料、セキュリティを維持しながら、大量の同時トランザクションを処理することを可能にする。また、Move言語とSuiフレームワークは、安全でスケーラブル、かつユーザーフレンドリーなアプリケーションを構築するための強力なツールを開発者に提供する。
2.2 コンセンサス
Suiブロックチェーンは、Mysticetiと呼ばれるコンセンサスメカニズムを使用しており、低レイテンシーと高スループットのために設計されたビザンチンフォールトトレラント(BFT)コンセンサスである。
Mysticetiは、複数のバリデータが並行してブロックを提案することを可能にし、ネットワーク帯域幅をフルに活用し、検閲への耐性を提供する。さらに、このプロトコルは、DAG(Directed Acyclic Graph)からブロックを確定するために必要なメッセージは3ラウンドのみで、pBFTと同様に理論上の最小値に一致する。
投稿ルールは、並列投票とブロックリーダの認証を可能にし、中央値とテールレイ テンシーをさらに削減する。また、提出ルールは、待ち時間を大幅に増加させることなく、利用できないリーダーを許容する。
Mysticetiは、Suiメインネットのローンチ前にテストネット上で3ヶ月間実行され、レイテンシを80%削減するなどの重要な結果を示した。現在、Suiネットワークは毎秒数万件のトランザクションを処理でき、エンド・ツー・エンドのレイテンシは1秒をはるかに下回っている。
Suiブロックチェーンはまた、DPoS(Delegated Proof-of-Stake)と呼ばれる特定のタイプのPoS(Proof-of-Stake)コンセンサスを採用している。共有オブジェクトを含む取引(複合取引と呼ばれる)が発生した場合、Suiは前述のNarwhalとBullsharkのコンセンサスエンジンをトランザクションの順序付けに使用する。他のBFTコンセンサスメカニズムと比較した場合、Suiの長所と短所は以下の6点に集約される:
メリット
- 低レイテンシーと高スループット:Mysticetiプロトコルは、並列ブロックプロポーザルと最適化されたメッセージフローにより、コンセンサスレイテンシーを大幅に削減し、ネットワークスループットを向上させる。
- 検閲への抵抗: Mysticetiプロトコルは、複数のバリデーターが並行してブロックを提案することを可能にし、検閲に対するネットワークの耐性を向上させる。
- リーダーの失敗許容度: サブミッションルールは、レイテンシーを大幅に増加させることなく、利用できないリーダーを許容し、リーダーノードが故障したときに自動的に新しいリーダーを選出し、引き継ぐ。
デメリット
- 複雑さ:Mysticetiプロトコルの設計は比較的複雑であり、その運用メカニズムを完全に把握するには、より深い技術的理解が必要である。
- セキュリティ:Mysticetiプロトコルはテストネット上では良好な結果を示したが、実世界のアプリケーションではその安全性をさらに検証する必要がある。
- スケーラビリティ: Mysticetiプロトコルのスケーラビリティは、将来的なネットワーク規模やトランザクション量の増加に対応できるよう、さらなる観察が必要である。
2.3 抽象勘定
Suiの抽象アカウントモデル(Account Abstraction)は、アカウントとトランザクションのロジックを基礎となるブロックチェーンプロトコルから抽象化することで、ユーザーがアカウントとトランザクションをよりシンプルかつ安全に管理できる仕組みであり、より高度なアカウント管理とトランザクション処理を実現する。
Suiの抽象アカウントモデルでは、アカウントはもはや単純な公開鍵と秘密鍵のペアではなく、より豊かな属性と振る舞いを持つオブジェクトである。各アカウントはアカウントIDと呼ばれる一意の識別子を持ち、これはアカウントの公開鍵と秘密鍵のペアに関連付けられる。
隋のアブストラクト・アカウント・モデルには、次のような重要な要素が含まれている:
- アカウントオブジェクト: Suiのアカウントの基本単位。各アカウントオブジェクトは一意のアカウントIDを持ち、アカウントの属性と動作を含む。
- アカウントデータ: アカウント・オブジェクトのコア・コンポーネントで、アカウントIDや公開鍵と秘密鍵のペアなどの基本的なアカウント情報を含む。
- トランザクション・コンテキスト:Suiにおける取引の基本単位で、取引ID、口座ID、取引データなどの取引関連情報を含む。
- アカウント・ロジック: アカウントがトランザクションを処理し、状態を管理する方法を定義する、Suiにおけるアカウントの動作とルールのコレクション。
Suiの抽象アカウントモデルでトランザクションを処理するプロセスには、以下のステップがある:
- トランザクションの作成: ユーザーはトランザクションを作成し、Suiネットワークに送信する。
- トランザクションの検証: Suiネットワークはトランザクションの有効性と完全性を検証する。
- アカウント検索:Suiネットワークは、トランザクションの口座IDに基づいて、対応する口座オブジェクトを見つける。
- アカウント・ロジックの実行: Suiネットワークはアカウントロジックを実行し、トランザクションを処理し、アカウント状態を更新する。
- 取引確認:Suiネットワークは取引結果を確認し、ブロックチェーンに書き込む。
簡単に言えば、Suiの抽象アカウントモデルは、アカウント管理とトランザクション処理を簡素化し、アプリケーションをよりアプリケーションらしくする革新的なメカニズムである。
2.4 ゲーム
ブロックチェーンが際立つためには、まず強固な基盤を築かなければならない。先にMoveのエコシステムを大胆な実験と言ったのは、主に2つの理由からだ。
第一に、モジュール化のコンセプトが広まりつつある時代において、ネイティブのムーヴ・エコシステム(特にムーヴ・ツイン)はレイヤー1ソリューションの最後の試みであり、時流に逆行している。
しかし、最近の異業種チェーンの台頭は、モジュール化だけが答えではないことを証明しているのかもしれない。
第二に、新しいプログラミング言語を使ってブロックチェーンを再構築することは、今日のスマートフォン市場でiOSやAndroidに挑戦する新しいOSを作ろうとすることに似ている。
Moveのエコシステムが今後数年でソラナのように輝くかどうかは、その方向性によって大きく左右される。この課題に対するスイの答えは、ゲームである。
ゲームはWeb3への重要な入り口のひとつだが、ほとんどのブロックチェーンはゲームをうまくサポートしていない。というのも、ブロックチェーン技術はもともと金融アプリケーションを中心に設計されており、その分散型アーキテクチャは本質的にパフォーマンスが低く、ゲームには不向きだからだ。
しかしSuiは違う。そのモデルは、DeFiアプリケーションにも、ゲームを含む非金融アプリケーションにも適している。前述したように、Suiではすべてがオブジェクトである。Suiでは、オブジェクトは他のオブジェクトを所有することができるので、ゲームやアプリケーションに典型的な複雑な資産階層をモデル化することができる。
ヒーローのキャラクターがインベントリを持っていて、そのインベントリにはキャラクターに属する他のデジタル資産が保管されているゲームをプレイすることを想像してみてほしい。Suiは、他のブロックチェーンでは不可能な方法で、このようなデータ階層をモデル化することができます。このため、開発者はチェーン固有の制限を回避することなくアプリケーションを構築することができる。
さらに、Suiは伝統的なWeb2大手とも積極的に協力している。昨年、Suiは韓国の4大ゲーム大手のうち3社(Netmarble、NHN、NCSoft)と提携を結んだ。今年、SuiはTikTokと提携し、ブロックチェーンゲームとSocialFiプロジェクトを開発し、伝統的な大手をWeb3スペースに引き込んだ。
3.アプトス
Aptos は、Move言語をベースとしたもう一つのレイヤー1ブロックチェーンで、高性能でスケーラブルなWeb3インフラの構築にも取り組んでいる。そのアーキテクチャ設計はSuiと多くの類似点を共有しているが、いくつかのユニークな機能も導入している。
3.1 アーキテクチャ
- モジュラー設計: Aptosはモジュラー・アーキテクチャーを採用しており、開発者は異なるモジュールを独立して開発・アップグレードできるため、開発スピードと柔軟性が向上します。
- 並列実行エンジン(Block-STM): 事前にデータの依存関係を宣言する必要がある他のブロックチェーンとは異なり、Aptosの並列実行エンジンはデータの場所を事前に知ることなくトランザクションを並列処理できるため、スループットが向上し、待ち時間が短縮される。
- パイプライントランザクション処理: Aptosは、トランザクション処理をプロパゲーション、メタデータの順序付け、バッチストレージなどの複数のステージに分割し、スループットを最大化しレイテンシを最小化するために、パイプライン化によってこれらのステージを並列に実行する。
- プログラミング言語を動かす: AptosはMoveプログラミング言語を使用し、Suiと比較して革新性よりも洗練性に重点を置いている。例えば、言語を標準化し、より強固な関数サポートを導入し、カスタマイズ機能を強化している。
- 柔軟な状態同期: ノードが、全履歴の同期や最新の状態のみの同期など、異なる状態同期ストラテジーを選択できるようになり、ノードの柔軟性が向上。
- AptosBFT コンセンサスメカニズム: AptosBFTは、Aptosで使用されるビザンチンフォールトトレランスコンセンサスメカニズムである。バリデータ間の通信と同期を最適化し、スループットを向上させ、待ち時間を短縮する。DiemBFTの改良版ともいえるSuiと比較して、AptosBFTは効率性とクラッシュ回復において一定の進歩を遂げているので、ここで簡単に触れておく。
Aptosのアーキテクチャは、高速、低手数料、セキュリティを維持しながら、多数の同時トランザクションを処理することを可能にする。さらに、Move言語とAptosフレームワークは、開発者に安全でスケーラブル、かつユーザーフレンドリーなアプリケーションを構築するための強力なツールを提供します。
3.2 ブロックSTM
アプトスの中核技術である並列実行エンジンBlock-STMをさらに掘り下げてみよう:
ブロックSTMの基本原則:
- 定義済みの連続実行: Block-STMは、ブロック内のトランザクションの事前定義された順序に依存している。すべてのトランザクションは、最終状態の一貫性を確保するために、この順序で実行されなければならない。
- 楽観的並行性制御: Block-STMは、競合が発生しないと仮定して、トランザクションを楽観的に並列実行する。この制御方法は、コンフリクトが発生することは稀であるという仮定に基づいており、トランザクションはロックせずにデータにアクセスし、変更することができる。同時にコンフリクトが発生する可能性は低いと仮定しているため、最終コミットの前にコンフリクトのチェックを行いながら修正を進めることができる。
- マルチバージョンのデータ構造: 楽観的並行性制御をサポートするために、Block-STM は複数バージョンのデータ構造を使ってデータを格納する。書き込み操作のたびに新しいデータ・バージョンが作成され、読み込み操作では対応するデータ・バージョンにアクセスする。
- バリデーションとリトライ: トランザクションの実行後、Block-STM は、読み込んだデータのバージョンがまだ有効かどうかを検証する。検証が失敗し、競合が発生した場合、トランザクションは無効とされ、再実行される。
- 共同スケジューリング: Block-STMは、様々なスレッドの実行と検証タスクを調整し、並列性を最大化するために協調スケジューラを採用している。
ブロック-STMワークフロー:
- トランザクションのグループ化: ブロック内のトランザクションをグループ化し、並列実行のために異なるスレッドに割り当てる。
- 楽観的な実行: 各スレッドは、割り当てられたトランザクションを楽観的に実行し、各トランザクションの読み取り/書き込みセットを記録する。
- 検証: スレッドはトランザクションを完了すると、その読み取りセットのデータ・バージョンがまだ有効かどうかを検証する。
- リトライ: 妥当性確認が失敗し、競合を示す場合、トランザクションは無効とマークされ、再実行 される。
- コミットする: すべてのトランザクションが検証に合格すると、その結果がブロックチェーンの状態に書き込まれ、トランザクションのコミットが完了する。
ブロックSTMの利点:
- 高いスループット: 楽観的並行性制御と協調スケジューリングを活用することで、Block-STMはマルチコアプロセッサをフルに活用し、高いスループットを実現する。
- 低遅延: トランザクションは並列に実行できるため、Block-STM はトランザクションの確認時間を大幅に短縮する。
- セキュリティ Block-STMの事前定義された逐次実行と検証メカニズムにより、最終状態の一貫性と安全性が保証される。
要約すると、Block-STMは効率的な並列トランザクション実行エンジンであり、楽観的並行性制御、マルチバージョンデータ構造、協調スケジューリングを組み合わせることで、ブロックチェーンのスループットを最大化すると同時に、セキュリティと正しさを保証する。
3.3 アカウントの抽象化
アカウントの抽象化に対するSuiの直接的なアプローチとは異なり、Aptosはより限定的な抽象化次元をサポートし、特定の事前定義された標準を欠いている。Aptosのアカウント抽象化機能は、主に以下の分野で発揮される:
- モジュール式アカウント管理: アカウントの定義と管理に Move モジュールを使用し、開発者はさまざまなアカウント・タイプや機能のカスタム・モジュールを作成できます。
- 柔軟な鍵管理: ある鍵をトランザクション署名に使い、別の鍵をアカウント管理に使うなど、ユーザーがアカウント操作ごとに異なる鍵を使えるようにする。
- プログラム可能なトランザクション検証: 開発者は、さまざまなアプリケーションシナリオに対応するために、マルチシグネチャや限度額など、Move モジュールでカスタムトランザクション検証ロジックを定義できる。
3.4 マイクロソフトとのパートナーシップ
ゲーム開発に重点を置くSuiに比べ、Aptosは特定の開発目標を持っていない。そのスローガンは、生産に最も適したブロックチェーンになることだ。
注目すべき点は、Aptosがマイクロソフトと進めている協業で、マイクロソフトのAI技術をブロックチェーンに統合することを目指している。彼らの最初のコラボレーション製品であるAptos Assistantは、Aptosネットワーク上に構築された生成的AIアシスタントで、すでに公式サイトで公開されている。今後数ヶ月の間に、追加のAI製品が発表される予定だ。
4.ムーブ・エコシステム
Suiの業績は最近好調だが、EVMベースのチェーン、Solana、Ton、その他の異種チェーンと比べると、Moveエコシステムの成熟にはまだ時間がかかる。SuiとAptosが脚光を浴び、技術的なブレークスルーを起こしているにもかかわらず、Moveエコシステムの全体的な規模や活動は、他の成熟したエコシステムとまだ同等ではない。
開発者の数、アプリケーションの種類、ユーザーベースが成長するにはまだ時間がかかる。対外的な協力関係や運営面では、SuiとAptosの両社はWeb2の考え方を強く示しており、Web3のエッセンスが一部欠けているため、業界内では比較的控えめなプロジェクトにとどまっている。
しかし、Moveエコシステムの可能性を考えれば、大いに期待できる。一部の開発者はすでにMoveの将来的な価値を認識している。序文で述べたように、すでにイーサリアムレイヤー2ソリューションにMoveを組み込んでいるプロジェクトがある。将来、MoveのエコシステムはETHレイヤー2空間で輝くかもしれない。現在の焦点は、Moveエコシステムをどのようにさらに促進するかということだ。