著者: 潘志雄
実は「ハードウェアウォレット」をずっとポケットの中に入れているんです
私たちが毎日使っている携帯電話やパソコンには、実は特殊なセキュリティチップが組み込まれています。たとえば、iPhone の「Secure Enclave」や、Android スマートフォンの Keystore / Trust Zone / StrongBox などです。
この独立した物理領域は、多くの場合、TEE (信頼された実行環境) と呼ばれます。その特徴は「出入りのみ」です。秘密鍵は内部で生成され、この物理領域から出ることはありません。外部はデータへの署名のみを要求できます。
実はこれがハードウェアウォレットの標準なのです。署名する場合、これらのチップは通常、NIST (国立標準技術研究所) によって選択された業界標準アルゴリズム曲線 secp256r1 を使用します。これは、WebAuthn と FIDO2 の背後にある基礎です (指紋ログインや FaceID と同様)。
たった一文字の違い
恥ずかしいことに、イーサリアムはこの主流の secp256r1 をネイティブにサポートしていません。
当時、ビットコインコミュニティは、NIST カーブに「国家的バックドア」があるのではないかという懸念から、比較的人気のなかった secp256k1 を選択しました。したがって、イーサリアムはアカウント システムを設計する際にこの曲線の伝統に従いました。
r1 と k1 は 1 文字だけ異なるように見えますが、数学的にはまったく異なる 2 つの言語です。これは大きな問題点につながります。携帯電話のセキュリティ チップはイーサリアムと混同され、イーサリアム トランザクションに直接署名できません。
ハードウェアは変更できないため、このバージョンはハードウェアと「互換性」があります。
イーサリアムは明らかに、Apple や Samsung にチップ設計の変更を強制して secp256k1 に適応させることはできません。唯一の方法は、イーサリアムが secp256r1 に適応することです。
スマート コントラクトを使用して、r1 署名を検証するコードを作成することは可能ですか?理論上は機能しますが、数学的演算が複雑すぎるため、検証を実行すると数十万のガスが消費される可能性があり、経済的にはまったく利用できません。
したがって、Fusaka アップグレードでは、開発者はプリコンパイルというキラー武器を導入しました。これは、イーサリアム仮想マシン (EVM) で「バックドア」または「プラグイン」を開くことと同じです。EVM に段階的に計算させる代わりに、この検証関数をクライアントの基礎となるコードに直接記述する方が良いでしょう。開発者は特定のアドレスに電話するだけで、非常に低コストで検証を完了できます。
EIP-7951では、このコストが6900Gasに固定され、数十万から数千に直接削減され、最終的には「実際の製品で日常的に使用できる」範囲に入ります。
アカウント抽象化パズルの最後のピース
この EIP の実装により、最終的に携帯電話の TEE 環境でイーサリアム上のスマート アカウントに署名し、認証できるようになります。
これは、現在のメタマスクなどの EOA アドレスには適用されないことに注意してください (公開鍵生成ロジックがまだ k1 であるため)。
「アカウント抽象化」(AAウォレット)用に特別に用意されています。将来的には、あなたのウォレットは記憶に残る単語の羅列ではなく、スマートコントラクトになるでしょう。契約書には次のように書かれています。
「指紋(r1署名)が正しいことが確認される限り、転送は許可されます。」
概要
EIP-7951 によってニーモニックが一夜にして消滅するわけではないかもしれませんが、イーサリアムの大量採用への道における最大の障害は最終的に取り除かれます。
それ以前は、ユーザーは常に、「銀行レベルの」自律セキュリティを導入したいですか?という残酷な多肢選択の質問に直面していました。OneKey、Keystone、または Ledger にはお金を費やす必要があり、金の延べ棒のように記憶用の単語を保管しなければなりません。最もスムーズな体験をお求めですか?制御を引き渡す(分散化を犠牲にする)という犠牲を払って、コインを取引所または保管ウォレットにのみ保管できます。
Fusaka のアップグレード後は、この多肢選択問題は存在しなくなります。
EIP-7951の実装により、「ハードウェアウォレットとしての携帯電話」が徐々に現実のものとなります。将来的には 10 億人の新規ユーザーが「秘密鍵」とは何かを知る必要もなくなるかもしれませんし、12 単語を書き写すという心理的プレッシャーに直面する必要もなくなるかもしれません。
コーヒーを買うときに通常行うように、顔をスワイプして指紋を押すだけで済み、背面の iPhone セキュリティ チップが secp256r1 を呼び出してトランザクションに署名し、イーサリアムのネイティブのプリコンパイル済みコントラクトを介して検証を完了します。
これは、イーサリアムが次の十億人のユーザーを受け入れるための正しい姿勢です。ユーザーに複雑な暗号化を学ぶよう傲慢に求めるのではなく、インターネットの普遍的な標準と互換性を持つ姿勢を捨て、積極的にユーザーの懐に入り込むべきです。





