「ブロックチェーン」は、サトシ・ナカモトという開発者が2008年に「ビットコイン」について書いた「Bitcoin: A Peer-to-Peer Electronic Cash System(ビットコイン: P2P 電子通貨システム)」という論文によって発明されたと言われています。
参考:Bitcoin: A Peer-to-Peer Electronic Cash System(PDF)
「ブロックチェーン」を一言で言うと、様々な取引の情報を記録している「台帳」です。そして最大の特徴は、そこに記録される取引に不正を働くのがほぼ不可能であるということ。不正とは情報の改ざんを行ったり、二重取引を行ったりすることを言います。
本項目ではブロックチェーンの「基本的な仕組み」を、ご紹介します。
ブロックチェーンの仕組み(概要)
「ブロックチェーン」は暗号技術とP2P(ピア・ツー・ピア)ネットワーク技術を応用し、中央管理者を必要とせずにデータの改ざんをほぼ不可能な仕組みを実現した技術のことです。
ブロックチェーンは、取引履歴(帳簿)を参加者全員で持ち合う仕組みであり、分散型台帳技術とも呼ばれます。
各取引履歴は、順番にブロックに格納され、各ブロックが直前のブロックと繋がりデータを相互に承認します。
このように情報を格納したブロックがチェーンのように繋がっていく様子から「ブロックチェーン」と名付けられました。
ブロックチェーンのデータ構造
「ブロック」がチェーンのようにつながっていくデータ構造の仕組みと、「ブロック」が作られる流れをもう少し詳しく見てみます。
1つの「ブロック」には以下のような情報が記録されます。
- トランザクションデータ
- タイムスタンプ
- 前のブロックのハッシュ値
- ナンス
- 技術情報…等
ここではわかりやすく表現するために、主要な要素である「トランザクションデータ」「前のブロックのハッシュ値」「ナンス」に絞って説明します。
まず何らかの取引が発生し、いくつかの取引がまとめて「トランザクションデータ」として台帳に記録されます。
この「トランザクションデータ」をブロックチェーンのネットワークに書き込むためには、
- 前のブロックのハッシュ値
- ナンス
が必要です。「前のブロックのハッシュ値」は次の項目で説明しますが、「ナンス」を手に入れるために「マイニング」という作業が必要になります。
マイニングによってそのブロックに書き込むべき「ナンス」を取得したら、いよいよブロックチェーンのネットワークに新しいブロックを書き込むことができます。
これを繰り返すことで、ブロックチェーンのネットワーク上情報が記録されていきます。
同時にブロックが作られたらどうなるの?
新しいブロックを生成するためのマイニングは、そのブロックチェーンを構成するネットワークの至る所で競うように行われており、複数箇所でほぼ同時に新しいブロックを生成できてしまうタイミングも生じます。
また、何らかの不正行為により、改ざんなどが行われたブロックがつながれる可能性もあります。
ブロックチェーンではそのようなことを排除して、正しいブロックだけを正しくつなげていくためのルールとして「分岐したチェーンがある場合、長い方を正しいブロックチェーンとして認める」というルールがあります。
このように一時的に分岐することがあっても、常に長いブロックチェーンを正とするルールによって、最終的には同じ取引情報を共有できる仕組みになっています。
- 【動画&資料】BHIP勉強会「実案件で学ぶ、ブロックチェーン開発の進め方(第1回)」講師:INDETAIL - 2021年2月17日
- 【無料・Zoom開催】実案件で学ぶ、ブロックチェーン開発の進め方(全2回:2月15日、3月15日) - 2021年1月29日
- 【募集】エンジニア向け勉強会「エンタープライズブロックチェーンの今」 2月13日(木)札幌 - 2020年1月7日
本記事に対するコメントはまだありません