网赚论坛

 找回密码
 免费注册
查看: 289|回复: 0
打印 上一主题 下一主题

【1期 四团 Day8 李宁】比特币区块构成

[复制链接]

25

主题

25

帖子

100

积分

Ⅰ级财主

Rank: 1

积分
100
跳转到指定楼层
楼主
发表于 2017-10-21 14:19:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
比特币账本的每页/区块具体写的什么,结构如何

区块大概来讲包含两部分信息:区块头,交易信息。一般来讲,区块头占80字节,交易信息每条250字节(每块余额500条交易记录),所以理论上交易信息的容量是区块头的1000倍以上。但在理解上,区块头要比交易信息部分重要得多。

区块头,主要有几部分构成:父区块哈希值、Merkle根、时间戳、难度目标和Nonce
<ul>父区块哈希值:比特币区块链是有序链接的,有序就是靠这个标志位。每个区块的哈希值是靠工作量证明来计算出来的,可以唯一标志一个区块(就像账本的页码),有了父区块哈希值,就能一个一个组合起来,成为有序的链。也正是因为这个字段,如果共识攻击51%算力来“双重支付”作假,就要改变目标交易所在区块的哈希值(夺取记账权),同时要把以此为父哈希值的区块的哈希值给计算出来,以此类推,能改变的最多不超过6个,也就是说如果该交易已经经过6个区块的确认,那基本上已经不可更改,再强的算力也基本无用。而这里说的要改变的值,就是跟父哈希值有关。
Merkle根,这是把所有交易信息哈希之后为一个个叶子节点,然后两两合并后再次哈希,不断缩减,最后形成一个根哈希,所有交易信息形成树状结构。方便在搜索交易的时候降低复杂度,N个交易需要2log2(N)次即可搜索到,形成一个Merkle路径来定位交易信息。这里需要提到一点,SPV(简单支付验证)之所以简单轻量,是因为它只储存跟自己有关的交易信息,而且监听接收Merkle路径来验证交易信息。
难度目标,记录的工作量证明的计算难度,每两周调节一次计算出块时间和10min之间的比例来接近比例的增加难度系数,以保证接近10min出块。简单来说工作量证明是计算出一个值,这个值小于某个哈希目标值,这个值越小,就越难计算。(类似于掷筛子希望到的点数,投掷一次小于6点的很容易,但
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

广告合作|Archiver|手机版|小黑屋|财富吧

GMT+8, 2026-7-22 17:40 , Processed in 0.452401 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.1

© 2014-2021 财富吧

快速回复 返回顶部 返回列表