コンテンツにスキップ

なぜMoveなのか?

Moveプログラミング言語は、元々FacebookのエンジニアチームがDiem Payment Networkのために作成しました。Moveは、データと実行モデルが大きく異なる多様なブロックチェーンにおいて、共通のライブラリ、ツール、開発者コミュニティを可能にするプラットフォーム非依存言語として設計されています。 Aptosでは、Moveにおける強力な開発者コミュニティの構築を信じており、Move on Aptosスタック上で構築し、オープンソースソフトウェアに貢献することを招待しています。

Moveは以下の原則に基づいて構築されています:

原則説明
デフォルトで安全金融システムは、ユーザーが資金を失わないことを保証するために構築されています。Moveは、リエントランシー攻撃、二重支払い、算術オーバーフローなどの攻撃やバグのクラス全体を防ぐように設計されています。型安全性とコンパイル時チェックがセキュリティの最前線にあります。
ランタイム検証バイトコードはランタイムで検証でき、何も問題が発生していないことを確認し、追加の安全性を提供し、悪意のあるアクターを防ぎます。
形式検証Move on Aptosは、コントラクトの形式検証を提供する仕様言語を提供します。これにより、不変条件を証明でき、コード監査を支援します。
シンプルさコマンドとバイトコードは意図的にシンプルです。これにより、簡単な逆コンパイル、ランタイム検証、コード検査が可能になります。ブロックチェーン用の通常のプログラミング言語を使用する場合、スマートコントラクトに適したものにするために言語の大部分を無視する必要があることがよくあります(例:Rust)。

Move on Aptosは、Facebookのチームによって構築された完全な言語をサポートし、セキュリティと開発者体験を向上させる追加の拡張機能が構築されています。

利点説明
形式検証Aptosフレームワークは完全に仕様化され、Move Proverで形式検証されています。これには、ガバナンス、NFT、トークンに関わるコアコントラクトが含まれます。
ガスカバレッジMove VMは100%のガスカバレッジを持っています。ガスはシステムでの実際の使用量(CPU、メモリ、ストレージ、I/O)に基づいて課金されます。つまり、ガスエクスプロイトはありません。
セキュリティ冗長性ランタイム安全性チェックによって提供されるセキュリティ冗長性。
権限制御権限制御は様々なレベルで柔軟に構築できます。例えば、デフォルトでトークンレベル権限制御が存在し、RWAトークン化を可能にします。
利点説明
Move開発ツール- 単体テスト: Moveはすべてのコントラクトに組み込みの単体テストを持っています。Aptosはさらに、異なるシナリオをテストするためのフレームワークでテスト機能を提供します。
- カバレッジ: カバレッジツールにより、ソースとバイトコードレベルの両方でカバレッジレポートが可能です。
- 逆コンパイラー: セキュリティ向上のため、オンチェーンバイトコードを逆アセンブルまたは逆コンパイルして、実際のコントラクトへの可視性を提供できます。
- IDEプラグイン: Aptosはすべての主要IDEをサポートしています:VSCode, Cursorなど および IntelliJ
データモデルAptosは、データ定義がオンチェーンに保存される、アクセス可能なデータモデルを持っています。オブジェクトとアカウントは、解析しやすい形式で複数の異なる構造を持つことができます。
アップグレード可能性アップグレード可能性により、アプリケーションインターフェースが破損することがなく、下流アプリケーションからの明示的な採用を必要としません。コントラクトは単純にその場でアップグレードしてバグを修正できます。
クロス相互作用Moveは型安全な構造体を使用してコントラクト間の相互作用を可能にします。
コード保存Aptosはソースコードをオンチェーンに保存し、監査とコントラクトからバイトコードへの正確性を保証する能力を向上させます。
スポンサー付きトランザクションネイティブスポンサー付きトランザクションサポートにより、特別なサービスやコントラクト固有のコードを必要とせずに、他のユーザーがトランザクションを支払うことができます。
堅牢なトークン標準デジタルアセットとファンジブルアセット標準は、オンチェーンでの多様な種類のトークンとデジタルアセットの柔軟性と統一標準を提供します。これらはERC-20、ERC-721、ERC-1155、Token-2022などの既存の標準に影響を受けています。
オンチェーンランダムネスネイティブなオンチェーン偏りのないランダムネスは、コンパイル時の追加安全性チェックとともに、乱数を取得する安全で一貫した方法を提供します。