元のタイトル: 「なぜ EIP-3074 が次の Ethereum アップグレードに含まれるのか? アカウント抽象化スキーム ERC-4337 で十分ではないのか?」
元の著者: 0xNatalie、ChainFeeds
3 年以上の開発と改善を経て、第 183 回 Ethereum ACDE 会議で、EIP-3074 は Ethereum コミュニティから幅広い支持を受け、次の Ethereum ハードフォークに正式に含まれました。EIP-3074 は、Ethereum 研究者の Sam Wilson、Go Ethereum 開発者の Matt Garnett らによって提案されました。その中核は、追加の契約を展開したり手動で移行したりすることなく、外部所有アカウント (EOA) をスマート コントラクト ウォレットのように動作させることです。Paradigm CTO の Georgios Konstantopoulos 氏は、「ウォレットのユーザー エクスペリエンスは 10 倍向上します」と述べています。では、EIP-3074 はこれをどのように実現するのでしょうか。ERC-4337 との違いは何でしょうか。

外部所有アカウント (EOA) は、ユーザーが直接制御および管理する Ethereum 上のアカウントの一種です。これらは、MetaMask などの一般的に使用されるニーモニック ウォレットによって作成されたアカウントです。 EIP-3074 では、AUTH と AUTHCALL という 2 つの新しい Ethereum 仮想マシン命令が導入され、EOA がスマート コントラクトに接続し、トランザクションの制御をスマート コントラクトに委ねることができるようになりました。
· AUTH コマンド: ECDSA 署名を検証し、署名結果に基づいてコンテキスト変数「authorized」を設定するために使用されます。署名が有効で、署名者のアドレスが指定された承認済みアドレスと一致する場合、承認済みアドレスに「authorized」が設定されます。このように、AUTH 命令により、スマート コントラクトは EOA に代わって操作を実行できるようになり、承認制御の委任が実現します。
· AUTHCALL 命令: 既存の CALL 命令と同様に、外部呼び出しを実行するために使用されます。違いは、AUTHCALL は AUTH コマンドで以前に設定された承認済みアドレスを発信者アドレスとして使用する ことです。つまり、AUTHCALL は、契約自体ではなく、承認された EOA を送信者として使用することになります。
全体的なプロセスは、ユーザーが承認メッセージに署名し、Invoker コントラクトがそれを受信して検証し、Invoker コントラクトが AUTH および AUTHCALL 命令を使用してトランザクションを EOA として送信し、ユーザーの秘密鍵を直接使用せずにユーザーに代わってトランザクションを実行し、結果をユーザーに返すというものです。
ERC-4337 はプロトコル レベルであり、コンセンサス レイヤーの変更は必要ありません。その主な目標は、アカウントの抽象化を実現し、スマートコントラクトが資金を直接所有し、Ethereum アカウントと同様の機能を持つことを可能にすることです。つまり、スマートコントラクトアカウントには、EOA が積極的にトランザクションを開始する機能があります。
EIP-3074 は、Ethereum ハードフォークを通じて実装する必要があります。その主な目標は、EOA にスマート コントラクトと同様の機能を持たせ、EOA の制御をスマート コントラクトに委任し、スマート コントラクトがユーザーに代わってトランザクションを実行できるようにし、バッチ トランザクション、スポンサー トランザクション (つまり、第三者がトランザクションを実行するためにガス料金を支払う) などの機能をサポートすることです。 EOA はスマート コントラクト ウォレットとして機能するようになりますが、アカウントは依然として EOA のままです。 鍵が盗まれた場合、完全に失われることになります。 (アカウント回復専用の特別な契約が設定されている場合を除く)
マルチチェーンの時代では、各チェーンで ERC-4337 をサポートするには多くの開発作業が必要です。 EIP-7377 で提案されているような移行トランザクションにより、EOA ユーザーは自分のアカウントをスマート コントラクトに移行できますが、そのためにはユーザーが移行トランザクションを手動で送信する必要があります。対照的に、EIP-3074 は EOA にスマート コントラクトの機能を提供し、ユーザーが手動で移行する必要なく、すべてのチェーンで直接使用できるようになります。
他の提案と比較して、EIP-3074 の利点は、シンプルで効率的であり、ユーザーは追加のプロセスを必要とせずにスマート コントラクトの機能を享受できることです。以前、イーサリアムコミュニティは、EIP-3074 の技術的なセキュリティ問題について懸念していました。改良とテストを経て、コミュニティは EIP-3074 を次の Ethereum アップグレードに追加することを広く支持しました。これは、Ethereum エコシステムの複数の領域に影響を与えることになります。
例えば、DeFi分野では、EIP-3074のバッチ取引機能により、流動性プロバイダーとトレーダーの効率が大幅に向上し、参加コストが削減されます。さらに、ユーザーアカウントにトランザクションの実行を許可することで、DeFiアプリケーションはスポンサーとして機能し、ユーザーに代わってガス料金を支払うことができるため、ユーザーがDeFi製品を使用するハードルが下がり、DeFiの大規模アプリケーションが促進されます。
フルチェーンゲームの分野では、EIP-3074を通じて、ユーザーは認可を通じて第三者(Invoker)にアカウント操作権限を付与できるため、ユーザーがオンチェーン確認を実行し、トランザクションごとにガス料金を支払う必要があるという問題を回避できます。ゲーム開発者やその他の第三者がユーザーに代わって取引を実行でき、ユーザーは一度だけ承認を行うだけで済むため、取引プロセスが簡素化され、ゲームのスムーズさが向上します。
Ethereum トランザクションでは、ノード バリデーターはトランザクションを正しく処理するために、トランザクションの詳細を正確に把握する必要があります。これがネットワークのセキュリティと安定性を確保する唯一の方法です。 EIP-3074 では、スマート コントラクトが EOA に代わってトランザクションを実行できます。スポンサー付きトランザクションの場合、他の契約やアカウントとのやり取りにより、トランザクションの実行前後にアカウントのステータスが変わる可能性があり、ノードバリデーターがトランザクションの影響を正確に予測することが難しくなり、ネットワークの不整合によるセキュリティリスクが生じます。
また、ユーザーは署名することで第三者にアカウントの操作を許可できますが、これは第三者(Invokers)がユーザーのアカウントを一定範囲で操作できることを意味し、潜在的なセキュリティ上の問題につながる可能性があります。第三者の権限が悪用されたりハッキングされたりした場合、ユーザーの資金や個人情報が脅かされる可能性があります。
元のリンク
BlockBeats の公式コミュニティに参加しよう:
Telegram 公式チャンネル:https://t.me/theblockbeats
Telegram 交流グループ:https://t.me/BlockBeats_App
Twitter 公式アカウント:https://twitter.com/BlockBeatsAsia