前回、どういう思想の元、ビットコインが生まれたのかという所をお話しました。
今回は、ではどういう仕組みで動いているのかを説明していきます。
前回記事
P2Pのブロックチェーンネットワークの構築
P2P(Peer-to-Peer)とは
上記の考えのもと、作られたシステムがブロックチェーン技術を取り入れたPeer-to-Peerでデータを交換するものです。
Peer-to-Peerとは中央サーバを用意せず個々の端末(Peer)がお互いに信頼しあうことで成立するネットワークのことを言い、簡単に言うとデータ交換などを中央サーバを介さずに端末間同士で送りあえるようなものを表します。
ただP2P(Peer-to-Peer)にも問題はあり、中央に管理者がいる場合、扱われるデータの整合性を取りやすいのですが管理者がいない場合それが難しくなります。その問題を解決したのがブロックチェーン技術です。
中央管理とP2Pの例
『シェアリングエコノミー』の代表格とされる”UBER”や”Airbnb”は運転手とお客さん、家を使って欲しい人と泊まりたい人をマッチングしています。ただこれはそれぞれがダイレクトに繋がっているのではなく、UBER、Airbnbの中央サーバを通して行われます。
結局はサービス提供企業が情報を全て集約させているので、彼らが手数料を上げればそれに従わざるを得ない状況が生まれます。
ただ上記のシステムを使い、ダイレクトにマッチングすることが出来れば中央企業からの手数料無しでそれぞれがサービスを受けられるようになります。
ビットコインのシステムにおける中央サーバを持たないと言うのはどういう意味かと言うと、
現在私たちが使う紙幣/通貨は国の中央銀行などによって発行されているのですが、
BitcoinのシステムはそれぞれのPC上にデータが置かれてかつお互いが管理し合う体制のため、通貨を発行している銀行や中央機関というのは存在しません。そしてシステム上で発行されるビットコイン数は決まっています。(現在10分毎に12.
5BTC。)
ですので供給量を任意に変動させて価値のコントロールを国によってされません。
また中央サーバを持たないので、銀行のシステムをハッキングしたり、国の財政破綻による財産の喪失と言うことがなく、安全な資産保有にも繋がるということです。
ビットコインのシステムを可能にしたブロックチェーン技術
それでは上記のブロックチェーン技術についてお話していきます。
元々サトシナカモトがビットコインを完成させるために開発されたシステムと言われていて、
現在、仮想通貨だけでなく様々な分野での応用が可能ではないかということで、注目されている技術です。
ブロックチェーンは『分散型取引台帳』とも呼ばれます。
言い換えるとデータが1つの場所に置かれるのではなく様々な場所に取引を全て記録する場所です。
ではどのように取引を記録してるのでしょうか。
『ある一定量の取引データが格納されたひとつのブロックがひと繋ぎの鎖になっている。』のです。
ビットコインが始まった2009年から現在までの取引データが全てブロックチェーン内に存在します。
各ブロックの中には10分間で発生した『AさんからBさんに対して10BTC送られた。』などの個々の取引データが数多く入っています。それを時系列順に繋いでいった(チェーンしている)ものがブロックチェーンと呼ばれています。
では何故このブロックのひと繋ぎがデータの整合性、完全性を担保しているかを説明します。
各ブロックの中には取引データの他に1つ前のブロックのハッシュ値とナンス値という値が入っています。
ハッシュ値とは、データをハッシュ関数と呼ばれる関数で計算した値のことを指すのですが、
『ハッシュ値とハッシュ関数の数値がわかったとしてもデータの特定が困難である。』という特徴を持っていて
この値を使うことで通信を行なっている間にデータが改竄されていないかを確認することが出来ます。
ハッシュ値にはもう1つ『異なるデータから同じハッシュ値が出ることがない。』という特徴があります。
ですから、仮にデータが改竄されたとしてもハッシュ値が変わるため、バレるというわけです。
上述したように各ブロックには前のブロックのハッシュ値が入ってるため、もし1つのデータが改竄されハッシュ値が変わると
次のデータのハッシュ値も変わり…ということを繰り返すことになります。それぞれのブロックのデータが相互に作用し連鎖構造になっているので”ブロックチェーン”と言われます。
ブロック生成はどのように行われているのか?
では、誰が次のブロックを生成しブロックチェーンに追加し続けているのでしょうか?
例えば、分散型であるがゆえにみんながそれぞれがブロックを思うがままに生成出来るようになれば、ごちゃごちゃになります。
かと言って、特定の誰か1人だけが行なっているわけではありません。
この行為をマイニングといい、マイニングを行う人たちをマイナーと呼びます。
みんながそれぞれブロックを作るわけには行かないので、みんなの合意のもと誰がブロックを作るかを決めなければなりません。
そのことを『プルーフオブワーク』といいます。訳すると『仕事の証明』になりますね。
プルーフオブワークとはなんでしょうか?
新規のブロックのハッシュ値はあらかじめ決められたルールに則った値にならなければなりません。
その調整に使われるのがブロックに含まれるもう一つの値、ナンス値です。
このナンス値を特定するのが非常に困難で、総当たりで計算を行うしかありません。
そのナンス値を1番最初に見つけ出したマイナーが、ブロックにナンス値を入れ、ブロックを生成します。
その際に、各マイナーにそれぞれが持つブロックチェーンに新規ブロックを追加する依頼を出します。
1番を取れなかったマイナーたちはその値が正しいのかどうかを確認し、ブロックを追加します。
そして全マイナーの内過半数が正しいと判断すれば、新規ブロックと承認されます。
その作業が10分ごとに行われています。
では、なんのために世界各地のマイナーたちがマイニングを行なっているのでしょうか?
上述した通り、ビットコインは10分ごとに12.5BTC発行されています。
これは、ナンス値を1番に見つけ出したマイナーに送られる報酬となります。
現在のBTCのレートは270,000円(2017年5月31日現在)ほどですので、おおよそ350万円の報酬を手にすることができます。
これがビットコインとブロックチェーンの大まかな仕組みとなっています。
次回、ビットコインとアルトコインについて説明していきます。