原文
EIP-8298: SETCODEFROM Code Reuse Instruction — colinlyguo (2026-06-12)
この提案は、ACDEコール中に提起されたアイデアに由来します。それは、EIP-7851とEIP-8058の目標を、より低レベルのコード採用プリミティブに統合するというものです。
EIP-8298は、現在のEVMアカウントが既存のデプロイ済みコントラクトのコードハッシュを採用できるようにするEVM命令であるSETCODEFROMを導入します。ソースは生のコードハッシュではなく、ライブアカウントアドレスであるため、採用されるコードは現在のコンセンサス状態に紐付けられます。
この提案には主に2つの用途があります。
- コントラクトのバイトコード再利用とデプロイメント経済性: これは、EIP-8058が対象とするデプロイコストの問題に対処します。同一のランタイムコードを持つコントラクトは、インスタンスごとのストレージを初期化した後、クライアントが既に保存しているバイトコードに対して再度コードデポジットガスを支払うことなく、共有デプロイ済みコードを採用できます。これは、例えばEIP-8037の下で、コントラクトのデプロイがステート成長により密接に再価格設定される場合に特に関連性が高まります。
- ECDSA権限が無効化されたEOA移行: これは、EIP-7851が対象とするアカウント移行の問題に対処します。移行コードは、ポスト量子 (PQ)ウォレット状態を含むウォレット固有のステートを初期化し、その後、通常のウォレットコードを採用できます。アカウントが通常のデプロイ済みコードを持つと、EIP-3607の下でプロトコルレベルのECDSAトランザクション生成が無効になり、古いECDSAキーを介したEIP-7702による再委任は利用できなくなります。
更新ログ
- 2026-06-12: 初回ドラフト
外部レビュー
2026-06-12現在、なし。
未解決の問題
2026-06-12現在、なし。
4投稿 - 3参加者