ブロックチェーンは仮想通貨の根幹をなす技術です。

ブロックチェーンの仕組みを理解すれば、仮想通貨が電子マネーとは異なることや画期的な通貨であることがわかります。

ビットコインのブロックチェーンを例にして、ブロックチェーンの意味を解説します。

仮想通貨のブロックチェーンとは?簡単に解説

ブロックチェーンとは一言で解説すると、仮想通貨の取引内容が記録された元帳のようなものです。

ブロックチェーン(block chain)は、「かたまり(ブロック)の鎖」と直訳できるように、ブロックが鎖のように連なったイメージ。

取引内容が記録された帳簿のページがブロックに該当し、そのページが連なった元帳全体がブロックチェーンと言えます。

 

ここでは仮想通貨で最も有名であるビットコインのブロックチェーンについて説明します。

ビットコインのブロックチェーンを理解できれば、他の種類(銘柄)の仮想通貨のブロックチェーンを理解するのも難しくありません。

 

↓そもそも仮想通貨とは何かという場合は下記の記事を参照

[blogcard url=”https://pera-pera.com/crypto-currency-51″]

ビットコインのブロックチェーンに記録されているものは何?

仮想通貨のビットコイン誕生のきっかけとなったのは、ナカモトサトシが作成した9ページの論文です。

元の論文が英語ですが、インターネット上に全文が公開されています。

ナカモトサトシは欧米系の個人あるいは集団と思しき謎の存在です。

 

ナカモトサトシ論文のタイトルが「Bitcoin: A Peer-to-Peer Electronic Cash System(ビットコイン:P2P電子マネーシステム)」であるように、ビットコインは単なる通貨ではなく、P2P(Peer to Peer)というネットワークの形式で分散管理されている決済システムです。

 

ビットコインはデジタルデータのお金が、単に誰かから他の誰かに移るという仕組みではないのです。

ビットコインはプログラムに記載されたルールをもとに取引データがブロックチェーンに記録される決済システムです。

 

ビットコインは、ソフトウェア(コンピュータのプログラム)で、そのプログラムの内容(ソースコード)はインターネット上に公開されています。

プログラムを読める人なら世界中の誰でもソースコードを見ることができ、世界中の有志の技術者たちがそのプログラムを精査、改訂することでビットコインは作られてきました。

不特定多数の人たちがプログラムの中身を見ることができるので、プログラム中に不正がないかを確認することが可能です。

それによって決済システムとして信頼が得られています。

 

(ビットコインは公開されているソフトウェアであるため、簡単にコピーすることができます。

プログラムを読み書きできるならソースコードを改変して別の仮想通貨を作ることも容易に可能です。)

 

ビットコインの今までの全取引が記録されたブロックチェーンはインストールして誰でも確認することができます。

 

仮にAさんのアドレス(銀行でいう口座番号に相当)を「ppppp」、Bさんのアドレスを「qqqqq」とします(実際のアドレスの文字列とは全然異なりますが。)

Aさんがアドレス「ppppp」からBさんのアドレス「qqqqq」に0.001BTCを送金した場合のビットコインの取引とは、アドレス「ppppp」からアドレス「qqqqq」に0.001BTCが何時何分何マイクロ秒に移った(送金された)というような情報です。

 

取引内容に記録されたアドレスから、それが誰のアドレスを知ることはできません。

ブロックチェーンから個人情報が漏れる心配はないのです。

 

ひとつのブロックの中には4000件以上の取引が記録されています。

1件の取引を1トランザクションと呼びます。

ビットコインは1秒当たりに7取引を行うので、この処理能力を7TPS(Transactions Per Second)と表せます。

 

ブロックチェーンはビットコインの取引記録のかたまりなので、新たに行われた取引が承認され、ブロックが生成されると伸びていくわけです。

(理論上2140年までブロックチェーンは伸びつづけます。)

ビットコインのブロックチェーンは10分ごとに新しいブロック(サイズは2MB)が生成され、伸びていきます(以前は1ブロックは1MBだった)。

2MBは現代のコンピュータの性能と比較すると、とても小さなサイズです。

 

ブロックチェーンの長さ(サイズ)は2018年1月現在で、1TB(1000GB)程度。

個人のパソコンにも入りきる大きさです。

ブロックチェーンは分散管理されていて消失させることは不可能

従来のお金の場合、Aさんが自分の銀行口座からBさんの銀行口座に1000円を送金する場合、第三者機関として銀行が介在することになります。

それに対して、ビットコインには銀行のようなお金を管理する第三者機関が存在しないため、AさんがBさんに0ビットコインを送金する場合、AさんのアドレスからBさんのアドレスに直接送金されます。

 

 

前述の通りビットコインは、P2P(Peer to Peer)というネットワークの形式で分散管理されています。

ソフトウェアであるビットコインをインストールしているコンピュータは、ビットコインのネットワーク上でノードと呼ばれます。

各ノードはそれぞれがブロックチェーンの記録を保持しています。

 

ビットコインのネットワーク上に存在するノード(コンピュータ)の一部が故障したり、ハッキングで破壊されたとしても、新たに参加したノードは、生きているノードから正常なブロックチェーンの情報を得ることができます。

理論上はすべてのノードを同時に潰せば、ビットコインそのものを消失させることができますが、それは国家レベルであっても現実的に不可能です。

そのためビットコインは銀行のような管理者がいなくても高い信頼性があります。

これらの多数のノードによって監視される形でビットコインは運用されているのです。

 

ビットコインのアドレスは30文字程度の英数字の文字列です。

アドレスは、銀行口座の暗証番号に相当する秘密鍵をもとにして生成されます。

 

秘密鍵はランダムに発生された数(乱数)を英数字の文字列に置き換えたもの。

その秘密鍵に暗号プログラムを通せば公開鍵というものが生成されます。

さらに公開鍵にある計算を行うことでアドレスが生成されます。

 

 

アドレスからお金を送金するには、そのもとになった秘密鍵が必要です。

言い方を変えると、あなたの秘密鍵さえわかれば、第三者があなたのアドレスにあるお金を別のアドレスに送金することができるので、秘密鍵は他人に知られてはいけません。

 

秘密鍵(暗証番号)→ 公開鍵 → アドレス(口座番号)

逆にアドレスから公開鍵を割り出すことはできませんし、公開鍵から秘密鍵を割り出すこともできないので、アドレスは他人に知られても大丈夫です。

 

秘密鍵は乱数をもとにして生成されるので、偶然同じ乱数が発生してしまえば、秘密鍵をもとにしてできるアドレスが重複するのではないか?と不安になったかもしれません。

確かに同じ乱数からは同一の秘密鍵が生成されますが、秘密鍵のパターンは2の256乗もあり、世界の約70億人が大量にアドレスを作ったとしても重複する心配はありません。

 

ビットコインは誰が取引内容を承認する?

法定通貨の場合、Aさんが自分の銀行口座からBさんの銀行口座にお金を送金するなら、その取引内容(この例では送金)の承認は銀行が行います。

銀行のような管理者が存在しないビットコインでは誰が取引内容を承認するのでしょうか?

 

管理者がいないビットコインで危惧されることは、悪意を持った人物が取引内容(金額や送金元・送金先アドレスなど)を偽造することですが、ビットコインのネットワーク上に存在する数多くのコンピュータが承認作業に参加することで、この懸念を払拭しています。

 

 

Aさんがアドレス「ppppp」からBさんのアドレス「qqqqq」に0.001BTCを送金したい場合、送金リクエストをビットコインのネットワーク上に存在するいずれかのノード(コンピュータ)に伝えることで、送金処理が開始されます。

 

Aさん本人がその送金リクエストを発信したことを証明するために、Aさんは自分のアドレスに紐づく秘密鍵で電子署名(本人確認のためのサインのようなもの)を行います。

秘密鍵を使用した電子署名は、その秘密鍵を知っている人にしかできません。

Aさんのアドレス「ppppp」に紐づく秘密鍵でなされた電子署名は、Aさんにしかできないので、その電子署名はAさん本人であることの証明になるのです。

 

秘密鍵はその持ち主本人しか知り得ない情報です。

どうやって送金リクエストの電子署名が、Aさんの秘密鍵によってなされたものであることをネットワーク上の他のノードが確認するのでしょうか?

Aさん以外にも公開されているAさんの公開鍵を使用することで解決できます。

 

Aさんの秘密鍵から生成された公開鍵を使用して、Aさんの秘密鍵でなされた電子署名を確認すると、それがAさんの秘密鍵によってなされたものであることを確認できるのです。

こうした秘密鍵と公開鍵の性質を利用することで、本人しか知り得ない秘密鍵を知らなくても、送金リクエストの発信者の本人確認が可能になります。

 

本人確認が済むと、送金リクエストの内容がブロックチェーンの最後尾に新たに加わるブロックに書き込まれ、送金が完了します。

 

このビットコインの取引の承認作業は、数多くのコンピュータによって行われると記載しましたが、それら承認作業の参加者をマイナー(採掘者)と呼びます。

ただ、どのマイナーにもブロックに自由に書き込める権利を与えてしまうと、不正行為ができてしまいます。

そのため、マイニングと呼ばれる計算を行うことで、権利を与えるマイナーを決定します。

マイニングに参加すると、マイニング報酬や取引の際に送金者が支払うビットコインの送金手数料を得られるメリットがあります。

そのためマイニングに参加するマイナーが存在するのです。

 

↓マイニングの詳細は下記の記事で紹介

[blogcard url=”https://pera-pera.com/mining-80″]

ブロックチェーンのまとめ

  • 仮想通貨の取引内容が記録された元帳のようなもの
  • アドレスや金額、時間が記録されている
  • 誰でも内容を確認できる
  • 分散管理されていて消失させることはできない
  • 新しい取引内容はマイナーが承認する
  • 承認されると、ブロックチェーンの最後尾に新たなブロックが繋がる