原文精选:现在,我们已经了解了单个交易是如何创建的,但是在第2章里提到,所有交易都是被打包放入区块的,为什么要这么做呢? 其实这是为了性能优化,如果每一个交易都要矿工单独去达成共识,那整个系统的交易处理速度将会变得非常慢。而如果我们把大量交易组织起来放入一个区块,得到的哈希链就更短,大大提高了验证区块链数据结构的效率。
区块链(块链)非常聪明地把两个基于哈希值的数据结构结合起来:第一个数据结构是区块的哈希链,每一个区块都有一个区块头部,里面有一个哈希指针指向上一个区块。第二个数据结构是一个树状数据结构,也就是以树状结构把区块内所有交易的哈希值进行排列存储。
也叫梅克尔树,它以一种非常高效的形式把所有交易组织起来。为了证明某个交易在某个区块内,可以通过树内路径来进行搜索,而树的长度就是区块内所包含的交易数目的对数。
读书笔记:
1,所有交易都要被打包放入区块,为了性能优化,如果每一个交易都要矿工单独去达成共识,那整个系统的交易处理速度将会变得非常慢。
2,区块链两个基于哈希值的数据结构结合起来,也就是梅克尔树形式,它以一种非常高效的形式把所有交易组织起来。
原文精选:区块头部还包含了挖矿谜题,相关的信息。还记得,区块头部的哈希函数必须以一大堆零开头才有效,此外,区块头部还要包含一个矿工可以修改的“临时随机数”、一个时间戳和一个点数(点数用来表示找到这个区块的难度)。区块头部是挖矿过程中唯一哈希值化的,所以要验证一个区块的链,只要检查区块头部即可。在区块头部唯一的交易数据是交易树的树根——“mrkl_root”。
每个区块的梅克尔树上都有一个有意思的交易,叫作币基交易(见图3.8)。这就类似于财奴币里的造币交易。这个交易创造新的比特币,它看上去像是一个普通的交易,但有几点不同:
1.它永远只有一个单一的输入与单一的输出。
2.这个交易并不消费之前交易输出的比特币,因此,没有指针指向“上一交易”。
3.这个输出值目前大约是25个币多一点点。这个输出值就是矿工的挖矿收入。它由两部分组成:一部分是奖励的25个比特币(奖励在每生产210 000个区块——大概4年——后减半),另一部分是所有交易的交易手续费。
4.还有一个特别的地方就是“币基”参数,矿工可以放任何值进去。
读书笔记:
1,区块头部要包含一个矿工可以修改的“临时随机数”、一个时间戳和一个点数。
2,区块头部是挖矿过程中唯一哈希值化的,所以要验证一个区块的链,只要检查区块头部即可。
3,每个区块的梅克尔树上都有一个币基交易,这个交易创造新的比特币。
原文精选:这里值得一提的是,当比特币的第一个区块被铸造出来的时候,该区块的币基参数提及了伦敦《泰晤士时报》的一则报道:2009年1月3日,财政大臣拯救银行。这被看成比特币发明的政治动机,同时也很好地证明了第一个区块的打包时间是在2009年1月3日,上述报道出来之后。这也是矿工使用“币基”参数来支持很多比特币的不同特性。
想更好了解比特币的区块和交易结构,最好的办法是自己浏览区块链的数据,有很多网站提供数据,比如blockchain.info,在该网站上可以看到所有交易,以及每笔交易所引用的上一笔交易。由于比特币的数据都是公开的,一些程序员已经开发出了全图形化的展现方式。
读书笔记:
1,blockchain.info的网站上可以看到比特币的所有交易。
2,想更好了解比特币的区块和交易结构,最好的办法是自己浏览区块链的数据。
一叶之秋带你一分钟速读经典书籍,每天一分钟(只需阅读读书笔记部分),天天获新知。
一叶之秋——非著名股票分析师
CCTV证券资讯频道特邀分析师
币乎,币问内测作者;区分认证分析师
陀螺财经,币快报专栏作家
《区块链编年史》 《区块链重塑未来》系列作者
量价时空战法体系,一分钟读书俱乐部创始人
公众号:区块链项目评测
007er
网友评论