Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

ブロックチェーン

ブロックチェーン 1枚まとめ

ブロックチェーンとは

ブロックチェーン(blockchain) は、取引記録を「ブロック」にまとめ、各ブロックが直前のブロックのハッシュ値を持つことで鎖状に連結したデータ構造、およびそれを多数のノードで共有・合意する分散型台帳(Distributed Ledger)のこと。

データ構造だけを見れば「変わった形式のデータベース」にすぎない。ブロックチェーンが力を発揮するのは、それをBitcoinのような中央管理者なしでの合意形成の仕組みと組み合わせたときである。歴史的にも、ブロックチェーンという言葉はBitcoinの登場後に、その仕組みを説明するために広まった。

解決したい問題:二重支払い

デジタルデータは容易にコピーできるため、電子マネーを中央管理者なしで実現しようとすると、同じお金を2回使う 二重支払い(double spending) をどう防ぐかが問題になる。

中央管理者がいれば、管理者が台帳を1つだけ持ち、残高をチェックすればよい。管理者がいない場合、

  • 全員が台帳のコピーを持つ

  • しかし誰の台帳が正しいのかを決める権威がいない

  • 悪意のある参加者が自分に都合のよい台帳(例:自分の残高を増やした台帳)を主張するかもしれない

という状況で、全員が同じ取引履歴に合意する必要がある。

Bitcoinの基本設計

Bitcoinはこの問題を次の組み合わせで解いた。

  1. 台帳をブロックチェーン形式で管理する:取引(トランザクション)を約10分ごとにブロックにまとめ、前ブロックのハッシュ値で連結する。過去のブロックを改ざんすると以降のハッシュがすべて不整合になる(→データ構造)

  2. ブロック作成に計算コストを課す(Proof of Work):誰でもブロックを作れるが、作るには大量の計算が必要(→コンセンサス)

  3. 最長のチェーンを正しい記録とする(Nakamoto Consensus):チェーンが分岐したら、最も多くの計算量が投じられたチェーンを正とする

  4. 正しいブロックの作成者に報酬を与える:ブロック作成者(マイナー)には新規発行されたビットコインと手数料が与えられる

4つ目の インセンティブ設計 が要で、「どこかの誰かが勝手に正しいブロックを作り続けてくれる」状態を、誰も管理せずに実現している。

ブロックチェーンの種類

ブロックチェーンは、誰がネットワークに参加・ブロック生成できるかによって分類される。

種類参加管理主体合意形成の例例
パブリック型(パーミッションレス)誰でも可なしPoW, PoSBitcoin, Ethereum
コンソーシアム型許可された複数組織複数組織PBFT系, RaftHyperledger Fabric, Corda
プライベート型許可された単一組織内単一組織Raft等社内システム

コンソーシアム型・プライベート型は、合意形成は少数の参加者に限定し、取引履歴の保管と検証だけを分散させたものと見ることができる。トラストレス性は弱まるが、処理性能やプライバシーを確保しやすい。