
打包规则包含哪些层次
区块链打包规则入门需要了解什么,可以从三个问题着手:交易是否符合规则,交易怎样组成区块,网络怎样认可这个区块。打包既涉及数据组织,也涉及验证与共识,不能只理解为把交易放进一个文件。
还要区分共识规则与打包选择。共识规则决定区块能否被节点接受;打包者在规则允许的范围内选择交易,并不意味着每笔有效交易都必须立即被收录。

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

以太坊:按顺序执行并核对状态
以太坊区块文档说明,在其权益证明机制下,提议者组织区块,其他节点重新执行交易并核对状态变化。区块内交易有明确顺序,总 Gas 消耗受区块 Gas 上限约束。协议按时隙安排提议者,但时隙可能空缺,因此不能把时隙长度理解为每次都必然产生区块的时间保证。
如何理解排序与容量限制
交易顺序是验证过程的一部分。假如后一笔交易需要使用前一笔产生的结果,检查时就必须考虑这种依赖关系。因此,不能默认所有链都按交易广播的先后顺序打包,也不能脱离具体协议讨论统一排序规则。
资源限制则限定一个区块可以承载多少处理工作。理解某条链时,应先弄清它限制的对象:数据容量与执行计算量不是同一个概念,以太坊的 Gas 不能直接当作交易笔数或文件字节数。
常见问题与适用范围
打包者发布区块后,其他节点是否必须接受?只有通过相应规则验证的区块才具备被接受的条件。打包者能够提出候选区块,不能通过发布行为使无效交易变为有效交易。
交易被收录是否就不会变化?还需要考虑分叉选择和确认机制。已进入某个区块,与该区块稳定留在网络认可的历史中,是两个不同问题。
这些规则是否适用于所有区块链?这里只用比特币和以太坊说明基本思路。学习其他链时,应分别核对其交易模型、资源上限、出块方式和最终确定性规则,不能直接套用某一条链的细节。