用語集 / ウォレットとカストディ
シードフレーズ
別名はリカバリーフレーズ、ニーモニックシード、バックアップフレーズ、シークレットリカバリーフレーズ、Seed phraseです。
- シードフレーズとは?
- シードフレーズとは、ウォレット内のすべての鍵を復元できる、12個または24個の日常的な単語を順番に並べたリストのことであり、物理的に守る価値がある唯一のものといえます。
BIP-39で規定されています。
このフレーズはパスワードでも口座名でもありません。ウォレットそのものを、人が手書きで写せる単語に圧縮したものです。128ビットのランダム性は十二語が担っており、だからこそ一覧は書き留められるほど短く、それでいて推測は不可能なのです。これを読んだ人は、そのウォレットが将来保有するすべてを、まだ購入していない分まで含めて使い切ることができます。
仕組み
ウォレットはまず乱数を生成し、次にその数に対応する単語を探します。デバイスは128ビットまたは256ビットのエントロピーを生成し、短いチェックサムを付加して、結果を11ビットずつのグループに分割します。各グループは2,048語の固定リストを索引し、128ビットに対して12語、256ビットに対して24語が得られます。単語は転記の手段であり、人が文字を写し間違えることはあっても、一般的な英単語を写し間違えることはまれだから選ばれています。
順序も秘密の一部です。同じ十二語でも順序が違えば別の数を表し、したがって別のウォレットを表します。そのため、番号を付けずに単語を並べたバックアップは、相続人を待つパズルにすぎません。綴りは人が恐れるほど重要ではありません。英語のリストの各単語は最初の四文字で一意に識別され、ほとんどのウォレットはその四文字だけを受け付けます。
チェックサムがあるため、入力ミスのあるフレーズは黙って受け入れられるのではなく、通常は拒否されます。12語のフレーズでは132ビットのうち四ビットが残りから導出されるので、誤った単語や入れ替わった単語を含むフレーズは、およそ16回に15回の割合で検証に失敗します。これは打ち間違いを捕まえる仕組みであり、セキュリティ機能ではありません。9番目の単語が"orbits"ではなく"orbit"であるべきだったとは教えてくれません。
このフレーズはオンラインの資格情報ではありません。どこにもこれを保存するサーバーはなく、レート制限も、3回の試行後のロックアウトも、リセットもありません。復元は、どの大陸のどのウォレットでもオフラインで実行できる計算であり、だからこそ撮影されたフレーズは使い切られたウォレットなのです。
ビットコインを購入するときにこれが重要な理由
取引所から出金した瞬間、シードフレーズがあなたのセキュリティのすべてになります。当サイトでレビューしているどのプラットフォームも、パスワードを失った後の口座の復旧は支援できます。しかしフレーズを失った後はどのプラットフォームも支援できず、どのプラットフォームもフレーズを求めることは決してありません。
この非対称性のため、リカバリーフレーズはビットコインにおいて最も攻撃される対象です。コメント返信に現れる偽のサポート担当者、ウォレット名を検索したときに表示される"wallet validation"ページ、復元画面を模したブラウザ拡張機能、"check eligibility"のためにフレーズを求めるエアドロップサイトは、すべてこの1つの文字列を狙って存在しています。FBIのInternet Crime Complaint Centerには、2024年に報告された暗号資産詐欺の損失として93億ドル超が記録されており、その多くは誤った入力欄に打ち込まれたフレーズから始まっています。
オフラインでの攻撃も同様に現実的です。Ledgerの電子商取引データベースは2020年6月に侵害され、1,075,382件のメールアドレスと、氏名、電話番号、配送先住所を含む272,853件の詳細な注文記録が流出しました。そのリストに載った顧客は、その後何年にもわたり、説得力のある手紙や電話、さらには偽造デバイスを受け取り、いずれも単語を入力させるために仕組まれたものでした。ハードウェアウォレットを持っていても、紙で届く話に免疫ができるわけではありません。
詐欺のあらゆる変種を生き延びるルールはこれです。正当なものは決してフレーズを必要としません。ファームウェアの更新も、サポートチケットも、取引所も、税務ツールも、"wallet migration"も必要としません。フレーズは、自分が意図してインストールしたウォレットに、自分が管理するデバイスで、自分が選んだ瞬間にだけ入力してください。
単語を生き残る形で書き留める
シードフレーズのバックアップは、耐久性を持たせることと、人から遠ざけることという2つの別問題として扱ってください。
耐久性については、最初のコピーはウォレットがフレーズを表示した瞬間に、カードにペンで書きます。各単語に番号を振ります。どのウォレットが生成したか、どの導出パスまたはスクリプト種別を使うかを記しておけば、復元時の混乱を半日分節約できます。次に、同じ単語を打刻または穿孔したステンレス鋼に移します。メッキタイル、印刷されたストリップ、接着した組立品よりも、自分で印を付ける無垢の鋼を選んでください。備えているのは、不注意な同居人ではなく、住宅火災と浸水した地下室だからです。
秘匿性については、2つのコピーを別々の建物に保管し、2つ目の場所は工夫ではなく退屈なほど確実な信頼性で選んでください。埋めた筒や中をくり抜いた本は、泥棒よりも多くのコインを失わせます。単語をパスワードマネージャー、写真ライブラリ、メモアプリ、メールの下書きに保存しないでください。また、電話に向かって読み上げないでください。
そしてテストします。残高が増える前に、フレーズを2つ目のウォレットまたは初期化したデバイスに復元し、最初の受取アドレスが一致することを確認し、その後テスト用ウォレットを初期化します。手書きは薄れ、2つ目のコピーがどこへ行ったかの記憶はさらに速く薄れるため、この演習を1年か2年ごとに繰り返してください。
シードフレーズvs秘密鍵
シードフレーズは鍵を生み出す根源であり、秘密鍵は特定のコイン群を管理します。関係は一方向です。フレーズからはすべての鍵を導出できますが、1つの鍵からフレーズへ逆向きにたどることはできず、兄弟の鍵に到達することもできません。だからこそ、特定の目的のために秘密鍵を1つエクスポートすることは許容できても、フレーズをエクスポートすることは許容できず、ウォレットは個々の鍵を隠したままフレーズを正確に1回だけ表示するのです。
シードフレーズvsパスフレーズ
シードフレーズはデバイスが生成し、パスフレーズは自分で考案して加える任意の追加の秘密です。両者は1つのウォレットに結合されるため、復元には両方が必要であり、同じ場所に保存すべきではありません。両者を混同することはよくある高くつく誤りであり、多くの場合、パスフレーズを同じカードに十三行目や二十五行目として書いてしまい、保護を完全に無効にしながら、打ち間違え得るものの数を倍にするときに起こります。