3Jan
先日、ビットコインの発掘とは実際は何をしているのか?という記事を書いたら、すごい反響でした。反響を見ると、
コイン発行数の上限があるのはどういう仕組み? 発掘できなくなったら、取引もできなくなっちゃうの?
といった疑問があがっていました。今回はそのあたり、ビットコインの上限と発掘の関係について理解していることを書いてみたいと思います。
- ビットコインの総量は2100万コインと予め決められている
- 現在はそのうちの1200万枚が発掘済み
- ビットコインの採掘量は年々減っていき、発掘難易度は増している
というのが一般的な解説だと思うのですが、これでは意味不明だと思いますので、極力わかりやすく解説します。
ビットコインの発掘とは?
さて、ビットコインの発掘とは実際はなにをしているのか?という記事を読んでいただいた方にはわかると思いますが、発掘というのは、実際には取引記録の承認作業のことです。
さらに具体的にいうと、ブロックという取引記録が100~1000個ふくまれたものを、過去から綿々とつなぐ唯一のビットコイン元帳に、正しく記帳してあげる作業のことです。(ビットコイン用語では「ブロックチェーンに新ブロックを追加する」と言いますが、ここではわかりやすく「元帳に記帳」と表現しました。)
これを記帳するには、計算量の多い不毛な問題を総当り式で解かねばならず、その正解を見つけた人が、取引記録に記帳ができます。その記帳に成功した人に、報酬としてビットコインが新規に生成され、受け取るのです。これが発掘といわれるものです。(詳しくは前回の記事をお読みください)。
そしてこの作業が、ビットコインの安全性を担保する作業であるという事も解説しました。
ビットコインの上限
新しいブロックの記帳に成功すると、報酬としてビットコインが新たに生成されて、記帳に成功した人のものになります。これが発掘です。(現在は25ビットコインが与えられます。)
さて、こうしていくと、取引があり、記帳されつづける限り無限にビットコインが生成される仕組みになっているように思えますが、ビットコインには上限があるという話を聞いたことがあると思います。
これから、その上限の話をします。
ビットコインでは、25ビットコインの報酬が記帳した人に与えられます。しかしこの与えられる量が時間と共に減っていく仕組みなのです。これは仕様であって、設計者がそう決めました。
最初の210,000ブロックを記帳した人には、1ブロックごとに、50ビットコインが生成されて与えられました。
そして、210,000ブロックが終わり、次の210,0001ブロック目から420,000ブロックまでの人に対しては、今度はブロックあたり25ビットコインの報酬になります。
次の420,001ブロックから、640,000ブロックまでの人は、ブロックあたり12.5ビットコイン。
要するに、210,000ブロック毎に、半減(1/2)になっていくという仕組みです。
http://www.bitcoin.co.jp/faq/faq.htmlより
これがそのグラフです。特定のポイントでカーブの傾斜が1/2になっているのがわかるでしょう。
時間が経つにつれて、どんどん発掘から得られるビットコインが減っていくのです。そういう仕様になっています。なので、人は先を争って発掘しているわけですね。
そして、この仕組みから、ビットコインの発行上限が決まります。
ビットコインは、最小単位が、0.00000001 ビットコインです。提唱者の名前をとって「1 satoshi」といわれる最小単位です(これも仕様です)。もし、発掘から得られる報酬が、1 satoshi以下になってしまえば、報酬を与えようにも与えられなくなります。
それを計算すると、6,929,999番目のブロックが発見された時になります。6,929,999番目のブロックで得られるビットコインが1 satoshi 以下になってしまう。なので、それ以降は、ビットコインは発行されません。
1ブロック毎に50コインからはじめて、210,000ブロックごとに得られるビットコインを半減させる。そして、6,929,999番目のブロックが、報酬がビットコインの最小単位0.00000001 (1 satoshi)を上回る最後のブロックで、そこで最後のビットコインが発掘される。
このルールに従い、発行されるビットコインを積算すると、約2100万枚です。これがビットコインの発行上限です。
現在どのくらいまで発掘が進んでいるのか?
よく、現在はビットコインの総量の60%が発掘済みとか、1200万枚が発掘されたといった記述がありますが、正確に状況を追ってみましょう。
さきほども書いたように、ビットコインは、ブロックが記帳される毎に生成され、210,000ブロックごとに1/2する仕組みでした。そこで、現在の状況を知るには、いったい何ブロックまで記帳されているのかを知れば正確なところがわかります。
ブロックの記帳の状況は、じつはリアルタイムで確認できます。これを見てください。
これの読み方を教えます。
一番左の「ブロック高」というのが、元帳のブロック番号です。順番に並んでますね。一番うえが最新のものです。つまり、274,682番というのがもっとも最近に記帳されたブロックであることを示します。この数字をみれば、ここまで理解した皆さんなら、状況を一発で把握できるでしょう。
274,682のブロック時点でのビットコイン発行量は次のように求められます。1ブロックごとに50枚、21万ブロックごとに半減ですから、
210,000* 50 + 64,682 * 25 = 12,117,050
はい。現在の発行量として報道されている1200万枚という数字が算出できました。
(ちなみに、他の情報も興味深いです。Transactionの欄が、そのブロックに含まれている取引の数です。274,682のブロックの場合、686個の取引が含まれていて、その総額が、1,282,531,347円、4分前に元帳に記入されて、承認された、ということになります。ブロックの記帳者の情報もあります。)
こんな感じで進んでいって、最後にコインが生成されるのは、6,929,999番目の記帳が終わった時になります。
次にビットコインの報酬が半減する(12.5コイン)のは、420,000ブロックです。これには、まだまだ時間がかかりそうです。(約4年後と見られています)
最後のビットコイン
ちなみに詳しい説明は次回にしますが、このブロックの記帳というのは、だいたい10分くらいの間隔でおこなわれるように調整されています。これがdifficultyと呼ばれるものです。
10分で、1ブロックが記帳・承認される。これを計算すると、
6,929,999 ブロック(総量) * 10 分 = 約132年
ということになります。2009年から始めて、2141年頃、最後の6,929,999番目のブロックが記帳されて、最後のビットコインが発行されるということになります。
さて、6,929,999番目のブロックの記帳が終わると、それ以上記帳できないのでしょうか。つまり、これに達すると、新しい取引ができなくなるのでしょうか?
ビットコインのFAQを見ると、そうではないようです。それ以降もブロックは記帳されつづけ取引を行い続けられます。ただし、ビットコインは生成されない。
では、代わりの報酬を提供しないと、取引の承認作業が滞ってしまうかもしれません。ビットコインの仕組みでは、手数料というものが設定されています。
これは取引毎にごく少量取られるものですが、これもまた、ブロックを記帳したひとの報酬になります。発掘がすすむにつれて、得られるビットコインは半減してくので、将来は、発掘で得られるビットコインは本当にすくなくなりますし、6,929,999ブロック以降はビットコインは生成されません。
そのために、手数料が主な発掘者の収入源になります。手数料はある程度自由に設定できますが、手数料をゼロとすることもできます。将来的には、ゼロとしたら、その取引が元帳に記入されるのは凄まじく時間がかかることになるかもしれません。
発掘者は手数料が高い取引から順番に、ブロックに記帳を試みていくだろうからです。
これで、ビットコインの上限が決まっているということ、採掘量が減っていく仕組み、採掘量と手数料といったことについてお分かりになったと思います。
次回ですが、ちょっと触れましたが、ブロックはだいたい10分毎に記帳されるように調整されるといいました。これをdifficultyといいますが、これでは意味がわからないとおもいます。そして、これこそ、ビットコイン設計者の意図が隠されている部分でもあります。
次回はもう一度、ブロックに記帳するとはどういうことか、ということに立ち戻って、このdifficultyに迫ってみたいと思います。