これを読むには、以下の技術の概要を理解している必要があります。
- ハッシュ関数
1. ブロックチェーンとはなんですか?
以下のような形式で保存されたデータです。
たとえばビットコインでは、ブロックチェーンの中に「誰が誰にコインを譲渡したか」といったデータを保存しています。
(ブロック1)
任意データのかたまり
(ブロック2)
任意データのかたまり+ブロック1のハッシュ値
(ブロック3)
任意データのかたまり+ブロック2のハッシュ値
(ブロック4)
任意データのかたまり+ブロック3のハッシュ値
:
2. なぜブロックチェーンに保存されたデータは改ざんできないのですか?
改ざんできないのではなく、「改ざんを検出できる」のです。
あるブロックを改ざんすると、ブロックから算出したハッシュ値と、次のブロックに含まれるハッシュ値が一致しなくなります。
ハッシュ値が一致するように次ブロックも改ざんすると、今度は次ブロックの算出ハッシュ値と、次次ブロックに含まれるハッシュ値が一致しなくなります。
3. 改ざんしたブロック以降の全ブロックを改ざんすれば、改ざん検出ができないのでは?
その通りです。
そこでブロックチェーン技術では、ブロックを自由には作成できなくなる仕様が入れられています。
例えば、ビットコインの場合は10分程度の計算をしなければブロックを作成できません。
4. しかし、時間をかければ改ざんができるのでは?
その通りです。
そこでブロックチェーン技術では以下の仕様でその問題を回避しています。
・24時間365日、常に新しいブロックを追加し続けている
・最も多くのブロックを含むブロックチェーンを正しいデータだと判定する
長い時間をかけて改ざんしたデータを作っても、それは正しいデータだと判定されないため改ざんは失敗します。
5. 誰が、どのような目的で、常に新しいブロックを作成し続けるのですか?
それはブロックチェーン技術の実装ごとに異なります。
ビットコインを始めとした多くの実装では、新しいブロックを作成することである量のコインが生成され、ブロックの作成者がその所有権を得られるよう仕様が決まっています。
そのため、不特定多数の人が、コインを入手したいという目的で、ブロックを作成し続けます。