未来を創る、テックコミュニティー

今のうちにビットコインをおさらいする(後編)

シンラボ編集部
2019/09/16

※本記事は、未来技術推進協会ホームページにて2018年2月8日に掲載されたものです。

こんにちは。山本睦月です。
前回はBitcoin(ビットコイン)について振り返りました。

今のうちにビットコインをおさらいする(前編)

今回は、Bitcoinを支える技術「Blockchain」に関して書いていきます。
「Bitcoinは何となく知ってるけど、Blockchainが何なのかはよくわからない」という方もいらっしゃるのではないでしょうか?

まず、私がこの二つを理解する前どんなイメージを持っていたかお伝えしておきます。

1つ目にBitcoinですが
“Bitcoin=Bit(デジタルなやつ)のcoin(お金)”
みたいな感じでした。
まぁ間違ってはいないですし、この程度でも会話にはなります。

そして、2つ目のBlockchainですが
“Block(箱)がchainしてる(つながっている)???”

…要はよくわかっていませんでした。
しかし、私ほどではないにしてもこれに近い方はいらっしゃるのではないでしょうか?
大丈夫、心配することはありません。
そんなあなたでも今回の記事を読めばBlockchainに関して理解することができます。

Bitcoinがどのような仕組みで成り立っているのか、一緒に勉強していきましょう。


ここでBitcoinについて、ちょビットおさらい

bitcoinはシェア率一位を誇る仮想通貨の一つで、2008年に中本哲史(なかもとさとし)さんが投稿したデジタル通貨のシステムに関する論文が元になっています。
インターネットを介して通貨の受け渡しをすることができ、最近では一部の実店舗でBitcoinを使用し買い物することができます。


「Bitcoin(ビットコイン)」の中身

Bitcoinとはインターネットを経由して、お金のやり取り(取引)を記録しているものです。
その1つ1つの取引を「トランザクション」といい、全てのトランザクションは
“「AさんからBさんへ〇〇BTC移動する」※BTCはbitcoinの単位です”
という形で表現されます。
これは、Bitcoinを利用して「売る」「送る」「支払う」など、どの取引もこの形で表現できるからです。
Bitcoinの取引は24時間365日行われており、そのすべての取引は公開されています。
https://blockchain.info/ja

暗号通貨であるBitcoinは、「電子署名」という暗号技術によって現在の所有者に許可なく送金できないようになっています。
また、Bitcoinには過去の全ての取引情報が記録されています。
そのため、Bitcoinが誰を経由してどのように現在に至ったのか、必要であれば後からさかのぼって確認することができます。

Bitcoinの取引は複数のコンピュータが承認しあって初めて成立するので、未承認のトランザクションをおよそ10分ごとにまとめて1つの「ブロック」とし、これを一括して承認する仕組みを採用しています。
新しく承認されたブロックは、前回承認されたブロックにくっつき1本の「チェーン」のようにつながっていきます。

トランザクションがまとめられた「ブロック」が1本の「チェーン」のようにつながっていくシステム。
これが「Blockchain」なのです。

さて、Blockchainの形が少し見えてきたでしょうか?
Bitcoinのシステムとして使われていることが有名ですが、他にも金融や不動産など機密性の高い情報の運用が期待されています。
それはBlockchainの仕組みがセキュリティ面で優れているからです。

Blockchainのセキュリティ

Blockchainはどこかのサーバーが一元管理する「クライアント・サーバー方式」ではなく、個々のユーザー同士をネットワークで結んで直接データをやりとりする「P2P(Peer to Peer)方式」を採用しています。
世界中に散らばった複数のコンピュータには、全く同じBitcoinの過去のデータが保存されているため、過去の取引データを改ざんすることは事実上困難な仕組みとなっています。

また、新たなブロックを承認しつなげる作業もセキュリティを高める大事な役割を担っています。
ブロックのつなげ方には規則があり、新しいブロックを最後尾につなげるには規則に則った鍵を見つける必要があります。
この鍵を見つける作業を「マイニング(採掘)」といいます。

マイニング(採掘)で一獲千金?

個々のトランザクションは、ハッシュ関数という特殊な関数によって規則性のない64文字の文字列(ハッシュ値という)に置き換えられます。
ハッシュ関数を通して計算させると、どれだけ大きなサイズのデータでも同じ桁数の全くことなる文字列に置き換えることができるので、暗号技術でよく使われます。
入力データを少しでも変えると全く異なるハッシュ値が出てくるのがハッシュ関数の特徴です。
そして、入力データからハッシュ値を生成するのは簡単ですが、ハッシュ値から元のデータを割り出すことはできません。
つまり、不可逆的で後から勝手に変更できないのです。

トランザクションがハッシュ値に変換されているように、個々のブロックもハッシュ関数によって64桁の文字列に変換することができます。

そして、新たにブロックを追加するときは、「直前のブロックのハッシュ値+今回のブロックに含まれる全取引データ+任意の文字列(ノンス値)」を同様に64桁のハッシュ値に置き換え、その最初の16ないし17桁をすべて0にするノンス値を見つけなければいけないと決まっているのです。
このノンス値を探す作業のことを「マイニング(採掘)」といい、マイニングをする人を「マイナー(採掘者)」と呼びます。

ノンス値はランダムな32ビットの値なので自由に決めることができますが、ノンス値が1桁でも違えば生成されるハッシュ値も全く違ったものになります。
つまり、任意のノンス値を片っ端から当てはめて、しらみつぶしに調べる必要があります。
たまたま生成されたハッシュ値の最初の16桁が0になる確率がどれだけ低いか、想像もつきません…

さて、マイニングは1人で行っているわけでなく、10分ごとに世界中のマイナーが参加しレース形式で行われています。
ノンス値を最初に見つけた人が優勝となり、その報酬としてBitcoinがもらえるのです。
気の遠くなるような値の中から1つのノンス値を探す様は、まさに金鉱で金を探す採掘作業というわけですね。

残念ながら1番になれなかった2番手以降の人たちは、確かにそれが正しい鍵かどうかを確かめます。
鍵を見つけるまでは大変ですが、その鍵が正しいかどうかは一発でわかる。
それがマイニングレースの面白いところです。

だいたい6人が承認した段階で、それは正式なブロックと認められてチェーンの最後尾に新たに追加されます。

2018年1月時点の報酬額は12.5BTCとなっています。
日本円でおよそ1300万円ですね。(1BTCの金額は常に変化していますのでこの額はその時々で大きく変わります)
これがおよそ10分おきに行われていると思うとスゴイ世界ですね。

「これからはBitcoinの時代だ!会社を辞めてマイナーとして生きる!」
と思う方もいるかもしれませんが、落ち着いてください。
一度現状を整理してからでも遅くはないでしょう。

マイニングで稼ぐ方法は大きく分けて2つあります。
1つは「ソロマイニング」と呼ばれる個人のパソコンで頑張るパターンです。
個人でやるため、ノンス値を見つける事さえできれば1人で報酬を総取りすることができます!
しかし、大規模なマイニング設備が登場する昨今これは難しいかもしれませんね。

もう1つは「マイニングプール」に参加し、協力してマイニングするパターンです。
マイニングプールは「クラウドマイニング」とも呼ばれ、個人で行うことが難しくなったマイニングを複数人で協力して行おうというものです。
メリットは、準備や設備投資必要なく、高い計算能力をもったグループに入れば個人でやるよりも多くの報酬をもらえる可能性があります。
デメリットとしては、報酬を協力者でシェアしなければいけないというところでしょうか。
日本の企業で参画しているところといえばGMOやDMMが有名ですね。
企業レベルでの大規模なマイニング作業には設備費や人件費などお金がかかり、日本は土地代や人件費、電気代の面などで海外と勝負するには課題がありそうです。
しかし、仮想通貨ブームもまだまだこれから。
日本企業の活躍にも期待しましょう。


さて、いかがだったでしょうか?
Blockchainに関して、おおよその仕組みが理解していただけたかと思います。
今回はBitcoinに利用されるBlockchainという形で紹介しましたが、Blockchainという技術は非常に優れた点があり今後様々な分野で活躍が期待されている技術です。
また、Bitcoinに関しても毎日目まぐるしく状況が変化しています。
今後ますます目が離せない市場といえるでしょう。
私自身も時代の変化に取り残されないよう最新の情報をとっていきます。

参考サイト

参考書籍

この記事を書いた人
シンラボ編集部
エディター