Ripple共识算法的工作流程介绍

区块链

575人已加入

描述

Ripple 是什么?

1.Ripple 的网络结构

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

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),即账本最后(最新)的状态。

区块链

图1

区块链

图2

上图是共识算法流程,我们 SCRY 的 Using Authentication in Certification agreement Based Swarm Intelligence 集群智能认证,群体认证数据签名也是基于 Ripple 变种。

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

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分