本文へスキップ
buybitcoinsmart

用語集 / アドレスと鍵

秘密鍵

秘密鍵とは?
秘密鍵とは、ビットコインのアウトプットからの支出を承認する256ビットの秘密の数値です。これを知った者は誰でもビットコインを動かせるうえ、誰もこれを再発行できません。

ビットコインの所有とは鍵を保有することであり、誰かの台帳の記録ではありません。鍵はおよそ1.16掛ける10の77乗未満の乱数であり、だからこそ鍵を推測することは脅威にならず、鍵の生成を誤ることが脅威になります。現代のウォレットは鍵を表示しません。すべての鍵を12語または24語のバックアップフレーズから導出し、守るべきものはそのフレーズです。

仕組み

秘密鍵は32バイトであり、通常は64桁の十六進数の文字として書かれ、1からsecp256k1曲線の位数のすぐ手前までの範囲から無作為に選ばれます。その位数は115,792,089,237,316,195,423,570,985,008,687,907,852,837,564,279,074,904,382,605,163,141,518,161,494,337であり、78桁の数です。実質的にすべての32バイトの値が有効な鍵であり、そのことが鍵の生成をこれほど簡単にし、総当たりによる盗難をこれほど絶望的にしています。

鍵が行うことは署名だけです。アウトプットを使用するには、ウォレットが鍵を使ってトランザクションに対する署名を生成し、各ノードがアウトプットが要求する公開鍵に対してその署名を検証します。署名は鍵を露出せずに鍵の存在を証明するため、確認された使用では署名が公開されるだけで、その背後にある秘密が公開されることはありません。ビットコインはTaprootまでECDSAのみを使用していました。BIP-340で規定されたSchnorr署名は、Taprootの使用において同じ役割を果たします。

真の脆弱性があるのは乱数の部分です。鍵空間を探索することはできませんが、質の低いソフトウェアによって鍵空間を狭めることはできます。2013年8月、BitcoinプロジェクトはAndroidの乱数生成器の欠陥に関するセキュリティ勧告を発し、影響を受けた端末では鍵が予測可能になっていました。その直接の結果としてコインが盗まれました。人間が考案したフレーズから鍵を作るブレインウォレットは、攻撃者が辞書の事前計算を始めると組織的に空にされました。どちらの失敗もエントロピーの問題であり、暗号が破られたことによるものではありません。

ビットコインを購入するときにこれが重要な理由

取引所で購入しても鍵は手に入りません。手に入るのは取引所のデータベース上の残高であり、取引所が自社のスタッフが管理する鍵の下に保有するコインによって裏付けられています。取引をしている間はごく普通の取り決めであり、貯蓄には不適切な取り決めです。Mt. Goxは出金を凍結し、2014年2月に破産手続を開始しました。債権者は最初の返済が届いたのは2024年7月でした。

カストディが実際に移転するのは出金のときです。ウォレットはシードから鍵を導出し、対応するアドレスを提示します。取引所のトランザクションが確認されれば、利用者とコインの間に企業は存在しません。その時点以降、障害のあり方は利用者自身のものになります。バックアップの紛失、シードフレーズの撮影、ウォレットの「検証」を求めるフィッシングサイトなどです。

3つの習慣でリスクの大部分をカバーできます。鍵はそのために作られた機器で生成し、秘密がハードウェアの内部で作られ使用され、外部に出力されないようにします。リカバリーフレーズは水と火に耐えるものにバックアップし、写真やクラウドのメモには決してしないでください。そして鍵やシードフレーズの要求は例外なく攻撃として扱ってください。取引所、ウォレットベンダー、サポート担当者のいずれも、それを必要とすることはありません。

初回購入の各段階で鍵がどこにあるか

購入を最初から最後まで追うと、秘密鍵は非常に具体的な順序で動きます。取引所に送金して購入します。この時点では利用者の鍵はまだ存在せず、台帳の1行があるだけです。出金アドレスを貼り付けます。ウォレットはシードから導出した鍵でそのアドレスを生成しており、鍵は端末から出たことがありません。取引所が利用者のアドレスにコインをロックするトランザクションをブロードキャストします。鍵は依然として何もしていません。数か月後に使用を決めて、初めて鍵が最初の署名を生成し、ネットワークがそれを検証して永久に記録します。

この順序から2つのことが導かれます。鍵は最初に使われるまで何年もコインを管理できます。したがって「何もしていない」ウォレットが休止しているわけでも期限切れでもありません。そして所有権の移転は購入時ではなく出金時に起きたのであり、だからこそ出金の段階が二重に確認する価値のある段階です。

秘密鍵vsシードフレーズ

秘密鍵は一組のコインを管理し、シードフレーズは鍵でいっぱいのウォレット全体を生成します。フレーズはBIP-32階層の背後にあるエントロピーを人間が読める形で符号化したものです。12語は128ビットを、24語は256ビットを運び、そのルートからウォレットは導出パスに沿って数十億の鍵を導出します。フレーズを復元すればそのすべてが再構築されます。単一の鍵を復元すれば単一の鍵だけが再構築され、ウォレットが他の場所に保有していたコインは見つからないままです。

秘密鍵vs Wallet Import Format

秘密鍵は数であり、Wallet Import Formatはそれを書き留める1つの方法です。WIFは同じ32バイトをネットワークバイト、任意の圧縮フラグ、チェックサムで包み、全体をBase58で符号化します。背後の秘密は何も変わりません。したがってWIF文字列は生の数とまったく同じ保護に値します。それを読んだ者はコインを直ちに使用できます。

混同しやすい用語

よくある質問

自分の秘密鍵を誰かに推測されることはありますか?

総当たりでは推測できません。可能な鍵は1.16×10の77乗通りほどあり、総当たり攻撃は、将来どのようなコンピューターが作られたとしても実行不可能です。鍵が盗まれるのは、弱い乱数で生成されたか、機器からコピーされたためであり、誰かが偶然に見つけたためではありません。

取引所が自分の秘密鍵を保有しているのでしょうか?

はい、出金していない限りは保有しています。取引所の残高は、取引所が独自の鍵で管理するビットコインに対する請求権であり、そのため取引所の破綻や凍結が自分のビットコインに影響します。自分で管理するウォレットへ出金して初めて、鍵が自分に移ります。

秘密鍵を紛失するとどうなりますか?

ビットコインはブロックチェーン上に永久に表示されたままとなり、恒久的に使用できなくなります。リセットも、復旧窓口も、再割り当てできる当局も存在しません。そのため、リカバリーフレーズのバックアップは、自分が所有するものの中で最も重要なものになります。

秘密鍵をウェブサイトに入力すべきことはありますか?

いいえ、いかなる状況でも入力すべきではありません。正規のウォレット、取引所、サポート担当者が秘密鍵を必要とすることはなく、秘密鍵を求めるサイトはすべてビットコインを盗んでいます。鍵のインポートやスイープは、自分で管理する機器上で動作するウォレットソフトウェア内でのみ行ってください。

次に読む

関連用語

アドレスと鍵のその他の用語

このページを英語で読む