ビットコイン最大のイノベーションと言われるブロックチェーン。
技術的にさくっと理解するため説明と、詳細リンクのまとめ
Bitcoin系プロトコルに利用されるブロックチェーンの技術的な説明とまとめ
ビットコインのブロックチェーンの説明です。Ethereum等のブロックチェーンは、別物です。
現在、書き途中。徐々に追加します。特に技術仕様。
今までの何が問題だったか?
P2P上でお金を扱うには…
- 多重支払い
- 改ざん
2つの問題の具体的な説明
現実のコインは使うと、自分のところからはなくなるが
- 問題1. 電子的なコインは、使ってもなくならない。複製可能だった
- 問題2. データの改ざんが容易に可能だった
二重支払いの例
AさんがBさんに1コインを送った場合
- 問題1
- だけど1コインのデータは、Aさんの元にまだある
- さらに、同じコインをBさんに送ったすぐ後、Cさんに送った(同時に同じデータが存在する)
- 問題2
- 取引データや取引履歴を改ざんして不正をする
ネットやP2P上で、上記の問題を解決する方法が、中本哲史氏の論文に書かれた内容、Bitcoinとブロックチェーンである。
2つの問題の解決方法
- ブロックチェーン (Blockchain)
- プルーフ・オブ・ワーク (Proof of Work, POW)
解決方法の説明
- 公的な取引記録をP2P上に保存し、検証することで多重使用を防ぐ
- 善意の大勢の仕事によって、正しい記録を決めることで改ざんを防ぐ
1. ブロックチェーンとは?
ブロックチェーン
- わかりやすい説明では、ビットコインの取引帳簿と言われる
- ブロックを鎖のようにつなぎあわせたもの
- ブロックには、トランザクションが入っている
- 改ざんしにくくするため、次のブロックに自分のブロックのハッシュ値を入れている
- 一つのブロックを改ざんすると、次のブロック内のハッシュ値も変わり、それに続く全てのハッシュ値が変わる。
- P2Pでは、同時にデータが更新されたりするため、一つのブロックから、いくつかのブロックに枝分かれ(フォーク)する可能性があるが、一番長い枝を正しい枝とする
ブロックとは
ブロックの中味
- トランザクションのID
- 送信元アドレス
- 送信先アドレス
- 送信先の公開鍵
- 送信元の電子署名
- 送信する量(10BTCなど)
- 一定時間に発生したトランザクションをまとめて入っている
- 一つ前のブロックのハッシュ値
一つ前のブロックのハッシュ値を入れることで、改ざんしづらくしている
ブロックを鎖のようにつないでいるので、ブロックチェーンと言われる
一つ前のトランザクションの公開鍵で、電子署名を検証する
- ブロックを繋げるためには、取引履歴が正しいことを検証
- Proof of Workをする必要がある (いわゆる採掘)
- Bitcoinでは、現在10分に一回計算が成功するようにしてある
-
改ざんするには、改ざんしたブロックを含むそのブロックの以降のブロックチェーンより長くする必要がある
- 他の採掘している人々より、大きな計算能力(採掘能力)を持たないと、改ざんできない
- 逆に言うと、51%以上なら攻撃できる(通称 51%攻撃)
電子署名
念のために電子署名を理解するためのリンク
トランザクション(tx)とは
- 取引内容: 誰が誰にいくつのコインを送ったか?のデータ
2. Proof of Work
- 「仕事をしたことの証明」のような意味
- 証明するための手段としてなにかしらの仕事を使うことを言う
-
PoWには、パズルを解かせるなどがあるが、Bitcoinでは、ハッシュ値を解かせることをする(採掘)
- 解けたノードが次のブロックを追加でき、報酬を貰える(採掘したビットコイン)
参考ページまとめ
中本哲史の論文(日本語版)
大元になった中本哲史氏の論文: 9ページ程のPDFです。
技術的なことは詳しいです。
www.bitcoin.co.jp/docs/SatoshiWhitepaper.pdf
「ブロックチェーン」と「プルーフ・オブ・ワーク」
かなり詳しく、わかりやすく紹介した記事です。
「ブロックチェーン」と「プルーフ・オブ・ワーク」――きわめて斬新なビットコインの中核技術|通貨革命か、それとも虚構か?
連載『bitcoinに迫る!』第3回
連載『bitcoinに迫る!』第3回 ~敵を味方に変える保護メカニズム~
Bitcoin: 入門編
ブログ
検索用語
Bitcoin, ビットコイン, protocol, プロトコル, ブロックチェーン, ブロックチェイン, blockchain