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

区块链基础

区块链打包规则入门需要了解什么:有效性、排序与确认

摘要

理解区块链打包,需要区分交易有效性、区块组织方式和共识确认。以比特币与以太坊为例,说明交易为何需要验证、顺序与资源限制如何影响打包,以及被区块收录为何不等于立即获得最终确定性。

区块链电子发票的科技主题配图

打包规则包含哪些层次

区块链打包规则入门需要了解什么,可以从三个问题着手:交易是否符合规则,交易怎样组成区块,网络怎样认可这个区块。打包既涉及数据组织,也涉及验证与共识,不能只理解为把交易放进一个文件。

还要区分共识规则与打包选择。共识规则决定区块能否被节点接受;打包者在规则允许的范围内选择交易,并不意味着每笔有效交易都必须立即被收录。

区块链权益证明的科技主题配图

比特币:检查输出是否可以被花费

比特币开发者指南介绍,普通交易使用尚未花费的交易输出作为输入,同一输出不能重复花费,输出总额不能超过输入总额。区块首笔交易必须是用于领取区块奖励的 coinbase 交易,交易摘要通过默克尔树汇总到区块头。节点还会检查工作量证明,在有效分支中依据累计工作量选择链。

拜占庭区块链的科技主题配图

以太坊:按顺序执行并核对状态

以太坊区块文档说明,在其权益证明机制下,提议者组织区块,其他节点重新执行交易并核对状态变化。区块内交易有明确顺序,总 Gas 消耗受区块 Gas 上限约束。协议按时隙安排提议者,但时隙可能空缺,因此不能把时隙长度理解为每次都必然产生区块的时间保证。

如何理解排序与容量限制

交易顺序是验证过程的一部分。假如后一笔交易需要使用前一笔产生的结果,检查时就必须考虑这种依赖关系。因此,不能默认所有链都按交易广播的先后顺序打包,也不能脱离具体协议讨论统一排序规则。

资源限制则限定一个区块可以承载多少处理工作。理解某条链时,应先弄清它限制的对象:数据容量与执行计算量不是同一个概念,以太坊的 Gas 不能直接当作交易笔数或文件字节数。

常见问题与适用范围

打包者发布区块后,其他节点是否必须接受?只有通过相应规则验证的区块才具备被接受的条件。打包者能够提出候选区块,不能通过发布行为使无效交易变为有效交易。

交易被收录是否就不会变化?还需要考虑分叉选择和确认机制。已进入某个区块,与该区块稳定留在网络认可的历史中,是两个不同问题。

这些规则是否适用于所有区块链?这里只用比特币和以太坊说明基本思路。学习其他链时,应分别核对其交易模型、资源上限、出块方式和最终确定性规则,不能直接套用某一条链的细节。

← 返回全部文章

延伸阅读 · 相关栏目

区块链基础技术原理数字资产知识资料与核验