なにかの知識

なにかの知識

5分で学べる無駄知識

ブロックチェーンとは?わかりやすく5分で解説

ブロックチェーンとは、サトシナカモトが発明した分散型台帳技術のこと

主に仮想通貨の取引に用いられる。以下、特に記述がない場合は仮想通貨ビットコインを例に説明する。

f:id:gmaj7dmaj7gmaj7dmaj7:20191209203102j:plain

背景

2008年、国籍不明の人物サトシナカモトが、インターネット上にPeer to Peer(P2P)を用いた電子通貨システムの論文を発表しブロックチェーンを発明した。P2Pとは、中央サーバーを介さずに個々のコンピュータ同士が直接つながるネットワークのこと

P2Pは回線への負荷が分散できシステムの拡張性(スケーラビリティ)に優れ、特定の端末に依存せず障害に強い等の特徴がある。従来はファイル共有ソフトIP電話等に用いられていたが、不特定多数の端末(ノード)によるデータ管理は困難とされていた。

2009年、この論文をもとにビットコインが運用を開始した。2015年、ブロックチェーンとスマートコンストラクトを組み合わせたオープンソースソフトウェア、イーサリアムがリリースされた。

スマートコンストラクトとは、人を介さずに契約を自動で行う仕組みのこと。たとえば自動販売機がこれにあたる。自動販売機はお金を入れるだけで人を介さずに商品が得られる。これによりブロックチェーンを用いたビジネスの拡大が期待されている。

ブロックの構成

ブロックチェーンは、一定量の取引データ(トランザクション)をブロックにまとめて、それをチェーンのようにつないで管理する。ブロックのデータにはトランザクション1つ前のブロックのハッシュ値ナンスがある。

トランザクション

トランザクションとは取引データのこと。たとえばAさんからBさんへ1ビットコイン(BTC)送金する場合は、Aさんの口座残高を1BTC減らし、Bさんの口座残高を1BTC増やすといったトランザクションとなる。

ハッシュ値

ハッシュ値とは、あるデータを特定の計算手順(ハッシュ関数)によって変換した固定長の文字列のこと。元データからは必ず決まったハッシュ値が生成されるが、生成されたハッシュ値から元データを求めることはできない(非可逆)。

ナンス

ナンスとは、ハッシュ値が一定の条件を満たすように調整するための変数のこと。Number used once(1度だけ使用する数値)の略。

ブロックチェーンの仕組み

新しいブロックは、P2Pでつながった不特定多数の端末がトランザクションと1つ前のブロックのハッシュ値とナンスの合計のハッシュ値を計算し、一定の条件を満たすと生成される。このブロックを生成する者を採掘者(マイナー)、行為を採掘(マイニング)という。

ハッシュ値の結果は予想できないため、しらみつぶしに探す必要がある。具体的には、トランザクションと1つ前のブロックのハッシュ値は固定値のため、ナンスのみを変えて条件を満たすハッシュ値となるまで計算を繰り返す

もし複数の端末がほぼ同時にブロックを生成すると、ブロックチェーンが分岐(フォーク)することになるが、この場合は最終的により長いブロックチェーンが採用される。これをプルーフオブワーク(仕事量による証明)という。

採掘が成功し正規のブロックチェーンとして採用された場合、採掘者に報酬が支払われる。採掘者達は互いに競争しながら報酬を得るためにより長いブロックチェーンを伸ばそうとする。このことで短いチェーンは自然に淘汰される

ブロックチェーンの特徴

ブロックチェーンの特徴としてデータの改ざんに強い点があげられる。これは、データを改ざんするとハッシュ値が変わりチェーンが途切れるが、マイニングに時間がかかるため、すべてのブロックを改ざんすることが実質不可能なため。

次に即時性に弱い点がある。ビットコインの場合、ブロックの生成に約10分かかる様にハッシュ値の条件(採掘難易度)が調整されている。つまり、決済等の取引は約10分ごとに完了することになる。このため、クレジットカードのような即時決済はできない。

ブロックチェーンの種類

ブロックチェーンの種類は大きくパブリック型とプライベート型に分かれる。

パブリック型

パブリック型とは、管理者が存在せず誰でも参加できるブロックチェーンのこと。誰でも取引を見ることができ透明性が高いが、仕様変更の際は一定数以上の参加者の合意が必要となり時間がかかる。主に仮想通貨に用いられる。

プライベート型

プライベート型とは、管理者が存在し許可した者のみ参加できるブロックチェーンのこと。パブリック型に比べ取引の透明性は劣るが、仕様変更は迅速に行える。

ブロックチェーンの課題

ブロックチェーンの課題として51%問題がある。51%問題とは、あるマイナーが全マイナーの計算能力の過半数を持つとブロックチェーンへの不正な取引、取引の妨害、報酬の独占が可能になるという問題のこと。 現在のところ有効な対策は存在しない。