スマートアカウントとは、その制御ロジックがデプロイされたスマートコントラクトの中に書かれているアカウントタイプであり、通常のユーザーウォレット(EOA)のようにアイデンティティと権限が完全に1組の秘密鍵に結びついているわけではない。ERC-4337は現在イーサリアムのメインネットでスマートアカウントを広く使えるようにする標準規格で、スマートアカウントが既存の取引インフラと互換性を持って動作できる一連の仕組み(ユーザーの操作をまとめてチェーンに送信するBundler、ユーザーに代わってガス代を支払うPaymasterなど)を定義しており、イーサリアムのプロトコル自体を変更せずに実現できる。これは後のEIP-7702とは異なる。ERC-4337はユーザーが実際に新しいコントラクトアカウントをデプロイする必要があるが、EIP-7702は既存のEOAが新しいアカウントを実際にデプロイすることなく一時的にコントラクトロジックを借用できるようにする。
スマートアカウントが登場したのは、通常のEOAウォレットが長年抱えてきた使いやすさとセキュリティ上の欠陥を解決するためだ。秘密鍵を失うと資産が永久に失われ、何の救済手段もない。操作の各ステップ(トークンの承認、スワップの実行)ごとに別々のトランザクションを送る必要があり、ユーザーは複数回ガス代を払うことになる。新規ユーザーが手数料無料でオンボーディングできるようにガス代を肩代わりすることは、EOAアーキテクチャの下ではネイティブにはほぼ実現不可能だった。アカウントのロジックをスマートコントラクトに書き込むことで、開発者はコントラクト層でリカバリーメカニズム(ソーシャルリカバリー、マルチシグ)、バッチ実行、柔軟なガス支払い方式を自由に設計できるようになり、以前はユーザー自身が負担していた複雑さをコントラクトのコードに委ねられるようになった。
実際の運用において、ERC-4337はいくつかの新しい役割を導入する。ユーザーは通常のトランザクションを直接送信する代わりに、やりたいことを記述した「UserOperation」を発行する。Bundlerは複数のUserOperationを収集し、1つの実際のオンチェーントランザクションにパッケージ化して送信し、その対価としてバンドリング手数料を得る。Paymasterは任意の役割で、ユーザーに代わってガス代を支払うことができる(ユーザーにトークンで支払わせる、あるいはアプリケーション側が全額補助するなど)。スマートアカウントコントラクト自体は、その操作が正当かどうかを検証するルールを定義しており、従来の署名検証でも、より複雑なマルチパーティ署名や生体認証の統合でもよい。この全体のフローはイーサリアムのコアプロトコルを変更する必要がなく、アプリケーションレイヤーに積み重ねられたインフラだ。
読者にとっての実際的な意味は、「シードフレーズは不要」「クレジットカードでガス代を支払える」「複数のステップをワンクリックで完了できる」とうたうウォレットアプリを使い始めた場合、その裏でERC-4337のスマートアカウントが動いている可能性が高いということだ。このタイプのアカウントのリスクプロファイルは通常のEOAとは異なる。資産の安全性は秘密鍵の管理だけでなく、スマートアカウントコントラクト自体のコードに脆弱性がないか、Paymasterの補助メカニズムが悪用される可能性がないかにも依存する。こうしたウォレットの安全性を評価する際は、「シードフレーズはしっかり管理されているか」だけでなく、「このスマートアカウントコントラクトは監査を受けているか、検証ルールの設計は合理的か」も問うべきだ。
CoinbaseのSmart Walletや、新世代のゲームやNFTアプリケーションに統合された多くの組み込みウォレットは、ERC-4337アーキテクチャを広く採用しており、ユーザーは秘密鍵やシードフレーズの概念を理解する前から直接操作を始められる。その裏にあるガス代の肩代わりは通常、アプリケーション側がPaymasterを通じて補助しており、新規ユーザーがオンチェーンアプリに初めて触れる際の障壁を下げている。
利点は、一般ユーザーのオンボーディング体験を大幅に改善できることだ。秘密鍵管理を事前に理解する必要がなく、操作をバッチ実行でき、アプリケーション側がガス代を補助できる。欠点は、リスクの源が単一の秘密鍵管理から、コントラクトコードのセキュリティ、検証ルールの設計、Paymasterの補助メカニズムなど複数の層に広がることだ。ユーザーにとって、スマートアカウントウォレットが安全かどうかを評価するために必要な知識の壁は実際には低くなっておらず、ただ形を変えただけだ。