恒星共识协议(Stellar Consensus Protocol,SCP),一个联邦拜占庭协议( federated Byzantine agreement,FBA)的实现。恒星共识协议提供了一种方法,无需依赖封闭系统即可完成共识,以精确记录金融事务。恒星共识协议是第一个安全可证的共识机制,同时享有四个关键属性:分散控制,低延迟,灵活的信任,和渐近安全。
恒星共识协议灵感来自于比特币——我们在此领域汲取经验,并在低算力环境中扩展了容忍非理性因素的能力。
此协议是货币公共基础架构的基石,也将使得恒星成为人们绘制其理想金融服务的画布。
【资料图】
我们的目标是利用恒星共识协议,在金融普惠方面开创一个不一样的局面。除了Stellar以外,我们也希望恒星共识协议可以在分布式系统领域做出重要贡献。要了解共识,请阅读白皮书概述以及在Stellar Galaxy探索其它资源。
以下为10个亮点:
1. 什么是恒星共识协议
恒星共识协议是第一个安全可证的联邦拜占庭协议的实现。与大多数现有实现共识的方法不同,恒星共识协议拥有以下四个关键属性:
分散控制
灵活信任
低延迟
渐进安全
作为一个联邦拜占庭协议,恒星共识协议保证了面对非理性行为时的安全性,仅需有限的计算资源,降低了准入门槛。
灵活的信任意味着用户可以自由的信任自认合适的任意组合参与方。
渐进式安全,安全性建立在数字签名及散列家族之上,其参数可以根据实际情况进行调整以抵御拥有强大算力的对手。例如,可以想象一下,密码长度可以随着攻击者的计算能力的增长而增加。
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 )。
此外,恒星共识协议可以保证更多的连接节点其安全性不受未连接节点的选择影响。