比特币基础知识(1)

Mercle Tree:

mercle tree(计算机科学家 Ralph Merkle)提出,用于完整性的校验;

Git 版本控制系统,ZFS 文件系统以及我们自己下载电影常用的点对点网络 BT 下载,都是通过 Merkle Tree 来进行完整性校验的。

二叉树的形式,从叶子节点开始向上构建,使用双SHA256计算hash;

如果叶子是单数,则会复制最某位的那个,确保是双数;

好处:避免了对所有的交易来进行hash,可以单独拿分支来对部分数据进行校验,只需要分支就可以计算出root hash然后比较,最后还是落到了效率上。

不足:传统的merkle树的限制是,它们虽然可以证明包含此交易,但无法证明任何当前的状态,如bitcoin。因此,以太坊改进使用的是Merkle Patricia Tree (MPT) ,叫前缀树或者是字典树,具体有待学习。

----------------------------------------------------------------

 比特币交易的构成:

要点:

(1)txid其实就是交易数据的hash,交易中tx_in中会包含输入使用的交易id,因此,不能有同样的交易id,如果在coinbase中构建了相同的交易的话,那么其实只能用其中一笔;

(2)sequence指代的是交易的版本号,用于在交易被写入block之前更改交易,另外lock_time指代锁定的交易的时间或者block数目,判断的界限是5×10的8次方。

 

posted @ 2018-03-13 23:52  qczhang  阅读(469)  评论(0编辑  收藏  举报