オンチェーンの資産が「数千ドルで気軽に遊ぶ」段階を超えた場合、シングルシグ(単一署名)ウォレットのリスクは指数関数的に増大します。シードフレーズの漏洩、スマートフォンの紛失、フィッシングリンクのクリックなど、たった一つのミスですべてがゼロになる可能性があります。この問題の標準的な解決策となるのがマルチシグウォレットです。複数の独立した秘密鍵で1つのアドレスを共同管理し、署名のしきい値(閾値)を満たして初めて資金を動かせる仕組みです。Safe(旧Gnosis Safe)は業界の事実上の標準(デファクトスタンダード)であり、Vitalik自身も使用しています。実際に手を動かす前に、まずはアカウント側の基礎を固めておきましょう。Binance公式サイトに登録してKYCを完了させておくことで、オンチェーンウォレットに問題が発生した際に取引所が法定通貨のセーフティネットとなります。アプリはBinance公式アプリを利用し、iOSユーザーはiOS導入チュートリアルに従ってインストールしてください。それでは、Safeの構築に入りましょう。
一、マルチシグとは何か
マルチシグ(Multi-signature)とは、1つの金庫を複数の鍵で開けるような仕組みです:
- 2/3(3分の2):3つの鍵のうち任意の2つがあれば開けられる(最も一般的)。
- 3/5(5分の3):5つのうち3つが必要(DAOやチーム向け)。
- 1/N:どれか1つでもあれば開けられる(安全性が低く、真のマルチシグとは呼べません)。
Safeは、イーサリアムをはじめとするすべてのEVM互換チェーン上のスマートコントラクトです。資産はコントラクト内に保管され、署名はオンチェーンで検証されます。これは以下のことを意味します:
- 「マスター秘密鍵」という概念はなく、すべてのOwner(所有者)は平等です。
- しきい値とメンバーは動的に変更可能です(変更には事前に現在のしきい値を満たす署名が必要です)。
- 1つのOwnerの秘密鍵が漏洩しても致命傷にはならず、攻撃者は少なくとももう1つの鍵を必要とします。
二、マルチシグを利用すべき人・シーン
| シーン | 推奨設定 |
|---|---|
| 個人で10万ドル以上を自己管理 | 2/3、3つの独立したデバイス |
| 夫婦・家族での共同管理 | 2/3、双方が各1つ+コールドバックアップ1つ |
| 3〜10人の小規模チーム・スタジオ | 2/3 または 3/5 |
| DAOのトレジャリー(国庫) | 4/7以上+Module(Safe Snapなど) |
| プロジェクト側の資金管理 | 3/5+タイムロック |
マルチシグの利用を推奨しないシーン:
- 頻繁なやり取り(毎日のSwapやClaim):毎回複数人の署名が必要になり非常に面倒です。
- 少額(1000ドル未満):シングルシグ+ハードウェアウォレットで十分であり、マルチシグのデプロイにはガス代(Gas)コストがかかります。
- 複数のチェーンに資産が分散している:各チェーンのSafeは独立しているため、管理の負担が大きくなります。
三、構築の実務:Arbitrumでの2/3 Safe
3つの独立したOwnerを準備する
重要:3つの鍵の間でリスクを可能な限り分散させること。以下は避けてください:
- すべて同じパソコンに入れている。
- すべて同じシードフレーズに由来している。
- すべて同じウォレットアプリを使っている。
推奨する組み合わせ:
- Owner A:ハードウェアウォレット(LedgerやTrezor)。日常的によく使うメインの署名者。
- Owner B:別のスマートフォンに入れたRabbyやMetaMask。
- Owner C:紙のコールドバックアップ+友人や弁護士に預ける(緊急用)。
デプロイ手順
- ブラウザで
app.safe.globalを開きます。URLの綴りに間違いがないか確認してください。 - ネットワークをArbitrum Oneに切り替えます(ガス代が安いため)。
- Owner Aのウォレットで接続し、「Create new Safe」をクリックします。
- Safeの名前を入力します(ローカルでのラベル付け用です)。
- Ownerのアドレスを追加します:A、B、Cの3つのアドレスをすべて入力します。
- しきい値を設定します:「2 of 3」を選択します。
- 内容を確認(Review)し、デプロイのトランザクションに署名します。
- 数秒後にSafeが作成され、「0x...」で始まるアドレスが発行されます。
デプロイにかかるガス代:Arbitrumでは約0.5〜2ドル、イーサリアムメインネットでは約20〜80ドルです(ガス代の変動によります)。
資産の入金
Safeのアドレスを通常の受取アドレスとして扱い、取引所や自身の別のウォレットから送金します。資産が着金した後の支出操作は、すべてSafeの画面から行う必要があります。
四、日常的な署名の流れ
例:Safeから特定のアドレスへ1 ETHを送金する場合。
- Owner AがウォレットでSafeに接続し、Send(送信)ページに入り、アドレスと金額を入力します。
- Submit(送信)をクリックすると、ウォレットのポップアップが表示されて署名します(これはオフチェーン署名であり、ガス代は消費しません)。
- 「Pending Transaction(保留中のトランザクション)」が表示されます。Owner Bには(メールやDiscordの通知を設定していれば)通知が届きます。
- Owner Bが同じSafeにアクセスし、そのトランザクションを確認してConfirm(確認)をクリックし、ウォレットで署名します。
- 2/3のしきい値に達すると、任意のOwnerがExecute(実行)をクリックし、ウォレットがオンチェーントランザクションを発行します。
- オンチェーンで承認されると、資金が送金されます。
プロセス全体でガス代を支払うのは最後のステップ(Execute)のみであり、最初の2ステップはオフチェーン署名です。
五、Ownerの復元・交換
あるOwnerの秘密鍵を紛失した場合でも、Safeの資金の安全性に影響はありません(もう1つの鍵が必要だからです)。対応方法は以下の通りです:
- 残りの2つのOwner(依然としてしきい値以上)で「Replace owner(所有者の変更)」をリクエストします。
- 紛失したアドレスを新しいアドレスに置き換えます。
- 双方が署名し、実行します。
- しきい値が元通りに回復します。
もし同時に2つの鍵を紛失した場合は、資金はロックされ、救出することはできません。これが、しきい値を高くしすぎないこと、バックアップを同じ場所にまとめないことが重要である理由です。
六、高度な使い方
タイムロックModule
Cobo ArgusやZodiacを追加することで、以下の設定が可能になります:
- 高額な送金の実行を24時間遅らせる(この期間内ならキャンセル可能)。
- ホワイトリストのアドレスへはそのまま送金し、それ以外のアドレスへはより多くの署名を要求する。
ソーシャルリカバリー
Spending limitと「Guardian(緊急連絡先としての友人など)」を組み合わせることで、緊急時にメインのOwnerを置き換えることができます。
Moduleに関する注意事項
Moduleを追加するたびにスマートコントラクトのリスク面が増加するため、不要な場合は追加しないでください。一般ユーザーには純粋なSafeだけで十分です。
七、セキュリティチェックリスト
- 各Ownerのシードフレーズは独立してバックアップし、交差させず、クラウドに保存しないこと。
- Safeのドメイン
app.safe.globalをブックマークに固定すること。 - 高額の送金前には、少なくとも1つのOwnerがハードウェアウォレットを使って詳細を確認すること。
- すべてのOwnerのアドレスを同じブラウザやウォレットのプロファイルに入れないこと。
- 定期的に(四半期ごとに)少額での「避難訓練」を実施し、3つの鍵がすべて機能して署名できるか確認すること。
よくある質問 FAQ
Q:Safeは無料ですか? A:プロトコル自体は無料で、オープンソースであり監査も受けています。コストはデプロイ時と毎回の実行時のガス代のみです。
Q:Safeを使ってDEXで取引できますか? A:可能です。UIにはSwap、Stake、Bridgeなどのモジュールが組み込まれています。しかし、やり取りのたびに複数人の署名が必要になるため、頻繁な操作には向いていません。
Q:Safeはどのチェーンに対応していますか? A:イーサリアム、Arbitrum、Optimism、Base、Polygon、BNB Chain、Avalancheなど、15以上のEVM互換チェーンに対応しています。各チェーンのSafeはそれぞれ独立したコントラクトになります。
参考文献
- コールド・ホットウォレット分離戦略と組み合わせて使用すると効果的です。
- ウォレットに問題が発生した場合の取引所によるセーフティネットについては、誤送金からの回復をご覧ください。
- 高額取引のコンプライアンス問題については、越境コンプライアンスをご覧ください。
マルチシグウォレットは、「個人の投機」から「長期的な資産形成」へとステップアップするために必ず乗り越えなければならない技術的なハードルです。早く構築するほど、後々の心配が少なくなります。