This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
マルチチェーンアカウントの抽象化技術の詳細:暗号化ウォレットの安全性と利便性が革新を迎える
マルチチェーンアカウントの抽象化技術解析:暗号化インフラストラクチャの未来の発展方向
2024年7月8日至11日、イーサリアムコミュニティの年次イベントEthCCがベルギーのブリュッセルで開催されます。ヨーロッパ最大規模のイーサリアム技術とコミュニティ交流イベントとして、今大会では350人以上のブロックチェーン業界の第一線の専門家が講演を行います。その中で、一人のブロックチェーン開発者が「マルチチェーンアカウントの抽象化」というテーマについて深く掘り下げて説明しました。
講演の要点は以下の通りです:
アカウントの抽象化(AA)の核心は署名の抽象化と支払いの抽象化にあります。前者はユーザーが柔軟に検証メカニズムを選択できるようにし、後者はさまざまな取引支払いオプションを提供することで、より安全で便利なユーザー体験をもたらします。
ERC-4337とネイティブAAは、検証と実行段階のエントリーファンクションの設計に違いがあります。それぞれの実装方法は、取引を検証し、実行ステップに異なる制限を持っています。
EVM互換チェーンでERC-4337を実装する際には、Rollupプロトコルの違いとアドレス計算方法の違いという2つの重要な点に特に注意を払う必要があります。これらはL1とL2の間の実装の詳細に違いをもたらす可能性があります。
以下はスピーチの詳細内容です:
アカウントの抽象化技術紹介
1. アカウントの抽象化の定義
アカウントの抽象化(AA)は主に2つのコア概念を含んでいます: サインの抽象化と支払いの抽象化。
署名の抽象化は、ユーザーが特定のデジタル署名アルゴリズムに制限されることなく、検証メカニズムを自由に選択できるようにします。これは、ユーザーが自分の身分や取引を検証するために、バイオメトリクスやマルチシグネチャなど、より多様な方法を使用できることを意味します。支払いの抽象化は、ERC-20トークンによる支払いを使用したり、第三者が取引手数料を負担したりするなど、多様な取引支払い方法を提供します。ERC-20トークンは、Ethereum上で最も一般的なトークン標準であり、互換性のあるデジタル資産の作成を可能にします。この柔軟性は、セキュリティとユーザー体験を大幅に向上させることができます。
2. ERC-4337 標準解析
現在、Ethereumの外部所有アカウント(EOA)には、署名方法と支払い設計にいくつかの制限があります。EOAはプライベートキーによって制御される通常のユーザーアカウントで、固定の署名アルゴリズムと支払い方法しか使用できません。ERC-4337は、より柔軟なアカウント管理と取引処理のメカニズムを導入することで、これらの問題を解決します。
ERC-4337の主な特長:
userOp構造:ユーザーはuserOpをBundlerに送信し、後者は複数のuserOpを集約してEntryPointコントラクトのhandleOps関数を呼び出して処理を行います。userOpはユーザー操作の略で、ユーザーが実行したい取引情報を含みます。Bundlerはユーザー操作を収集しパッケージ化する中間サービスです。
EntryPointコントラクト:取引処理の"オペレーティングシステム"として、主な機能は以下の通りです:
EntryPointコントラクトはERC-4337のコアであり、すべてのアカウント抽象化操作の入り口を統一しています。
3. ネイティブAAの紹介
ネイティブAAでは、各アカウントが契約であり、取引処理メカニズムがブロックチェーンプロトコルに直接組み込まれています。これは、アカウントの抽象化機能がブロックチェーンの基盤設計に組み込まれており、追加のレイヤーとして実装されていないことを意味します。
現在、各ブロックチェーンネットワークのAA実現方法:
これらのネットワークでは、Arbitrum、Optimism、Base、Linea、ScrollはすべてEthereumのLayer 2拡張ソリューションであり、取引処理速度の向上と手数料の低減を目的としています。Polygon PoSはサイドチェーンネットワークであり、Ethereumに拡張性のサポートを提供します。StarkNetとzkSync Eraはゼロ知識証明技術を使用したLayer 2ソリューションであり、Aztecはプライバシー保護機能の提供に特化しています。
! 暗号インフラストラクチャの未来は? マルチチェーンアカウントの抄録解析
ERC-4337とネイティブAAの比較分析
1. システムロールの設計
AAシステムは以下の重要な問題を解決する必要があります:
Gasはイーサリアムネットワークにおける計算単位で、操作を実行するために必要な計算リソースを測定するために使用されます。メモリプールは、処理待ちの取引を保存する一時的な領域です。
ERC-4337は、BundlerとEntryPointコントラクトを通じてこれらの機能を協調的に実現します。一方、ネイティブAAでは、ユーザーは直接userOpsを公式サーバーのオペレーター/ソート者に送信します。
StarkNetを例にすると、Sequencerはこれらすべてのタスクを処理する責任があります。zkSync Eraは、Operatorとbootloader(システムコントラクト)が協力して関連作業を行います。SequencerとOperatorは、どちらも取引の順序付けと実行を担当するノードです。
2. コントラクトインターフェース設計
異なる実装において、アカウント契約インターフェースには共通点があり、以下のステップのエントリーファンクションが含まれています:
ERC-4337とネイティブAAの"検証"段階のエントリーファンクションは固定されていますが、"実行"段階ではネイティブAAのエントリーポイントのみが固定されています。
3. 検証フェーズの制限事項
取引の検証にコスト制限がないため、メモリプールがDoS攻撃を受ける可能性があります。DoS攻撃とは、大量の無効なリクエストを通じてシステムリソースを消耗させ、正常なリクエストが処理されないようにすることを指します。そのため、各実装は検証段階にいくつかの制限を設けています。
ERC-4337は無効なオペコードとストレージアクセスの制限を定義しています。オペコードはブロックチェーン仮想マシン内の命令であり、特定の操作を実行するために使用されます。zkSync Eraは一部のオペコードの使用を緩和しましたが、契約ロジックは自身のストレージスロットのみアクセスでき、グローバル変数にはアクセスできません。StarkNetも外部契約の呼び出しを許可していません。
4. 実行フェーズの制限
zkSyncは、システムコールを実行する際にシステムフラグを確認することを要求し、アカウント開発者が意図的にシステムコントラクトと相互作用していることを保証します。システムコールとは、オペレーティングシステムのコアサービスを要求するプロセスを指します。ERC-4337とStarkNetは、実行段階では特別な制限がありません。
5. ランダム数処理
各実装にはランダム数設計においても違いがあります:
ランダム数(nonce)はブロックチェーンで取引のリプレイ攻撃を防ぐために使用され、毎回の取引に新しいnonce値が使用されます。
6. 初回取引のデプロイ
アカウント契約の展開とは、ブロックチェーン上に新しいスマートコントラクトインスタンスを作成し、ユーザーのアカウントとして機能することを指します。
7. zkSyncの特別なデザイン
zkSyncはユーザーがEthereum EOAからzkSyncに直接ETHを移動できるようにし、カスタムアカウント契約を展開することなくデフォルトアカウントを取得できます。このアカウントはEthereum EOAアドレスと同じで、EOAのように動作し、対応するEthereum EOAプライベートキーによって制御されます。
! 暗号インフラストラクチャの未来は? マルチチェーンアカウントの抽象解析
L1とL2におけるERC-4337の実装の違い
EVM互換チェーン上でERC-4337を実装する際、主に2つの重要な違いがあります:
1. プロトコルの違い
Rollup設計において、L2は安全性と決済を確保するためにデータをL1にアップロードする必要があります。L1はメインチェーン(、例えばイーサリアムメインネット)を指し、L2はL1の上に構築された拡張層です。ERC-4337では、これに関連する費用(、例えばL1の安全費用やblob費用)は、プレバリデーションGasに含まれるべきです。blobはバイナリ大オブジェクトの略で、大量のデータを保存するために使用されます。これらのアップロード費用をプレバリデーションGasに正確に計上する方法は重大な課題です。
2. アドレスの違い
zkSync ERAのcreate関数におけるアドレスエンコーディング方式は、EthereumやOPのサマリーとは異なります。StarkNetは独自のハッシュ関数を使用してアドレスを計算します。
EVM互換チェーン上では、ERC-4337は通常、各チェーンでのアドレス計算が一貫していると仮定されます。しかし、ハードフォークで追加されたオペコードはバイトコードの変更を引き起こし、その結果、EthereumやL2におけるERC-4337実装のアカウントコントラクトアドレスが一致しなくなる可能性があります。ハードフォークはブロックチェーンプロトコルの重大な更新であり、非互換性のある変更を引き起こす可能性があります。例えば、L2チェーンが上海ハードフォークをサポートしておらず、コンパイル時にEVMバージョンが指定されていない場合、push0の導入はバイトコードを変更します。バイトコードはスマートコントラクトの機械レベルのコードであり、ブロックチェーン仮想マシンによって直接実行されます。
! 暗号インフラストラクチャの未来は? マルチチェーンアカウントの抄録解析
! 暗号インフラストラクチャの未来は? マルチチェーンアカウントの抄録解析