区块链
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%的节点出现拜占庭错误而不影响正确的共识。
全部0条评论
快来发表一下你的评论吧 !