区块链共识算法(下)

区块链共识算法(下)

目录

  • 区块链共识算法(下)
    • 目录
      • 1.PBFT 实用拜占庭容错算法
      • 2.dBFT 授权拜占庭容错
      • 3.瑞波共识机制(Ripple Consensus)
      • 4.零知识证明机制

1.PBFT 实用拜占庭容错算法

PBFT是Practical Byzantine Fault Tolerance的缩写,意为实用拜占庭容错算法。该算法是Miguel Castro (卡斯特罗)和Barbara Liskov(利斯科夫)在1999年提出来的,解决了原始拜占庭容错算法效率不高的问题,将算法复杂度由指数级降低到多项式级,使得拜占庭容错算法在实际系统应用中变得可行。该论文发表在1999年的操作系统设计与实现国际会议上(OSDI99)。没错,这个Loskov就是提出著名的里氏替换原则(LSP)的人,2008年图灵奖得主。
PBFT是一种状态机副本复制算法,即服务作为状态机进行建模,状态机在分布式系统的不同节点进行副本复制。每个状态机的副本都保存了服务的状态,同时也实现了服务的操作。将所有的副本组成的集合使用大写字母R表示,使用0到|R|-1的整数表示每一个副本。为了描述方便,假设|R|=3f+1,这里f是有可能失效的副本的最大个数。尽管可以存在多于3f+1个副本,但是额外的副本除了降低性能之外不能提高可靠性。

2.dBFT 授权拜占庭容错

dBFT是delegated Byzantine Fault Tolerance的缩写。小蚁采用的共识机制是在Castro 和 Liskov提出的“实用拜占庭容错算法”(Practical Byzantine Fault Tolerance)的基础上,经过改进后使其能够适用于区块链系统。拜占庭容错技术被广泛应用在分布式系统中,比如分布式文件系统、分布式协作系统、云计算等。主要做了以下改进:
1)将C/S架构的请求响应模式,改进为适合P2P网络的对等节点模式;
2)将静态的共识参与节点改进为可动态进入、退出的动态共识参与节点;
3)为共识参与节点的产生设计了一套基于持有权益比例的投票机制,通过投票决定共识参与节点(记账节点);
4)在区块链中引入数字证书,解决了投票中对记账节点真实身份的认证问题

小蚁采用的dBFT机制,是由权益来选出记账人,然后记账人之间通过拜占庭容错算法来达成共识,这种方式的优点是:
1)专业化的记账人;
2)可以容忍任何类型的错误;
3)记账由多人协同完成,每一个区块都有最终性,不会分叉;
4)算法的可靠性有严格的数学证明;

缺点:
1)当有1/3或以上记账人停止工作后,系统将无法提供服务;
2)当有1/3或以上记账人联合作恶,且其它所有的记账人被恰好分割为两个网络孤岛时,恶意记账人可以使系统出现分叉,但是会留下密码学证据;
以上总结来说,dBFT机制最核心的一点,就是最大限度地确保系统的最终性,使区块链能够适用于真正的金融应用场景

3.瑞波共识机制(Ripple Consensus)

瑞波共识算法使一组节点能够基于特殊节点列表形成共识。初始特殊节点列表就像一个俱乐部,要接纳一个新成员,必须由该俱乐部51%的会员投票通过。共识遵循这些核心成员的“51%权利”,外部人员则没有影响力。由于该俱乐部由中心化开始,它将一直是中心化的,而如果它开始腐化,股东们什么也做不了。与比特币及Peercoin一样,瑞波系统将股东们与其投票权隔开,因此,它比其他系统更中心化
应用平台:瑞波币。

4.零知识证明机制

零知识证明是指证明者能够在不向验证者提供信息本身内容的情况下,使验证者相信某个论断是真实可信的一种技术。目前匿名性非常突出的数字资产ZCash的匿名交易就是依靠“零知识证明”实现的。
举个例子,A要向B证明自己拥有某个房间的钥匙,假设该房间只能用钥匙打开锁,而其他任何方法都打不开。这时候,A可以选择把钥匙交给B,B用这把钥匙打开该房间的锁,从而证明A拥有该房间的正确的钥匙。或者A自己用钥匙打开房间,从房间里拿出来一个物体出示给B,B知道这个物体确实只有房间里有。方法二的原理就是零知识证明。
应用平台:大零币

  • 区块链共识算法(下)
    • 目录
      • 1.PBFT 实用拜占庭容错算法
      • 2.dBFT 授权拜占庭容错
      • 3.瑞波共识机制(Ripple Consensus)
      • 4.零知识证明机制

你可能感兴趣的:(BlockChain)