-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy path恒星共识协议(科普)
49 lines (32 loc) · 3.55 KB
/
恒星共识协议(科普)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
恒星共识协议,即 Stellar Consensus Protocol ,它是一种开源,去中心化的协议,用于数字货币到法定货币的转移,
允许货币之间的跨境交易,由非营利性组织 Stellar Development Foundation 提出并提供支持。
恒星共识协议是恒星网络(Stellar Network)的基本共识算法,为联邦拜占庭协议(FBA)提供可证明的安全性构建。
它衍生于原始拜占庭协议,了解它们之间的不同,还有“仲裁和仲裁切片”,“联合投票模型” ,以及协议本身的提交/中止投票系统才能更好地理解恒星共识协议
拜占庭协议是分布式计算系统的容错机制,即使网络中的一小部分节点有恶意行为,也能够达成共识。
拜占庭容错(pBFT)是拜占庭协议的经典模型,它可以快速有效地达成共识,同时将共识与资源(包括权益证明系统中的金融股权或工作量证明中的电力)脱钩。
但是拜占庭协议在可扩展性方面的表现并不尽人意,成员节点间的通讯成本非常庞大,另外系统需要成员节点在会员资格上的一致同意来减轻女巫攻击。
女巫攻击通过伪造对等网络中的身份来破坏声誉系统。
在对等网络中,节点具备多个身份标识,通过控制系统的大部分节点来削弱冗余备份。
联邦拜占庭协议解决了经典拜占庭协议中存在的局限性:
1.去中心化控制
2.灵活的信任机制
3.低延迟
4.渐近安全
针对“渐近安全”这一点,密码学的一个关键思想是对诚实的参与者提供负担得起的操作提供安全性,
但对攻击者来说攻击成本较高。因此,在加密文献中反复追求的一点是努力量化攻击者破坏加密方案的成本。
其中 “渐近安全” 是将对手的攻击成本描述为指定安全参数的函数(例如:密钥长度),当对手的优势在安全参数的函数中可忽略时,该方案才被认为是安全的。
联邦拜占庭协议与经典拜占庭协议之间的根本差别在于前者中每个节点独立选择法定人数切片(Quorum slices)
各个节点独立地决定受信任的其它节点以获取信息。
所以联邦拜占庭协议是第一个给予每个参与者最大选择信任人自由的拜占庭协议。
恒星共识协议是联邦拜占庭协议的实现,旨在最大限度地减少在协议被阻止的情况下通过投票系统来解决。
它主要由2个子协议组成,即提名协议和选票协议。
在每个共识时隙,提名协议产生候选值,每个节点为每个时隙生成收敛值。
因为无法知道何时发生收敛,因此恶意节点能够重置提名过程
一旦节点提名协议收敛,则执行选票协议。
在选票协议中,选票与候选值相关联,并且节点必须提交或中止与该选票相关联的值。
为了避免协议阻塞,节点可以中止某些投票并转移到另一个投票。反过来,节点可以投票提交选票,这会把与该选票相关联的值外部化到共识时隙。
提名协议和选票协议的细节非常复杂,用于特定情况,例如“分割投票”。
恒星共识协议的局限之一是它只能在节点选择的仲裁切片数量足够时能保证安全。
另外,联邦系统中的安全问题,如广泛受信任的节点,具有网络中其它节点所不具备的信息优势。
总的来说,恒星共识协议是第一个可证明的共识协议,它能保持高水平的有效性,在不牺牲安全性的情况下
迅速在分布式和无许可的网络中达成共识。