一番長いチェーンが正当であるとするルール
ビットコインのブロックチェーン上の取引は、不特定多数のマイナーが認証作業を行っているため、チェーンが分岐する可能性があります。分岐が発生した場合、ビットコインのブロックチェーンでは、一番長いチェーンが正当であるとするルールがあります。
一番長いチェーンが正当なチェーン
例えば、2つのチェーンに分岐してしまった場合、検証をするマイナーはそれぞれのブロックに含まれている取引を対象にします。その後は、正当と思われるチェーンに対してマイニング作業を行います。
ここでもビットコインの多数決の原理が働き、多くのマイナーが正当と考えて集まったチェーンではブロックも生成されやすくなり、分岐したチェーンよりも長くなっていきます。
仮にネットワーク攻撃者が勝手にブロックを生成した場合でも、その先にチェーンを伸ばしていくにはほかの大多数のマイナーを上回る、ネットワークの51%以上の計算舅が必要になります。一部の攻撃者が大多数のマイナーの計算量を上回ることは困難であるため、やはり最長のチェーンが正しいといえます。
台帳はみんなで管理する
銀行のような機関は、独自のサーバーでデータを管理しています。このような管理方法はデータが一部に集中しているため、八ツキングなどの攻撃を受けやすくなります。また、取り扱う情報の増加に応じて、多大な設備投資をしてサーバーを増設していく必要があります。
これに対してビットコインの取引はユーザー全員が同じ台帳を保有しています。これを分散型台帳と呼びます。データが分散されて保管されているため、ハッキングなどによる改ざんの危険性が非常に低くなります。
一部の台帳データを改ざんできても、ほかの大多数が同じ台帳を保有していた場合、そちらを正しい台帳であるとシステムが認識するからです。さらに、参加者が増加することでより改ざんが困難になります。
すべてのデータはオンライン上で公開されているため、どのアドレスにいくらビットコインがあるかを確認することが可能です。ただし、データのアップデートなどに時間がかかるので、クレジットカードのような瞬時の取引には向かないという欠点もあります。
オフチェーンを利用した取引の仕組みとは?
ビットコインを使った決済では、ブロックチェーンに取引を記録するたびに手数料が発生します。手数料は十数円ほどなので、従来の決済システムと比較すると安価ですが、小額決済を繰り返す場合は手数料がかさんでしまいます。
そこで、この問題を解決する「マイクロペイメントチャネル」という仕組みがあります。これは、取引の一部をブロックチェーンの外側(オフチェーン)で処理する仕組みです。最初と最後の取引だけブロックチェーンに記録し、途中のトランザクションは記録しないことでブロックチェーン上の手数料をかからないようにする仕組みです。
具体的には、まずはユーザーとサービスを行う会社のマルチシグアドレスにコインをロックする取引を行います(オープニングトランザクション)。そのあと、何度取引をしてもブロックチェーンの外側で行っているので手数料がかからず、さらにより高速に処理を行うことが可能です。
最後に取引をすべて終えれば、「コミットメントトランザクション」というロックされたコインを解除する取引をブロックチェーン上にして、クローズをします。ビットコインのブロックチェーンは、ブロックに入る取引の量の上限が低く、現在問題となっています。
しかし、マイクロペイメントチャネルにより、ブロックチェーンの外で高速に大量のトランザクションを処理することが可能になるため、この問題を解消する手段の1つとして注目を集めています。
1ブロックチェーン上の取引履歴は半永久的に残る
ブロックチェーンでの取引は、ブロックにすべて記録、保存されます。ビットコインのブロックは2009年1月の誕生から2017年11月現在まで約49万ブロックが生成され、連なっています。
2ビットコインの最初のブロック
ビットコインの最初のブロックは2009年1月3日に誕生しました。このブロックは、「ジェネシス(起源)ブロック」と呼ばれています。ブロックチェーンは、すべてが1列のチェーンのようにつながっていることから、ブロックをさかのぼると必ずジェネシスブロックにたどり着きます。
3特定の文字列が出現するハッシュ値を求める
マイナーは、ブロックチェーンに新しいブロックを追加するために、前のブロックのハシシュ値から、特定の文字列が出現するハシシュ値を生成するためのナンスを求めます。正しいナンスを求めることができたマイナーは、ブロックをブロックチェーンに追加することができ、報酬としてビットコインを受け取ります。新しいブロックのヘッダーは、ほかの人が解析することですぐに正当性を検証できます。
4マイニングの難易度は自動調整される
マイニングの難易度は、その時点の参加マイナーの計算量によって変わります。ビットコインのブロックは、約10分ごとに生成されるようプログラミングされています。その時点で参加しているマイナーの計算量にかかわらず、10分ごとに新たなブロックが生成されるように難易度が調整されます。
5短いチェーンからはマイナーが離れていく
ブロックの分岐が起きた時点では、どちらのチェーンも正しいとされています。マイナーはどちらのブロックをマイニングするか選択します。短いチェーンのマイニング報酬は消失してしまうため、短いチェーンからはマイナーが離脱し始め、時間が経過するにつれマイナーは1つのチェーンに集中します。
6マイニングは非中央集権であることに価値がある
談合したマイナーの計算力が過半数に達し、ブロックの生成を故意に操作することを「51%攻撃」と呼びます。もしこの51%攻撃が可能であれば、ビットコインの取引が消えるなどして価値を失います。マイナーはビットコインの価値が下がるのは避けたいと考えているため、マイナーが多くの計算力を消費して、51%攻撃を行う可能性は低いとされています。ビットコインが特定の管理者を持たないことが、信頼性を保つために役立っています。
7データの保管方法にも応用できる
ブロックチェーンを使った分散型台帳のデータ保管方法が注目を浴びています。現在、多くの大企業がハッカーから狙われており、情報漏えいの危険にさらされているためです。分散型台帳は所有権個人情報、投票権の管理などに役立つと考えられています。
8ブロックチェーンは新たなデータの管理技術
ブロックチェーンは、データのブロック1つ1つがチェーンのように連なることで、強固なデータ管理システムを構築しています。過去のデータの改ざんはほぼ不可能で、データの保管場所としては最も安全です。またそのデータを分散し、多くの人が互いに監視し合うことでさらに、安全性が保たれています。