Author: 0xNatalie Source: ChainFeeds
3年以上にわたる沈殿と改良の末、EIP-3074はイーサネットコミュニティから幅広い支持を得ました。EIP-3074はイーサネットの研究者 Sam Wilson、Goイーサリアム開発者 Matt Garnett らによって提案されました。EIP-3074は、外部所有アカウント(EOA)をスマートコントラクトのウォレットのように機能させることに主眼を置いており、追加のコントラクトを導入したり、手動で移行したりする必要はありません。ParadigmのCTOであるGeorgios Konstantopoulos氏は、「ウォレットのユーザーエクスペリエンスは10倍向上する」と述べている。では、EIP-3074はどのようにこれを実現するのでしょうか?また、ERC-4337とどう違うのでしょうか?
EIP-3074はEVMのアップグレードです
外部所有アカウント(EOA)とは、イーサリアム上のアカウントの一種で、ユーザーによって直接制御・管理されるものです。EIP-3074は、EOAがスマートコントラクトに接続し、スマートコントラクトにトランザクションの制御を引き渡すことを可能にする2つの新しいEther VMコマンド、AUTHとAUTHCALLを導入します。
AUTHディレクティブ:ECDSA署名を検証し、署名結果に基づいてコンテキスト変数"authorized"
を設定するために使用されます。署名が有効で署名者のアドレスが与えられた認可されたアドレスと一致すれば、"authorized
"は認可されたアドレスに設定される。このように、AUTHディレクティブはスマートコントラクトがEOAに代わって操作を実行することを可能にし、認可制御の委譲を可能にする。
AUTHCALL命令:既存のCALL命令に似ており、外部コールを実行するために使用されます。違いは、AUTHCALLがAUTH命令によって以前に設定された認証アドレスを呼び出し元アドレスとして使用することである。つまり、AUTHCALLは契約自体ではなく、認可されたEOAを送信者として使用する。
全体的なプロセスは、ユーザーが認可メッセージに署名し、Invokerコントラクトがそれを受信して検証し、InvokerコントラクトがAUTH命令とAUTHCALL命令を使用してEOAとしてトランザクションを送信し、ユーザーの秘密鍵を使用せずにユーザーに代わってトランザクションを実行し、ユーザーに結果を返す。Invokerコントラクトは、AUTHおよびAUTHCALLコマンドを使用してEOAとしてトランザクションを送信し、ユーザーの秘密鍵を直接使用せずにユーザーの代わりにトランザクションを実行する。
ERC-4337との違い
ERC-4337はプロトコルレベルであり、コンセンサスレイヤーに変更を加える必要はありません。主な目標は、スマートコントラクトが直接資金を所有し、Etherアカウントと同様の機能を持つことを可能にするAccount Abstraction(AA)を実装することである。つまり、スマートコントラクトのアカウントにEOAが開始するトランザクションの特性を持たせることです。
そしてEIP-3074はイーサネットハードフォークを通じて実装される必要があり、その主な目的はEOAスマートコントラクトのような機能を与えること、EOAの制御をスマートコントラクトに委譲すること、スマートコントラクトがユーザーに代わって取引を行うことを可能にすること、バッチ取引、スポンサー付き取引(つまり、第三者がガス代金を支払って取引を実行する)などの機能をサポートすることです。を支払う)等の機能をサポートする。EOAをスマート・コントラクト・ウォレットとして機能させる一方で、アカウントは依然としてEOAです。鍵が盗まれた場合、それは完全に失われたことを意味する。(アカウントの回復のために特別な契約が設定されていない限り)
なぜ重要なのでしょうか?
マルチチェーンの時代において、すべてのチェーンでERC-4337をサポートするには多くの開発作業が必要です。また、 EIP-7377 がEOAユーザーがスマートコントラクトにアカウントを移行できるようにするために提案しているような移行トランザクションは、ユーザーが手動で移行トランザクションを送信する必要があります。対照的に、EIP-3074はEOAにスマートコントラクトの機能を持たせており、すべてのチェーンで直接使用でき、ユーザーが手動で移行する必要はありません。
他の提案に対するEIP-3074の利点は、シンプルで効率的であり、ユーザーがスマートコントラクトの力を享受できるようにするための追加プロセスを必要としないことです。以前であれば、イーサコミュニティはEIP-3074の技術的な安全性を懸念していたでしょう。改善とテストの結果、イーサエコシステムの複数の分野に影響を与える次のイーサアップグレードにEIP-3074を追加することに、コミュニティから幅広い支持が寄せられています。
例えば、DeFi空間では、EIP-3074のバッチ取引機能は、流動性プロバイダーとトレーダーの効率を大幅に改善し、参加コストを削減します。さらに、DeFiアプリはユーザーアカウントに取引を実行する権限を与えることで、スポンサーとして機能し、ユーザーにガス料金を支払うことができます。これにより、ユーザーがDeFi製品を使用するための敷居が下がり、DeFiの大量導入が促進されます。
フルチェーンゲームの分野では、EIP-3074を通じて、ユーザーは自分のアカウントを操作する第三者(インヴォーカー)を承認することができるため、ユーザーがオンチェーン確認を行い、取引のたびにGas手数料を支払う必要があるという問題を回避できる。ゲーム開発者やその他の第三者がユーザーの代わりに取引を実行することができ、ユーザーは一度だけの認証で済むため、取引プロセスが簡素化され、ゲームの円滑性が向上します。
潜在的なリスク
イーサ取引では、正しく処理するために、ノードの検証者は取引の詳細を正確に知る必要があります。これにより、ネットワークのセキュリティと安定性が保証される。EIP-3074では、スマートコントラクトがEOAに代わってトランザクションを実行することが許可されており、スポンサー付きトランザクションが関与する場合、他のコントラクトやアカウントとの相互作用により、トランザクションの実行前後でアカウントの状態が変更される可能性があるため、ノード検証者がトランザクションの影響を正確に予測することが難しくなり、ネットワークの不整合というセキュリティリスクが生じます。
さらに、ユーザーは署名を通じて第三者にアカウントを操作する権限を与えることができますが、これは第三者(Invoker)がユーザーのアカウントをある程度操作できることも意味し、潜在的なセキュリティ問題につながる可能性があります。第三者のアクセスが悪用されたり、ハッキングされたりすると、ユーザーの資金や個人情報が危険にさらされる可能性がある。