マークルツリーは、複数のデータのハッシュ値を組み合わせて、一つのハッシュ値(ルートハッシュ)にまとめる方法なんだ。これにより、個々の取引データを保存しなくても、ルートハッシュだけで全体のデータの整合性を確認できるんだ。
第7章
かしこく節約:ディスクスペースの工夫
1. 古い取引データを削除してディスクスペースを節約
ビットコインの取引データは、最初は全部ブロックチェーンに記録されていくんだけど、時間が経つと古い取引データがたくさん溜まって、ディスクスペースを圧迫してしまうんだ。そこで、ある程度古くなった取引データは、ディスクスペースを節約するために削除することができるんだよ。
2. マークルツリーでデータをハッシュ化し、根っこだけを保存
でも、取引データを削除するときに、ブロックのハッシュ値が壊れないように工夫が必要なんだ。そこで使われるのが「マークルツリー」という技術だよ。
こうして、ブロックにはマークルツリーの一番上の部分(ルートハッシュ)だけを保存することで、取引データを削除してもブロックのハッシュ値が変わらないようにしているんだよ。
3. データの圧縮で細かいデータを保存する必要がなくなる
この方法によって、古いブロックの詳細な取引データをすべて保存しておく必要がなくなるんだ。ディスクスペースを節約できるし、ブロックチェーン全体のサイズを小さく保つことができるんだよ。
4. ブロックヘッダーの小ささと年間データ量の少なさ
ブロックの基本情報であるブロックヘッダーは、だいたい80バイトくらいの大きさなんだ。ブロックヘッダーには、前のブロックのハッシュ値やマークルルートハッシュ、タイムスタンプなどの情報が含まれているよ。
もし10分ごとに新しいブロックが作られたとしても、1年間で約4.2MB(80バイト × 6ブロック/時 × 24時間 × 365日)にしかならないんだ。
5. メモリ容量の増加とブロックヘッダーの保存の容易さ
現在では、一般的なコンピュータのメモリは8GBから16GB、あるいはそれ以上になっているんだ。だから、このブロックヘッダーをメモリに保存しても、全然問題ないんだよ。
ブロックヘッダーだけを保存すれば、ビットコインのネットワークに参加して取引の確認を行うことができるんだ。これで、ディスクスペースを節約しながら、ネットワークの安全性を保つことができるんだよ。