Ripple共识算法

1.Ripple的网络结构

Ripple(瑞波)是一种基于互联网的开源支付协议,可以实现去中心化的货币兑换、
支付与清算功能。在Ripple的网络中,交易由客户端(应用)发起,经过追踪节点
(tracking node)或验证节点(validating node)把交易广播到整个网络中。追踪节点的主
要功能是分发交易信息以及响应客户端的账本请求。验证节点除包含追踪节点的所有功能
外,还能够通过共识协议,在账本中增加新的账本实例数据。如图5-5所示是Ripple的共识

过程中节点交互示意图。

2.Ripple共识算法

Ripple的共识达成发生在验证节点之间,每个验证节点都预先配置了一份可信任节点
名单,称为UNL(Unique Node List)。在名单上的节点可对交易达成进行投票。每隔几
秒,Ripple网络将进行如下共识过程:
1)每个验证节点会不断收到从网络发送过来的交易,通过与本地账本数据验证后,
不合法的交易直接丢弃,合法的交易将汇总成交易候选集(candidate set)。交易候选集
里面还包括之前共识过程无法确认而遗留下来的交易。
2)每个验证节点把自己的交易候选集作为提案发送给其他验证节点。
3)验证节点在收到其他节点发来的提案后,如果不是来自UNL上的节点,则忽略该
提案;如果是来自UNL上的节点,就会对比提案中的交易和本地的交易候选集,如果有
相同的交易,该交易就获得一票。在一定时间内,当交易获得超过50%的票数时,则该交
易进入下一轮。没有超过50%的交易,将留待下一次共识过程去确认。
4)验证节点把超过50%票数的交易作为提案发给其他节点,同时提高所需票数的阈
值到60%,重复步骤3)、步骤4),直到阈值达到80%。
5)验证节点把经过80%UNL节点确认的交易正式写入本地的账本数据中,称为最后

关闭账本(Last Closed Ledger),即账本最后(最新)的状态。


在Ripple的共识算法中,参与投票节点的身份是事先知道的,因此,算法的效率比
PoW等匿名共识算法要高效,交易的确认时间只需几秒钟。当然,这点也决定了该共识算
法只适合于权限链(Permissioned chain)的场景。Ripple共识算法的拜占庭容错(BFT)
能力为(n-1)/5,即可以容忍整个网络中20%的节点出现拜占庭错误而不影响正确的共
识。

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值