ブロックチェーン説明用のメモ。
ブロックチェーンとは
データが地理的に離れたサーバーに分散保持され、記録されたデータがなくならない(改竄不可能性)、 また一部のサーバーが不正侵入されても動き続ける(ビザンチン耐性)という特長を備えた全く新しいデータベースです。
要するに、ブロックチェーンはデータベースの一種であるということ。
ブロックチェーンの特徴
ブロックチェーンは以下の特徴を持ったデータベースである。
- 改竄不可能性(Immutability)
- 各トランザクション(データ)は連続したブロックに格納されます。そのブロックに依存関係があるので、過去の一部を改竄した場合は、それ以降のトランザクションをすべて整合性がある形で改竄する必要があり、事実上不可能です。
- ビザンチン耐性(Byzantine Fault Tolerance: BFT)
- ビザンチンノード(嘘つきまたは故障したコンピューター)が一定数存在しても、ブロックチェーンは正しく動き続けます。
- 単一障害点(Single Point of Failure: SPOF)の排除
- 単一箇所が動かないと、システム全体が障害となる箇所。従来型のシステムではマスター、コントローラーや認証局等が単一障害点となります。ブロックチェーンに単一障害点はありません。
ブロックチェーンの仕組み
Blockchain Demo このサイトがとても分かりやすい。
このサイトを使って日本語で解説している動画もある。
ブロックチェーンが改竄できない理由
- ひとつひとつのブロックにNonceが埋め込まれていて、そのNonceを計算するのが割と大変
- ブロックがチェーンになっているので、一つのブロックを改竄すると後続のすべてのブロックのNonceを計算しないといけなくなる
- 多数決になっているので、自分のノードだけを更新しても認められない