恒星共识协议-2


相关工作

图一汇总了SCP和之前共识协议的区别。最有名的分布式共识机制是比特币提出的工作量证明设计。比特币采用双管齐下的方式解决共识。首先,它激励理性行为者表现良好。其次它通过工作量证明清算交易的设计得以保护系统排除没有控制系统绝对多数计算能力的病态行为者。比特币强烈的表明了分布式共识的迫切需求。

机制 去中性化控制  低延时  灵活信任  渐进安全
工作量证明      
权益证明 maybe    
拜占庭一致性  
Tendermint  
SCP(本文)

图一:不同共识机制的属性

然而工作量证明有一些局限,首先它浪费资源:通过2014年一次估计,比特币消耗的电力和爱尔兰整个国家一样多。第二,安全交易清算需要忍受几分钟甚至几十分钟的预期延时。最后,和传统的加密协议不同,工作量证明不提供渐进安全。考虑非理性攻击者-或者破坏共识的外在激励存,少量的计算优势可以使得安全假设失效,导致所谓的“51%”攻击,这实际只需要少于51%的计算能力。作为标杆数字货币,背后有最多的计算能力支持,比特币享有一定程度面对51%攻击保护。然而一些小系统已经成了牺牲品,暴露了任何不基于比特币区块链的工作量证明系统的一个问题。

工作量证明的一个替代方案是权益证明,其中共识依赖提供抵押的各方。就像工作量证明,奖励鼓励理性参与者遵守协议;有些系统还惩罚作恶。权益证明打开了所谓“零成本”攻击的可能性,其中之前提供抵押之后兑换并花掉的各方可以回来重写他们拥有权益那时开始的历史。为了平息这种攻击,系统把工作量证明结合到权益证明-正比于权益降低所需工作量-或者延缓抵押归还足够长时间直到其他(有时非正式)共识机制建立不可逆转的检查点。

还有另一个共识方式是拜占庭一致性,最知名的是PBFT。拜占庭一致性确保共识无关一部分参与者的任意(包括非理性)行为。这方式有两个显著属性。首先,共识可以快速而且有效。第二,信任和资源所有完全无关,这使得小的非营利帮助更强力的组织比如银行或者认证中心保持诚实成为可能。然而麻烦的是各方必须在精确的参与者列表上达成一致。还有必须防止攻击者多次参与和超出系统错误容忍度,所谓的“女巫攻击”。BFT-CUP容许未知参与者,但仍然预设一个避免女巫的中心化的准入控制机制。

一般说来,拜占庭一致性系统中的成员资格通过中心权威或者封闭式协商。之前去中心化准入常识放弃一些好处。Ripple采用的方式,是发布一个参与者他们自己可以修改的“启动器”成员列表,并希望人们的修改微不足道或者被绝大多数参与者复制。不幸的是因为不同的列表导致安全担保无效,用户实践中不愿意编辑这个列表,于是巨大的权力最终集中到启动器列表的维护者。另一个方式,Tendermint所采用,基于权益证明的成员资格。然而这样做又把信任捆绑到资源所有权。SCP是第一个给参与者最大化的自由选择信任哪些参与者的拜占庭一致性协议。