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

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

Stellar.org首席科学官David Mazières教授的论文中提出了《恒星共识协议》(SCP:Stellar Consensus Protocol),这是联邦拜占庭协议(FBA)的实现。恒星共识协议提供了一种不用依赖于封闭系统就可以准确记录金融事物来达成共识的方式。恒星共识协议是第一个可证明安全的共识机制,同时享有四个关键属性:分散控制、低延迟、灵活信任和渐近安全。

SCP灵感来源于比特币——我们从该领域中吸取了教训,同时在低算力环境中扩展了对非理性行为的容忍能力。

该协议是货币公共基础架构的基石,可以让Stellar成为一块空白画布,为人们绘制出理想的金融服务。

我们的目标是让恒星共识协议对金融普惠产生深远影响。然而,除了我们在Stellar的工作,我们希望SCP对分布式系统领域做出重要贡献。如果要了解共识,请阅读白皮书的概述,并在我们新的Stellar Galaxy中探寻其他资源。

以下是前十大亮点问题:

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

恒星共识协议是首个安全可靠的联邦拜占庭协议的实现,恒星共识协议和现有大多数共识方法不同,它有四个关键属性:

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

作为一种联邦拜占庭协议,恒星共识协议在面对非理性行为时可以保证安全性,并且只需要较少的计算资源,降低了准入门槛。

properties-no-margin
灵活信任意味着用户可以自由地信任他们认为合适的任何组合。

有了渐近安全性,安全性就取决于数字签名和哈希系列,其参数可以根据实际进行调整,从而防止具有巨大算力敌人的攻击。例如,为了对抗攻击者不断增加的计算能力,可以通过增加字符长度来抵御。

2. 新代码有什么不同?

我们创建了一个全新代码库,其设计考虑了安全性,极简主义,可扩展性,互操作性和多种实现。核心共识服务器会尽可能简单,并具有经济效益。

实时数据存储在标准SQL数据库中,并由外部网络服务读取这些数据并提供给用户。长期加密数据会以标准XDR二进制形式,作为平面文件写入商品公共存储服务,从而可以自由下载或镜像。现在的交易只是一堆简单的操作,并且可以以多种方式进行组合,支持多重签名以及其他创新性的安排。

此举目的是推动创新,我们希望当地社区拥有他们所需的基础设施,来搭建为他们工作的产品。

3. 我可以从哪里了解更多关于共识的知识?

可以在我们的新Stellar Galaxy中浏览所有技术层面的资源。

初学者: 如果你是初次接触到共识,或者只是想以一种全新的方式看待它,请看图文小说的第一章

中级用户: 阅读白皮书的简短技术摘要,并使用我们的开发人员教程创建测试账户。

高级用户: 浏览代码阅读白皮书

所有级别: 欢迎在我们的公共Slack频道上向我们提问,并与Stellar网络中的其他人互动。

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

主要特点包括中心化以及容忍任意行为。

拜占庭协议采用的方法是确保可以通过分布式的方法达成共识,即使出现了拜占庭式的失败也不会影响。“拜占庭失败”指的是任意,包括非理性的行为。

非联邦的拜占庭协议要求所有参与者对系统成员资源达成一致共识——这意味着这是一个中心化的系统。网络中的每个节点必须提前知晓且验证过。

5. 比特币和非联盟的拜占庭协议相比如何?

比特币设定理性行为者控制着大多数计算能力,并通过分发硬币激励潜在攻击者遵守协议。拜占庭协议可以抵御拥有巨大计算能力的外部攻击者,但是成员名单是非公开的。

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

主要特点包括权力下放和容忍任意行为。

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

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

如果每个节点对同一狭槽提交的是相同的值,则这组节点就享有安全性。例如,如果我说x对应的是5号槽的值,然后你说y对应5号槽的值,然而如果x≠y的话,那么就不具有安全性了。

安全第一!保证安全意味着即使节点发生故障或不安全时,系统可以防止节点对同一狭槽提交产生冲突的值。

8.恒星共识协议会提供什么来保障安全?

恒星共识协议可以确保只要节点在选择信任谁时保持简单的规则,那么系统就能在数学上尽最大可能保护节点远离拜占庭错误。

为了让SCP网络的弹性达到最大化,新的节点应该互相建立连接,让网络的互联性达到最大化。随着节点互通性程度的提高,攻击者将不得不向不切实际的节点数量妥协,才能打破依赖于恒星共识协议安全性保证带来的法定交点属性(quorum intersection property )。

此外,恒星共识协议可以保证更多已建立的节点不受未建立节点所作出的选择的影响。

9. 新系统上线了吗的吗?

还没有,我们想在系统上线之前,希望将代码开源,以进行同行审议以及并在迁移到生产网络之前进行额外的测试。你可以使用我们的测试网络进行实验和操作,或者自行搭建。注册我们的开发者通讯录来抢先了解新系统的上线时间。

下周,我们希望人们将有关白皮书的反馈发送到[email protected],我们将根据收到的反馈意见进行修改,尽快发布更新版本。

10. 为什么图文小说中的宇宙飞船要命名为USS Hayashi?

Stellar Core开发者Graydon Hoare根据林(忠四郎)轨道(Hayashi track)把该项目的代号称为Hayashi,描述了小型星形从诞生到演化的路径,我们想要在我们的画本小说中记录下这个预先发布的代号。

Stellar Galaxy中浏览更多信息。

该贴的社区翻译

中文: 恒星共识协议:证明与代码
日文: ステラコンセンサスプロトコル

Get the latest Stellar developer news.

List of posts

Stellar Community Chat

Recent posts

第四届Stellar Build Challenge挑战赛结果出炉
使用Stellar进行ICO
在Stellar上创建代币