Fork me on GitHub

比特币的数据结构

blockchain link

一,哈希指针(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。

 

该数据结构是区块链的基石,由几十万个区块组成,并且时刻在增加新的区块。

 

posted @ 2020-06-06 19:01  Faded828x  阅读(271)  评论(0编辑  收藏  举报