看图识:比特币区块及新区块生成过程

上图说明:

区块N:前一个区块的哈希值

区块N+1:本区块的哈希值

哈希值组合#ABCD:梅克莱根(也叫:默克树哈希值)

哈希值组合#ABCD的具体生成过程,请参考文章:默克尔哈希树”(点开链接)

哈希值示样图

新区块生成过程:

1、全节点广播交易并监视全网交易,通过验证的交易进入内存池(来不及验证的加入排队等待、支付更多手续费的交易可以提高被验证的优先级),并更新交易数据的“默克树哈希值”。

2、时间戳更新。

3、解题:用不同的随机数进行哈希计算,直至找到符合目标值特征的随机数(苦逼的“挖矿”过程)。

4、打包区块,先装入区块元信息,再装交易数据:


5、新区块对外播报(矿工广播)

6、其他矿工节点验证通过后,新区块加入区块链,主链高度增加一,矿工继续新区块后面“挖矿”。这里讲一则对话:

一则关于乙同学遭遇“比特币从链”的故事:

旁白:提示乙同学,刚解出的区块题是个多解题,你和甲同学同时给出了合理答案,但甲同学的答案率先得到了51%同学们的承认,现在可以告诉你,你得到的区块是从链区块,其他同学已经算下一题了,没工夫和你掰扯了。请尽快放弃手头计算......

乙:真不走运!(把手中的草稿丢弃,拿出一张白纸从甲的区块后面重新计算起来)

旁白:喂,等等!乙同学你算出的区块不要了嘛?

乙:哎,算我倒霉,虽然我也解对了题,可是没有最快被51%的同学们承认,只能做从链,而且没奖励。

旁白:你人缘差啊!

乙:说的是啊,我准备搬家了,搬进大社区和其他矿工住的近一点、生活在一起,算是大家相互都有个照应。

上面的故事是一种链分叉的情况,那么遇到分叉,根据什么原则判断最佳区块(最有可能成为主链区块)的呢?

1、不同高度的分支,总是接受最高(即最长)的那条分支。

2、相同高度的,接受难度最大的。

3、高度相同且难度一致的,接受时间最早的。

4、若所有均相同,则按照网络接受的顺序。

下图为链分叉:

最后感谢区块链研习社higer社长长期耐心的解惑,也希望更多人加入区块链研习社、一起学习,关注微信公众号:李白话日常

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、快速术语检索 比特币地址:(例如:1DSrfJdB2AnWaFNgSbv3MZC2m74996JafV)由一串...
    不如假如阅读 16,286评论 4 87
  • 以下为金马老师《精通比特币》解读的文稿整理。 第一章 介绍 1.1 什么是比特币 (1)比特币是一个区块链实现 (...
    梦之郎阅读 14,596评论 6 61
  • 上三流的大学,却想过一流的生活。所以你得不停补洞,填补哪些因为懒惰和无知造成的大洞。在每个狼狈无奈的时刻,我后悔以...
    尥蒻阅读 1,222评论 0 0
  • DOM Document Object Model 功能:用来控制页面中的内容,通过操作对象来控制页面内容。 DO...
    sunhaiyu阅读 2,454评论 0 0
  • 经常有朋友问我,HR是什么?HR的工作内容是些什么?你为什么做HR?HR是不是说起来重要,做起来次要,忙起...
    成都李学明阅读 4,842评论 3 1