
先明确设计要解决的问题
“新式区块链”并不指一种统一的技术标准。入门时,可以把它理解为对区块链结构与协作规则的不同设计。共同问题是:在多个节点独立运行、消息到达时间不同的情况下,怎样验证交易,并对交易顺序和账本状态形成一致认识。
分析一种设计,应先明确它记录什么、谁能参与、节点依据什么规则接受更新。仅知道它使用哪种证明机制,还不足以理解整个系统。

账本结构与交易有效性
比特币开发者指南介绍了两项基础结构:区块通过前一区块头的哈希相连,交易通过默克尔树汇总到区块头;交易则消耗未花费输出,同一输出不能重复花费。全节点独立验证自己接受的区块。

这些结构承担不同职责。哈希链接让历史修改影响后续引用,交易规则判断一次状态更新是否有效。设计时需要同时说明数据如何组织和状态如何变化,不能只画出区块相连的示意图。
共识需要多种规则协作
以太坊开发者文档将共识机制描述为协议、激励与相关规则组成的整体。工作量证明和权益证明涉及抵抗虚假身份影响、确定出块参与方式;出现竞争区块时,还需要分叉选择规则。权益证明设计也涉及对验证者的奖励和惩罚。
理解时可以沿着三个问题展开:谁有资格提出区块,其他节点怎样检查区块,多个有效候选同时出现时怎样选择继续扩展的分支。三者共同决定网络如何协作。
适用条件与安全边界
比较设计时,需要先确认它的资源约束与安全假设。依赖计算工作的机制,与依赖质押及惩罚的机制,约束参与者的方式不同,不能直接套用相同的攻击成本解释。
哈希结构使修改能够被检测,但抵抗历史重写还依赖验证规则、共识机制和参与者资源分布。评价安全性时,应具体说明所讨论的是重复花费、历史重写还是虚假身份干扰。
常见问题:哪些概念容易混淆
出块是否意味着所有节点立即一致?消息传播存在时间差,节点可能先看到不同的候选区块,因此设计必须处理暂时分歧。
区块更多就一定优先吗?比特币比较的是有效链的累计工作量,不能仅数区块数量,也不能把这一规则推广到所有区块链。
证明交易被收录是否等于证明交易有效?默克尔证明用于验证收录关系;完整有效性判断还需要检查相应交易和区块规则。阅读新设计时,应始终区分数据证明、规则验证与共识选择。