暗号通貨の世界は金融的自律性を約束しますが、しばしばぎこちなく、恐ろしいユーザーエクスペリエンスを提供します。長年にわたり、エーテリウムのようなブロックチェーンネットワークとのやり取りの基盤は、脆弱な12〜24語のシードフレーズに直接結びついた外部所有アカウント(EOA)に依存してきました。責任は絶対的です:フレーズを失えば資金を失い、フレーズを暴露すればすべてを失います。
この硬直した構造は大衆採用の大きな障害です。購入前に取引手数料(ガス)を支払うためにどの種類の通貨が必要かを正確に知る必要がある、または単純なトークンスワップを行うだけで複数の承認が必要だということを想像してください。これらの摩擦点は、次世代のウォレット技術——広義にはアカウント抽象化(AA)と呼ばれるもの——が解決しようとしているものです。
アカウント抽象化ウォレットは、単純な秘密鍵所有から論理ベースのスマートコントラクトへの制御の移行を実現します。このシフトは重要で、ウォレットがカスタマイズ可能で回復可能になり、指数関数的に使いやすくなります。このガイドは、伝統的なEOAウォレットと先進的なスマートコントラクトアカウントの基本的な違いを探求し、特に革新的な現代の暗号体験への道を切り開いている技術標準ERC-4337に焦点を当てます。
基礎:EOA とスマートコントラクトウォレットの違いを理解する
アカウント抽象化の複雑さに飛び込む前に、Ethereum ネットワーク(および類似の EVM 互換チェーン)上でアドレスが存在する 2 つの基本的な方法を理解することが重要です。
外部所有アカウント (EOA):現状
EOA は、最も一般的な暗号資産アカウントの種類で、MetaMask や Trust Wallet などの伝統的なウォレットで例示されます。EOA は単一の秘密鍵によって定義されます。
EOA の主な特徴:
- 直接制御: 秘密鍵が所有権を証明する唯一のものです。ユーザーはこの鍵から派生したニーモニック(シードフレーズ)を手動で生成し、安全に保管する必要があります。
- ステートレス: EOA は内部コードやロジックを実行できません。トランザクションを開始する(資金を送金したり、コントラクトとやり取りしたり)ことしかできません。
- 必須ガス: EOA によって開始されるすべてのトランザクションは、ネットワークのネイティブ通貨(例:Ethereum 上の ETH)で支払われなければなりません。EOA の ETH がなくなると、USDT や USDC をどれだけ保有していても、すべての活動が停止します。
- 不可逆的な損失: 秘密鍵またはシードフレーズが失われた場合、回復のための技術的な仕組みはなく、資金は永久にロックされます。
スマートコントラクトアカウント (SCA):コード駆動型の所有権
スマートコントラクトアカウント (SCA) — アカウント抽象化の基礎 — は秘密鍵によってではなく、そのアドレスにデプロイされた不変のコードによって定義されます。SCA はプログラム的なルールによって管理されるアカウントです。
SCA の主な特徴:
- ロジックベースの検証: 単純な署名(EOA のように)をチェックする代わりに、SCA はトランザクションが正当かどうかを検証するためのコードを実行します。この検証には、マルチシグネチャチェック、タイムロック、支出制限、またはソーシャル検証プロトコルが含まれる可能性があります。
- プログラマブルセキュリティ: SCA はコードであるため、デイリー支出制限、自動キー回転、またはホワイトリストされたトランザクション受信者などのセキュリティ機能がアカウントに直接組み込まれます。
- アカウントの柔軟性: SCA は、従来シンプルなアカウントでは不可能だった機能を実現し、以下で議論される高度な UX 機能に直接つながります。
Ethereum 全域で SCA を実装する際の核心的な難しさは、基盤となるネットワーク(分散型バリデータ)がこれらのプログラマブルアカウントとどのように相互作用するかを標準化することでした。この標準化の課題は ERC-4337 によって解決されます。
ERC-4337: 真のアカウント抽象化への鍵
スマートコントラクトウォレットは数年間存在していましたが(しばしば「マルチシグ」ウォレットと呼ばれます)、シームレスに機能するためにはEthereumプロトコルのコアに大幅な変更が必要でした。ERC-4337は、コアネットワークルールを変更せずに論理を処理する並行システムを作成することでこれを変えます。この提案は、現在のAAイノベーションの波を駆動するエンジンです。
ERC-4337 が検証を実行から分離する方法
ERC-4337は、「UserOperation」(UserOp)の概念を導入します。
標準的なEOAトランザクションをブロックチェーンへの単一の直接的な指示と考えてください。逆に、UserOpはユーザーが何をしたいかを記述する特別なオブジェクトです。このオブジェクトはネットワーク内の専門アクターによって処理されます。
- UserOperation (UserOp): これはインテントです。受信者、望ましいアクション、そして重要なのは手数料と検証方法を指定します。決定的なのは、特定のスマートコントラクトウォレットの独自の論理に関わらず、UserOpは標準的であることです。
- Bundlers: これはさまざまなスマートコントラクトアカウントから複数のUserOpを集めるノードです。それらを単一の有効なEOAトランザクションにパッケージ化し、標準のEthereumネットワークに送信します。Bundlerは本質的にUserOpをブロックチェーンに導入する交通管制官として機能します。
- Entry Point Contract: このコントラクトはブロックチェーン上のユニバーサルゲートウェイです。BundlerがUserOpを含むトランザクションを送信すると、Entry Pointコントラクトは署名を検証(SCAの論理を使用して)し、手数料が支払われていることを確認します。有効であれば、Entry Pointがアクションを実行します。
アカウント検証と手数料支払いの複雑さをオフチェーンに移し、UserOp形式で標準化することで、ERC-4337は破壊的なプロトコルアップグレードなしにアカウント抽象化を実現します。
主要コンポーネント: UserOperations と Paymasters
ERC-4337によって導入された2つのコンポーネントがユーザーエクスペリエンスを向上させるために重要です:上記で詳述したUserOpとPaymaster。
Paymaster
Paymasterは、アカウントが新しい方法でガス代を支払う能力を与えるスマートコントラクトです。Paymasterはトランザクションをスポンサーしたり、ユーザーがネットワークのネイティブ通貨以外のトークンでトランザクションフィーを支払うことを許可したりできます(例:USDC、DAI、またはアプリケーション固有のトークンでガス代を支払う)。
Paymasterの実用的アプリケーション:
- Gas Sponsoring: 分散型アプリケーション(dApp)や企業がユーザーのガス代を完全に支払うことを選択できます。これにより、ネイティブトークン(ETH)をまだ保有していない新規ユーザーの「コールドスタート」問題が解消されます。
- Token Conversion: Paymasterはユーザーのステーブルコイン保有の一部を自動的にスワップして必要なETHガス代をカバーし、ガス管理をユーザーに意識させません。
この機能は、ブロックチェーントランザクションを標準的なウェブ決済のように感じさせ、ユーザーが別途ガス残高を常に管理する必要を排除する、恐らく最も重要なステップです。
革新的なユーザーエクスペリエンス (UX) の改善
ERC-4337 が提供する技術的抽象化は、ユーザーに即時的で具体的な利点をもたらし、DeFi および dApps とのインタラクションの方法を根本的に変革します。これらの機能は、現在大衆採用を阻害している煩雑で多段階のプロセスを直接解決します。
簡素化されたガス管理 (Paymaster およびガススポンサーシップ)
前述の通り、Paymaster 機能は UX の大きな勝利です。新規ユーザーにとって、ステーブルコインのみで取引する場合でも手数料のために常に ETH を保有する必要があるのは、混乱を招き、煩わしいものです。
Paymaster を利用したスマートコントラクトウォレットでは、体験がシームレスになります:
- 手数料支払いの柔軟性: ユーザーは USDC のみ保有していても複雑なトークンスワップを実行でき、Paymaster が ETH ガス用のマイクロコンバージョンを処理します。
- ゼロ手数料体験: ロイヤリティプログラムや補助付きアプリケーションの場合、dApp 自体が Paymaster として機能し、ユーザーの取引コストを吸収します。これにより、従来のアプリが決済処理コストを吸収するのと同様に、プロモーション無料取引を提供できます。
バッチ取引とワンクリックスワップ
従来の EOA 環境では、分散型金融 (DeFi) とのインタラクションに複数の連続した承認が必要です。例えば、イールドファームへのトークン預け入れには通常以下が必要です:
- 取引 1: DeFi プロトコルにトークン支出の承認を与える。
- 取引 2: ステーブルコイン転送の承認(スワップの場合)。
- 取引 3: 資金をプロトコルに預け入れる。
スマートコントラクトウォレットは、アカウント抽象化を使用してこれらのステップを単一の原子的な UserOperation にまとめます。
バッチ処理の仕組み:
スマートコントラクトアカウントは1つの署名を検証し、その検証に基づいて事前承認された一連のアクションを単一のブロックチェーンブロックで実行します。これによりインタラクションが劇的に高速化され、ユーザーエラーの可能性が減少し、複数のアクションを1つの取引にバンドルすることで総ガスコストを最小化します。
アカウント抽象化と L2 スケーリング
Arbitrum や Optimism などの Layer 2 (L2) ソリューションは、すでに取引を高速かつ低コストにしています。アカウント抽象化は L2 を完璧に補完し、速度とコストだけでなく使いやすさに焦点を当てます。
上級ユーザーや開発者にとって、ERC-4337 の標準化された性質は、複雑なロジック(ソーシャルリカバリー、多要素認証など)が異なる L2 ネットワーク間で一貫していることを意味します。これにより、クロスチェーンアプリケーション開発が大幅に簡素化され、アセットブリッジングがより直感的になります。
例えば、ユーザーはすべての統合 L2 ネットワークで1日あたり500ドルの支出制限を実装したスマートコントラクトウォレットを持ち、1つの中央ロジックで管理でき、リスク管理を大幅に簡素化できます。
強化セキュリティ:ソーシャルリカバリーの力
スマートコントラクトウォレットの最大の利点は、シードフレーズへの絶対的な依存の排除である可能性が高い。アカウントアブストラクションにより、EOAの能力をはるかに超える高度な論理駆動型のセキュリティ機能が実現される。
従来のリカバリー vs. ソーシャルリカバリーの解説
従来のEOAリカバリー: リカバリーは完全にシードフレーズに依存する。それが失われたり、盗まれたり、侵害されたりすると、アカウントは失われる。これは単一の壊滅的な失敗点である。
ソーシャルリカバリー (SCA): このシステムは、信頼できる個人やデバイス(「ガーディアン」と呼ばれる)のネットワークを使用して、ユーザーがプライマリキー(またはデバイス)を失った場合にアカウントへのアクセスを回復するのを支援する。
即時アクセスを許可するマスタープライベートキーを保存する代わりに、スマートコントラクトウォレットは、所有者のプライマリ署名キーを変更するなどのアクションを実行するために、ガーディアンからの一定のコンセンサス閾値を必要とする。
ガーディアンとセキュリティ閾値
ソーシャルリカバリーは高度にカスタマイズ可能である。ユーザーは以下の構造を設定できる:
- ガーディアン: 5人の信頼できる個人(例:家族、親しい友人、またはユーザーが所有する第2のデバイス)。
- 閾値: 5人のガーディアンのうち最低3人がリカバリートランザクションを承認する必要がある。
ユーザーが電話(およびプライマリ署名キー)を失った場合、単に3人のガーディアンに連絡する。これらのガーディアンは、自分のウォレット(EOAでも可)を使用して、スマートコントラクトが古い失われたキーを新しいものに置き換えることを許可するメッセージに署名する。ガーディアンはユーザーの資金に直接アクセスできない;彼らはアクセスメカニズムをリセットする権限しか持たない。
セキュリティ機能の実装:多要素認証と支出制限
SCAはプログラマブルであるため、馴染みのあるWeb2のパターンを模倣した洗練されたセキュリティ機能を実装できる:
- 二要素認証 (2FA): 標準的なEOAは1つの署名のみ必要とする。SCAは2つを要求可能:ユーザーの電話からのプライマリ署名 と 専用ハードウェアデバイスからの第2の署名、または既知のアプリで生成された時間ベースのコード。
- ホワイトリスト: ユーザーはSCAをプログラミングして、事前承認された安全なコントラクトやアドレス(例:主要な中央集権型取引所の出金アドレス)とのみやり取りを許可できる。このホワイトリスト外のトランザクションプログラミングは、コントラクトのロジックにより自動的に拒否される。
- 支出上限: ユーザーは日次または週次の支出制限を設定できる。例えば、1,000ドル未満のトランザクションは即時実行されるが、それを超えるトランザクションは自動的に24時間のタイムロックをトリガーするか、ガーディアンの承認を必要とし、盗難に対する重要な保護層を追加する。
EOA 移行パス: アカウント抽象化への移行
現在伝統的な EOA ウォレットに依存している数百万人の既存ユーザーにとって、アカウント抽象化への移行は古いウォレットを破壊するのではなく、それを新しい、よりスマートなアカウントのブートストラップ機構として活用するものです。
移行が必要な理由 (EOA の制限)
EOA は現在、ガス料金の支払いや基本インフラとのやり取りに必要ですが、静的で適応できません。ソーシャルリカバリーやペイマスター機能などの機能を組み込むことができません。これらの機能は実行可能コードを必要とするためで、EOA にはそれがありません。
移行パスは、セルフカストディと日常活動の主なポイントをシンプルな EOA アドレスから、よりセキュアで機能豊富なスマートコントラクトアカウント (SCA) アドレスへ移すことを含みます。
資産移行の実践的なステップ
EOA 移行プロセスは通常シンプルで、3つの主なステップを含みます:
- デプロイ: 既存の EOA(例: MetaMask)を使用して、新しいスマートコントラクトウォレットのコードに資金を提供しデプロイします。これは通常、専用のウォレットアプリケーションインターフェース(Safe や Argent など)を通じて行われ、技術的なデプロイ詳細を処理します。
- 初期資金提供: SCA がデプロイされたら、ユーザーは資産の大部分(トークン、NFT、DeFi ポジション)を古い EOA アドレスから新しい SCA アドレスへ移します。
- ブートストラップメンテナンス: 古い EOA は最小限の容量で保持されます。それはしばしば SCA の初期「オーナー」またはキーとして機能するか、単に新しい SCA の偶発的なメンテナンスや緊急リカバリプロセスを開始するための最小ガスを資金提供するために利用可能にしておきます。目標は、不セキュアで回復不能な EOA に直接保存される価値の量を最小限に抑えることです。
適切なスマートコントラクトウォレットの選択
アカウント抽象化が成熟するにつれ、異なるウォレット実装が登場しており、それぞれが異なるレベルのセキュリティと機能セットを提供しています。スマートコントラクトウォレットを選択する際、パワーユーザーと開発者は次の点を考慮すべきです:
- オープンソース監査可能性: 基盤となるコントラクトコードはオープンソースで定期的に監査されていますか?資金がコードによって管理されるため、そのコードのセキュリティへの信頼が最重要です。
- リカバリオプション: どのような具体的なリカバリメカニズムが提供されていますか?厳密にソーシャルリカバリーか、それともハードウェアキー統合やマルチシグ承認のオプションがありますか?
- 相互運用性: ウォレットは異なる dApp や Layer 2 エコシステムとどれだけよく統合されますか?最も頻繁に使用するネットワークとアプリケーションをサポートしていることを確認してください。
- ペイマスター統合: ウォレットは代替トークンでのガス支払いをサポートし、特定のトランザクションに対してネイティブなガススポンサーシップを提供しますか?
この移行は哲学的なシフトを表します:秘密の言葉だけに頼るのではなく、資産を保護するための透明で検証されたスマートコントラクトロジックに頼ることへの移行です。
結論
外部所有アカウント(EOA)からERC-4337によって駆動されるスマートコントラクトアカウントへの移行は、単なるアップグレードではなく、暗号通貨の採用における最も大きな障壁に対処する進化です。アカウント抽象化は、ブロックチェーン体験をリスクの高い技術的なニッチから、堅牢でプログラマブルな金融レイヤーへと移行させます。
シームレスなソーシャルリカバリー、柔軟なガス支払い、原子的なバッチトランザクションなどの機能を可能にすることで、スマートコントラクトウォレットは、より安全で直感的かつ高度にカスタマイズ可能なユーザーエクスペリエンスを提供することを約束します。開発者にとっては、この標準がブロックチェーンの複雑さを抽象化するアプリケーションを構築するための予測可能なフレームワークを提供します。ユーザーにとっては、12語のシードフレーズを失うという持続的で麻痺的な恐怖なしに、真の自己主権を提供します。これは、分散型金融の約束をすべての人に実現するための重要な一歩です。