比特币的数据结构
一,哈希指针(Hash pointers)
Block chain is a linked list using hash pointers.
创世区块genesis block是所有block的始祖,都指向该block,最后一个block的hash存在local。通过hash的collision resistance特性,可以实现tamper-evident防篡改。
若chain中某一节点发生改变,则其hash值必定改变,由于多米诺效应,导致最后的哈希值必定改变。即牵一发而动全身。
二,默克尔树(Merkle Tree)
Tx为交易。若要证明block中某位置存在某个交易,需计算该位置到跟节点的所有哈希值,若路径上的所有哈希值与树中实际值符合,则验证成功。复杂度为logn。
该数据结构是区块链的基石,由几十万个区块组成,并且时刻在增加新的区块。