第7節 使用ディスクスペースの節約&削減

コインの取引履歴が十分な数のブロックに埋め込まれたら、使用ディスクスペースを節約するために、古い履歴を消去してもかまいません。

取引のデータ構造にはハッシュツリー(※7)(※2)(※5)を採用しているので、データを消去しても、ブロックのハッシュ値は変わりません。

 

ハッシュツリーの性質により、そのルート(元の)ハッシュ値は取引データ全体のハッシュ値になります。

この値はブロックのヘッダーに格納されています。

古くなったブロックでは、ハッシュ木の枝を刈り取ってサイズを縮小できるが、この際、途中の不要なハッシュ値も削除可能です。

ブロックのヘッダー(コンピュータにおいて、データの先頭に置かれる補足データ)部の大きさは約80byteです。

つまり、ブロックを10分間に1個ずつ生成する場合、1年間に80byte×6(10分)×24(時間)×365(日)=4.2MBが必要になります。

2008年現在、一般的なPCは2GBのRAM(Random Access Memory CPUが何らかの処理を行ったり、画面上に何かしらのデータを表示したりするときに使う作業用のメインメモリ)を搭載して販売されており、ムーアの法則(インテル創業者の一人であるゴードン・ムーアが、1965年に自らの論文上で唱えた「半導体の集積率は18か月で2倍になる」という半導体業界の経験則)によればこれが1年間に1.2GBのスピードで成長しています。

そのため、ヘッダー部だけならば、すべてのブロックをメモリに格納できると考えられます。

 

※2 H. Massias, X.S. Avila, and J.-J. Quisquater, “Design of a secure timestamping service with minimal trust requirements,” In 20th Symposium on Information Theory in the Benelux, May 1999.
※5 S. Haber, W.S. Stornetta, “Secure names for bit-strings,” In Proceedings of the 4th ACM Conference on Computer and Communications Security, pages 28-35, April 1997.
※7 R.C. Merkle, “Protocols for public key cryptosystems,” In Proc. 1980 Symposium on Security and Privacy, IEEE Computer Society, pages 122-133, April 1980.