【いーおーえー】

EOA(外部所有アカウント) とは?

最終更新:
💡 秘密鍵の署名で動かす、Ethereumのアカウント

Ethereumで秘密鍵の署名によって操作を承認するアカウント。ウォレットはその鍵や操作を扱う道具です。EIP-7702では、EOAにコードの実行を委譲する仕組みも加わっています。

📌 このページのポイント
Ethereumのアカウントと操作EOAコントラクト秘密鍵で署名コードを実行操作を承認呼び出しに応答ウォレットは操作の道具実行内容はコード次第EOAもコードを委譲できるよEIP-7702でも、秘密鍵の権限は残る
EOAとコントラクトの基本的な違い。EIP-7702ではEOAから既存のコードへ実行を委譲することもできます。
ひよこ ひよこ
EOAって、ウォレットのこと?
ペンギン先生 ペンギン先生
別のものだよ。EOAはEthereum上のアカウントで、ウォレットは鍵を扱って残高を見たり、署名したりする道具。同じEOAを、対応する別のウォレットから使うこともあるんだ。
ひよこ ひよこ
コントラクトアカウントとは何が違うの?
ペンギン先生 ペンギン先生
EOAは秘密鍵の署名でトランザクションを承認する。通常のコントラクトアカウントは、呼び出しを受けてコードを実行するよ。人が毎回ボタンを押す場合だけでなく、プログラムが鍵を使う場合もあるんだ。
ひよこ ひよこ
EOAには、コードが絶対にないの?
ペンギン先生 ペンギン先生
今はそう言い切れない。EIP-7702では、署名によって既存のコントラクトのコードへ実行を委譲できるよ。複数操作のまとめ実行や手数料の肩代わりにつなげられるけど、利用できる機能は委譲先やウォレットの対応による。委譲しても秘密鍵の操作権限は残るんだ。
ひよこ ひよこ
じゃあ、何を一番大切に管理するの?
ペンギン先生 ペンギン先生
秘密鍵や復元フレーズだね。第三者に渡すとアカウントを操作されるおそれがある。復元の備えと保管方法を確認し、署名の前に操作内容を読もう。アプリを入れたことだけで安全が保証されるわけではないよ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「EOA」って出てきたら「秘密鍵の署名で操作を承認するEthereumのアカウント」と思えばだいたいOK!
📖 おまけ:英語の意味
「Externally Owned Account」 = 外部所有アカウント
💬 Ethereumのアカウントを、秘密鍵で操作するEOAとコードで動くコントラクトアカウントに分けるときの呼び名です。「外部」は人間だけを意味せず、鍵を使うプログラムも操作できます。

参考資料

← 用語集にもどる