「ビットコイン(Bitcoin)」はデータ交換の仕組みであり、決済や蓄財など貨幣であるかのように使われています。このため、IT(情報技術)、ビジネス、経済、社会といった様々な面から論じる必要があります。『ビットコイン・ホットトピックス』欄には、多様な論点の記事を掲載していきます。今回は京都大学の安岡孝一准教授に、計算量理論の立場から寄稿していただきました。(日経コンピュータ編集部)

 「Mt.GOX」の破綻(関連記事)によって一躍有名になった感のあるBitcoin(ビットコイン)だが、この期に及んでも、いまだBitcoinを信奉している人々がいて、正直なところ理解に苦しむ。遠慮会釈なく言わせてもらえば、Bitcoinはデジタルマネーとしての設計が極めて悪質で、計算量理論から見て無限連鎖講となっている。別の言い方をすれば、ネズミ講である。

 Bitcoinの設計上、新規に発行された通貨を誰が受け取るかで、激しい計算競争が行われ、計算量が発散し続けるか、あるいは逆に減衰するからだ。どちらにしても破綻するはずで、Bitcoinの仕組みは維持できなくなる。

 人口の無限連鎖講ではなく、計算量の無限連鎖講であるために現行法では取り締まることができないが、計算量理論の専門家が見れば卒倒しかねない作りになっている。その辺りを述べてみようと思う。

取引記録の改ざん防止のために「パズル」を解かせている

 まずBitcoinの仕組みを確認しよう。Bitcoinの通貨単位は「BTC」である。現在、Bitcoinにおける通貨発行は「約10分ごとに25BTCが新規発行される」という形で行われている。「採掘」などという妙な単語で擬装しているが、デジタルマネーの立場からは、通貨発行に他ならない。

 2009年のシステム開始当初は、約10分ごとに50BTCの発行だったが、21万回(約1458日)発行した時点で25BTCとなった。次の21万回が終わると、約10分ごとに12.5BTCとなり、その後21万回おきに6.25BTC、3.125BTC、…と発行量は無限に減っていく。したがって、Bitcoinの発行通貨は100BTC×21万=2100万BTCに収束(50+25+12.5+6.25+3.125+…≦100)し、通貨総量は2100万BTCを超えることはない。

 Bitcoinはデジタルマネーなので、取引記録もデジタルである。取引記録は、インターネット上のP2P(ピア・ツー・ピア)ネットワーク上に公開されていて、誰でも見ることができるし、誰でも書くことができる。ただし、取引記録を改竄されないために、各取引記録には「パズル」が貼りつけてある。このパズルは、「SHA-256」という暗号を利用したもので、解くためには大量の計算を必要とするのだが、検算は至って簡単である。もしも、誰かが取引記録を改竄すると、その取引記録とそれ以後に連鎖する取引記録において、パズルの答が合わなくなってしまう。つまり、改竄を成功させるためには、その取引記録以降のパズルを全て解き直さなければならない。だから改竄は非常に難しいはずだ、というのがBitcoinの売り文句である。このパズルを解き続けない限り、Bitcoinの安全性は担保されない。

パズルを解いた報酬が新規通貨

 そんなパズルを誰が解くのか。各取引記録のパズルを最初に解いた人には、Bitcoinが新規発行したばかりの通貨(現在は25BTC)と、各取引者が出した手数料がプレゼントされる。手数料もBTCで支払われる。取引記録は約10分ごとにまとめられて、複数の取引記録に1枚のパズルが貼りつけられる仕掛けになっており、そこに新規発行された25BTCと手数料がぶら下げられている。それを貰えるのは、パズルを最初に解いた人だけなので、ここで競争が起こる。SHA-256の効率的な解法は発見されていないので、とにかくコンピュータを回して大量の計算をした人の勝つ確率が高くなる。

 ただし、投入される計算量に対してパズルが易しすぎると簡単に改竄されてしまう危険性があるので、Bitcoinの仕組みでは、過去2週間のパズルの解答時間の平均を取って、パズルの難易度を変えるようにしている。SHA-256を使ったBitcoinのパズルは、答が分からなくても答の難易度を変えられる。過去2週間の平均解答時間が5分だったら問題を2倍難しくする。あるいは、過去2週間の平均解答時間が2分だったら問題を5倍難しくする。そのようにして、解答時間が10分になるように調整するわけである。