search
クリプト

Blockchain技術 ④ - マイニング

Jimmy's icon'
  • Jimmy
  • 2018/07/01 21:49
Content image


まなさん、おはようございます。前回の記事ではビットコインのブロックチェーンのブロックの中身について説明させていただきました。それをまだ読んでいない方は、この記事を読む前に読んでいただけると幸いかと思います。今回はProof of Work(PoW)式のマイニングについて説明します。

Proof of Work (PoW) プルーフオブワーク

マイニングは競争です。PoWでは、ビットコインの場合、誰が一番早くパズルを解けるかという競争であり、勝者は次のブロックをマイニング(作成)する権利とマイニング報酬としてビットコイン(現在12.5BTC)をもらいます。パズルを解けたら、あなたがワークをプルーブした(仕事した証拠)という風に認められます。というのは名前の由来です。もちろん、これは全部自動的に監視されます。

EthereumはProof of Steakという形式のマイニングを扱っています。それはまた全然違う話なので割愛しますが、言いたいのは、この記事で説明されるマイニングと違うマイニング形式も存在します。


ブロックヘッダのNonceとBits

「誰が一番早くパズルを解けるかと?」と思うでしょう。そうです。ビットコインマイニングは、パズルを解ける競争であり、前回の記事で説明を省いたBitsとNonceがマイニングにおいて重要な変数です。ブロックヘッダに六つの変数が揃うと完成です。バージョン、前ブロックのハッシュ、マーケルルートのハッシュ、タイムスタンプとビットは次のブロックヘッダを形成させる一般的に知られている情報です。そのため、ブロックをマイニングするときに、ヘッダにそれを記入します。あくまでもイメージですが、以下の図のような感じであり、Nonceだけが空欄になっている状態です。

Content image
図1 一般的に知られている情報既に記入済のブロック

マイニングのプロセスは単純ですが完璧に理解できるために色々説明しておかないといけません。しかし、詳しいことに興味がない方はこれでけを覚えてください:

このシリーズの第二回に解説したのですが、「。」だけを打つことでハッシュ値が完全に異なってきます。マイナーはとてつもない計算力のを使ってNonceに1、2、3、…を次から次へ記入し、ヘッダのハッシュを計算します。そのハッシュをターゲットと比べ、ヘッダのハッシュがターゲットと同じ、またはより小さかったら、マイナーがパズルを解けたという意味です。


Bits(ビット)= パズルの難易度

ビットはパズルの難易度を設定します。これは2,016ブロックごとに(~2週間)、パズルが解けられる(ブロックが作成される)ために必要な時間を平均10分に維持するように更新されます。前回紹介したこのウエブサイトを見たら気付くと思いますが、「難易度」という変数もあります。それは難易度を可視化するための単位にすぎません。(二つのビットを比べてもどれの難易度がどれほど高いのかすぐに分からないために使われています。)

ブロック#50400          
ビット:471907495
難易度:7.82
ブロック#50399
ビット:472518933  
難易度:6.09

ビットからは、Target(ターゲット)が特定のアルゴリズムによって計算されます。ターゲットが余計に長いため(=重い)、比較的に短いビットという形に変化されます。例えば:

ビットは18062776だと、
ターゲットは:0000000000000000062776000000000000000000000000000000000000000000


Nonce(ナンス)

ナンスは一番面白い変数だと個人的に思っています。特に意味はなく、ただの数字なのですが、これを当ててみるために世界中にマイニング工場を作ったりします。(著作権のために写真を貼りませんが、GoogleでBitcoin Farmを検索したらいかにデカい工場があるか分かると思います。)


ザー・パズル(仮名)

では、マイナーたちは実際何をしているのか、どういうパズルを解けようとしているのか、今から説明していきたいです。図2を見てみてください。

Content image
図2 マイニングのプロセス

①:この図ではナンスとして入れる数字は✘です。1からスタートします。
②:ナンスを記入し、ブロックヘッダを完成させます。
③:全部の情報が揃ったブロックヘッダをハッシュします。
④:そのハッシュはターゲットと同じ、または小さいかが確認されます。
はい:パズルを解けた。㊗㊗報酬ゲットだぜ!㊗㊗
いいえ:✘に1を足して、全部をやり直します。

これだけです。もちろん、全てのマイナーが1からスタートするわけではなく、ナンスに入れる数字のさばき方はみんな違うのですが、根本では何も変わりません。また、このグラフによると2018年6月30日に、世界中のマイナーによって毎秒行われるハッシュ(図2のプロセス)は35,588,942テラハッシュです。

35,588,942,000,000,000,000回

これを600でかけたら、一つのブロックができます (600秒=10分)。しかし、技術が進化し、マイナーも増えるため、毎秒行われるハッシュも増えます。それでパズルがより早く解けられてしまいます。そのためにブロックチェインは2,016ブロックごとに難易度を高くします。マイナーが減ったら低くします。

終わりに

少し長くなってしまいましたが、いかがでしょうか。マイニングするというのは数字を当ててみるという子供のようなゲームに過ぎませんが、現在もっとも注目浴びている現象といっても過言ではないと思います。

次回は恐らくこのシリーズの最後になり、Nodeについて説明しようと思いますので、そのときもよろしくお願いします。


Blockchain技術シリーズ:

誰にでも理解できる:Blockchain技術 ① - チェーンの意味と働き

誰にでも理解できる:Blockchain技術 ② - ハッシュとは?

誰にでも理解できる:Blockchain技術 ③ - ブロックの中身

誰にでも理解できる:Blockchain技術 ④ - マイニング

公開日:2018/07/01
獲得ALIS:25.02
Article registration Article registration
Jimmy's icon'
  • Jimmy
  • @JimiVD
ALIS入社後、このアカウントで書かれた記事に対してALISが配布されません。

投稿者の人気記事
コメントする
コメントする
こちらもおすすめ!
Eye catch
クリプト

【第8回】あの仮想通貨はいま「テレグラム-TON/Gram」

Taka 2021/07/24
Like token Tip token
69.90 ALIS
Eye catch
クリプト

Eth2.0のステークによるDeFiへの影響を考える。

CryptoChick 2020/03/05
Like token Tip token
44.10 ALIS
Eye catch
クリプト

【DeFi】複利でトークンを運用してくれるサイト

KTAG 2021/02/22
Like token Tip token
54.01 ALIS
Eye catch
クリプト

NFT解体新書・デジタルデータをNFTで販売するときのすべて【実証実験・共有レポート】

otakucoin 2021/03/29
Like token Tip token
121.79 ALIS
Eye catch
クリプト

【初心者向け】JPYCを購入して使ってみました!

暗号資産ジョシ校生 蟻巣 2021/06/30
Like token Tip token
30.03 ALIS
Eye catch
クリプト

ジョークコインとして出発したDogecoin(ドージコイン)の誕生から現在まで。注目される非証券性🐶

昆布森ちゃん 2021/01/19
Like token Tip token
38.31 ALIS
Eye catch
クリプト

Uniswap(ユニスワップ)で$ALISのイールドファーミング(流動性提供)してみた

Taka 2021/02/25
Like token Tip token
59.99 ALIS
Eye catch
クリプト

コインチェックに上場が決まったEnjin Coin(エンジンコイン)コインを解説

昆布森ちゃん 2021/01/24
Like token Tip token
21.49 ALIS
Eye catch
クリプト

【初心者向け】$MCHCの基本情報と獲得方法

暗号資産ジョシ校生 蟻巣 2021/07/14
Like token Tip token
32.32 ALIS
Eye catch
クリプト

CoinList(コインリスト)の登録方法

Taka 2021/02/25
Like token Tip token
15.55 ALIS
Eye catch
クリプト

17万円のPCでTwitterやってるのはもったいないのでETHマイニングを始めた話

nnppnpp(んぺー) 2021/09/08
Like token Tip token
46.60 ALIS
Eye catch
クリプト

Bitcoin史 〜0.00076ドルから6万ドルへの歩み〜

大田コウキ 2021/04/06
Like token Tip token
947.13 ALIS