恒星共识协议:证明与代码

今天,作为Stellar.org扩展金融访问使命的一部分,我们在此宣告我们去中心化全球支付协议的第一份白皮书,以及新的开源代码库。

David Mazières教授,Stellar.org的首席科学家的这份论文,介绍了恒星共识协议(Stellar Consensus Protocol,SCP),一个联邦拜占庭协议( federated Byzantine agreement,FBA)的实现。恒星共识协议提供了一种方法,无需依赖封闭系统即可完成共识,以精确记录金融事务。恒星共识协议是第一个安全可证的共识机制,同时享有四个关键属性:分散控制,低延迟,灵活的信任,和渐近安全。

恒星共识协议灵感来自于比特币——我们在此领域汲取经验,并在低算力环境中扩展了容忍非理性因素的能力。

此协议是货币公共基础架构的基石,也将使得恒星成为人们绘制其理想金融服务的画布。

我们的目标是利用恒星共识协议,在金融普惠方面开创一个不一样的局面。除了Stellar以外,我们也希望恒星共识协议可以在分布式系统领域做出重要贡献。要了解共识,请阅读白皮书概述以及在Stellar Galaxy探索其它资源。

以下为10个亮点:

1. 什么是恒星共识协议?

恒星共识协议是第一个安全可证的联邦拜占庭协议的实现。与大多数现有实现共识的方法不同,恒星共识协议拥有以下四个关键属性:

  • 分散控制
  • 灵活信任
  • 低延迟
  • 渐进安全

作为一个联邦拜占庭协议,恒星共识协议保证了面对非理性行为时的安全性,仅需有限的计算资源,降低了准入门槛。

properties-no-margin
灵活的信任意味着用户可以自由的信任自认合适的任意组合参与方。

渐进式安全,安全性建立在数字签名及散列家族之上,其参数可以根据实际情况进行调整以抵御拥有强大算力的对手。例如,可以想象一下,密码长度可以随着攻击者的计算能力的增长而增加。

2. 新代码有何不同?

我们创建了全新的代码库,饱含如下的设计理念:安全,简练,可伸缩,互操作性以及多种实现。核心共识服务尽可能的简单经济。

实时数据存储在标准SQL数据库中,并由外部网络服务读取这些数据并提供给用户。长期加密的数据会以标准XDR二进制格式的文件形式写入到公开存储服务上,以便下载或者镜像。事务是多种花样的简单操作构成的集合,支持多重签名及其它创新性的举动。

意图是推动创新。我们希望本地社区能够拥有必备的基础设施来构建适宜他们的产品。

3. 哪里可以了解更多关于共识的内容?

Stellar Galaxy探索所有技术层面的资源。

初学者:如果你是第一次接触共识,或只想查看其新奇之处,请查看图文小说第一章

中级用户: 查阅白皮书的简短的技术总结,使用开发教程创建一个测试账户。

高级用户: 探索代码 以及 阅读白皮书

所有人: 欢迎在恒星网络的公共Slack渠道提问和交流。

4. 什么是(传统的非联邦)拜占庭协议?

主要特性包括中心化和任意行为容忍( tolerance of arbitrary behavior)。

拜占庭协议的方法是保证分布式共识忽略拜占庭错误。“拜占庭错误”描述了任意行为,包含非理性行为。

非联邦拜占庭协议要求系统参与方都要达成一致——这意味着中心化系统。网络中每一节点必须为已知且验证过。

5. 比特币与非联邦拜占庭协议相比如何?

比特币设定理性参与者控制大部分算力并通过比特币分发机制激励潜在攻击者遵守协议。拜占庭协议可以抵御拥有大量算力的外界攻击者,但是拥有非公开的成员名单。

6. 什么是联邦拜占庭协议?

主要特性包括去中心化和任意行为容忍( tolerance of arbitrary behavior)。

联邦拜占庭协议为拜占庭协议带来开放的成员以及分散控制。任何人都可以加入。联邦拜占庭协议藉以分布式的方法,使得法定人数或者节点足够的群体能够达成一致。每一个节点均可决定信任的对象。不同的节点不需要依赖于信赖相同的参与者组合即可完成共识。

7. 什么是安全性?保证安全意味着什么?

在一组节点中,如果每个节点对同一个槽所应对应的值保持相同的观点,则它们享有安全性。例如,如果我认为五号槽的值是x,你认为五号槽的值是y,且 x ≠ y,那么我们之间不具备安全性。

安全第一!保证安全性意味着,当节点陷入失败或者行为异常时,系统会阻止节点为槽提交冲突的值。

8.What safety guarantees does SCP provide?

恒星共识协议保证只要节点在选择信任对象时维持简单的原则,系统就能在数学上尽最大可能保护节点远离拜占庭错误。

要使恒星共识协议网络的弹性最大化,新节点需要与网络进行最大化的互相连接。随着节点互通性程度的提高,攻击者需要联合不切实际数量的节点才能打破依赖于恒星共识协议安全性保证带来的群体交会属性(quorum intersection property )。

此外,恒星共识协议可以保证更多的连接节点其安全性不受未连接节点的选择影响。

9. 新系统上线了吗?

暂时还没有。我们希望将代码开源,以进行同行审议以及并在迁移到生产网络之前进行额外的测试。你可以使用我们的测试网络进行测试和操作,也可以自行搭建。注册我们的开发者通讯邮件组,在新系统上线时第一时间获得通知。
接下来的一周,我们鼓励人们发送反馈到[email protected] 。我们会基于收到的反馈发布更新版本。

10. 为什么在图文小说中,宇宙飞船命名为Hayashi?

Graydon Hoare,恒星核心开发者,以林忠四郎迹程(HAYASHI track)为此项目起了项目代号:Hayashi, 林忠四郎迹程描述了小恒星诞生的恒星演化路径。我们想在我们的图文小说中纪念这一代号。

在 Stellar Galaxy继续探索吧。

长按保存或者分享

2 thoughts on “恒星共识协议:证明与代码

Comments are closed.

Close