Data structure on Bitcoin
2. Data structure
blockchain = block + hash pointers
区块链的性质就是用hash pointers 代替普通的指针的链表
block hash
merkle tree:交易记录用merkle tree 储存
merkle tree 的叶子节点全是tx (一个交易) ,然后从底至顶 hash
区块链具有不可更改性: 当攻击者尝试更改某个交易,就会改变merkle hash,从而block hash 也就变了,他只能发动51% 攻击,与全网竞争
当使用轻节点(手机等),我只有block header ,也就是只有merkle hash ,我要本地进行计算tx的hash,向主节点申请需要的交易hash来进行merkle proof
注意hash pointers 不能用于循环链表