| 機能 | Ethereum | Aptos |
|---|---|---|
| スマートコントラクト | Solidity, EVM | Move, MoveVM |
| 利点 | 成熟度が高く、幅広い採用 | スケーラビリティ、低遅延、予測可能な手数料 |
| 取引手数料 | 可変で高額になることがある | 低くて予測可能 |
| アカウントアドレス | 160ビット | 256ビット |
| アカウント構造 | 単一フィールドの残高、nonce使用 | モジュールとリソース、シーケンス番号使用 |
| データストレージ | Patricia Merkle Trees | リソースとモジュールを使ったグローバルストレージ |
| ストレージの考え方 | 契約ベースのストレージ | アカウント中心のコードとデータ管理 |
| 例示コード | ERC-20 | Fungible Asset |
| 呼び出し元ID | msg.sender | &signer参照 |
| アップグレード可能性 | プロキシパターン | ダイレクトモジュールアップグレード |
| 安全性・セキュリティ | 再入可能性の攻撃に弱い | 一般的な脆弱性を軽減 |
| ディスパッチタイプ | 動的ディスパッチ | 静的ディスパッチ |
| FT標準 | ERC-20 | Coin (旧)、Fungible Asset |
| NFT標準 | ERC-721, ERC-1155 | Digital Asset |
| ブロックチェーンのやり取り | Ethers.jsライブラリ | Aptos Typescript SDK |
| 機能 | Solidity | Move (Aptos) |
|---|---|---|
| トークンの構造 | 各トークンが独自のコントラクトです。 | すべてのトークンがタイプ付きのCoinまたはFungibleAssetで、単一の再利用可能なコントラクトを使用。 |
| トークン標準 | ERC20などの標準に準拠する必要があり、実装は異なることがあります。 | すべてのトークンに対して統一されたインターフェースと実装があります。 |
| 残高の保存 | マッピング構造を使用してコントラクト内に残高が保存されます。 | リソース指向の残高: ユーザーのアカウント内にリソースとして残高が保存されます。リソースは任意に作成できないため、トークン価値の整合性が保証されます。 |
| 送金機構 | 受取人の明示的な許可なくトークンを送金できます。 | 特定のケース(AptosCoinなど)を除き、トークンは通常、受取人の署名者権限を必要とします。 |
| 機能 | EVM (Ethereum Virtual Machine) | Move VM (Move Virtual Machine) |
|---|---|---|
| データストレージ | スマートコントラクトのストレージスペースにデータが保存されます。 | スマートコントラクト、ユーザーアカウント、オブジェクト間でデータが保存されます。 |
| 並列処理 | 共有ストレージスペースのため並列実行が制限されます。 | 柔軟な分割ストレージデザインにより、より多くの並列実行が可能です。 |
| VMと言語の統合 | EVMとスマートコントラクト言語(例:Solidity)は別々のレイヤーです。 | VMレイヤーとMove言語のシームレスな統合があり、Rustで書かれたネイティブ関数がMoveで実行可能です。 |
| 重要なネットワーク操作 | ネットワーク操作の実装は複雑で直接的ではありません。 | バリデータセット管理のような重要な操作がMoveにネイティブで実装され、直接実行が可能です。 |
| 関数の呼び出し | 動的ディスパッチにより任意のスマートコントラクトが呼び出し可能です。 | 静的ディスパッチはセキュリティと予測可能な振る舞いに焦点を合わせています。 |
| 型安全性 | 契約のタイプが一定の型安全性を提供します。 | Moveのモジュール構造体とジェネリックスが堅牢な型安全性を提供します。 |
| トランザクションの安全性 | トランザクションの順序付けと安全性のためにnonceを使用します。 | トランザクションの順序付けと安全性のためにシーケンス番号を使用します。 |
| 認証済みストレージ | スマートコントラクトのストレージを利用しています。 | Moveのリソースモデルを活用しています。 |
| オブジェクトのアクセシビリティ | オブジェクトはグローバルにアクセス可能ではなく、スマートコントラクトの範囲に限定されます。 | オブジェクトのグローバルなアクセシビリティが保証されます。 |