スマートコントラクトウォレットとは:機能・メリット・リスクを解説
スマートコントラクトウォレットとは何か。シードフレーズ型ウォレットとの違い、復元やバッチ処理などの機能がもたらすもの、事前に確認すべきリスクを解説します。
スマートコントラクトウォレットとは、1つの秘密鍵ではなく、ブロックチェーン上のプログラムによって管理される暗号資産アカウントです。コントラクトのコードが、誰がどのルールでトランザクションを承認できるかを決めるため、複数の承認者、支出上限、アカウントの復元、ステーブルコインでの手数料支払いといった機能が可能になります。
多くの人は、セキュリティが1つのシードフレーズに完全に依存する通常のウォレットから始めます。それを失えば資金は失われ、漏れれば盗まれます。スマートコントラクトウォレットは、この単一障害点をなくすことを目指しています。このガイドでは、その仕組み、従来のウォレットとの比較、そして資金を移す前に確認すべきリスクを解説します。
通常のウォレットの仕組み
Ethereumや同様のチェーンでは、通常のウォレットは外部所有アカウント(EOA)と呼ばれます。これは1つの秘密鍵で管理され、その鍵は通常12語または24語のシードフレーズから導出されます。その鍵を持つ人は誰でも、上限もなく取り消しもできない形で、あらゆるトランザクションに署名できます。基本については公開鍵と秘密鍵の解説をお読みください。
そのシンプルさこそが弱点でもあります。2人目の承認者を追加したり、1日の上限を設定したり、鍵を失ったときにアカウントを復元したりする方法はありません。
スマートコントラクトウォレットの仕組み
スマートコントラクトウォレットは、それ自体があるアドレスにデプロイされたコントラクトです。資金はコントラクトが保有し、そのルールを満たすトランザクションだけを実行します。ルールの例は次のとおりです。
- 指定された3つの鍵のうち2つがすべての送金を承認しなければならない。
- 一定額を超える送金には時間的な遅延が必要。
- 信頼できる「ガーディアン」のグループが、紛失した鍵を置き換えられる。
- 特定のアプリは、限られた期間、上限額までしか支出できない。
ウォレットはコードなので、トークンの承認とスワップを一度に行うなど、複数の操作を1つのトランザクションにまとめたり、ガス代を他の人に代わりに支払ってもらったりすることもできます。
アカウントアブストラクションとERC-4337
アカウントアブストラクションとは、すべてのアカウントをプログラム可能にするという、より広い考え方です。Ethereumでは、ERC-4337規格が2023年にメインネットで稼働しました。これにより、コアプロトコルを変更せずに、「ユーザーオペレーション」と「バンドラー」という別の仕組みを通じてスマートコントラクトウォレットが機能します。「ペイマスター」はガス代を肩代わりしたり、ステーブルコインなどのトークンで手数料を支払えるようにしたりできます。詳しくはアカウントアブストラクションの解説で取り上げています。
2025年には、EthereumのPectraアップグレードでEIP-7702が導入され、通常のアカウントが一時的にスマートコントラクトのコードに処理を委任できるようになりました。アカウントアブストラクションについての解説記事で、さらに詳しく説明しています。
通常のウォレットとスマートコントラクトウォレットの比較
| 項目 | 通常のウォレット(EOA) | スマートコントラクトウォレット |
|---|---|---|
| 管理するもの | 1つの秘密鍵 | プログラム可能なルール、1つ以上の鍵 |
| 鍵を紛失した場合の復元 | シードフレーズのバックアップのみ | ガーディアンやバックアップ鍵で可能 |
| 複数の承認者 | 不可 | 可能 |
| 支出上限 | 不可 | 対応していれば可能 |
| トランザクションのバッチ処理 | 不可 | 可能 |
| 他のトークンでガス代を支払う | 不可 | ペイマスターで可能 |
| どのEVMチェーンでもすぐ使える | はい | チェーンごとにデプロイが必要 |
| 主なリスク | シードフレーズの盗難や紛失 | コントラクトのバグ、アップグレード、設定ミス |
スマートコントラクトウォレットの主な種類
マルチシグウォレット
マルチシグは、異なる鍵による複数の署名を必要とします。Safe(旧Gnosis Safe)は広く使われている例で、DAO、プロジェクトのトレジャリー、多額の資産を持つ個人に人気があります。共有資金にマルチシグウォレットを使う方法をご覧ください。
ソーシャルリカバリーウォレット
メインの鍵を失った場合に、別のデバイス、友人、サービスなど信頼できるガーディアンのグループがアクセスの回復を手助けできるウォレットです。ガーディアンの仕組みと選び方については、ソーシャルリカバリーウォレットの解説をお読みください。
一般ユーザー向けの「スマートアカウント」
多くの新しいアプリは裏側でスマートアカウントを使っており、パスキーやメールでログインし、ETHを持たずに手数料を支払えるようにしています。便利な場合もありますが、誰が鍵を管理しているのか、復元の手順はどうなっているのかを確認しましょう。
リスクとトレードオフ
スマートコントラクトウォレットは、ある問題を解決する一方で別の問題を生み出します。
- 1コードのリスク。 ウォレットのコントラクトにバグがあると、資金がロックされたり流出したりする恐れがあります。長い実績と公開監査のあるウォレットを選びましょう。
- 2アップグレードのリスク。 アップグレード可能なウォレットもあります。アップグレード用の鍵が侵害されれば、あなたのウォレットも侵害されます。どのアップグレードにあなたの承認が必要かを確認しましょう。
- 3復元のリスク。 共謀したり、ハッキングされたり、連絡が取れなくなったりしたガーディアンは、アクセスを奪うことも妨げることもあり得ます。
- 4チェーンごとの利用可否。 スマートコントラクトウォレットは各ネットワーク上に存在している必要があります。ウォレットがデプロイされていないチェーン上の自分のアドレスにトークンを送ると、追加の手順が必要になったり、構成によっては取り戻せなかったりすることがあります。
- 5互換性。 署名の検証や入金処理など、アプリや取引所によってはコントラクトウォレットの扱いが異なる場合があります。
- 6署名フィッシング。 悪意あるトランザクションを承認してしまえば、コントラクトウォレットでも被害を受けます。安全なトランザクション署名のガイダンスに従いましょう。
安全な選び方と使い方
- 長く公開された実績と、公開済みの監査があるウォレットを選ぶ。
- アップグレード、復元、対応ネットワークに関するドキュメントを読む。
- 大きな金額を移す前に、復元テストを含めて少額で試す。
- 資金を受け取る前に、ウォレットがどのネットワークにデプロイされているかを確認する。
- ハードウェアウォレットなどの署名用デバイスを安全に保管し、バックアップを取る。
- 接続済みのアプリと権限を定期的に見直す。
まとめ
スマートコントラクトウォレットは、「1つの鍵がすべてを支配する」状態を、複数の承認者、上限、復元といった自分で設計できるルールに置き換えます。特に高額の資産や共有資金では、セルフカストディをより安全かつ簡単にできる可能性があります。その代償は、ウォレットのコードと設定という新しい種類のリスクです。実績のあるウォレットを選び、復元とアップグレードのルールを理解し、信頼する前に必ずテストしましょう。
よくある質問
スマートコントラクトウォレットとは何ですか?
スマートコントラクトウォレットとは、1つの秘密鍵ではなく、ブロックチェーン上にデプロイされたコードによって管理される暗号資産アカウントです。コントラクトが、誰がどのような条件でトランザクションを承認できるかを定めるため、複数の署名者、支出上限、ソーシャルリカバリー、ネイティブコイン以外のトークンでの手数料支払いといった機能が可能になります。
スマートコントラクトウォレットは通常のウォレットより安全ですか?
そうなり得ます。1つのシードフレーズという単一障害点をなくし、復元や上限設定を可能にするからです。しかし、スマートコントラクトのリスクが加わります。ウォレットのコードのバグ、悪意あるアップグレード、誤って設定された復元の仕組みによって資金が危険にさらされる可能性があります。監査済みで広く使われているウォレットを選び、その復元ルールを理解しておきましょう。
スマートコントラクトウォレットはすべてのチェーンで同じアドレスになりますか?
必ずしもそうではありません。ウォレットはコントラクトなので、ネットワークごとに個別にデプロイする必要があります。複数のチェーンで同じアドレスにデプロイできるウォレットもあれば、できないものもあります。デプロイされていないネットワーク上の自分のウォレットアドレスに資金を送ると問題が起きる可能性があるため、送金前に確認しましょう。
アカウントアブストラクションとは何ですか?
アカウントアブストラクションとは、ユーザーアカウントをプログラム可能なスマートコントラクトのように振る舞わせるという考え方です。Ethereumでは、ERC-4337規格によってコアプロトコルを変更せずにスマートコントラクトウォレットが利用可能になり、2025年のアップグレードでは通常のアカウントが一時的にスマートコントラクトのコードを使える仕組みが追加されました。
