
EOA(Externally Owned Account:外部所有アカウント)とは、秘密鍵によって制御されるEthereum上のアカウントであり、2026年10月下旬のある1日では、約16人に1人の送信者がEIP-7702を通じてスマートアカウント用のコードへ自分たちのアカウントを指し示していました。暗号資産の文脈において、EOAの意味は、同じ3文字が指す法律・医療・スラングなどの意味とは一切関係がありません。
2026年10月下旬のある1日に取引を送信した382,357件のEthereumアドレスのうち、その日の終了時点でEIP-7702の委任(デリゲーション)コードを持っていたのは約16人に1件で、通常のコントラクトコードを持っていたものはありませんでした。委任の有無にかかわらず、これらの送信者は全員が秘密鍵で署名しています。EthereumはEOAからの取引のみを受け付けるためです。
EOAを一目で把握
項目 | EOA |
定義 | 秘密鍵によって制御されるEthereumアカウント |
アドレス | 公開鍵のハッシュから生成される「0x+40桁の16進文字」 |
作成コスト | 不要 |
取引の開始 | 可能(コントラクトアカウントには不可) |
スマートアカウント化の手段 | ERC-4337のUserOperation、2025年5月以降のEIP-7702による委任 |
2026年10月下旬のある1日のデータ | 382,357件の送信者のうち約6.1%が7702の委任コードを保持 |
主なリスク | 秘密鍵またはシードフレーズを保有する者がアカウントを支配する |
暗号資産におけるEOAとは?
EOAとは、チェーンの外側から個人が運用するタイプのアカウントです。Ethereumのアカウントに関するドキュメントでは2種類のアカウントタイプが定義されており、外部所有アカウント(EOA)は「秘密鍵を持つ者によって制御される」と説明されています。もう一方のコントラクトアカウントは、コードによって制御されます。
Ethereumの正式仕様書では「externally(外部の)」という部分について説明されています。Yellow Paperの2025年2月Shanghai版では、取引を「Ethereumの範囲外にあるアクターによって構築された、単一の暗号署名付き命令」と定義しています。また「取引の送信者はコントラクトであってはならない」と付け加えられており、鍵の保有者こそがその外部のアクターです。
鍵のペアには2つの要素があり、Phemex Academyの公開鍵と秘密鍵の違いでは、どちらを共有できるかを解説しています。
EOAはどのように機能するのか?
すべてのEOAは秘密鍵から始まります。Ethereumのアカウントページでは、秘密鍵を「64桁の16進文字」と説明しており、多くのウォレットライブラリがランダムに生成します。公開鍵は楕円曲線暗号の計算によって秘密鍵から導出され、アドレスは公開鍵から導出されます。ウォレットは、アカウントがチェーン上で使用される前に、これら3つすべてをオフラインで生成できます。
EthereumのEOAアドレスは42文字です。アカウントページによれば、「公開鍵のKeccak-256ハッシュの末尾20バイトを取り出し、先頭に0xを追加する」ことで構成されます。これにより、0xプレフィックスの後ろに40桁の16進文字が並びます。
アカウントページの表現を借りれば、EOAの作成に費用はかかりません。アドレスは所有者が何も署名する前であってもETHを受信できます。ネットワークが公開鍵を認識するのは、最初の署名済み取引が届いた時点だからです。
各EOAはnonceも保持しています。アカウントページではnonceを「外部所有アカウントから送信された取引の数を示すカウンター」と定義しています。1つのnonceに対して承認される取引は1件のみであるため、署名済みの送金がリプレイされて同じ資金が二度動くことはありません。
取引が届くと、Ethereum Virtual Machine(EVM)が呼び出された内容を実行し、送信者はその処理に対するGas FeeをETHで支払います。
EOAとコントラクトアカウントの違いは?
EOAとコントラクトアカウントの区別は、何を制御の主体とするかに集約されます。EOAは秘密鍵によって制御され、取引を開始できます。一方、コントラクトアカウントは自身のコードによって制御され、取引や別のコントラクトから呼び出されたときにのみ動作します。
特徴 | EOA | コントラクトアカウント |
制御するもの | 秘密鍵 | 自身のコード |
取引を開始できるか | 可能 | 不可(呼び出しにのみ応答) |
作成コスト | 不要 | 手数料が必要(ネットワークのストレージを使用するため) |
アカウント上のコード | なし、または23バイトのEIP-7702ポインター | デプロイ済みのコントラクト |
コントラクトアカウントはデプロイ済みスマートコントラクトのアドレスであるため、秘密鍵は一切持ちません。EIP-3607(2021年6月10日に作成されたFinal規格)は、クライアントに対し、送信者がデプロイ済みコードを保持するあらゆる取引を拒否するよう指示しています。本文には「そのような取引を含むブロックは無効とみなされなければならない(MUST)」と記載されています。
多くの解説記事は、ある変更より前の情報に基づいています。EthereumのアカウントページはいまだにEOAのcode hashを空文字列のハッシュとして説明していますが、これは2025年5月7日までのすべてのEOAに当てはまるものでした。それ以降、EOAは委任ポインターを保持できるようになったため、両者の分かれ目は秘密鍵にあります。EOAは秘密鍵を持ちますが、コントラクトアカウントは持ちません。委任されたEOAは、秘密鍵とアドレスの両方をそのまま維持します。
EOAウォレットとは?
EOAウォレットとは、EOAの秘密鍵を保存し、その鍵で署名を行うアプリまたはデバイスです。コイン自体はEthereumのレジャー(台帳)上に留まります。アカウントページの言葉を借りれば、「あなたが実際に保有しているのは暗号資産ではなく、秘密鍵です」。
同じ秘密鍵を別のウォレットアプリにインポートすると、同じアドレスと同じ残高が復元されるのはこのためです。カストディ型でないセルフカスタディウォレットは、その秘密鍵と、再構築可能なシードフレーズをあなたに渡し、アカウントへの署名は鍵の保有者だけが行います。
スマートコントラクト型ウォレットは、資金をコントラクトアカウントに保持し、そのコードが支出のルールを定めます。2025年5月以降、EOAウォレットは新しいアドレスに移行せずに、EIP-7702を通じてこれらのルールの一部を追加できます。Ethereum FoundationのPectra発表では、その一例として取引のバッチ処理(トランザクション・バッチング)が挙げられています。
EIP-7702はEOAにスマートアカウント用コードを実行させる仕組みは?
EIP-7702(「Set Code for EOAs」というタイトル)は、2024年5月7日に作成されたFinal規格です。取引タイプ0x04を追加し、EOAが署名済みの認可(authorization)を通じて「アカウント内のコードを設定」できるようにします。各認可は委任先コントラクトを指定します。
チェックを通過し、ゼロ以外のアドレスを指定した各認可について、プロトコルはアカウントのコード内に委任インジケーターを書き込みます。このポインターは23バイト長で、プレフィックス0xef0100の後に委任先の20バイトのアドレスが続きます。これにより、EOAへのすべての呼び出しは委任先のコードを実行するようになります。
秘密鍵は従来どおり機能し続けます。EIP-7702はEIP-3607を変更し、「コードが有効な委任インジケーターであるEOA」が取引を発行できるようにするためです。
EthereumのPectraアップグレードによりEIP-7702が有効化されました。最初のブロックは、Ethereum Foundationが予定していたエポック364032で、2025年5月7日にメインネットへ到達しました。同じ発表では「EOAの所有者はいつでも、既存の委任コードを取り消したり置き換えたりする新たなEIP-7702認可を作成できる」と述べられています。
署名済み認可があっても、委任が保証されるわけではありません。EIPはクライアントに対し、間違ったチェーンIDや古いnonceなどチェックに失敗したタプルをスキップして次へ進むよう指示しています。委任が成立したことの唯一の証明は、アカウントのコードです。
ERC-4337スマートアカウントにもEOAは必要?
何かしらがチェーンに届く時点では、必要です。ERC-4337(2021年9月29日に作成されたFinal規格)は、「コンセンサス層のプロトコル変更を完全に回避する」方法でスマートアカウントを構築します。
ユーザーはUserOperationに署名します。標準規格では、UserOperationを「ユーザーに代わって送信される取引を記述する構造」と定義しています。
バンドラー(「UserOperationsを処理できるノード=ブロックビルダー」)は、多数のUserOperationを1つの取引にまとめます。ペイマスターは「取引の支払いに同意するヘルパーコントラクト」として、手数料を代行できます。
その1つの取引には、依然として通常の送信者が必要です。EIP-3607によりコントラクトを送信者にすることはできないため、バンドラーは各バンドルをEOAから送信し、そのアカウントの秘密鍵で署名します。各UserOperationの裏側にあるスマートアカウント自体は、その取引を送信しません。
EIP-7702委任を利用するEthereum送信者はどれくらい?
2026年10月下旬の調査対象日では、23,432件の送信者が一日の終わりに委任インジケーターを保持しており、少なくとも1回の取引を送信した382,357件の重複なしアドレスの6.13%を占めました。その他の358,925件(93.87%)はまったくコードを保持していませんでした。
これらの委任済みアカウントは91,068件の取引を送信しており、その日チェーン上の154万件の5.91%に相当します。委任先は271の異なるコントラクトを指しており、1つのコントラクトだけで23,432件のうち6,522件(27.83%)を集めていました。この単一コントラクトに欠陥があれば、その日の委任済み送信者の4分の1以上に一度に影響が及びます。
方法:本調査では、その暦日のEthereumブロック7,178件に含まれるすべての取引(失敗したものを含む)を対象としています。各送信アドレスを1回だけ保持し、その日の最後のブロックで各アドレスが保持していたコードを確認します。委任インジケーターは0xef0100で始まる正確に23バイトのものであるため、コントラクトコードと混同されることはありません。
EOAのリスクは?
EOAにはリセットボタンがありません。秘密鍵、あるいはその背後にあるシードフレーズを保有する者がアカウントを支配します。シードフレーズを紛失すると所有者は永久に締め出され、漏洩するとすべてを他人に渡してしまいます。最も安全な設定は、シードフレーズをオフラインで保管することで、シードフレーズのバックアップ方法で手順を解説しています。
EIP-7702は2つ目のリスク、つまり悪意あるコードへの委任を追加します。EIP自身のセキュリティノートは、「実装が不十分な委任先(delegate)により、悪意あるアクターが署名者のEOAをほぼ完全に支配できる可能性がある」と警告しています。敵対的なコントラクトを指す署名済み認可も、意図的に同じことを可能にします。
チェーンIDも複雑さを加えます。チェーンID 0で署名された認可は、EIP-7702を実行するあらゆるネットワークでEIPのチェーンチェックを通過します。その署名を保有する者は、アカウントのnonceが一致する別のチェーン上でそれを提出できてしまいます。
PhemexでEOAをどのように活用できるか?
PhemexからセルフカスタディへETHを出金する際、そのETHが着金するのがあなたのEOAです。また、そのウォレットからの入金も、同じ鍵が署名する取引として始まります。チェーンが見るのはEOAのアドレスと署名のみであるため、貼り付けたアドレスが資金の行き先を決めます。
ご自身のウォレットから42文字のアドレスをコピーし、貼り付けた後に先頭と末尾の文字を照合してください。
同じアドレス形式が多くのEVMチェーンで使用されるため、出金ネットワークがご自身のウォレットが使用するものと一致しているか確認してください。
まず少額を送信し、テスト送金が到着してから残りを送ってください。
PhemexでのETH価格に対する取引は、あなたのEOAに一切触れません。Phemex上のETH先物はお客さまのPhemexアカウント内で決済されるため、オンチェーン取引や秘密鍵による署名は発生しません。これらのコントラクトのポジションにはレバレッジが使用され、損失が証拠金水準に達するとPhemexが自動的に決済します。
よくある質問(FAQ)
ブロックチェーンにおけるEOAとは?
EOA(外部所有アカウント)とは、秘密鍵によって制御されるEthereumアカウントです。ETHやトークンを保持し、取引を開始でき、作成に費用はかかりません。もう一つのアカウントタイプであるコントラクトアカウントは、コードを実行し、何かから呼び出されたときにのみ動作します。
Ethereumにおける外部所有アカウントとは?
個人がチェーンの外側から秘密鍵を通じて制御するタイプのアカウントです。アドレスは0xの後に公開鍵のKeccak-256ハッシュの末尾20バイトが続く形式で、合計42文字となり、nonceが発信するすべての取引をカウントします。
EOAはスマートコントラクトコードを保持できますか?
2025年5月7日以降、EOAはある種のコードを保持できます。それは23バイトのEIP-7702委任インジケーターで、アカウントへの呼び出しを選択したコントラクトのコードで実行させます。EIP-3607の下では、それ以外のコードを保持するアカウントは取引を一切送信できません。
EIP-7702の委任は解除できますか?
可能です。所有者はいつでも新しい認可に署名できます。ゼロアドレスを指せばEIP-7702下でアカウントのコードがクリアされ、別のコントラクトを指せば従来の委任先が置き換えられます。
結論
スマートアカウントは、EOAを基盤として構築される形でEthereumに登場しました。EIP-7702は同じアドレスにコントラクトロジックを追加し、ERC-4337のバンドルは依然としてEOAから送信されるため、取引を開始できるのは秘密鍵のままです。
これはシードフレーズへの責任を一層重くします。支払いに署名する鍵は、アカウントをコントラクトへ引き渡す認可にも署名できるため、その上に構築されるどんなウォレット機能よりも慎重な管理が求められます。
免責事項:本記事は情報提供のみを目的としており、投資助言ではありません。暗号資産の取引には重大なリスクが伴います。投資判断を下す前に、必ずご自身で調査を行ってください。
