共识算法(POW,POS,DPOS,PBFT, RPCA, dBFT)

POW:Proof of Work,工作证明。

比特币在Block的生成过程中使用了POW机制,一个符合要求的Block Hash由N个前导零构成,零的个数取决于网络的难度值。要得到合理的Block Hash需要经过大量尝试计算,计算时间取决于机器的哈希运算速度。当某个节点提供出一个合理的Block Hash值,说明该节点确实经过了大量的尝试计算,当然,并不能得出计算次数的绝对值,因为寻找合理hash是一个概率事件。当节点拥有占全网n%的算力时,该节点即有n/100的概率找到Block Hash。

POS:Proof of Stake,股权证明。

POS:也称股权证明,类似于财产储存在银行,这种模式会根据你持有数字货币的量和时间,分配给你相应的利息。 简单来说,就是一个根据你持有货币的量和时间,给你发利息的一个制度,在股权证明POS模式下,有一个名词叫币龄,每个币每天产生1币龄,比如你持有100个币,总共持有了30天,那么,此时你的币龄就为3000,这个时候,如果你发现了一个POS区块,你的币龄就会被清空为0。你每被清空365币龄,你将会从区块中获得0.05个币的利息(假定利息可理解为年利率5%),那么在这个案例中,利息 = 3000 * 5% / 365 = 0.41个币,这下就很有意思了,持币有利息。

DPOS:Delegated Proof of Stake,委任权益证明

比特股的DPoS机制,中文名叫做股份授权证明机制(又称受托人机制),它的原理是让每一个持有比特股的人进行投票,由此产生101位代表 , 我们可以将其理解为101个超级节点或者矿池,而这101个超级节点彼此的权利是完全相等的。从某种角度来看,DPOS有点像是议会制度或人民代表大会制度。如果代表不能履行他们的职责(当轮到他们时,没能生成区块),他们会被除名,网络会选出新的超级节点来取代他们。DPOS的出现最主要还是因为矿机的产生,大量的算力在不了解也不关心比特币的人身上,类似演唱会的黄牛,大量囤票而丝毫不关心演唱会的内容。

PBFT:Practical Byzantine Fault Tolerance,实用拜占庭容错算法。

PBFT是一种状态机副本复制算法,即服务作为状态机进行建模,状态机在分布式系统的不同节点进行副本复制。每个状态机的副本都保存了服务的状态,同时也实现了服务的操作。将所有的副本组成的集合使用大写字母R表示,使用0到|R|-1的整数表示每一个副本。为了描述方便,假设|R|=3f+1,这里f是有可能失效的副本的最大个数。尽管可以存在多于3f+1个副本,但是额外的副本除了降低性能之外不能提高可靠性。

RPCA:Ripple共识

2013年2月Vitalik Buterin曾详细介绍了瑞波币共识证明(Proof of Consensus),但RPCA真正应用到算法共识是在2014年。RPCA每隔几秒能应用到所用节点,这是十分高效的,可以以此来维护整个网络的有效性和一致性。在整个社区中,一旦达成共识,当前的账本将会保存记录在此之前的所有交易信息,然后关闭成为最后的账本。在这个关闭的账本中所有网络节点维护都是相同的。在瑞波币共识证明算法中,节点能够人为的干涉投票和维持trust not list 。RPCA的缺点就是易于遭受攻击,黑客可以伪造node,甚至可以大量扩散潜伏,并在某个时间突然攻击所有网络。当然RPCA优势就是产生区块,Ripple 也不需要大量计算的。它的维护成本高,可以人工维护节点,但也有改动节点的风险。自然它可以采用手工干预,剔除网络中不安全节点。这样网络就分成两部分。牺牲了自动化的优势,保证可信的节点不被攻击。

dBFT:小蚁共识(delegated BFT),一种改进的拜占庭容错算法

小蚁采用的共识机制是在Castro 和 Liskov提出的“实用拜占庭容错算法”(Practical Byzantine Fault Tolerance)的基础上,经过改进后使其能够适用于 区块链系统。拜占庭容错技术被广泛应用在分布式系统中,比如分布式文件系统、分布式协作系统、云计算等。

小蚁主要做了以下改进:

1)将C/S架构的请求响应模式,改进为适合P2P网络的对等节点模式;

2)将静态的共识参与节点改进为可动态进入、退出的动态共识参与节点;

3)为共识参与节点的产生设计了一套基于持有权益比例的投票机制,通过投票决定共识参与节点(记账节点);

4)在区块链中引入数字证书,解决了投票中对记账节点真实身份的认证问题;

你可能感兴趣的:(共识算法(POW,POS,DPOS,PBFT, RPCA, dBFT))