恒星共识协议-1


恒星共识协议:
互联网级共识的联邦模型

David Mazières (恒星发展基金会)

摘要

本文介绍联邦占庭一致性(FBA),一个达成共识的新途径。FBA的健壮性源自法定人数切分,既由共同确定系统级法定人数的每一个节点所做出的独立信任决定。这些切分结合成系统非常类似目前各独立网络独立的对等直连及转发决定联合成互联网的方式。

我们还提出恒星共识协议(SCP),一个FBA的构造方法。和所有拜占庭一致性协议一样,SCP不做任何关于攻击者理性行为的假设。和之前拜占庭一致性模型不同,它们预设一个全局一致接受的成员名单,而SCP具有促进网络有机增长的开放式成员资格。和分布式的工作量证明(PoW)及权益证明(PoS)比较,SCP的计算和财务需求适度,降低进入门槛并且潜在地把金融系统开放给新参与者。

介绍

金融基础设施现在是一大堆封闭系统。这些系统的差异造成交易费用高企和金钱跨政治和地理边界转移缓慢。这种摩擦限制了金融服务发展,同时使数十亿人所受金融服务不足。

为了解决这些问题,我们需要一个支持互联网所见到那种有机增长和创新的金融设施,但仍保持金融交易的诚信原则。历史上我们依赖于高进入门槛保证诚信。我们相信老牌的金融机构并尽我们所能去监管它们。但这种排他性和有机增长目标矛盾。增长需要新的创新性参与者,他们可能只拥有不多的财务和计算资源。

我们需要一个向任何人开放的世界性金融网络,以致新参与者可以加入并扩展受服不足社群的金融渠道。此网络的挑战是确保参与者准确记录交易。鉴于低进入门槛,用户不会相信商家能自我监管。鉴于范围遍及全世界,商家也不全会相信单独实体来运营此网络。有个令人信服的选择是一个参与者们通过认可他人交易的有效性来共同确保完整性的分布式系统。这种一致性取决于有个世界性共识的机制。

本文提出联盟拜占庭一致性(FBA),一个适用于世界性共识的模型。FBA中,每个参与者了解它认为重要的其他人。任何交易它认为已结算之前,将等待其他人中的绝大多数认可该交易。相应的,那些重要的参与者会不认可这个交易,除非有他们认为重要的其他参与者也认可,以此类推。最终网络中足够人接受一个交易它不能撤回。直到那时任何参与者认为此交易被结算。FBA的共识可以确保一个金融网络的完整性。它的分布式控制可以激励有机增长。

本文进一步提出恒星共识协议(SCP), 一个FBA的构造方法。我们证明SCP的安全性对于一个保证任何节点故障场景中一致性的异步协议是最优的。我们还展示除非参与者故障使得信任依赖无法满足, 否则SCP不受阻停状态限制,在这些状态中不再可能有共识。SCP是第一个同时满足四个关键属性的被证明安全的共识机制:

  • 分布式控制。 任何人都可以参与,没有共识需要其认可的中心权威作决定。
  • 低延时。 实践中,节点可以在人们对web或者支付交易所期待的时间跨度(也就是说最多几秒)内达成共识,
  • 灵活信任。 用户信任任何他们所见之组合的自由。特别,一个小的非营利可能在保证大组织诚实方面充当重要角色。
  • 渐进安全。 安全性取决于数字签名和哈希函数族,其参数被切实调整到对抗具有无法想像巨大计算能力的对手。

SCP在金融市场外也有确保组织诚实履行关键职能的应用。一个好例子是认证中心(CAs),不夸张地说他们保存web的钥匙。经验显示CAs签名不正确的认证被用作不法用途。一些提议通过认证透明性解决这个问题。SCP可以增强认证透明性:不只是任何人都可以简单的审计CA行为,审计者还可以只认可所有已颁发的认证中的一部分,这使得骗取或者变造之前颁发的认证而不被发现变得困难。

下一节讨论以往的共识方式。第三节定义联邦拜占庭一致性和讲解一个系统希望达到的安全性和存活性。第四节讨论FBA系统中的最佳故障恢复,由此引出SCP我们希望达到的安全性。第五节构建联邦配置中保证共识所需要的工具。第六节展示SCP自身,而且证明它的安全性以及满足依赖性的节点中不存在阻停状态。第七节讨论SCP的限制。最后第八节汇总结论。对于不了解数学记号的读者,附录A定义了文中使用的一些符号。