2020/05/06 10:12 更新
ビットコイン採掘上限数の導出
目次

ビットコインとは

ビットコインとは不詳の人物サトシナカモトが考案したブロックチェーンを用いた電子通貨である。それまでの電子通貨も電子署名によって取引の本人確認を証明することが出来たが、取引の履歴を記録するためには、中央集権的な何かが存在しない限り不可能であった。そこで、ブロックチェーンでは計算複雑性を担保として、計算に最も時間を費やされた取引履歴を信用するという前提をおき、P2P技術によってこれを実現した。

ビットコインはいつ生まれるのか

ブロックチェーンでは、取引の履歴はブロックと呼ばれる一まとまりの単位で管理される。P2Pネットワークにおけるそれぞれのノードは、[一つ前のブロックのハッシュ値, 取引の履歴, Nonceと呼ばれる32bitの値]のハッシュ値を計算し、ハッシュ値の先頭の数桁が0を続くという条件を満たすようなNonceを探す。これに成功すると、ブロックを繋ぐことが認められ、このブロックの連なりがブロックチェーンと呼ばれる。Nonceを探し当てた人には、次のブロックの先頭で報酬が与えられる取引が記録される。
この報酬こそが、新しいビットコインが生まれる仕組みである。しかし、ビットコインが採掘され続けると、ビットコインの単位量あたりの価値は下がり続けてしまう。そこで、サトシナカモトは徐々に報酬を減らす事により、ビットコインの採掘数に上限を与えた。調べてみると、単純な等比数列の和で計算できるものであった。

ビットコインの採掘上限数

Nonceを探す難易度は、Nonceを探す時間が10分程度になるように変化している。Nonceはハッシュ値の先頭の数桁が0を続くという条件が与えられているので、その桁数が調整されている。したがって、ブロックは1年で約$6\times24\times365=52560$個増える。報酬は最初の4年が50BTCで、以後4年ごとに半額になる。したがって、採掘数を初年から無限年まで足していくと、

$$\begin{aligned} 52560\cdot4\sum^{\infty}_{i=0}50\cdot2^{-i} &=210240\cdot50\sum^{\infty}_{i=0}2^{-i} \\ &=210240\cdot50\cdot\frac{1}{1-\dfrac{1}{2}}\\ &=21024000 \end{aligned}$$

である。これにより、採掘数は2100万BTCで終了することが分かった。

増え方について

ついでに、$4n$年目までの増え方を計算してみた。

$$\begin{aligned} 52560\cdot4\sum^{n-1}_{i=0}50\cdot2^{-i} &=210240\cdot50\sum^{n-1}_{i=0}2^{-i} \\ &=210240\cdot50\cdot\frac{1-2^{-n}}{1-2^{-1}}\\ &=21024000(1-2^{-n}) \end{aligned}$$

Desmosでこれをプロットするとこの様になる。20年で97%の採掘が終了することが分かる。

参考文献

  1. ビットコイン論文からさぐる ブロックチェーンのヒント
  2. Here’s why Satoshi Nakamoto set Bitcoin’s supply limit to 21 million