なぜMoveなのか?
Moveプログラミング言語は、元々FacebookのエンジニアチームがDiem Payment Networkのために作成しました。Moveは、データと実行モデルが大きく異なる多様なブロックチェーンにおいて、共通のライブラリ、ツール、開発者コミュニティを可能にするプラットフォーム非依存言語として設計されています。 Aptosでは、Moveにおける強力な開発者コミュニティの構築を信じており、Move on Aptosスタック上で構築し、オープンソースソフトウェアに貢献することを招待しています。
Moveは以下の原則に基づいて構築されています:
原則 | 説明 |
---|---|
デフォルトで安全 | 金融システムは、ユーザーが資金を失わないことを保証するために構築されています。Moveは、リエントランシー攻撃、二重支払い、算術オーバーフローなどの攻撃やバグのクラス全体を防ぐように設計されています。型安全性とコンパイル時チェックがセキュリティの最前線にあります。 |
ランタイム検証 | バイトコードはランタイムで検証でき、何も問題が発生していないことを確認し、追加の安全性を提供し、悪意のあるアクターを防ぎます。 |
形式検証 | Move on Aptosは、コントラクトの形式検証を提供する仕様言語を提供します。これにより、不変条件を証明でき、コード監査を支援します。 |
シンプルさ | コマンドとバイトコードは意図的にシンプルです。これにより、簡単な逆コンパイル、ランタイム検証、コード検査が可能になります。ブロックチェーン用の通常のプログラミング言語を使用する場合、スマートコントラクトに適したものにするために言語の大部分を無視する必要があることがよくあります(例:Rust)。 |
なぜMove on Aptosなのか?
Section titled “なぜMove on Aptosなのか?”Move on Aptosは、Facebookのチームによって構築された完全な言語をサポートし、セキュリティと開発者体験を向上させる追加の拡張機能が構築されています。
セキュリティ
Section titled “セキュリティ”利点 | 説明 |
---|---|
形式検証 | 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などの既存の標準に影響を受けています。 |
オンチェーンランダムネス | ネイティブなオンチェーン偏りのないランダムネスは、コンパイル時の追加安全性チェックとともに、乱数を取得する安全で一貫した方法を提供します。 |