インターネット上でのみ流通し、誰の管理下にもない「お金」のビットコイン。実際に持ってみると、誰もがその利便性や可能性に魅せられ、「ついに自由を手に入れた」と心踊るのではないでしょうか。

しかしながら自由とは往々にして万能ではなく、何かを犠牲にして成り立つもの。ビットコインは誰の管理下にもないが故に、ビットコインのインフラであるブロックチェーンネットワークにおいて、ユーザーや外部のシステムが起こすエラーを保護するセーフティ機構を持っていません。

その代表格といえるのが、ビットコインウォレットの「秘密鍵」に関する諸問題です。

秘密鍵はあなたのお金そのものであり、なくしてしまえば最後で、一生取り戻すことが出来ません。銀行口座なら通帳やキャッシュカードを無くしてしまっても再発行が出来ますが、ビットコインでは不可能です。本稿では、そんなタンス預金のような性質を持つ秘密鍵の管理・保管方法について、6回に分けて解説していきたいと思います。第一回ではまず、秘密鍵を無くした時に取り戻せるのかを検証します。

秘密鍵の組み合わせ

秘密鍵やアドレスの数は有限ですが、それぞれ2^256通り、2^160通りあります。言い換えると、ひとつのウォレットアドレスに対して、潜在的には2^96通りの秘密鍵があるということです。

さて、これはちょっと聞き慣れない単位のため、想像が難しいと思いますので、視覚的なグラフを用意してみました。下の棒グラフは、宇宙の幅をゼプトメートル単位（10^-21m）で表したものと、ウォレットアドレスの数を比較したものです。宇宙の幅は880ヨタメートル(8.8*10^26m)ということで、膨大な時間が掛かりそうだということは、なんとなくイメージできるでしょうか。

ビットコインアドレスの数はつまり、これだけあるのです。

現在、使用済みのウォレットアドレスはおよそ2,000万ほどあると推測されていますが、たまたまアドレスが被ったという報告は今のところゼロのようです。被る確率に関しては、誕生日のパラドックスで用いられる計算方法を使って算出することができるため、興味がある方は試しに計算してみるといいでしょう。

いやいや、アドレスは計算処理で求められるのだから、取り戻すことは不可能ではないだろうと言う人もいるかと思いますが、しかしながらやはりこれは、難しいと言わざるを得ません。試しに、一般的なPCでビットコインの任意のアドレス（秘密鍵を含む=残高を動かせる）を生成するプログラムを走らせてみると一目瞭然かと思いますが、前方5桁のアドレスを一致させるのには30分も掛からない一方で、20桁を一致させるアドレスを生成するためには10^22年程度が掛かる計算になります。ビットコインアドレスは更に長く、27-34桁なので、全桁一致させるためには更に累乗が重なることになりますね。

さて、以上のことから秘密鍵をなくしてしまったら一生かけても取り戻すことができないということがご理解いただけたでしょうか。これはいわゆる、組み合わせ爆発と言われる類のものなので、興味がある方は下の動画も参照してみてください。

『フカシギの数え方』 おねえさんといっしょ！ みんなで数えてみよう！

次からは、ウォレットの種類と秘密鍵の管理リスクについて解説します。

【毎週水曜更新】