第五章比特币技术解析默克尔树(Merkle Trees)实现原理

比特币系统的一个重要特性就是默克尔树技术的应用,即区块是存在一个多级数据结构中的 。一个区块的“哈希值”实际上只是这个区块的头信息的哈希值,一个大约 200 个字节的数据,其中包含了时间戳,随机数,上一个区块的哈希和一个存储了这个区块中所有交易的称之为默克尔树的数据结构的根哈希。

默克尔树是一种二叉树,包含了一组节点,它们的含有基础信息的树根有大量的叶子节点,一组中间节点,每一个节点都是它的 2 个子节点的哈希,然后,最终的一个根节点,也是由它的 2 个子节点的哈希形成,代表着这树的“顶端”。
01: 在默克尔树中只要提供少数的几个节点就可以给出一个分支有效性的证明
默克尔树分析一

02: 试图改变默克尔树的任一部分都将会导致链条上在某处发生不一致的情况
默克尔树分析二

默克尔树技术原理分析

这个默克尔树的目的是允许在一个区块中的数据能够被零散的传递: 一个节点只能从一个源来下载一个区块的头信息,树的一小部分关联着另一个源 ,并且任然可以保证所有的数据都是正确的。
之所以这样做行得通,是因为哈希值都是向上传导的:
如果一个恶意的用户试图在默克尔树的底部替换一个假的交易, 这个更改将导致上面的节点发生变化,然后上面的节点的变化又会导致上上面的节点发生变化,最终改变这个数根节点,因此也改变了这区块的哈希,导致这个协议把它注册成一个完全不同的区块 (几乎可以肯定是一个无效的工作证明).

这默克尔树协议对比特币的长期可持续发展是必不可少的。

比特币网络中的一个“完整节点” , 截止到 2014 年,占用了大约 15G 的磁盘空间,并且每月正在以 10 亿字节的速度递增。目前,这对于电脑来说是没有问题的,但是在手机上却是不现实的。在以后的将来,只有商业的和业余爱好者才能参与玩比特币。一个称之为 “简化支付验证(simplified payment verification)” (SPV)的协议 允许另一种类型的节点存在,这种节点称之为 “轻节点(light nodes)”, 其下载区块的头信息,在这区块头信息上验证工作证明,然后只下载与之交易相关的“分支” 。 这使得轻节点只要下载整个区块链的一小部分,就可以安全地确定任何一笔比特币交易的状态和账户的当前余额。

参考文献:
1、什么是默克尔树?
2、基于区块链技术的公证中心分布式改造研究
3、区块链技术和应用练习及答案

 

免责声明:本文由信比特作者原创文章,不构成投资建议,请谨慎对待。

版权声明:信比特作者保留原创权利。文章为作者独立观点,转载请注明出处

原文链接:http://www.bitpoa.com/BlockchainCollege/46.html

生成海报
收藏

相关推荐

比特币正在帮助勒索软件行业

前言:我们生活在一个世界里,无偿金钱的第二种后果(例如更多地使用勒索软件)已经显而易见。智能手表制造商Garmin,以色列保险公司Shirbit,电子产品制造商Foxconn,宾夕法尼亚州的特拉华县 ...

为什么硅谷没有得到比特币(图文)

前言:在比特币存在的最后十二年中,硅谷一直误解了比特币,由于他们认可了愚蠢的想法甚至更糟的骗局,导致了许多值得纪念的时刻。硅谷的两个主要参与者是科技公司和风险投资(VC,又称投资者)。高科技公司生产我们大家都使用的产品,而风险投资人则为他们的努力提供资金。 ...

重塑金钱:比特币对中央银行的警告

前言:比特币的价格上涨反映了人们对现有金融体系的信心下降。像克里斯汀·拉加德(Christine Lagarde)这样的中央银行会注意吗?再过一周,又一辈子生活了: 美国总统再次弹imp 。 ...

0 条评论

微信扫一扫

微信扫一扫

微信扫一扫,分享到朋友圈

第五章比特币技术解析默克尔树(Merkle Trees)实现原理