ブロックチェーンの世界では、スマートコントラクトを記述するプログラミング言語が技術の根幹を担っています。イーサリアムのSolidityが広く知られていますが、近年注目を集めているのが「Move」という言語です。SuiとAptosはともにこのMoveを採用しており、次世代のレイヤー1ブロックチェーンとして高い評価を受けています。
しかしながら、SuiのMoveとAptosのMoveは同じ名称を持ちながらも、設計思想や実装において重要な差異が存在します。本記事では、Moveという言語がどのような背景で誕生したのかを振り返りながら、SuiとAptosそれぞれのアーキテクチャの基本概念を丁寧に解説していきます。
ブロックチェーン開発に興味を持ち始めた方から、すでにSolidityに触れた経験のある開発者まで、幅広い方にとって有益な情報をお届けできるよう努めています。まずはMoveの誕生からその特徴まで、順を追って確認してみましょう。
Moveの誕生——Facebookプロジェクトから生まれた安全性重視の言語
DiemプロジェクトとMoveの開発経緯
Moveは、Meta(旧Facebook)が主導した「Diem(旧称Libra)」プロジェクトの中で開発されました。2019年に発表されたLibraは、グローバルなデジタル決済インフラを目指すものでしたが、各国規制当局からの強い懸念を受け、最終的には2022年に解散するに至りました。
しかし、このプロジェクトの中で生み出されたMoveという言語は、その後も生き続けました。Moveを開発したエンジニアたちは、FacebookがDiemを閉鎖した後に独立し、それぞれSui(Mysten Labs)とAptos(Aptos Labs)というプロジェクトを立ち上げました。こうしてMoveは、二つの異なるブロックチェーンに受け継がれることになったのです。
Solidityの課題とMoveが解決しようとした問題
イーサリアムのスマートコントラクト言語であるSolidityは、DeFiやNFTの普及に大きく貢献しましたが、同時に深刻なセキュリティ上の脆弱性が繰り返し露呈しました。リエントランシー攻撃(reentrancy attack)による巨額の資産流出は、その典型的な例として広く知られています。
Moveはこうした課題に正面から向き合う形で設計されました。最大の特徴は「リソース型」の考え方です。Move言語では、トークンや資産を「リソース」として扱い、このリソースは複製できず、誤って削除されることもないという安全性が言語仕様として保証されています。これによりSolidityで発生しやすかった二重送金やコピーによる資産増殖といった問題を根本から防ぐことができます。
Moveのリソース型システム——安全な資産管理の仕組み
線形型理論に基づくリソース管理
Moveのリソース管理は「線形型理論(Linear Type Theory)」に基づいています。線形型とは、ある値が「必ず一度だけ使われる」ことを保証する型システムの概念です。これをブロックチェーンに適用することで、デジタル資産の複製や消失を言語レベルで防ぐことができます。
たとえばコインを表すリソースは、一つのアカウントから別のアカウントへ「移動(move)」はできますが、複製することは言語仕様上不可能です。この特性は、ブロックチェーン上のトークンや証明書などの価値ある資産を扱うために理想的な仕組みといえます。
モジュールシステムと型安全性
Moveはモジュール(module)という単位でコードを管理します。各モジュールはリソースの定義と、そのリソースを操作する関数を含んでいます。重要なのは、リソースはそれを定義したモジュールの外からは直接操作できないという点です。この「能力(ability)」システムにより、外部からの不正なリソース操作を防ぐことができます。
Moveにはcopy、drop、store、keyという4種類のアビリティが定義されており、それぞれのリソースや値がどのような操作を許可するかを明示的に制御できます。この設計により、コードの意図が明確になり、セキュリティ監査も行いやすくなっています。
SuiのMoveとAptosのMoveの分岐——同じ言語、異なる設計
Sui Moveのオブジェクト中心設計
SuiはMoveを採用しながらも、独自の拡張を加えた「Sui Move」を採用しています。最大の特徴は、「オブジェクト」を第一級の存在として扱う点です。Suiにおけるすべての状態はオブジェクトとして表現され、各オブジェクトはグローバルに一意なIDを持ちます。
このオブジェクトモデルにより、特定のオブジェクトに関わるトランザクションを並列処理することが可能になります。互いに依存しないオブジェクト同士は同時に処理できるため、スループットの大幅な向上が期待できます。Suiが高いパフォーマンスを誇る背景には、このオブジェクト中心設計が深く関わっています。
Aptos MoveとMoveVM——グローバルストレージの活用
一方、AptosのMoveはオリジナルのMoveの設計に近い形を維持しています。Aptosではグローバルストレージがアカウントをキーとしてリソースを管理する構造を採用しており、Move仮想マシン(MoveVM)をベースとしています。
Aptosは並列実行エンジン「Block-STM」を独自に開発し、高スループットを実現しています。Block-STMはトランザクションを楽観的並行実行し、競合が発生した場合のみ再実行するアプローチです。Suiとは異なる方法で並列性を実現しており、設計の方向性に明確な違いが見られます。
SuiとAptosそれぞれの誕生——Diemの遺産を継ぐ二つのプロジェクト
Mysten LabsとSuiの創設
Sui(スイ)は、Mysten Labsが開発するレイヤー1ブロックチェーンです。Mysten Labsは、Diem開発を担っていたMeta出身のエンジニアたちによって2021年に設立されました。創業者のEvan Cheng氏はMeta Researchのディレクターを務めていたことでも知られています。
Suiのメインネットは2023年5月に正式ローンチされました。ネイティブトークンは「SUI」で、PoS(Proof of Stake)を採用しています。特にNFTやゲームなど、オブジェクト操作が頻繁に発生するユースケースに強みを発揮するとされています。
Aptos LabsとAptosの創設
Aptos(アプトス)は、Aptos Labsが開発するレイヤー1ブロックチェーンです。Aptos LabsもMeta出身のMo Shaikh氏とAvery Ching氏が共同で設立しました。Aptosのメインネットは2022年10月にローンチされており、Suiよりもやや早いタイミングでのスタートとなっています。
ネイティブトークンは「APT」です。Aptosは企業・機関投資家向けのユースケースにも対応しやすい設計を意識しており、堅牢性と開発者体験の向上に注力してきました。
開発者体験の比較——ツールチェーンとドキュメント
Suiの開発ツール群
Suiは独自のCLIツール「Sui CLI」を提供しており、ローカル環境のセットアップからデプロイまでを一貫して管理できます。また、Sui Move AnalyzerというVSCode拡張機能も整備されており、シンタックスハイライトや型チェックをリアルタイムで行うことができます。
ドキュメントは英語が中心ですが、公式サイト(docs.sui.io)では豊富なチュートリアルが提供されています。コミュニティも活発で、Discordには多くの開発者が集まっています。
Aptosの開発ツール群
AptosはAptos CLI、Aptos SDKを中心とした開発環境を提供しています。TypeScript、Python、Rustなど複数の言語向けSDKが公式からリリースされており、既存の開発者がスムーズに参入できるよう配慮されています。
Aptosの公式ドキュメント(aptos.dev)も充実しており、Move言語のチュートリアルからスマートコントラクトのデプロイ方法まで網羅されています。特にMove言語を初めて学ぶ開発者向けのコンテンツが充実している点は評価できます。
投資家・エコシステムの視点からの違い
資金調達と主要バッカー
SuiはAndreessen Horowitz(a16z)、FTX Ventures(現在は関与が不明確)、Binance Labsなどから資金調達を行っています。2022年のシリーズBでは3億ドルの調達を達成したと報じられています。
AptosもAndreessen Horowitz、Multicoin Capital、FTX Venturesなどから支援を受けており、2022年の資金調達で約3.5億ドルを調達したとされています。両プロジェクトとも著名VCの支援を受けている点は共通していますが、その後の市場環境の変化により、エコシステムの展開には差異が生じています。
dAppsエコシステムの現状
SuiはDeFi、NFT、ゲームの分野でdAppsが増加しており、特にオブジェクト指向の設計を活かしたゲームプロジェクトが注目されています。AptosはDeFiプロトコルの充実に力を入れており、TVL(Total Value Locked)の観点でも一定の存在感を示しています。
どちらのエコシステムも発展途上にあり、今後の動向を注視することが重要です。特定のプロジェクトへの投資判断はご自身の責任で行ってください。
まとめ
本記事では、SuiとAptosのMoveプログラミング言語の基本概念と誕生の背景について解説しました。Moveは、Meta(旧Facebook)のDiemプロジェクトで生まれた安全性重視の言語であり、線形型理論に基づいたリソース管理が最大の特徴です。
SuiはオブジェクトモデルによるMove拡張を採用し、高い並列処理性能を実現しています。AptosはオリジナルのMoveVMを活用しつつ、Block-STMによる独自の並列実行を採用しています。両者はMoveという共通の遺産を持ちながらも、異なる方向性で進化を続けています。
次回以降の記事では、両者のスマートコントラクト開発の具体的な違いや、エコシステム、セキュリティ、パフォーマンスなどの観点からさらに詳しく比較していきます。
よくある質問
SuiとAptosはどちらがMoveに近い実装ですか?
オリジナルのMoveの設計に近いのはAptosです。AptosはDiemで開発されたMoveVMをベースとしており、グローバルストレージをアカウント単位で管理する構造を維持しています。一方、SuiはMoveを独自に拡張した「Sui Move」を採用しており、オブジェクトIDによる管理など、オリジナルとは異なるアーキテクチャを持っています。
Moveを学ぶにはどこから始めればよいですか?
まずは公式ドキュメントの活用をお勧めします。Aptosの場合はaptos.dev、Suiの場合はdocs.sui.ioに入門チュートリアルが用意されています。Move languageの公式リポジトリ(github.com/move-language/move)にも学習リソースが掲載されています。RustやC++などの経験がある方はスムーズに入門できるでしょう。
SUIトークンとAPTトークンはどこで購入できますか?
SUIおよびAPTは国内外の主要暗号資産取引所で取り扱われています。国内では金融庁への登録を受けた取引所を利用することを推奨します。購入前に各取引所の手数料や取扱銘柄を十分に確認してください。なお、暗号資産への投資は価格変動リスクを伴います。投資判断はご自身の責任で行ってください。
※本記事は情報提供を目的としており、投資を推奨するものではありません。暗号資産への投資は元本割れのリスクがあります。投資判断はご自身の責任で行ってください。