区块链共识算法全解析
1. 区块链共识模型概述
为了支持公共区块链,共识算法必须能在开放、动态且庞大的系统中运行,任何节点都可以随时加入或离开。当前,比特币网络有超过10000个挖矿节点,以太坊网络也有超过5000个挖矿节点,传统的共识算法无法在如此规模的网络中运行。
公共区块链共识模型有两个关键要素:
- 谜题设计 :用解谜竞赛取代传统基于投票的解决方案。谜题设计的本质是证明对某些有价值资源的拥有权。
- 冲突解决机制 :由于解谜竞赛具有概率性,无法保证达成共识,当出现不一致时,需要额外的机制来选择唯一的提议值。
2. 谜题设计的要求
谜题设计需具备以下特性:
1. 不可预测性 :解谜过程必须是随机的,给定解谜目标,无法预测什么输入能满足目标,只能尝试不同输入。例如在工作量证明(PoW)中,定义了难度目标,矿工要找到合适的随机数,使新块头的哈希值小于目标难度。
2. 新鲜度 :强调没有人能比其他人更早开始解谜。对于区块链,输入必须包含新块的信息,不能重复使用之前挖矿的资源。
3. 非可逆性 :谜题难以求解,但验证容易。一方面,难度要高到矿工平均需要一个块间隔的时间来求解;另一方面,新块的验证必须高效,否则矿工将缺乏验证新块的动力。
4. 非交互验证 :考虑到网络规模,每个新块有一个解谜者和数千个验证者,验证过程必须是非交互的,否则会影响系统的可扩展性。
5. <
超级会员免费看
订阅专栏 解锁全文
2651

被折叠的 条评论
为什么被折叠?



