blockchainjapan’s blog

旬のブロックチェーンを記事を厳選して提供!

プログラミング言語「Move」の実例解説:AptosそしてSui、Starcoin


プログラミング言語「Move」の実例解説:AptosそしてSui、Starcoin

Supra Oracles

Supraコミュニティにご参加ください:https://linktr.ee/supraoraclesjapan

MetaがDiemブロックチェーンのために開発したMove言語が、現在、Aptos、Sui、Starcoinなどのブロックチェーンで採用されます。

Moveは、Facebook(現Meta)のDiemブロックチェーンのために開発されたブロックチェーンに特化したプログラミング言語です。Diemブロックチェーンは、Silvergate Bankに売却されたが、Move言語自体はオープンソースであるため、誰でも利用することができます。

現在、Moveを主要プログラミング言語として採用している主なプロジェクトには、AptosとSuiが挙げられます。Aptosは、安全でスケーラブルなレイヤー1ブロックチェーンの開発を目的とした野心的なプロジェクトです。Suiもまた、水平スケーリングによる高い処理能力を持つブロックチェーンの実現を目的とした、もう一つのレイヤー1ブロックチェーンです。その他、人気は劣りますがStarcoinというプロジェクトも存在します。

Moveとは?

Moveはスタックベースのプログラミング言語で、アクセス制御と希少性に大きな重点を置いており、複製不可能なデフォルト構造を実装しています。この言語は、パブリックモジュールとプライベートモジュールの機能を区別し、パブリックモジュールだけが他のモジュールからアクセスできるようになっています。また、Move言語は、一般的なプログラミング言語であるRustをベースにしています。

Aptosのドキュメントには、以下のように記されています:

「Moveでは、トランザクションの送信者は署名者によって表されます。署名者はMoveで最高レベルの権限を持ち、アカウントにリソースを追加することができる唯一の存在です。モジュール開発者は、アカウント内に保存されたリソースへのアクセスやアセットを変更するために、署名者の存在を要求することができます。」

秘密鍵やその他の資産がMoveを利用して保存される場合、その情報はローカルデバイスにしか保存できないため、セキュリティが大幅に向上し、従来の暗号ウォレットのハッキング方法の多くの種類を不可能にします。

Aptosとは?

Aptosは、過去にDiemプロジェクトに参加していた開発者であるCEOのMo Shaikh氏やCTOのAvery Ching氏によって設立されました。

Aptosは、並列実行エンジン(Block-STM)の活用によって、ネットワークで13万TPS(1秒あたりの取引量)を処理できると公表しています。

このプロジェクトは非常に資金が豊富であり、最近のシリーズA資金調達ラウンドを通じて1億5千万ドルを調達しており、全体としても、a16zやMulticoin Capitalを含む投資機関から3億5000万ドルを調達しています。

Aptosのメインネットは現在のテストネットを経て、近い将来ローンチされる見込みです。Aptosの目標は非常に野心的で、プロジェクトは10億人のユーザーにスケールするというビジョンを掲げており、これは既存の全てのブロックチェーンへの参加者の合計数をよりも多い計算になります。ちなみに、2022年半ば時点で、世界には3億人以上の暗号通貨ユーザーがいると推定されており、この数は来年中に10億人に達する可能性があるとされています。Aptosが目標を達成するためには、世界のブロックチェーン市場を完全に支配するか、あるいはさらなる拡大に期待する必要があると考えられます。

AptosのMove言語利用について

さて、Aptosが開発にどのようにMoveを使用しているのかについて説明していきましょう。

SolanaやCardano、Avalancheなどの多くのパブリックブロックチェーンと同様に、Aptosブロックチェーンは一連のバリデータノードを介してプルーフオブステークのコンセンサスプロトコルを実行します。これらのノードは、Move仮想マシン(MoveVM)上で実行されるトランザクションを処理します。

AptoのMoveドキュメントによると、以下のように記されています:
「各バリデータノードは、ブロックチェーン台帳の現在の状態と共にトランザクションVMへの入力として変換します。MoveVMはこの入力を処理し、チェンジセットまたはストレージデルタを出力として生成します。コンセンサスが出力に同意してコミットすると、それが公開されます。」

Aptos Moveアダプタの機能の一部を紹介します:

  • ストレージとガス料金のデカップリング− アカウント内のデータ量が、トランザクショントランザクションフィー/ガスフィーに影響を与えたり、増加させないようにするストレージ
  • 並列処理− Block-STMの並列処理によって、ユーザーによる入力を必要とせず、同時にトランザクションを実行可能
  • データのスケーラビリティ−アカウント内のバリューデータおよびキーデータを格納する高度にスケーラブルなテーブル

Aptosフレームワークの同梱ライブラリには、以下のものがあります:

  • スマートコントラクト不要のNFTや複雑なトークンのバリエーションを作成できるトークン標準
  • タイプセーフのコインを作成できるコイン規格
  • ステーキングとデリゲーションのための強力なフレームワーク
  • 複数の署名者エンティティを可能にするマルチシグナーフレームワーク
  • 非常に効果的なタイムスタンプサービス

Suiとは?

Suiは、高スループットの水平スケーリングを取り入れた分散型パーミッションレスのレイヤー1ブロックチェーンです。Aptosと同様、その開発企業であるMysten Labsは、Sam Blackshear、Evan Cheng、Kostas Chalkias、George Danezis、Adeniyi Abiodunといった元Meta社員によって設立されています。

Suiの特徴としては、以下のようなものがあります:

  • 高いスケーラビリティ− 水平方向に無制限に拡張できるため、トランザクションコストを抑えながら、全体の取引量を多くすることが可能
  • 並列処理− データを連続したトランザクションブロックではなく、独立したオブジェクトに整理することで、必要な計算能力を削減し、同時にトランザクションの検証が可能
  • ビザンチン整合ブロードキャスト− 配信される全てのリクエストが全ての受信者にとって同じであることを確認し、全ての正しい関係者がリクエストを配信するか、または配信しないことを保証することにより、セキュリティを維持しながらオーバーヘッドを削減
  • インスタントトランザクション決済− 水平方向のスケーラビリティによって、トランザクションの迅速なファイナリティへの到達が可能
  • ワーカーの追加− 処理能力の向上が必要な場合、ブロックチェーンはワーカーを追加してネットワークの負担を軽減し、ネットワーク容量を向上させ、ガス料金を抑制できる

2022年8月現在、Suiプロジェクトは16z crypto、FTX Ventures、Coinbase VenturesなどからシリーズAで3600万ドルの資金調達をしています。そのうちのいくつか(a16zとFTX Venturesなど)はAptosにも投資しています。

Suiは将来的に総供給量は100億を上限とするネイティブトークン$SUIをリリースする予定ですが、ローンチ日は設定されていません。

SuiはMoveをコアプログラミング言語として使用していますが、Aptosとは異なり、Diemが開発したMoveのコア言語を使用せず、独自に開発したものを使用しています。

MoveコアとSui Moveの主な相違点は以下の通りです:

  • Suiはモジュールのイニシャライザー(init)を持つ
  • アドレスはオブジェクトIDを表す
  • Suiのオブジェクトはグローバルに一意のIDを持つ
  • オブジェクトを中心としたグローバルストレージを使用する
  • Suiのエントリポイントはオブジェクト参照を入力とする

SuiのMoveは、既存のブロックチェーンでは対応できない、ソーシャルメディアネットワークや高度なグラフィックを扱うゲームやメディア、クラウドファイルストレージなどのアプリケーションで必要とされる膨大なデータの効率的な格納に対応するために特別に設計されています。そのため、Sui Moveにはグローバルストレージが組み込まれておらず、データの保存はSui内部だけで行われます。

Moveのキー能力は、Suiのストレージに格納できるSuiオブジェクトと、そうでないMoveの内部オブジェクトを区別するのに役立ちます。Suiのストレージに格納されるSuiオブジェクトは「Move-Suiの境界」を通過するものとして分類されます。そのため、キー能力を持つ全ての構造体は、ObjectIDFとシーケンス番号を持つID型で始まり「不変で他のオブジェクトに転送できない(各オブジェクトが一意のIDを持つ必要があるため)」ようになっています。

Sui MoveはMoveコアの柔軟性と安全性を活用しつつ、最終的な遅延を低減し、スループットを高め、プログラミング全体の容易性を向上させるように改良することを目的としています。

Starcoinとは?

Starcoinは、AptosやSuiと同様、最も安全なプルーフオブステークのコンセンサスメカニズムを開発し、安全性の高いスマートコントラクトを可能にすると主張しています。また、Starcoinには既にレイヤー2が存在しており、「安全でシームレスな状態転送、簡単で高速なデータスケーリング、低レイテンシー、優れた操作性が可能なスケーラブルアプリケーションネットワーク」と定義されています。2022年9月現在、Starcoinのネイティブ暗号通貨$STCは、2000万ドル以上の時価総額を誇っています。

Starcoinによると、多く安全性に関する機能は、Moveの革新的な技術であるリソース指向プログラミングによって実現されており、リソースの希少性を生み出すのに役立っているとしています。

「Moveには、Copy、Drop、Key、Storeの4種類の能力があり、これを自由に組み合わせて使用することができます。リソース型の構造物であれば、CopyとDropのない能力で十分です。使いやすく、安全で信頼性が高く、資産の損失や無制限発行を避けることができ、チェーン上の資産を確保することができます。」

また、MoveとSolidityの大きな違いとして、Solidityではスマートコントラクトのデータが、生成した中央のコントラクトアカウントに保存され、セキュリティリスクが生じることだと指摘しています。これに対してMoveでは、データは個人アカウントに分散して保存されます。つまり、データの所有権はユーザーにあり、各ユーザーは自分のデータを操作できる唯一の存在となります。このため、バグが発生しても、ハッカーがスマートコントラクト内の全員のデータを改変することはできないのです。

まとめ

Moveは、複数の新しいブロックチェーンプロジェクトにとって有用なツールであることが明確に示されています。

プログラミング言語Moveは、FacebookによってDiemプロジェクトのために開発されたものですが、その有用性から既に有望なブロックチェーンプロジェクトで採用されており、言語の特徴である高い柔軟性と安全性から、今後さらに多くのプロジェクトで採用されることが想定されます。

Moveの採用をしているAptosとSuiはいずれも元Diemの開発者で構成されたチームであり、言語の複雑な仕組みに他の誰よりも精通しているというアドバンテージがあります。これらのブロックチェーンが成功すれば、既存の開発者がこれらのブロックチェーン上でスマートコントラクトやdApps、NFTをプログラムするためにMoveを使い始める可能性が高く、Move言語が他の新しいブロックチェーンプロジェクトに広がる可能性があるでしょう。


暗号/ブロックチェーン分野は特定のプロジェクトのみが生き残る世界ではなく、分野全体の成長が必須となります。また、理解もせずにトークンのみを追うというのは非常にナンセンスです。Supra Oraclesは、今後も継続的に教育材料を提供していきます。

ラクル・ソリューションという枠を超えて発展していく、今後のSupra Oraclesにご期待ください。

Supra Oraclesについて

Supra Oraclesは、実世界のデータを橋渡しと、金融市場のスマートコントラクトを自動化、簡素化、安全化を提供します。

Supraコミュニティにご参加ください:https://linktr.ee/supraoraclesjapan