
防作弊需要解决哪些问题
区块链中的作弊包括重复使用同一笔资金、提交不符合规则的交易,以及试图改写已记录的历史。理解其防护方式,需要区分三个问题:记录是否发生变化、交易是否符合规则、网络采用哪一份有效历史。这些问题需要多种机制共同处理。
哈希链接与默克尔树
比特币开发者指南介绍了两种数据关联方式:区块头引用前一区块头的哈希,交易哈希则通过默克尔树汇总到区块头。修改交易会改变相应摘要,影响关联记录;默克尔证明可以用于核验交易是否被某个区块收录。

这里的关键是可验证的关联关系。摘要帮助发现数据变化,但单凭哈希无法阻止他人重新计算摘要。防止改写后的历史被网络接受,还需要有效性检查和共识机制。交易被收录的证明,也不能替代对交易全部规则的验证。

交易规则与防双花
比特币用未花费交易输出,即UTXO,描述可被后续交易使用的资金。同一个输出只能在有效链中花费一次,全节点独立检查交易和区块,拒绝重复花费等违规记录。
防双花既需要检查资金是否已经使用,也需要确定交易的共同顺序。如果两笔冲突交易分别传播到不同节点,仅有本地检查还不足以形成统一历史。
抗女巫攻击与共识机制
以太坊共识机制文档区分了抗女巫攻击与完整共识:工作量证明、权益证明通过算力投入或质押资源限制参与权重;完整机制还包括区块提议、验证、分叉选择及激励约束。权益证明中的奖励与惩罚用于约束验证者行为。
女巫攻击是通过制造大量身份扩大影响力。资源约束使新增身份本身不能免费增加相应权重。因此,判断此类网络的一致性,不能简单理解为按节点数量投票。
分叉选择及适用条件
网络可能暂时出现多个候选区块。分叉选择规则用于在有效候选历史之间作出选择:工作量证明链关注累计工作量,权益证明机制可以依据按质押权重计算的投票。有效性检查是前提,权重较高并不能让违规交易自动合法。
常见问题:是否能够杜绝作弊
不能把区块链的防护理解为绝对不可篡改。其安全性依赖资源分布、参与者行为和协议执行等条件。哈希负责让变化可检测,共识规则与资源成本共同提高改写被接受历史的难度。
这些机制主要保护链上记录及其处理过程。即使一条记录符合链上规则,也不能据此证明它描述的现实事件真实;链外信息的真实性仍需要相应的核验手段。