ブロックチェーン
ブロックチェーンは、仮想通貨の中核的技術であり、P2Pという分散型のシステム(世界中の不特定多数のコンピューターを相互につなげたネットワーク)を用意て、仮想通貨の各取引の履歴をすべて見えるようにし、相互に保管することによって信頼性を担保する技術をいう。各ブロック(仮想通貨の取引)を成立させることをマイニングするといい、マイニングする人や企業をマイナーと呼ぶ。マイナーはマイニングすることで手数料や仮想通貨を得る。(下記の説明は、ビットコインを想定している。)
ブロックチェーンと仮想通貨
ブロックチェーンは、仮想通貨の中核的基礎技術であり、電子的な情報を記録するシステムである。取引記録を、インターネットを介したネットワークの参加者全員で、公開された台帳に記入し、管理する。たとえば、10分間に世界中で起きた仮想通貨の取引データを「ブロック」という1つのまとまりに書き込む。それらの取引録は記録の改ざんが極めて困難であり、通貨と信頼性を担保としている、分散管理型の取引台帳といえる。
管理者の不在
仮想通貨におけるブロックチェーンの主な特徴は、通常の通貨は中央銀行(日本では日本銀行)で管理者が存在せず、多数のコンピュータで運営していることが最大限の特徴である。これまで、送金などの経済的取引は、銀行などの金融機関が管理することで行なわれてきたが、ブロックチェーンは、管理者主体を排除し、コンピュータネットワークが取引の正しさをチェックする、しかも、このため管理者が不必要のため、低いコストでの送金や決済等の金融サービスを可能にした。
P2P
ブロックチェーンは、従来のクライアント・サーバー方式による中央集権型ではなく、P2Pによる分散型の仕組みで成立している。P2Pとは、複数のコンピューターをネットワークで結びつけ、不特定多数のコンピューターによって分散的に情報を記録しているシステムをいう。
node(ノード)
node(ノード)とは、P2Pネットワークを構成するコンピューターをいう。仮想通貨を構成するP2Pのメンバーは、プロトコルにしたがってそれぞれの取引をチェックする役割を担う。nodeの全員が同じデータを受け、同じチェックを行うことで不正を監視することができ、送金情報が正しいことに同意すると、一定時間(仮想通貨)の取引が記録されたブロックが延々とつながっていく。
ハッシュ関数
ブロックチェーンは、改ざんを事実上不可能といえるシステムをハッシュ関数とよばれる関数によって可能にしている。あるデータの集まりをハッシュ関数に入れると、「ハッシュ」という数が出てくるが、ハッシュは、一方性処理であり、ハッシュ化されたデータから元のデータを計算で見い出すことは困難で不可能である。一方性処理とは、ある方向に計算するのは簡単だが、逆方向に計算するのは著しく難しい関数であり、元のデータからハッシュを導くのは容易であるが、ハッシュから元データを作り出すのは時事上不可能であるといえる。
ナンス
仮想通貨のブロックには世界中の一定期間の取引が記録される。このブロックには、「前のブロックのハッシュ」と、「ナンス」と呼ばれる数が記録されるが、これらのデータを元のデータとして、このブロックのハッシュ値が出力される。
マイニング
マイニング(採掘)とは、取引と取引をつなぐことで、それをする人や企業をマイナーという。ハッシュ関数は一方向関数であり、ハッシュ値から元データの一部であるナンスを計算で導くことは、非常に困難で、1つずつ数字を当てはめていく方法しかない。この作業にマイナーたちのコンピュータが試み、最初に正しいナンスを見つけたコンピュータが「発見した」と宣言し、見つけたナンスが正しいことが確認されたら、このマイナーがその期間の取引についての責任者となり、正当性を担保する。そして、その報師として一定の仮想通貨と手数料をもらい、マイナーの収益となる。この一連の作業がマイニングである。こうした作業が繰り返され、ブロックがチェーンのようにつながっていく。
フルノード
フルノードは、ブロックチェーンの全てのデータをダウンロードし、不正な取引がないことを検証、監視して、ブロックチェーン情報を他のノードや通常の利用者に伝達する役割を担うコンピュータである。マイニングをしなければ、報酬がないため、ボランティアで行われる。
プルーフ・オブ・ワーク
ブロックチェーンは書き換えたブロックから最新のブロックのすべてを確認していくが、これをプーフ・オブ・ワークという。悪意のあるユーザーがねつ造すると、ハッシュ値が変わるため、それぞれのブロック(そこに含まれるナンス)も含めてすべてチェックするため、ブロックチェーンの改ざん性が担保される。
フォーク
フォークはブロックチェーンの分岐をいう。ブロックチェーンが分岐するとは、マイニングの作業を行なっている複数のコンピュータ(ノード)が、極めて短い時間幅のうちに、正しいナンスを発見したとすると、この場合、あるブロックの後に複数のブロックが繋がることになる。(つまり、ブロックチェーンが分岐する。)
この場合、暫定的に2つのチェーンのどちらも正式なものとして、その後もマイニングを続ける。ノードは、どちらの分岐に自分のブロックを追加してもかまわない。しかし、最終的には、より長いチェーンが採用され、不採用となったチェーンは捨てられる。捨てられたチェーンのデータは存在しないことになる。(不採用になったチェーンを発掘したマイナーには、採掘報酬は与えられない。)不採用になる分岐で採掘しても報酬が取り消されるので、勝算が高いと予想する分岐に人気が集まる。こうして、いったん分岐しても、チェーンは再び1つに収束することになる。
- ソフトフォーク:いったん分岐しても再び1つに収束する
- ハードフォーク:マイナーのグループが意図的に導入した分岐をマイニングし続けること