FC2ブログ

記事一覧

ビットコインのブロックチェーン

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


ども(○・_ゝ・○)ノクリクリプトンですん。

今日はビットコインのブロックチェーンをさくっと説明します。

ほぼ全ての仮想通貨はブロックチェーンという技術が根幹にあります。
簡単に言うと「誰が誰にいつ送金した」という取引記録(これをトランザクションといいます)をデータのかたまりにして、チェーンで繋いでいるようなイメージです。

blog.png

実際には田中さんが山本さんにいくら送金したとかが書いているわけではなくて「このウォレットアドレスからこのウォレットアドレスにいくら送金したよー」という内容です。ウォレットアドレスだけでは個人を特定することは出来ないのでプライバシーは保たれています。(このへんは難しいのでまた今度書きます)


そして、ビットコインは管理者がいないのに誰がブロックチェーンにブロックを繋いでいるのかというと、マイナーという人たちがこの作業を行っています。そして、ブロックを繋げる作業をマイニングといいます。当然マイナーはボランティアでやっているわけではありません。
ブロックをつなげるとBTC送金の手数料とは別に、報酬としてBTCがもらえます。

ビットコインのブロックは約10分間に1つ生成されます。マイナーはまず、10分間に世界中で行われている取引に不正はないか確認し、ブロックを生成します。
しかしブロックを作っても繋げるのが大変なんです((´・ω・`;))

ブロックを繋げるにはあるハッシュ値を導き出すための値(ノンス)を計算しなくてはなりません。

ハッシュ値というのは暗号のようなもので、データを一定の英数字の羅列に変換します。
例えば
「ラーメン食べたい」をハッシュ化すると⇒C494CFF6779EC5EEDBF1165FE44AE4E669E16B2EBAB08BA9CD621D17335E7CD5

同じデータからは同じハッシュ値が計算されますが、少しでもデータが違えば全く異なるハッシュ値が計算されます。

「ラーメン食べたい!」の場合は⇒337998231C12B215461D051CAF7FC09AF4B4658153F30D84A8397C58B87D7796
となります。

ハッシュ値から元のデータを解読することはほぼ不可能に近いです。

ビットコインのマイニングで行うハッシュの計算は
新規作成したブロック+前のブロック+ある数値をハッシュ化した時に0が16桁から始まるハッシュ値が生成された。
このある値を導きなさい。

この様な計算を行う必要があります。
blo.png

この指定されたハッシュを生成するためのノンスを導き出す方法は、総当り的に様々な数値を当てはめ試していくしかありません。
ちなみにハッシュ値の生成はこのサイトで出来ます。 http://www.convertstring.com/ja/Hash/SHA256 
一回色んな数値を入れて試してみてください(゚∀゚)同じ数字が10桁以上並んでるハッシュ値なんてまず生成されません(笑)
もちろんマイナーはこんな方法でマイニングをしてるわけではありません。マイニング専用のPCをフル稼働させてPCに計算させています。マイニングには沢山のマイナーが参加していて、一番最初にこのハッシュ値を導き出してブロックを繋げたマイナーのみ報酬がもらえます。

ビットコインは流通量が増えるにつれこのマイニングが難しくなるようにプログラムされています。
最初は我々が使っているような一般的なPCでもマイニングは可能でしたが、次第に計算に勝てなくなり、専用のPCが登場。
今度はマイニングでPCが使用する電気代や、膨大な計算処理で熱をもつPCを冷却するための電気代で元が取れなくなったので今は電気代が安い中国の寒冷地などでマイニングを行うマイナーが大変多いです。


よくビットコインは金に例えられます。金は地球上に埋まっている量が限られているからこそ価値がありますよね。
そして鉱山などで掘り起こされ、高い値段で売買されています。金本位制なんてのがあったように、金自体に価値があることは皆さんご存知ですよね。
ビットコインも2100万BTCという流通量が決まっており、現在流通している枚数は約1600万BTC。残りの500万はまだブロックの中に埋まっているわけ。それをマイナー達が発掘しているわけです。


ブロックチェーンの改ざんは可能か

ブロックチェーンは事実上改ざんできないといわれています(*・`ω´・)ゞ
kaizan.png


それぞれのブロックの中には前のブロックのハッシュ値が入っています。これによって全てのブロックが関連性を持っているわけです・・・。おわかりいただけただろうか(^ω^)

ブロックの内容を改ざんすると当然そのブロックのハッシュ値は変わりますよね。
そうです。ハッシュ値の計算のやり直しです。
mining.png

ブロックを改ざんするとブロックチェーンは分岐します。ブロックチェーンのルールとして「一番長いチェーンが正しい」というルールなので改ざんしたブロックの後のブロックのハッシュの計算を一からやり直して繋げていかなければなりません。
しかしながら殆どのマイナーは一番長いチェーンに新規ブロックを繋げていきますし分岐した場合、短い方のチェーンは一定時間たつと切り離されるので改ざんは事実上不可能ということです。

もし改ざんしたブロックの方が長くなるようなことがあれば元々のチェーンが不正となり切り捨てられますがそんなことをしたらどうなるでしょう?ビットコインの信頼性がなくなり一気に価値がなくなってしまいますよね。
だからそもそもそんなことをする意味がないし、そんなことを出来るくらいならまっとうにマイニングしたほうがよっぽど稼げます。
以上の理由からビットコインのブロックチェーンが書き換えられることはまず有り得ないと個人的には思っております。

今回説明したマイニング方式をプルーフオブワーク(POW)といいます。
他にもプルーフオブステークとか何種類かあるんですけど今日はここまでにしときます。ほなまた・・・。







スポンサーサイト



コメント

コメントの投稿

非公開コメント