比特币用到的数据结构:
默克尔树、哈希链表:
哈希链表类似普通的链表,哈希链表用到的是哈希指针,它的特点是牵一发动全身,只要链表中改变了一个元素,则后面的所有区块都会变化,因此只需保存最后一个哈希值。
默克尔树与普通的二叉树有关系,但也有区别,一颗默克尔树最下面的一层是数据块,上面的节点都是哈希指针,根节点的值也取哈希值。
默克尔树的用途是帮助轻节点,当轻节点想验证交易是否应该写入区块链时,只需全节点将整个Merkle proof发送给轻节点,轻节点即可根据其算出根哈希值,和自己保存的对比。