区块链 · 数字资产知识 · 行业资讯
文章库关于本站

风险识别

区块链的区块原理相关术语如何理解:结构、哈希与共识

摘要

区块把交易及相关验证信息组织起来,通过父区块引用形成链式历史。理解区块头、哈希、默克尔根、状态根和共识机制,需要区分它们各自解决的问题,也要注意比特币与以太坊的数据结构和验证方式并不相同。

盾牌保护透明数据核心的原创概念插画

区块与区块头:记录内容和验证入口

区块是按协议组织的一组数据,包含交易及相关验证信息。区块头提供关键摘要,交易等具体内容则放在相应的数据部分。理解区块时,可以分别问:记录了什么、接在哪个区块后面、节点凭什么接受它。

比特币开发者参考文档介绍的区块头为80字节,字段包括版本、前一区块头哈希、默克尔根、时间、nBits和nonce。其中,nBits编码工作量证明的目标阈值,nonce是矿工尝试改变哈希结果时可调整的数值。

哈希与父区块引用:历史如何连接

哈希可以理解为由数据计算出的摘要。后一个区块引用前一个区块的哈希,使历史记录形成关联;修改前面的数据,会影响后续引用的一致性。

这种关联让修改容易被发现,但不能单独保证历史绝对不可改写。节点还需要检查区块是否符合协议,并依照共识规则选择链。数据之间能够连接,与整条历史获得网络认可,是两个不同层面的问题。

默克尔根与状态根:摘要对象有什么不同

比特币的默克尔根由区块内交易的TXID按顺序逐层配对哈希得到;某层数量为奇数时,末项复制后参与配对。它把交易集合与区块头关联起来。

交易摘要回答的是“包含哪些交易”,状态摘要回答的是“处理后得到什么状态”。两者不能混用。摘要也不等于完整数据:知道一个根哈希,并不能直接从中还原全部交易或账户记录。

工作量证明与权益证明:接受区块的条件

在比特币的工作量证明中,区块头哈希必须不大于协议要求的目标阈值。满足这一条件仍不代表区块必然有效,交易等内容也需要通过检查。

以太坊区块文档描述了另一种流程:权益证明下,提议者组织区块,其他节点验证交易执行结果。其执行载荷承载交易,执行层状态根对应执行后的状态;信标区块也有状态根,阅读字段时需要先区分所属层级。

常见问题:出块时间和容量能否直接比较

以太坊使用时隙安排提议机会,但时隙可能为空,因此一次机会不等于必然产生一个区块。区块时间描述出块间隔,时间戳则是区块记录的时间字段,两者含义不同。

容量也要看计量方式。字节衡量数据体积,Gas衡量协议定义的执行资源消耗,不能直接等同。阅读不同链的参数时,应先确认单位、协议版本和适用范围,避免把某条链的字段或历史参数当成所有区块链通用的规则。

← 返回全部文章

延伸阅读 · 相关栏目

安全防护钱包与账户风险识别信息核验