ビットコインのアドレスから直接お金を盗むことができるか?

レポート「ビットコインキャッシュの取り出し方&送金方法」を配信。画面付きで丁寧に解説

レポート「アルトコイン図鑑」では30種類以上のコインの概要と見通しを解説レポート内容へ

マイニングをするより、それだけの計算力があったら、他人のビットコインのアドレスから直接お金をぬすんだほうがいいのでは?というコメントをもらった

門外漢としたら、マイニングのような面倒なこと止めて、ブルートフォースでもなんでもいいから他人のアドレスからビットコイン盗んだ方が簡単そうに思えるが、いかがでしょうか
それとも、これでは原理的に盗めない?

原理的には、だれでも盗める。ブルートフォースで、まったく同じアドレスの生成に成功すれば、そのアドレスから直接コインを盗み取れる。単に確率的な問題で、原理的には可能だ。

たとえば、あるアドレス、たとえば、これ、

https://blockchain.info/address/1FfmbHfnpaZjKFvyi1okTjJJusN455paPH

には、現在、14万ビットコインが存在している。1BTC=500ドルとして、70億円の価値がある。

これを盗み出すには、1FfmbHfnpaZjKFvyi1okTjJJusN455paPHのビットコインアドレスを自分で作り出せればよい。

アドレスをたくさん作って、万が一、1FfmbHfnpaZjKFvyi1okTjJJusN455paPHが出現したら、自分の手元には、このアドレスの秘密鍵が手に入ったと同じことになる。その秘密鍵をつかって、別のアドレスに14万ビットコインを転送してしまえばよろしい。

さてこの確率はどのくらいか?

1FfmbHfnpaZjKFvyi1okTjJJusN455paPH から、逆算する方法はないので、試行錯誤をして、たまたまこのアドレスが出現するのを待つしか無い。

現在たとえば、中国の安い機材をつかってアドレスを生成できるとする。1Thash/sで4.75BTCというチップがあるので、仮にこれを1,000台買ってきて、スーパーマイニングマシンを作ったとしよう。

なお、4,750BTCだから、 2億3千万円の投資になる。

このマシンは、1秒間に、1ペタ個つまり、およそ 1,000,000,000,000,000のアドレスを生成できる。すごい能力だ。

さて、これで、先ほどの70億円のコインを盗めるだろうか?

同じアドレスが生成出来る確率は、単純に、2の256乗である。

これを計算すると、だいたい、

310,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000

年かかるという見積になる。

だいぶ御目出度い数字のようだ。宇宙が数億回できてさらに数億回できて更に数億回できるくらいの時間がたつと、偶然にも、70億円を見つけ出せるかもしれない。

え、確実に見つからなくてもいい?じゃあ、こういう言い方はどうだろうか、このやり方で、1年以内に、キーがみつかるかもしれない確率は、次のとおりだ。

1/310,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000

このような計算をするよりは、素直にマイニングをしたほうがいい。

ビットコインも含め、現代のコンピュータシステムの安全性というのは、このような計算的な確率に基づいている。公開鍵暗号やハッシュ関数といったものも、暗号を解読できないのではなく、解読する方法は単純でわかっているのだが、それは膨大な数の試行錯誤しか方法がなく、計算量的にありえない、というのが根拠になっている。このように、計算量の膨大さにもとづいて安全を担保するというのが、現代の暗号・セキュリティの大きな特徴である。

<計算>

・1年間に計算可能なアドレス数
10^16 (1Peta) *   60 * 60 * 24 * 365 (1年)  = 3.1 * 10^ 22乗

・2^256乗をハックする時間

2^256 は、およそ、10^77だから、

10 ^ 77  /  3.1 * 10 ^ 22

= 3.1 * 10 ^ (77-22)

= 3.1  * 10^50

= 310,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000

 

詳細日本語マニュアル付きTrezorの購入は

初心者向け「使って勉強!ビットコイン」