とってもやさしいビットコイン

とってもやさしいビットコイン

ビットコインの知識が全くない初心者の方でもビットコインがどういうものなのか分かりやすく理解できるブログを目指してます。

ビットコインの「difficulty」の調整方法

f:id:jyutakugyoseiku:20161214160307p:plain

 

(まだビットコインについて何も分からない方はこちらを先にお読みください⇒ビットコイン初心者専用ページ

 

ビットコインは10分で取引がだいたい成立します。「なぜ10分かかるのか」や、なぜそれが「10分」なのかは以前より説明をしてきました。そしてそれらが分かってくると次はどうやって中央で操作する者のいないビットコインにおいて「10分」に制御しているのか、という疑問が出てきます。これに関わってくるのが「difficulty」というビットコインマイニングの演算難易度とも言うべき設定です。これがどう調整されて常にビットコインは10分取引を保っているのか、初心者にも分かりやすくご説明させていただきます。

事前知識として以下の記事を読んでいただくと更に分かりやすいです!

 

<なぜ取引に10分かかるのか>

<仕組み>初心者にもわかるビットコイン送金から受取まで

 

<なぜそれが「10分」なのか>

なぜビットコイン取引は10分かかるか

なぜビットコイン取引は10分かかるか②

 

「difficulty」とマイニング

 

まず、ビットコイン取引というのは取引データをブロックチェーンに載せる事で成立します。取引データをブロックチェーンに入れるまでの流れとしては、マイナー(マイニングをする人)が取引データをブロックに載せ、そしてブロックチェーンにつなぐのですが、ここでマイナー同士のマイニング競争が起こります。

 

マイニング競争は一つしかない最長のブロックチェーンに誰が最も早く自身が作成したブロックを繋げられるかを競うもので、その競争というのはある演算(ハッシュと言います。⇒ハッシュ関数って何?)に対する「解」を最も早く見つけた者が勝利するという方法が取られております。

 

つまり、演算競争がここで行われているのですが、コンピューターによる演算ですのでコンピューターが高性能であればあるほどこの演算の解は早く見つける事ができます。ビットコイン取引が10分かかるというのは、この演算が解を見つけるまでに10分かかる事を表しております。つまり、2009年に開発されたビットコインが常に10分という時間で演算の解を皆が見つけられるように調整するという事はコンピューターの性能の向上と共に、この演算の難易度も上げていく必要があるという事なのです。

 

この演算の難易度を「difficulty」と言います。difficultyについて詳しくはビットコイン取引を10分にするdifficultyとはで説明をしております。

 

簡単に言うとdifficultyは「計算問題の難易度」です。例えば〇+100≦500という問題で〇に入る数字を探すとなれば〇≦400ですので400個正解があります。(0以下、-10などを考えない場合)

しかし、このdifficulty、計算問題の難易度を挙げた場合こうなります。〇+100≦150という問題であれば〇≦50なので50個しか正解はありません。先ほどの問題に比べれば解の範囲が8分の1になりますのでコンピューターにこれを行わせようとすれば時間がかかることになります。

 

difficulty、ビットコインのマイニング競争の難易度はこのようなイメージで変更されておりマイニングにかかる時間が調整されます。

 

 bitFlyer ビットコインを始めるなら安心・安全な取引所で

 

difficulty、中央管理無しでの調整

 

difficultyは中央管理者がいれば調整は可能です。もしビットコインに中央管理する組織があれば取引時間(マイニング競争時間)が10分以上になったり以下になったりすればdifficultyを中央が操作すればいいわけです。しかし、ビットコインにはそのような中央が存在しません。ですのであらかじめ決められたルールのもとにdifficultyは調整されていきます。

 

ビットコインのブロックチェーンは一定のブロックが作成されるとdifficultyの調整が起こります。(具体的には2016ブロック)その間にどのくらいの時間でマイニング競争が終了しているかを出すのです。平均が10分より多ければdifficulty、難易度は下がりますし。10分より少なければ難易度は上がります。このようにしてdifficultyは調整されるようになっております。

 

ちなみにビットコインのdifficultyは先にわかった上でマイナー(マイニングをする人)はマイニングを行います。これはとても重要な事で、マイナーは自身の使うコンピューターの演算能力(ハッシュ生成速度)がわかった上でマイニングを行います。ですので、difficultyがどのくらいなら何回に一回マイニングに成功するのかあらかじめ予想がつくことになります。(確立がわかります。確立なので必ずしも予想通りな訳ではありません。例えば10%の成功確率であっても10回マイニングして1回も成功しない事もあれば10回のうち2回成功することもあります。)

 

予想がつくという事は参加するかどうかの指針になるという事です。報酬のほとんどが現在では新規発行ビットコインですので、新規発行ビットコインの12.5BTCと自身の使うマイニング設備+電気代を比較し、充分に利益が見込める時だけ参加することができるのです。

 

つまり、現在では個人でのマイニングでは利益が出ず、事実上不可能な事は計算上分かっているのでマイニング団体を構成して利益を上手く出しながらマイナーはマイニングを行っているのです。(参考:クラウドマイニングとは

 

まとめ

 

中央管理のないビットコインではあらかじめ決められたルール等により独自の合意形成システムが採用されております。ビットコインの合意形成システムは今までのような中央集権で形成される合意とは少し異なっています。エンジニアなどでなくてもこれを知る事は役に立ちますし、単純に面白いので是非、興味のある方は情報収集してみてはいかがでしょうか!?

 

bitFlyer ビットコインを始めるなら安心・安全な取引所で 

ブロックチェーン・レボリューション ――ビットコインを支える技術はどのようにビジネスと経済、そして世界を変えるのか

ブロックチェーン・レボリューション ――ビットコインを支える技術はどのようにビジネスと経済、そして世界を変えるのか

  • 作者: ドン・タプスコット,アレックス・タプスコット,勝木健太,高橋璃子
  • 出版社/メーカー: ダイヤモンド社
  • 発売日: 2016/12/02
  • メディア: 単行本
  • この商品を含むブログ (2件) を見る