デジタルマネーライブラリー

このスマート社会において情報は、場所やモノに縛られない状況を実現しはじめています。そんな情報にこれからは価値あるインターネット「IoV」(Internet of Value)が求められると考えています。本ブログでは、そんな「IoV」に影響する仮想通貨について色々な観点から紹介します。

ブロックチェーンの理論を知ろう

f:id:a142899:20180226150835p:image

ブロックチェーンが連なるとはどういうことなのか詳しく説明します。

ブロックがつながるチェーンとは

ブロックチェーンは、ビットコインにより生み出された技術です。現存するほとんどの仮想通貨はこのブロックチェーンの技術を使っています。ブロックのデータには取引内容が記載され、必ず一つ前のブロックのデータの一部を含むように設計されています。ブロック同士が一部同じものを共有しているので、チェーンのように連なっていると表現されます。

ビットコインのブロックは、2009年1月の誕生以来すべてのブロックが連なっています。そのため、歴代のブロックをたどれば、すべての取引履歴を検証することができます。これはいわば過去の取引をすべて記入した台帳といえます。この台帳はすべてオンライン上で公開されているため、警察がマネーロンダリングなどの捜査をする場合、現金取引の捜査より比較的容易だと考えられています。ブロックチェーンの技術は、多方面で注目されており、データ保存技術として多くの研究機関が開発を進めています。ブロックチェーンの強みは、データがすべて連なっているため一部だけの変更ができない点にあり、これを応用して物流や証券、保険や公共サービスなど、さまざまな分野で活用方法が研究されています。

ビットコインの最初のブロック

ビットコインの最初のブロックは2009年1月3日に誕生しました。このブロックは「ジェネシスブロック」と呼ばれています。ブロックチェーンは、すべてが1列のチェーンのようにつながっていることから、ブロックをさかのぼると必ずジェネシスブロックにたどりつきます。

暗号を使いチェーンをつなげる

ビットコインのブロックは、ヘッダと呼ばれるデータの先頭部分でつながっています。ブロックがチェーンに追加される際に、新しいブロックのヘッダ内に前のブロックのヘッダの一部が暗号化されて組み込まれます。ブロック同士をつなぐ部分は、SHA-256と呼ばれる暗号化技術を使って求められます。SHA-256はハッシュ関数というアルゴリズムの一種で、ハッシュ関数により暗号化されたものをハッシュ値と呼びます。ヘッダには、前のブロックのヘッダのハッシュ値、取引データのまとめ、ナンスと呼ばれる任意のデータが含まれています。

前のブロックのヘッダを元にハッシュ値が求められ、次のブロックのヘッダに含まれます。これが繰り返され、チェーンのように連なっていきます。ハッシュ値は、元のデータが少しでも変わると、その値が大きく変わります。1つの取引が終わる前に次のハッシュ値を予測することは、ほぼ不可能なため、ネットワーク攻撃者による取引の改ざんは今まで一度も起きたことがありません。

ハッシュ関数とは

ビットコインではさまざまなハッシュ関数が使われていますが、代表的なものがSHA-256です。ハッシュ関数はキーとなる入力値を元に不可逆な数値変換を行い、関数ごとに定められた固定長の出力値を出力します。特定の入力値に対しては常に一定の出力値を返すため、膨大なサイズのデータをハッシュ化してデータの索引を作るほか、入力データの改ざんを防ぐために用いられます。ハッシュ関数のアイデアは、1950年代に考案されました。

正当なチェーンは一番長いチェーン

ビットコインブロックチェーン上の取引は、不特定多数のマイナーが認証作業をおこなっているため、チェーンが分岐する可能性があります。分岐が発生した場合、ビットコインブロックチェーンでは、一番長いチェーンが正当であるとするルールがあります。例えば、2つのチェーンに分岐してしまった場合、検証をするマイナーはそれぞれのブロックに含まれている取引の対象にします。その後は、正当と思われるチェーンに対してマイニング作業を行います。ここでもビットコインの多数決の原理が働き、多くのマイナーが正当と考えて集まったチェーンではブロックも生成されやすくなり、分岐したチェーンよりも長くなっていきます。仮にネットワーク攻撃者が勝手にブロックを生成した場合でも、その先にチェーンを伸ばしていくにはほかの大多数のマイナーを上回る、ネットワークの51%以上の計算量が必要になります。一部の攻撃者が大多数のマイナーの計算量を上回ることは困難であるため、やはり最長のチェーンが正しいと言えます。

では、正当じゃない取引はどうなるのか。正当とみなされなかったブロックチェーンに含まれた取引は無効になります。また、そのブロックチェーンのマイニング報酬も消滅します。しかし、たまたまブロックが分岐する確率はおよそ0.2%以下であるとされています。そのため攻撃者が意図的に分岐させない限り、ブロックの分岐が起こる確率はかなり低いのです。また、取引自体が消滅するため、ビットコインはもう一度使えるようになります。

51%攻撃とは

談合したマイナーの計算力が過半数に達し、ブロックの生成を故意に操作することを「51%攻撃」とよびます。もしこの51%攻撃が可能であれば、ビットコインの取引がきえるなどして価値を失います。マイナーはビットコインの価値が下がるのは避けたいと考えているため、マイナーが多くの計算力を消費して、51%攻撃を行う可能性は低いとされています。

 

www.disitalmoneylibrary.work

 

みんなで管理する台帳

銀行のような期間は独自のサーバーでデータを管理しています。このような管理方法はデータが一部に集中しているため、ハッキングなどの攻撃を受けやすくなります。また、取り扱う情報の増加に応じて、多大な設備投資をしてサーバーを増設していく必要があります。これに対してビットコインの取引はユーザー全員が同じ台帳を保有しています。これを分散型台帳とよびます。データが分散されて保管されているため、ハッキングなどによる改ざんの危険性が非常に低くなります。一部の台帳データを改ざんできても、ほかの大多数が同じ台帳を保有していた場合、そちらを正しい台帳であるとシステムが認識するからです。さらに、参加者が増加することでより改ざんが困難になります。すべてのデータはオンライン上で公開されているため、どのアドレスにいくらビットコインがあるかを確認することが可能です。ただし、データのアップデートなどに時間がかかるので、クレジットカードのような瞬時の取引には向かないという欠点もあります。

おわりに

ブロックチェーンはデータのブロック1つ1つがチェーンのように連なることで、強固なデータ管理システムを構築しています。過去のデータの改ざんはほぼ不可能で、データの保管場所としては最も安全です。また、そのデータを分散し、多くの人が互いに監視し合うことでさらに、安全性が保たれています。