
安全首先要明确保护对象
讨论区块链安不安全,需要区分几个问题:历史记录能否被改写,同一笔资金能否被重复使用,以及分布式节点能否对账本状态达成一致。这些问题对应不同技术机制,某一环节有效,不能直接推导出整个系统没有风险。本文聚焦账本与共识层面的安全。
哈希链接与默克尔树
比特币开发者指南介绍了两种结构:交易通过默克尔树汇总为区块头中的根哈希,区块头又引用前一区块的哈希。交易变化会影响相关摘要和后续链接;节点还会检查交易输入是否已被花费,并在有效候选链中依据累计工作量选择链。
可以把哈希理解为用于核对数据的指纹。链接关系使历史改动能够被发现,但阻止攻击者重建并推广另一份历史,还需要共识规则和资源成本。默克尔证明能够帮助核验交易是否包含在某个区块中,这种包含性证明本身并不等于验证了交易的全部合法性。
共识机制与抗女巫攻击
以太坊共识机制文档将共识描述为协议、激励和规则的组合,并区分了抗女巫攻击与分叉选择。工作量证明通过计算资源设置参与成本,权益证明通过质押及奖惩约束验证者;分叉选择负责在竞争分支之间确定节点应跟随的链。
女巫攻击指利用大量身份影响系统。如果新增身份几乎没有成本,简单按身份计票就容易失效。因此,安全判断不能只看节点数量,还要看实际参与共识的算力、权益及其分布。不同协议的权重与门槛不能直接套用。
分叉、重组与安全条件
节点接收区块的时间不同,可能暂时看到不同的链头。分叉选择帮助它们逐步收敛到共同历史,切换分支则可能产生链重组。因此,交易被某个区块收录,与其历史位置已经足够稳定,是不同层次的问题。
这些保护依赖节点执行验证规则,也依赖攻击者难以取得足够资源影响共识。工作量证明链通常随着后续工作量增加而提高改写历史的难度;权益证明的约束则取决于具体投票、质押和惩罚规则,不能概括为所有链都具有相同保障。
常见问题:不可篡改是否意味着绝对安全
“不可篡改”通常描述的是历史修改容易被识别、取得网络认可的改写成本较高,而非数学意义上永远无法改动。所谓“51%攻击”也不是所有攻击的统一门槛:在工作量证明体系中,多数算力会强化改写历史的能力,但较少算力并不意味着相关攻击概率为零。
同样,节点能够就记录达成一致,并不能单独证明记录所描述的现实事件真实。理解区块链安全,需要同时明确它验证什么、依赖哪些条件,以及哪些问题超出了账本共识的保障范围。