読者です 読者をやめる 読者になる 読者になる

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

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

広告

ビットコイン取引を10分にするdifficultyとは

ビットコイン基礎知識

f:id:jyutakugyoseiku:20161211200146j:plain

 

ビットコインの取引は10分かかると言われます。もちろん、ビットコイン取引を即座に行うサービスも開発されておりますが基本的には取引に10分かかるというのが正しいビットコインの知識です。

そこで今回はビットコイン取引が10分かかる仕組みを初心者の方にも分かりやすく解説をさせていただきます!

 

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

 

ビットコイン取引が10分かかる理由

 

 ビットコインは取引(トランザクション)がブロックチェーンと呼ばれる公開台帳に記録されていくことにより決済が完了していきます。(トランザクションについて⇒トランザクションの構造とは ブロックチェーンについて⇒ブロックチェーンとは

 

そのブロックチェーンに次々とつながれていく「ブロック」が作成されるのは約10分に一度と決められております。ですので、もしあなたが取引をしようとすればその取引がブロックに記帳されるためには最低10分待つ必要があります。この10分というのはビットコインのシステムを安定させるために定められた時間で、基本的には変わる事はありません。もちろん、これではお店での支払いには長いものなので10分かけずに取引を完了できないか開発が進められております。(例えばこちらなど⇒ライトニングネットワークとは?

 

そしてこの10分という時間がかかるように設定されている仕組みですが、ビットコインの知識が深まってくるとマイニングにかかる時間である、という事がわかってくると思います。(マイニングとは⇒初心者も分かるビットコインのマイニングとは

 

マイニングはとっても簡単に言うと「ブロック」を作って、「ブロックチェーン」につないでいくことでそれは高性能コンピューターによって演算で行われます。マイニングは早い者勝ちで報酬を得る事になるのでその演算を早く行う為により良いコンピューター・より多くの消費電力をこぞって利用するようになります。

 

そうなると今後科学技術の発展によりコンピューターの性能が上がり、現在の演算の難易度では10分よりも早く解が導かれマイニングには10分よりも少ない時間で完了してしまうようになります。ビットコインを作成したサトシナカモト氏はこれを想定し、ビットコイン自体に難易度調整機能をつけ、今後10分よりも早くマイニングが行われるようになった際には10分になるように勝手にビットコインシステムが変わるように設計をしました。とても頭がいいですね笑 (サトシナカモト氏のビットコイン論文⇒ビットコインの原論文(サトシナカモトとは)

 

そしてこの難易度こそが「difficulty」と呼ばれるものです。

 

difficultyの仕組み

 

当ブログは初心者向けですのでdifficultyの仕組みをかなり分かりやすく説明します。まず、ビットコインのマイニングの演算は「ハッシュ」といわれる演算を利用します。(ハッシュについて⇒ハッシュ関数って何?

 

ハッシュは一方通行の演算で、出した数値を逆に戻すことはできませんしさらにハッシュ化した数値がどのようなものかを推測することはできません。分かりやすく言うと例えば「こんにちは」がハッシュ値で001だったとします。その時001という数値から元の「こんにちは」を推測することはできませんし、「こんにちは」が001になることもハッシュ化をしたことが無ければ分かりません。

 

次に例えば「こんにちは1」とすると593となったりするように、一文字違いでも全く異なる値が出てくるのです。

 

これがビットコインのマイニングで使用されるハッシュ関数です。(完全に初心者向けですので更に詳しく知りたい方は検索エンジン等で調べてみてください。)

 

マイニングの終了はブロックヘッダというそのブロックの頭のパラメーターを換えながら繰り返しハッシュ化することで行われていきます。(ブロックヘッダについて⇒ブロックの頭には全ての情報が詰まっている!?

 

そしてそのハッシュ化された数値が〇〇以下になったらOKというこの〇〇が「target(ターゲット)」と呼ばれ、difficulty(難易度)を左右します。

 

ハッシュ化した時にどのような数値が出るのかは分からない事は先ほどご説明した通りですのでマイナーが数値を調整することはできません。ですので、とにかくランダムに数を足していき、〇〇以下の数値が出てくるまでその作業を繰り返します。

 

例えば数値が100以下でOKとtargetが決まっていたとします。その時、ブロックヘッダのパラメーターを少しずつ変えながらハッシュ化しハッシュ値が100以下になるまで続けます。これがマイニング競争で、最も早く100以下になるパターンを見つけた者の勝利になります。(実際にはSHA256のハッシュ関数が使われ、その名の通り256ビットの値が出る為、100以下という小さな数値ではなくかなり大きな数値になります)

 

この100以下というtargetを50以下、とするとどうなるでしょうか。これは想像するのが容易です。難易度が上がり解を見つけ出すのに時間がかかります。つまり、10分以上マイニングに時間がかかっていればtargetを大きくして難易度を下げる、10分より少なくマイニングに皆が成功していればtargetを小さくして難易度を上げていくのです。

 

このようにしてdifficultyは上下されております。

 

まとめ

 

これがビットコインの取引を10分に調整するdifficultyの仕組みです。かなり簡単に解説しましたので更に詳しく知りたい方はもっと調べてみるといいと思います。ビットコインはこのような面白い仕組みがかなりたくさんあります。これを中央管理無しに分散ネットワークで自動で行っているから驚きです。

興味のある方は情報収集を沢山してみてください!きっと新たな世界がそこには広がっていると思います!

 

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

ビジネスブロックチェーン ビットコイン、FinTechを生みだす技術革命

ビジネスブロックチェーン ビットコイン、FinTechを生みだす技術革命