スマートフォンやパソコンなど、日常的に使うデバイスには専用のセキュリティチップが搭載されています。たとえば、iPhoneにはSecure Enclave、AndroidデバイスにはKeystoreやTrust Zone、StrongBoxが採用されています。
この独立した物理領域はTEE(Trusted Execution Environment:信頼実行環境)と呼ばれます。TEEの根本原則は「入力のみ、出力なし」です。秘密鍵はこの領域内で生成・管理され、決して外部に出ることはありません。外部アプリはデータの署名をリクエストできるだけです。
この仕組みはハードウェアウォレットの標準と一致しています。こうしたチップは、NIST(National Institute of Standards and Technology)が定めた業界標準の暗号曲線secp256r1を採用しています。この標準は、WebAuthnやFIDO2認証(指紋認証やFaceIDなど)にも利用されています。
しかし、Ethereumは広く普及しているsecp256r1を標準サポートしていません。
歴史的経緯として、BitcoinコミュニティはNIST曲線に「国家レベルのバックドア」が仕込まれる可能性を懸念し、一般的ではないsecp256k1を選択しました。Ethereumもアカウントシステム設計時にこの流れを受け継ぎました。
r1とk1は一文字違いですが、数学的には全く別物です。そのため、スマートフォンのセキュリティチップはEthereumの暗号方式に対応できず、Ethereumトランザクションへの直接署名ができません。
EthereumがAppleやSamsungにsecp256k1対応のチップ設計を求めることはできません。現実的な解決策は、Ethereum側がsecp256r1に適応することです。
スマートコントラクトでr1署名の検証は可能でしょうか?理論上は可能ですが、計算が非常に複雑で、1回の検証に数十万Gasを消費するため、経済的に現実的ではありません。
この課題を解決するため、Fusakaアップグレードでプリコンパイルドコントラクトが導入されました。検証ロジックをEthereum Virtual Machine(EVM)クライアントコードに直接組み込み、逐次計算を不要にします。開発者は指定アドレスを呼び出すだけで、極めて低コストで検証が可能です。
EIP-7951では検証コストが6,900Gasに固定され、従来の数十万Gasから数千Gasへと大幅に削減され、日常利用が現実的になりました。
このEIPの実装により、スマートフォンのTEE環境内でEthereumのスマートアカウント署名を直接認証できるようになりました。
ただし、現時点のMetaMask EOAアドレスには適用されません。これらは公開鍵ロジックにk1を使用しているためです。
このソリューションはAccount Abstraction(AAウォレット)向けです。今後はウォレットがニーモニックフレーズに頼らず、スマートコントラクトとして機能する時代が到来します。例えば、コントラクトコードで次のように定義できます。
「この指紋(r1署名)が認証されれば、送金を許可する。」
EIP-7951はすぐにニーモニックフレーズを不要にするものではありませんが、Ethereumの大衆化を阻む最大の障壁を取り除きます。
これまで「インスティテューショナルグレード」のセルフカストディを実現するには、OneKeyやKeystone、Ledgerなどを購入し、ニーモニックフレーズを厳重に管理する必要がありました。利便性を重視するなら資産を取引所やカストディアルウォレットに預け、管理権限や分散性を犠牲にするしかありませんでした。
Fusakaアップグレード以降、こうしたトレードオフは不要になります。
EIP-7951の導入で、スマートフォンをハードウェアウォレットとして活用できる時代が到来します。次の10億人のユーザーは、秘密鍵の仕組みを理解したり、12個の単語を書き留めるストレスから解放されます。
ユーザーは顔や指紋をスキャンするだけで、iPhoneのセキュリティチップがsecp256r1でトランザクションに署名し、Ethereumのプリコンパイルドコントラクトがこれを検証します。
Ethereumが次の10億人に普及するには、ユーザーに高度な暗号技術の習得を求めるのではなく、普遍的なインターネット標準を活用し、ユーザーのニーズに寄り添うことが重要です。





