サトシが解説する、ビットコイン・マイニングの難易度の調整

小宮自由

ビットコイン・マイニングの難易度の調整とは?

ビットコインを発明し、未だその正体が分かっていないサトシ・ナカモト。そんなサトシが残した約2年間の文章を、小宮自由氏の解説と共に紹介する連載「サトシ・ナカモトが残した言葉〜ビットコインの歴史をたどる旅」の第31回。

まずサトシのメールの前に、本連載の元になっている書籍『ビットコイン バイブル:サトシナカモトとは何者か?』の著者フィル・シャンパーニュ氏の解説も掲載する。

フィル・シャンパーニュ氏の解説

参加する採掘者の増加とともに起きるプルーフ・オブ・ワークの難易度の上昇について、サトシが論じている。

プルーフ・オブ・ワークの難易度の上昇 サトシ・ナカモト 2010年02月05日 午後07時19分12秒

それではサトシの投稿をみていこう。

========================

2009年12月30日に初めて、プルーフ・オブ・ワーク難易度の自動調節がありました。

難易度の最低レベルは32ビットのゼロですので、ノードの稼動者が一人だとしても、難易度はこれ以上易しくなることはありません。去年の大半の時期は、最低レベルよりも下で推移していました。12月30日にこれを上回り、アルゴリズムで難易度を高める調節が働きました。この後、調節のたびに難易度が上がっています。

前回(12月30日)は去年の1.34倍に上がったのに対して、2月4日の調節では去年の1.82倍になりました。これはつまり、同じ作業量でも、生成可能なコイン量が55%に減ったことになります。

難易度の調節はネットワーク全体の作業量を参照しながら進んでいきます。ノードの数が二倍になれば、難易度も二倍になり、コインの全生成量を目標数に戻します。

技術的なことに関心のある人は、debug.log内で「target」で検索するとプルーフ・オブ・ワークの難易度を見ることができます。これは署名無しの256ビットの十六進数になっていて、ブロックの生成に成功するにはSHA-256の値がこれ以下になる必要があります。難易度の調節は2016ブロックごと、だいたい二週間おきに実行されます。debug.logにGetNextWorkRequired RETARGETがプリントされるときがそれです。

最低値
 00000000ffff000000000000000000000000000000000 0000000000000000000
2009年12月30日
 00000000d86a00000000000000000000000000000 00000000000000000000000
2010年01月11日
 00000000c42800000000000000000000000000000 00000000000000000000000
2010年01月25日
 00000000be7100000000000000000000000000000 00000000000000000000000
2010年02月04日
 000000008cc300000000000000000000000000000 00000000000000000000000
2010年02月14日
 00000000654657000000000000000000000000000 00000000000000000000000
2010年02月24日
 0000000043b3e5000000000000000000000000000 00000000000000000000000
2010年03月08日
 00000000387f6f0000000000000000000000000000 0000000000000000000000
2010年03月21日 
 00000000381375000000000000000000000000000 00000000000000000000000
2010年04月01日
 000000002a1115000000000000000000000000000 00000000000000000000000
2010年04月12日 
 0000000020bca7000000000000000000000000000 00000000000000000000000
2010年04月21日
 0000000016546f000000000000000000000000000 00000000000000000000000
2010年05月04日
 0000000013ec53000000000000000000000000000 00000000000000000000000
2010年05月19日
 00000000159c24000000000000000000000000000 00000000000000000000000
2010年05月29日
 000000000f67c0000000000000000000000000000 0000000000000000000000
2010年06月11日
 000000000eba64000000000000000000000000000 00000000000000000000000
2010年06月24日
 000000000d3142000000000000000000000000000 00000000000000000000000
2010年07月06日
 000000000ae493000000000000000000000000000 00000000000000000000000
2010年07月13日
 0000000005a3f4000000000000000000000000000 00000000000000000000000
2010年07月16日
 000000000168fd000000000000000000000000000 00000000000000000000000
2010年07月27日
 00000000010c5a000000000000000000000000000 00000000000000000000000
2010年08月05日
 0000000000ba18000000000000000000000000000 00000000000000000000000
2010年08月15日
 0000000000800e000000000000000000000000000 00000000000000000000000
2010年08月26日
 00000000006920000000000000000000000000000 00000000000000000000000

日付、難易度、前回からの変化率(%)
2009    1.00    
2009年12月30日  1.18 +18%
2010年01月11日  1.31 +11%
2010年01月25日  1.34 +2%
2010年02月04日  1.82 +36%
2010年02月14日  2.53 +39%
2010年02月24日   3.78 +49%
2010年03月08日  4.53 +20%
2010年03月21日  4.57 +9%
2010年04月01日  6.09 +33%
2010年04月12日  7.82 +28%
2010年04月21日 11.46 +47%
2010年05月04日 12.85 +12%
2010年05月19日 11.85 -8%
2010年05月29日 16.62 +40%
2010年06月11日 17.38 +5%
2010年06月24日 19.41 +12%
2010年07月06日 23.50 +21%
2010年07月13日 45.38 +93%
2010年07月16日 181.54 +300%
2010年07月27日 244.21 +35%
2010年08月05日 352.17 +44%
2010年08月15日 511.77 +45%
2010年08月26日 623.39 +22%

========================

解説

ビットコインには、マイニングが早くなりすぎないように難易度(difficulty)の調整メカニズムがあります。ノードの計算能力(ハッシュパワーと言います)が高ければ難易度をあげ、低ければ難易度を下げ、マイニングがだいたい10分で終わるように調整しています。

現在の難易度は初期に比べ遥かに向上し、個人のコンピュータではもはや対応不可能です。現在は企業が数千台以上のコンピュータを用いて行う一大事業になっています。

小宮自由

→この連載の他の記事を読む

関連するキーワード

この記事の著者・インタビューイ

小宮自由

東京工業大学でコンピュータサイエンスを学び、東京大学ロースクールで法律を学ぶ。幾つかの職を経た後に渡欧し、オランダのIT企業でエンジニアとして従事する。その後東京に戻り、リクルートホールディングスでAI(自然言語処理)のソフトウェア作成業務に携わり、シリコンバレーと東京を行き来しながら働く。この時共著者として提出した論文『A Lightweight Front-end Tool for Interactive Entity Population』と『Koko: a system for scalable semantic querying of text』はそれぞれICML(International Conference on Machine Learning)とACM(Association for Computing Machinery)という世界トップの国際会議会議に採択される。その後、ブロックチェーン業界に参入。数年間ブロックチェーンに関する知見を深める。現在は BlendAI という企業の代表としてAIキャラクター「デルタもん」を発表するなど、AIに関係した事業を行っている。
https://blendai.jp/
https://twitter.com/blendaijp
https://twitter.com/BorderlessJpn
https://twitter.com/BorderlessDAO

東京工業大学でコンピュータサイエンスを学び、東京大学ロースクールで法律を学ぶ。幾つかの職を経た後に渡欧し、オランダのIT企業でエンジニアとして従事する。その後東京に戻り、リクルートホールディングスでAI(自然言語処理)のソフトウェア作成業務に携わり、シリコンバレーと東京を行き来しながら働く。この時共著者として提出した論文『A Lightweight Front-end Tool for Interactive Entity Population』と『Koko: a system for scalable semantic querying of text』はそれぞれICML(International Conference on Machine Learning)とACM(Association for Computing Machinery)という世界トップの国際会議会議に採択される。その後、ブロックチェーン業界に参入。数年間ブロックチェーンに関する知見を深める。現在は BlendAI という企業の代表としてAIキャラクター「デルタもん」を発表するなど、AIに関係した事業を行っている。
https://blendai.jp/
https://twitter.com/blendaijp
https://twitter.com/BorderlessJpn
https://twitter.com/BorderlessDAO

この特集のその他の記事

経済的ディスインセンティブが、ビットコイン51%攻撃を防ぐ

ビットコインネットワークに対する著名な攻撃(取引履歴を不正に改ざんすること)に、51%攻撃というものがあります。ビットコインは世界中のコンピュータがその計算能力を使い、取引履歴をブロックとして保存しています。この計算能力・処理能力の51%、つまり過半数を占めてしまえば、不正な取引履歴を正当とみなせるようになります。この問題は理論上取り除くことはできず、サトシもそれを認めています(ビットコイン以外の多くのブロックチェーンも、同じ問題を有しています)。