スマートコントラクトウォレットとは?仮想通貨アカウントより安全な理由
多くの仮想通貨ウォレットは「プライベートキーを持つこと=資産の全権を持つこと」です。キーを保持していればすべてを操作でき、失えばすべてを失います。スマートコントラクトウォレットは、この「単一障害点」モデルを、ブロックチェーン上で動作するプログラム可能なルールに置き換えます。ルールは第三者を介さず自動で実行され、この違いが初心者の想像以上に重要です。
標準ウォレットとスマートコントラクトウォレットの違い
セルフカストディ型ウォレットでは、public keyとprivate keyが生成されます。private keyはすべての取引を承認するカギで、通常12〜24語のseed phrase(シードフレーズ)から導出されます。このフレーズを知っている人は、即座に資産へ完全アクセスできます。
この仕組みはシンプルですが、非常に厳格です。seed phraseを失うと復元手段はありません。カスタマーサポートも救済もなく、取り戻せません。2025年初頭時点で、推定230万〜370万BTCが恒久的にアクセス不能となっており、多くはパスワードやseed phrase紛失が原因です。2025年のCHI Conference調査では、仮想通貨ユーザーのうちseed phraseの意味を正しく理解していたのは43.4%に過ぎませんでした。
seed phraseが1つしかない場合、それ自体が単一障害点です。火災や水害、紙の紛失などで、資産へのアクセスが永久に失われるリスクがあります。さらに根本的な問題は構造そのものです。標準的なExternally Owned Account (EOA)にはプログラム可能なロジックがありません。単なるキーペアであり、キーを持つ者が全権を持ちます。送金上限や復元機能、二段階承認などはなく、seed phraseを盗まれれば全資産が奪われます。ブロックチェーン上では、友人に10 USDCを送る取引も、悪意ある第三者が全額引き出す取引も区別できません。スマートコントラクトウォレットは、まさにこの課題を解決するために生まれました。
スマートコントラクトウォレットの特徴
smart contractは、ブロックチェーン上に保存された自己実行型コードです。あらかじめ設定された条件を満たすと自動で動作し、仲介者や人の承認は不要です。スマートコントラクトウォレットでは、単一のEOAの代わりにコントラクトアカウントが資産とユーザーの間に介在します。「キー=全権」ではなく、ルールを自分で定義し、そのルールをコントラクトがオンチェーンで自動的に強制します。
実際の例:
- 100ドル未満の取引は1回の承認で完了。1,000ドル超の取引は2回の承認が必要。
- リカバリーキーが使われた場合、48時間の遅延が発動し、不正時にはキャンセル可能。
- session keyは特定のdAppに24時間だけアクセス権を付与し、その後自動で失効。
これらはアプリの設定ではなく、コントラクト自体に組み込まれ、ブロックチェーン上で実行されます。誰も上書きできません。
ERC-4337は、このモデルを標準化したEthereumの規格です。ベースプロトコルを変更せず、アプリケーション層でアカウント抽象化やスマートコントラクトウォレットを実現します。ERC-4337のEntryPointコントラクトは2023年3月1日にEthereumメインネットで初めて稼働し、現在ではPolygon、Arbitrum、Optimism、Baseなど主要EVMチェーンでも利用可能です。
スマートコントラクトウォレットで実現できる主なセキュリティ機能
Social recovery(ソーシャルリカバリー)は、信頼できる友人や別デバイス、ハードウェアキーなど「ガーディアンアカウント」を指定し、primary keyを失った場合に復元を承認してもらう仕組みです。紙のバックアップ1枚に全てを託す従来型から、人間的な運用が可能になります。
Spending limits(送金上限)は、一定額を超える取引に追加承認を必須とし、session keyが漏洩しても被害を最小限に抑えます。
Transaction delays(取引遅延)は、例えば24時間の猶予を設け、大きな送金が即時成立しないようにします。不正送金が発生してもキャンセルの猶予が生まれます。
Session keys(セッションキー)は、特定のdApp・金額・期間に限定した一時的なアクセス権を付与します。メインキーは直接使わず、DeFi利用時のリスクを抑えます。
Batch transactions(バッチ取引)は、複数の操作を1回のオンチェーン処理にまとめ、ガス代や手間を削減します。たとえば、トークン承認と50 USDCのスワップを1つの取引で完結できます。
Allowlists and denylists(許可・拒否リスト)は、特定のアドレスやコントラクトへの送金を自動で制限できます。例えば、取引所の入金アドレスとバックアップウォレットだけを許可し、それ以外をすべてブロックする設定も可能です。これらの機能は標準EOAでは不可能です。EOAにはロジックがなく、スマートコントラクトウォレットこそがロジックです。
Tangem Walletのアーキテクチャ
Tangem Walletは、secure element-based EOA modelを採用し、private keyはカード内チップで生成・保管され、決して外部に出ません。スマートコントラクト機能との連携を理解するには、2つのレイヤーを分けて考える必要があります。
キー生成は、Samsung S3D350Aセキュアエレメントチップ内で行われ、EAL6+のCommon Criteria認証を取得しています。これは生体認証パスポートや銀行ICチップと同等の認証水準です。チップ内の真性乱数発生器がアクティベーション時にキーを生成し、Tangemを含め誰も抽出・閲覧・エクスポートできません。
取引を実行する際の流れ:
- Tangemアプリが未署名の取引データを準備
- 取引データをNFC(ISO 14443 Type A、0〜5cm範囲)でTangemカードへ送信
- NFCがチップに給電(バッテリー不要)
- カード内セキュアエレメントで取引を署名
- 署名済み取引がアプリに戻る
- アプリがブロックチェーンノードへ送信
private keyはインターネットやアプリのソフトウェア層に一切触れません。
Tangemは機能単位でスマートコントラクトを統合しています。たとえばSmart Gasは、Ethereum PectraアップグレードのEIP-7702を活用し、ETHやMATICなどのネイティブトークンの代わりにステーブルコインでネットワーク手数料を支払える仕組みです。これはTangem7702GaslessExecutorというスマートコントラクトに一時的に実行権限を委任し(Pessimistic監査済み)、ユーザーのウォレットアドレスはそのまま維持されます。
Smart Gasは5つのEVMチェーンに対応:Ethereum(USDC・USDT)、BNB Smart Chain(USDC・BSC-USD)、Polygon(USDC・USDT0)、Arbitrum One(USDC・USDT0)、Base(USDC)。
重要な違いとして、Tangem PayはTangem Walletとは別製品です。Tangem Payはアプリ内で利用できるバーチャルVisaカードで、USDC残高をカードにチャージし、Visa加盟店で1:1でUSDに自動換算されます。Tangem Walletはセルフカストディの資産保管、Tangem Payは決済用レイヤーです。UIは共通ですが、設計も運用も異なります。
Tangem Walletの正直な制約として、デスクトップやWebインターフェースはありません。すべてiOS/Androidアプリ経由で、取引ごとに物理カードのタップが必須です。リモート署名はできません。
2018年のKudelski Security、2023年のRiscure、2026年のCure53による独立監査で脆弱性は確認されていません。Tangemは2018年以降300万台以上を出荷し、ハッキング被害ゼロを維持しています。2025年の調査では、ハードウェアウォレットのインシデント率は5%未満、ソフトウェア型は15%以上でした。
スマートコントラクトウォレットの課題
スマートコントラクトウォレットは標準EOAより高機能ですが、その分複雑で新たなリスクも伴います。
Higher gas costs. 参考実装のERC-4337 SimpleAccount作成時、UserOperationで約381,489ガス、通常のERC-4337送金でも約92,901ガスと、EOA送金の約4倍のコストがかかります。Polygonなどでは通常は低コストですが、オーバーヘッドはゼロではありません。
Smart contract risk. セキュリティはコントラクトコードの品質に依存します。バグがあれば、単純なEOAでは起こらないリスクが発生します。監査済み・正式レビュー済み実装でリスクは大幅に減りますが、「監査済み=完全無欠」ではありません。
Recovery requires setup. Social recoveryは、事前にガーディアンアカウントを設定しておかないと機能しません。初期設定時に必ず構成する必要があり、後回しにすると復元手段がなくなります。
Compatibility is still uneven. 2026年時点でも、すべてのdAppがERC-4337フローに完全対応しているわけではありません。PolygonやEthereumなど主要EVMチェーンでは技術的には対応していますが、フロントエンドの実装状況はまちまちです。
Complexity has a learning curve. スクリプトハッシュアドレスやコントラクトアカウントは、従来のpublic-keyアドレスより複雑です。基本的なウォレットでは新しいアドレス形式に未対応の場合もあり、設定したルールの理解にも一定の学習が必要です。これらはスマートコントラクトウォレットを避ける理由ではなく、「監査済み・ドキュメント充実・メンテナンス継続」の実装を選ぶべき理由です。
まとめ
単一seed phraseモデルは「単一障害点」という致命的な課題を抱えています。スマートコントラクトウォレットは、プログラム可能なルールやソーシャルリカバリー、送金上限、session keyなどでこの構造的問題を解決します。Tangem Walletはまずハードウェア側からアプローチし、private keyをEAL6+認証のセキュアエレメント内で生成・保管し、外部流出を防ぎます。Smart Gasのようなスマートコントラクト機能も、トランザクション層でこの基盤を拡張しつつ、コアのキーセキュリティを損なうことはありません。USDCをリアルな決済に使いたい方は、tangem.com/en/tangem-pay/でTangem Payもご覧ください。
よくある質問
-
それぞれ異なるリスクに対応しています。ハードウェアウォレットは、署名処理をオフラインのセキュアエレメント内で完結させ、private keyをネット上に出しません。スマートコントラクトウォレットは、従来のprivate-keyアカウントでは不可能なプログラム可能なルールや復元機能を追加します。Tangemは両者の強みを組み合わせ、ハードウェアでのキー生成・保管に加え、Smart Gasなどのスマートコントラクト機能も提供しています。2025年の調査では、ハードウェア型のインシデント率は5%未満、ソフトウェア型は15%以上でした。
-
ERC-4337は、Ethereumのベースプロトコルを変更せずに、スマートコントラクトウォレット(アカウント抽象化)を標準化するEthereum Improvement Proposalです。アプリケーション層でUserOperationという疑似トランザクションオブジェクトと代替メンプールを利用します。ERC-4337のEntryPointコントラクトは2023年3月1日にEthereumメインネットで稼働し、現在はPolygon、Arbitrum、Optimism、Baseなど主要EVMチェーンでも利用可能です。
-
すべての仮想通貨ウォレットにはリスクがあります。スマートコントラクトウォレットは、ソーシャルリカバリーやプログラム可能なルールで単一障害点リスクを軽減しますが、コントラクトのバグやガーディアン設定ミス、リカバリー未設定などで深刻な問題が発生する場合もあります。フィッシングやマルウェアによる不正署名リスクもウォレット種別を問わず存在します。監査済み実装を選び、初期設定時に復元機能を構成してください。
-
Tangem Walletは、private keyをSamsung S3D350Aチップ(EAL6+認証)内で生成・保管するsecure element-based EOA modelを採用したハードウェアコールドウォレットです。ERC-4337型のスマートコントラクトウォレットではありません。Tangemのスマートコントラクト機能は、Smart Gasのように特定取引でEIP-7702を使い、一時的にスマートコントラクトに実行を委任する形で実現しています。ユーザーを新しいコントラクトアカウントへ移行させることはありません。
-
Tangem Walletはセルフカストディ型の仮想通貨保管用ウォレットで、private keyはカード内セキュアエレメントに保管され、KYC不要、オンチェーン活動は完全匿名です。Tangem Payはアプリ内で利用できるバーチャルVisaカードで、USDCをVisa加盟店で使うための別製品です。USDCがカード残高となり、決済時に1:1でUSDへ変換されます。Tangem Payはアプリ上でKYCが必要です。両者はUIを共有しますが、設計・運用は完全に別です。
-
Tangemのバックアップカードをすべて紛失・破損した場合、資産の復元は不可能です。Tangemを含め、いかなる第三者も資産を回復できません。そのため、Tangemはバックアップカードを分散保管することを推奨しています。1枚はメイン用、1枚は自宅保管、1枚は信頼できる人や金庫などに。各セットには2枚または3枚のカードが含まれ、すべて同じprivate keyにアクセスできます。