pos机制的本质
1、区块链的共识机制
一、区块链共识机制的目标
区块链是什么?简单而言,区块链是一种去中心化的数据库,或可以叫作分布式账本(distributed ledger)。传统上所有的数据库都是中心化的,例如一间银行的账本就储存在银行的中心服务器里。中心化数据库的弊端是数据的安全及正确性全系于数据库运营方(即银行),因为任何能够访问中心化数据库的人(如银行职员或黑客)都可以破坏或修改其中的数据。
而区块链技术则容许数据库存放在全球成千上万的电脑上,每个人的账本通过点对点网络进行同步,网络中任何用户一旦增加一笔交易,交易信息将通过网络通知其他用户验证,记录到各自的账本中。区块链之所以得其名是因为它是由一个个包含交易信息的区块(block)从后向前有序链接起来的数据结构。
很多人对区块链的疑问是,如果每一个用户都拥有一个独立的账本,那么是否意味着可以在自己的账本上添加任意的交易信息,而成千上万个账本又如何保证记账的一致性? 解决记账一致性问题正是区块链共识机制的目标 。区块链共识机制旨在保证分布式系统里所有节点中的数据完全相同并且能够对某个提案(proposal)(例如是一项交易纪录)达成一致。然而分布式系统由于引入了多个节点,所以系统中会出现各种非常复杂的情况;随着节点数量的增加,节点失效或故障、节点之间的网络通信受到干扰甚至阻断等就变成了常见的问题,解决分布式系统中的各种边界条件和意外情况也增加了解决分布式一致性问题的难度。
区块链又可分为三种:
公有链:全世界任何人都可以随时进入系统中读取数据、发送可确认交易、竞争记账的区块链。公有链通常被认为是“完全去中心化“的,因为没有任何人或机构可以控制或篡改其中数据的读写。公有链一般会通过代币机制鼓励参与者竞争记账,来确保数据的安全性。
联盟链:联盟链是指有若干个机构共同参与管理的区块链。每个机构都运行着一个或多个节点,其中的数据只允许系统内不同的机构进行读写和发送交易,并且共同来记录交易数据。这类区块链被认为是“部分去中心化”。
私有链:指其写入权限是由某个组织和机构控制的区块链。参与节点的资格会被严格的限制,由于参与的节点是有限和可控的,因此私有链往往可以有极快的交易速度、更好的隐私保护、更低的交易成本、不容易被恶意攻击、并且能够做到身份认证等金融行业必须的要求。相比中心化数据库,私有链能够防止机构内单节点故意隐瞒或篡改数据。即使发生错误,也能够迅速发现来源,因此许多大型金融机构在目前更加倾向于使用私有链技术。
二、区块链共识机制的分类
解决分布式一致性问题的难度催生了数种共识机制,它们各有其优缺点,亦适用于不同的环境及问题。被众人常识的共识机制有:
l PoW(Proof of Work)工作量证明机制
l PoS(Proof of Stake)股权/权益证明机制
l DPoS(Delegated Proof of Stake)股份授权证明机制
l PBFT(Practical Byzantine Fault Tolerance)实用拜占庭容错算法
l DBFT(Delegated Byzantine Fault Tolerance)授权拜占庭容错算法
l SCP (Stellar Consensus Protocol ) 恒星共识协议
l RPCA(Ripple Protocol Consensus Algorithm)Ripple共识算法
l Pool验证池共识机制
(一)PoW(Proof of Work)工作量证明机制
1. 基本介绍
在该机制中,网络上的每一个节点都在使用SHA256哈希函数(hash function) 运算一个不断变化的区块头的哈希值 (hash sum)。 共识要求算出的值必须等于或小于某个给定的值。 在分布式网络中,所有的参与者都需要使用不同的随机数来持续计算该哈希值,直至达到目标为止。当一个节点的算出确切的值,其他所有的节点必须相互确认该值的正确性。之后新区块中的交易将被验证以防欺诈。
在比特币中,以上运算哈希值的节点被称作“矿工”,而PoW的过程被称为“挖矿”。挖矿是一个耗时的过程,所以也提出了相应的激励机制(例如向矿工授予一小部分比特币)。PoW的优点是完全的去中心化,其缺点是消耗大量算力造成了的资源浪费,达成共识的周期也比较长,共识效率低下,因此其不是很适合商业使用。
2. 加密货币的应用实例
比特币(Bitcoin) 及莱特币(Litecoin)。以太坊(Ethereum) 的前三个阶段(Frontier前沿、Homestead家园、Metropolis大都会)皆采用PoW机制,其第四个阶段 (Serenity宁静) 将采用权益证明机制。PoW适用于公有链。
PoW机制虽然已经成功证明了其长期稳定和相对公平,但在现有框架下,采用PoW的“挖矿”形式,将消耗大量的能源。其消耗的能源只是不停的去做SHA256的运算来保证工作量公平,并没有其他的存在意义。而目前BTC所能达到的交易效率为约5TPS(5笔/秒),以太坊目前受到单区块GAS总额的上限,所能达到的交易频率大约是25TPS,与平均千次每秒、峰值能达到万次每秒处理效率的VISA和MASTERCARD相差甚远。
3. 简图理解模式
(ps:其中A、B、C、D计算哈希值的过程即为“挖矿”,为了犒劳时间成本的付出,机制会以一定数量的比特币作为激励。)
(Ps:PoS模式下,你的“挖矿”收益正比于你的币龄(币的数量*天数),而与电脑的计算性能无关。我们可以认为任何具有概率性事件的累计都是工作量证明,如淘金。假设矿石含金量为p% 质量, 当你得到一定量黄金时,我们可以认为你一定挖掘了1/p 质量的矿石。而且得到的黄金数量越多,这个证明越可靠。)
(二)PoS(Proof of Stake)股权/权益证明机制
1.基本介绍
PoS要求人们证明货币数量的所有权,其相信拥有货币数量多的人攻击网络的可能性低。基于账户余额的选择是非常不公平的,因为单一最富有的人势必在网络中占主导地位,所以提出了许多解决方案。
在股权证明机制中,每当创建一个区块时,矿工需要创建一个称为“币权”的交易,这个交易会按照一定比例预先将一些币发给矿工。然后股权证明机制根据每个节点持有代币的比例和时间(币龄), 依据算法等比例地降低节点的挖矿难度,以加快节点寻找随机数的速度,缩短达成共识所需的时间。
与PoW相比,PoS可以节省更多的能源,更有效率。但是由于挖矿成本接近于0,因此可能会遭受攻击。且PoS在本质上仍然需要网络中的节点进行挖矿运算,所以它同样难以应用于商业领域。
2.数字货币的应用实例
PoS机制下较为成熟的数字货币是点点币(Peercoin)和未来币(NXT),相比于PoW,PoS机制节省了能源,引入了" 币天 "这个概念来参与随机运算。PoS机制能够让更多的持币人参与到记账这个工作中去,而不需要额外购买设备(矿机、显卡等)。每个单位代币的运算能力与其持有的时间长成正相关,即持有人持有的代币数量越多、时间越长,其所能签署、生产下一个区块的概率越大。一旦其签署了下一个区块,持币人持有的币天即清零,重新进入新的循环。
PoS适用于公有链。
3.区块签署人的产生方式
在PoS机制下,因为区块的签署人由随机产生,则一些持币人会长期、大额持有代币以获得更大概率地产生区块,尽可能多的去清零他的"币天"。因此整个网络中的流通代币会减少,从而不利于代币在链上的流通,价格也更容易受到波动。由于可能会存在少量大户持有整个网络中大多数代币的情况,整个网络有可能会随着运行时间的增长而越来越趋向于中心化。相对于PoW而言,PoS机制下作恶的成本很低,因此对于分叉或是双重支付的攻击,需要更多的机制来保证共识。稳定情况下,每秒大约能产生12笔交易,但因为网络延迟及共识问题,需要约60秒才能完整广播共识区块。长期来看,生成区块(即清零"币天")的速度远低于网络传播和广播的速度,因此在PoS机制下需要对生成区块进行"限速",来保证主网的稳定运行。
4.简图理解模式
(PS:拥有越多“股份”权益的人越容易获取账权。是指获得多少货币,取决于你挖矿贡献的工作量,电脑性能越好,分给你的矿就会越多。)
(在纯POS体系中,如NXT,没有挖矿过程,初始的股权分配已经固定,之后只是股权在交易者之中流转,非常类似于现实世界的股票。)
(三)DPoS(Delegated Proof of Stake)股份授权证明机制
1.基本介绍
由于PoS的种种弊端,由此比特股首创的权益代表证明机制 DPoS(Delegated Proof of Stake)应运而生。DPoS 机制中的核心的要素是选举,每个系统原生代币的持有者在区块链里面都可以参与选举,所持有的代币余额即为投票权重。通过投票,股东可以选举出理事会成员,也可以就关系平台发展方向的议题表明态度,这一切构成了社区自治的基础。股东除了自己投票参与选举外,还可以通过将自己的选举票数授权给自己信任的其它账户来代表自己投票。
具体来说, DPoS由比特股(Bitshares)项目组发明。股权拥有着选举他们的代表来进行区块的生成和验证。DPoS类似于现代企业董事会制度,比特股系统将代币持有者称为股东,由股东投票选出101名代表, 然后由这些代表负责生成和验证区块。 持币者若想称为一名代表,需先用自己的公钥去区块链注册,获得一个长度为32位的特有身份标识符,股东可以对这个标识符以交易的形式进行投票,得票数前101位被选为代表。
代表们轮流产生区块,收益(交易手续费)平分。DPoS的优点在于大幅减少了参与区块验证和记账的节点数量,从而缩短了共识验证所需要的时间,大幅提高了交易效率。从某种角度来说,DPoS可以理解为多中心系统,兼具去中心化和中心化优势。优点:大幅缩小参与验证和记账节点的数量,可以达到秒级的共识验证。缺点:投票积极性不高,绝大部分代币持有者未参与投票;另整个共识机制还是依赖于代币,很多商业应用是不需要代币存在的。
DPoS机制要求在产生下一个区块之前,必须验证上一个区块已经被受信任节点所签署。相比于PoS的" 全民挖矿 ",DPoS则是利用类似" 代表大会 "的制度来直接选取可信任节点,由这些可信任节点(即见证人)来代替其他持币人行使权力,见证人节点要求长期在线,从而解决了因为PoS签署区块人不是经常在线而可能导致的产块延误等一系列问题。 DPoS机制通常能达到万次每秒的交易速度,在网络延迟低的情况下可以达到十万秒级别,非常适合企业级的应用。 因为公信宝数据交易所对于数据交易频率要求高,更要求长期稳定性,因此DPoS是非常不错的选择。
2. 股份授权证明机制下的机构与系统
理事会是区块链网络的权力机构,理事会的人选由系统股东(即持币人)选举产生,理事会成员有权发起议案和对议案进行投票表决。
理事会的重要职责之一是根据需要调整系统的可变参数,这些参数包括:
l 费用相关:各种交易类型的费率。
l 授权相关:对接入网络的第三方平台收费及补贴相关参数。
l 区块生产相关:区块生产间隔时间,区块奖励。
l 身份审核相关:审核验证异常机构账户的信息情况。
l 同时,关系到理事会利益的事项将不通过理事会设定。
在Finchain系统中,见证人负责收集网络运行时广播出来的各种交易并打包到区块中,其工作类似于比特币网络中的矿工,在采用 PoW(工作量证明)的比特币网络中,由一种获奖概率取决于哈希算力的抽彩票方式来决定哪个矿工节点产生下一个区块。而在采用 DPoS 机制的金融链网络中,通过理事会投票决定见证人的数量,由持币人投票来决定见证人人选。入选的活跃见证人按顺序打包交易并生产区块,在每一轮区块生产之后,见证人会在随机洗牌决定新的顺序后进入下一轮的区块生产。
3. DPoS的应用实例
比特股(bitshares) 采用DPoS。DPoS主要适用于联盟链。
4.简图理解模式
(四)PBFT(Practical Byzantine Fault Tolerance)实用拜占庭容错算法
1. 基本介绍
PBFT是一种基于严格数学证明的算法,需要经过三个阶段的信息交互和局部共识来达成最终的一致输出。三个阶段分别为预备 (pre-prepare)、准备 (prepare)、落实 (commit)。PBFT算法证明系统中只要有2/3比例以上的正常节点,就能保证最终一定可以输出一致的共识结果。换言之,在使用PBFT算法的系统中,至多可以容忍不超过系统全部节点数量1/3的失效节点 (包括有意误导、故意破坏系统、超时、重复发送消息、伪造签名等的节点,又称为”拜占庭”节点)。
2. PBFT的应用实例
著名联盟链Hyperledger Fabric v0.6采用的是PBFT,v1.0又推出PBFT的改进版本SBFT。PBFT主要适用于私有链和联盟链。
3. 简图理解模式
上图显示了一个简化的PBFT的协议通信模式,其中C为客户端,0 – 3表示服务节点,其中0为主节点,3为故障节点。整个协议的基本过程如下:
(1) 客户端发送请求,激活主节点的服务操作;
(2) 当主节点接收请求后,启动三阶段的协议以向各从节点广播请求;
(a) 序号分配阶段,主节点给请求赋值一个序号n,广播序号分配消息和客户端的请求消息m,并将构造pre-prepare消息给各从节点;
(b) 交互阶段,从节点接收pre-prepare消息,向其他服务节点广播prepare消息;
(c) 序号确认阶段,各节点对视图内的请求和次序进行验证后,广播commit消息,执行收到的客户端的请求并给客户端响应。
(3) 客户端等待来自不同节点的响应,若有m+1个响应相同,则该响应即为运算的结果;
(五)DBFT(Delegated Byzantine Fault Tolerance)授权拜占庭容错算法
1. 基本介绍
DBFT建基于PBFT的基础上,在这个机制当中,存在两种参与者,一种是专业记账的“超级节点”,一种是系统当中不参与记账的普通用户。普通用户基于持有权益的比例来投票选出超级节点,当需要通过一项共识(记账)时,在这些超级节点中随机推选出一名发言人拟定方案,然后由其他超级节点根据拜占庭容错算法(见上文),即少数服从多数的原则进行表态。如果超过2/3的超级节点表示同意发言人方案,则共识达成。这个提案就成为最终发布的区块,并且该区块是不可逆的,所有里面的交易都是百分之百确认的。如果在一定时间内还未达成一致的提案,或者发现有非法交易的话,可以由其他超级节点重新发起提案,重复投票过程,直至达成共识。
2. DBFT的应用实例
国内加密货币及区块链平台NEO是 DBFT算法的研发者及采用者。
3. 简图理解模式
假设系统中只有四个由普通用户投票选出的超级节点,当需要通过一项共识时,系统就会从代表中随机选出一名发言人拟定方案。发言人会将拟好的方案交给每位代表,每位代表先判断发言人的计算结果与它们自身纪录的是否一致,再与其它代表商讨验证计算结果是否正确。如果2/3的代表一致表示发言人方案的计算结果是正确的,那么方案就此通过。
如果只有不到2/3的代表达成共识,将随机选出一名新的发言人,再重复上述流程。这个体系旨在保护系统不受无法行使职能的领袖影响。
上图假设全体节点都是诚实的,达成100%共识,将对方案A(区块)进行验证。
鉴于发言人是随机选出的一名代表,因此他可能会不诚实或出现故障。上图假设发言人给3名代表中的2名发送了恶意信息(方案B),同时给1名代表发送了正确信息(方案A)。
在这种情况下该恶意信息(方案B)无法通过。中间与右边的代表自身的计算结果与发言人发送的不一致,因此就不能验证发言人拟定的方案,导致2人拒绝通过方案。左边的代表因接收了正确信息,与自身的计算结果相符,因此能确认方案,继而成功完成1次验证。但本方案仍无法通过,因为不足2/3的代表达成共识。接着将随机选出一名新发言人,重新开始共识流程。
上图假设发言人是诚实的,但其中1名代表出现了异常;右边的代表向其他代表发送了不正确的信息(B)。
在这种情况下发言人拟定的正确信息(A)依然可以获得验证,因为左边与中间诚实的代表都可以验证由诚实的发言人拟定的方案,达成2/3的共识。代表也可以判断到底是发言人向右边的节点说谎还是右边的节点不诚实。
(六)SCP (Stellar Consensus Protocol ) 恒星共识协议
1. 基本介绍
SCP 是 Stellar (一种基于互联网的去中心化全球支付协议) 研发及使用的共识算法,其建基于联邦拜占庭协议 (Federated Byzantine Agreement) 。传统的非联邦拜占庭协议(如上文的PBFT和DBFT)虽然确保可以通过分布式的方法达成共识,并达到拜占庭容错 (至多可以容忍不超过系统全部节点数量1/3的失效节点),它是一个中心化的系统 — 网络中节点的数量和身份必须提前知晓且验证过。而联邦拜占庭协议的不同之处在于它能够去中心化的同时,又可以做到拜占庭容错。
[…]
(七)RPCA(Ripple Protocol Consensus Algorithm)Ripple共识算法
1. 基本介绍
RPCA是Ripple(一种基于互联网的开源支付协议,可以实现去中心化的货币兑换、支付与清算功能)研发及使用的共识算法。在 Ripple 的网络中,交易由客户端(应用)发起,经过追踪节点(tracking node)或验证节点(validating node)把交易广播到整个网络中。追踪节点的主要功能是分发交易信息以及响应客户端的账本请求。验证节点除包含追踪节点的所有功能外,还能够通过共识协议,在账本中增加新的账本实例数据。
Ripple 的共识达成发生在验证节点之间,每个验证节点都预先配置了一份可信任节点名单,称为 UNL(Unique Node List)。在名单上的节点可对交易达成进行投票。共识过程如下:
(1) 每个验证节点会不断收到从网络发送过来的交易,通过与本地账本数据验证后,不合法的交易直接丢弃,合法的交易将汇总成交易候选集(candidate set)。交易候选集里面还包括之前共识过程无法确认而遗留下来的交易。
(2) 每个验证节点把自己的交易候选集作为提案发送给其他验证节点。
(3) 验证节点在收到其他节点发来的提案后,如果不是来自UNL上的节点,则忽略该提案;如果是来自UNL上的节点,就会对比提案中的交易和本地的交易候选集,如果有相同的交易,该交易就获得一票。在一定时间内,当交易获得超过50%的票数时,则该交易进入下一轮。没有超过50%的交易,将留待下一次共识过程去确认。
(4) 验证节点把超过50%票数的交易作为提案发给其他节点,同时提高所需票数的阈值到60%,重复步骤(3)、步骤(4),直到阈值达到80%。
(5) 验证节点把经过80%UNL节点确认的交易正式写入本地的账本数据中,称为最后关闭账本(last closed ledger),即账本最后(最新)的状态。
在Ripple的共识算法中,参与投票节点的身份是事先知道的,因此,算法的效率比PoW等匿名共识算法要高效,交易的确认时间只需几秒钟。这点也决定了该共识算法只适合于联盟链或私有链。Ripple共识算法的拜占庭容错(BFT)能力为(n-1)/5,即可以容忍整个网络中20%的节点出现拜占庭错误而不影响正确的共识。
2. 简图理解模式
共识过程节点交互示意图:
共识算法流程:
(八)POOL验证池共识机制
Pool验证池共识机制是基于传统的分布式一致性算法(Paxos和Raft)的基础上开发的机制。Paxos算法是1990年提出的一种基于消息传递且具有高度容错特性的一致性算法。过去, Paxos一直是分布式协议的标准,但是Paxos难于理解,更难以实现。Raft则是在2013年发布的一个比Paxos简单又能实现Paxos所解决问题的一致性算法。Paxos和Raft达成共识的过程皆如同选举一样,参选者需要说服大多数选民(服务器)投票给他,一旦选定后就跟随其操作。Paxos和Raft的区别在于选举的具体过程不同。而Pool验证池共识机制即是在这两种成熟的分布式一致性算法的基础上,辅之以数据验证的机制。
2、区块链常见的三大共识机制
区块链是建立在P2P网络,由节点参与的分布式账本系统,最大的特点是“去中心化”。也就是说在区块链系统中,用户与用户之间、用户与机构之间、机构与机构之间,无需建立彼此之间的信任,只需依靠区块链协议系统就能实现交易。可是,要如何保证账本的准确性,权威性,以及可靠性?区块链网络上的节点为什么要参与记账?节点如果造假怎么办?如何防止账本被篡改?如何保证节点间的数据一致性?……这些都是区块链在建立“去中心化”交易时需要解决的问题,由此产生了共识机制。
所谓“共识机制”,就是通过特殊节点的投票,在很短的时间内完成对交易的验证和确认;当出现意见不一致时,在没有中心控制的情况下,若干个节点参与决策达成共识,即在互相没有信任基础的个体之间如何建立信任关系。
区块链技术正是运用一套基于共识的数学算法,在机器之间建立“信任”网络,从而通过技术背书而非中心化信用机构来进行全新的信用创造。
不同的区块链种类需要不同的共识算法来确保区块链上最后的区块能够在任何时候都反应出全网的状态。
目前为止,区块链共识机制主要有以下几种:POW工作量证明、POS股权证明、DPOS授权股权证明、Paxos、PBFT(实用拜占庭容错算法)、dBFT、DAG(有向无环图)
接下来我们主要说说常见的POW、POS、DPOS共识机制的原理及应用场景
概念:
工作量证明机制(Proof of work ),最早是一个经济学名词,指系统为达到某一目标而设置的度量方法。简单理解就是一份证明,用来确认你做过一定量的工作,通过对工作的结果进行认证来证明完成了相应的工作量。
工作量证明机制具有完全去中心化的优点,在以工作量证明机制为共识的区块链中,节点可以自由进出,并通过计算随机哈希散列的数值解争夺记账权,求得正确的数值解以生成区块的能力是节点算力的具体表现。
应用:
POW最著名的应用当属比特币。在比特币网络中,在Block的生成过程中,矿工需要解决复杂的密码数学难题,寻找到一个符合要求的Block Hash由N个前导零构成,零的个数取决于网络的难度值。这期间需要经过大量尝试计算(工作量),计算时间取决于机器的哈希运算速度。
而寻找合理hash是一个概率事件,当节点拥有占全网n%的算力时,该节点即有n/100的概率找到Block Hash。在节点成功找到满足的Hash值之后,会马上对全网进行广播打包区块,网络的节点收到广播打包区块,会立刻对其进行验证。
如果验证通过,则表明已经有节点成功解迷,自己就不再竞争当前区块,而是选择接受这个区块,记录到自己的账本中,然后进行下一个区块的竞争猜谜。网络中只有最快解谜的区块,才会添加的账本中,其他的节点进行复制,以此保证了整个账本的唯一性。
假如节点有任何的作弊行为,都会导致网络的节点验证不通过,直接丢弃其打包的区块,这个区块就无法记录到总账本中,作弊的节点耗费的成本就白费了,因此在巨大的挖矿成本下,也使得矿工自觉自愿的遵守比特币系统的共识协议,也就确保了整个系统的安全。
优缺点
优点:结果能被快速验证,系统承担的节点量大,作恶成本高进而保证矿工的自觉遵守性。
缺点:需要消耗大量的算法,达成共识的周期较长
概念:
权益证明机制(Proof of Stake),要求证明人提供一定数量加密货币的所有权。
权益证明机制的运作方式是,当创造一个新区块时,矿工需要创建一个“币权”交易,交易会按照预先设定的比例把一些币发送给矿工本身。权益证明机制根据每个节点拥有代币的比例和时间,依据算法等比例地降低节点的挖矿难度,从而加快了寻找随机数的速度。
应用:
2012年,化名Sunny King的网友推出了Peercoin(点点币),是权益证明机制在加密电子货币中的首次应用。PPC最大创新是其采矿方式混合了POW及POS两种方式,采用工作量证明机制发行新币,采用权益证明机制维护网络安全。
为了实现POS,Sunny King借鉴于中本聪的Coinbase,专门设计了一种特殊类型交易,叫Coinstake。
上图为Coinstake工作原理,其中币龄指的是货币的持有时间段,假如你拥有10个币,并且持有10天,那你就收集到了100天的币龄。如果你使用了这10个币,币龄被消耗(销毁)了。
优缺点:
优点:缩短达成共识所需的时间,比工作量证明更加节约能源。
缺点:本质上仍然需要网络中的节点进行挖矿运算,转账真实性较难保证
概念:
授权股权证明机制(Delegated Proof of Stake),与董事会投票类似,该机制拥有一个内置的实时股权人投票系统,就像系统随时都在召开一个永不散场的股东大会,所有股东都在这里投票决定公司决策。
授权股权证明在尝试解决传统的PoW机制和PoS机制问题的同时,还能通过实施科技式的民主抵消中心化所带来的负面效应。基于DPoS机制建立的区块链的去中心化依赖于一定数量的代表,而非全体用户。在这样的区块链中,全体节点投票选举出一定数量的节点代表,由他们来代理全体节点确认区块、维持系统有序运行。
同时,区块链中的全体节点具有随时罢免和任命代表的权力。如果必要,全体节点可以通过投票让现任节点代表失去代表资格,重新选举新的代表,实现实时的民主。
应用:
比特股(Bitshare)是一类采用DPOS机制的密码货币。通过引入了见证人这个概念,见证人可以生成区块,每一个持有比特股的人都可以投票选举见证人。得到总同意票数中的前N个(N通常定义为101)候选者可以当选为见证人,当选见证人的个数(N)需满足:至少一半的参与投票者相信N已经充分地去中心化。
见证人的候选名单每个维护周期(1天)更新一次。见证人然后随机排列,每个见证人按序有2秒的权限时间生成区块,若见证人在给定的时间片不能生成区块,区块生成权限交给下一个时间片对应的见证人。DPoS的这种设计使得区块的生成更为快速,也更加节能。
DPOS充分利用了持股人的投票,以公平民主的方式达成共识,他们投票选出的N个见证人,可以视为N个矿池,而这N个矿池彼此的权利是完全相等的。持股人可以随时通过投票更换这些见证人(矿池),只要他们提供的算力不稳定,计算机宕机,或者试图利用手中的权力作恶。
优缺点:
优点:缩小参与验证和记账节点的数量,从而达到秒级的共识验证
缺点:中心程度较弱,安全性相比POW较弱,同时节点代理是人为选出的,公平性相比POS较低,同时整个共识机制还是依赖于代币的增发来维持代理节点的稳定性。
3、两种共识机制对比(PoW vs PoS)
区块链中最核心的架构就是共识机制,可以说是区块链的驱动引擎,发展这么多年,目前主流比较明确经得住考验的就只剩下PoW(Proof of Work)与PoS(Proof of Stake)两种机制。简单概述下,PoW系统的特点是通过消耗大量算力来计算特定算法的解(典型如哈希),第一个算出结果的有权生成区块,同时也会得到coin作为奖励(这也是coin的生产与分发过程,形象地称为Mining),采用PoW的典型区块链有Bitcoin和Ethereum,目前PoW也是运行时间最长,被公认为是最可靠安全的共识机制; 其本质是通过消耗大量算力来实现系统内的逆熵过程,保证系统的长期安全与稳定 。但PoW被广为诟病的也是其消耗太多的能源资源,这方面PoS就被认为是更为绿色的解决方案,顾名思义PoS是通过质押系统中的资产即coin来成为一个质押者(staker),这样就有权产出区块,质押份额越多,获得产出区块权的概率就越高,也代表着奖励越多。
在分布式系统中有一个 CAP 定理,是指一个分布式系统中存在着三元悖论,即不可能同时满足这三个特性:一致性(Consistency)、可用性(Availability)和分区容错性 (Partition tolerance),而只能满足其中两个。区块链作为一种分布式网络,这个定理也逐渐演变成了区块链的三元悖论,即 安全性(Security) 、 去中心化(Decentralization) 和 可扩展性 (Scalability) ,也是同时只能满足两个特性。
整体上看PoW系统更注重的是 安全性(Security) 与 去中心化(Decentralization) ,放弃 可扩展性 (Scalability) ,这也是Bitcoin网络的吞吐量非常慢的原因。而PoS系统更关注的是 可扩展性 (Scalability) 与 去中心化(Decentralization) ,但就PoS能否真的 实现 去中心化(Decentralization) ,我是比较持怀疑态度的。从保守主义与系统的更长期稳定的角度出发,我个人是坚定地站在PoW这边的,可能跟自身保守的性格有关,并不是特别看好PoS作为基础层能比较稳定。特别是像这次 5月份的Luna事件 ,事件大概的过程是Luna链上的算法稳定币UST缺乏价值支撑最终脱锚,其核心问题在于UST的锚定设计试图用一个PoS股权系统去支撑其锚定美元,而且还超发了太多UST,再加上UST与Luna的兑换设计缺陷最终导致Luna自身的死亡螺旋。但这个事件更大的意义应该是敲响了一个警钟,PoS机制在面对空头资本砸盘时真的还能维持稳定、维持所谓的去中心化吗?可能到时节点数量萎缩的速度会很快,逐渐趋于中心化。
所有系统设计都需要根据自身定位来折中,以下从价值锚定的角度,简单分析下为什么长期来看PoW会更有优势。
在PoW系统中三股主要的参与者分别是研发人员,投资者(或者叫用户)与Miner,这三者的相互制衡,使得这个系统达到一个稳定平衡的状态。而PoS系统中,将Miner这个重要的制衡力量移除了,投资者和Miner变成了同一群体 质押者(stakers) ,因此该群体滥用权力的行为会变得相对不受限制,并且该链随后的发展方向也可能会更加不平衡,更容易倾向有利于 质押者(stakers) 群体的方向。
PoW系统很好的阐述了什么是被普遍认可的价值,抽象上来看就是高代价的稀缺性 ,高代价与稀缺性两者缺一不可。PoS最多只能实现其中一个稀缺性。
Miner为了在链上生产区块赚取coin,不仅需要持续支付高额电力成本,还必须不断投入研发、升级硬件、优化基础设施和运营规模来保持其竞争力。最终结果是,能够长期持续盈利的Miner并不会是一个一层不变的群体,而是总在竞争中淘汰掉效率太低的Miner,使高效率的Miner能存活下来。这也更有利于 去中心化(Decentralization) ,因为不断变化的Miner群体意味着没有一个Miner可以在相当长的时间内保持网络的大部分算力,除非他们通过严酷的竞争考验,不断优化自身来提供更多的算力。
而PoS系统中的质押者实际上并多少真正的风险投入,也没有优胜劣汰的严酷竞争机制,他们只需要简单地运行一个staker节点就可以躺着赚利息,本质上只是将自己在银行系统里的钱简单的转化为链上资本,就可以坐地收割后进入这个系统的新人。这种行为并没有太多难度,只是简单地赚取“无风险”利息,他们并没有将资本转化为任何形式的需要面临风险考验的投资。
而且当发生硬分叉时,PoW的Miner选择支持哪条链时会更为谨慎,因为他们需要投入高昂的电力成本来为他们的选择背书,一旦选错了将损失所有投入成本。PoS系统如果发生硬分叉,质押的coin作为系统内部状态的一部分,硬分叉后质押者将在两条不同链上都拥有相同数量的资产,由于没有什么沉默成本,导致质押者更愿意两边都支持,从而使硬分叉更容易且更频繁地出现,这被称为 nothing at stake 问题。
PoW是真正能做到无准入限制的(Permissionless),就是说已经在这个系统中的老人无法限制新人加入,只要你有能力提供算力,就能直接接入网络中产出coin。而PoS系统中,新人要进入,都不得不先从老人手中买coin。
而且PoW中Miner为了支付各种高昂成本(电力,设备,基础设施等),产出coin后也不得不卖出一些以弥补成本,这同时也是一种把coin分发给更多人的过程; 特别是在熊市,Miner为了维持开销也不得不低价贱卖coin,这样新人才有机会以相对低的成本获得筹码入场,这才是一个健康的生态扩张过程 。而PoS中由于质押者并没有什么运行成本,也不需要面对太多竞争,质押者出块得到coin后不需要急着卖出,更容易哄抬价格,其实会变相激励场内老人剥削新入场者,不给后来人更多机会;整个系统会趋向于更封闭,逐渐演变成一个有限游戏,长期运行下去只会越来越中心化;系统中财富越来越集中,富者更富,穷者更穷,从而更不可能实现 去中心化(Decentralization) 。
由于PoW系统中是以提供工作量的方式产出区块的,随着时间的推移这些工作量都会被累积起来并使链不断向前延伸,这也是为什么叫区块链;这些累积的工作量也给攻击者造成了巨大障碍,如果想要反转整条链,不仅需要非常高的算力,还需要相当长的时间,这也为应对攻击提供了足够长的时间缓冲。
而PoS系统其实只是维护一个分布式账本, 并没有工作量累积的概念,一旦攻击成功,要反转整条链就是相当容易的,几分钟就可以搞定。
严格来说由PoW算力支撑的BTC不应归为高科技类,由于它整个系统架构更保守更稳定,提供的更多的是一种 物化价值(objective costliness) ,更能作为价值之锚,所以数字黄金这个称号很贴切。而像ETH(目前还是PoW,2.0升级后为PoS)这些更接近科技类创新平台,PoS本质上更像是一种股权系统,其实PoS系统反而是需要中心化,偏向更依靠整个社区的生命力,需要依靠核心团队的创新与开拓能力往前走;而PoW则需要去中心化,更偏向稳定与提供 物化价值(objective costliness) 。
区块链作为一个价值分配系统, 算力是它的价值之锚,如果没有算力,就会退化为一个股权系统 。算力在哪,资金就会跟去哪。目前的发展趋势也是逐渐往多层网络的方向发展,类似TCP/IP的多层协议栈。从作为基础层(Base Layer)的角度看,更需要的是长期稳定与提供价值支撑,因此PoW系统更合适;而PoS可能更多的是可以作为Layer2以实现 可扩展性 (Scalability) ,弥补PoW基础层的吞吐量不足,并通过锚定在PoW基础层上来获取算力安全性与价值支撑。
最后顺带说下最近市场行情,5,6月份以来的瀑布令很多人很恐慌,恐慌指数一度长时间停留在个位数;其实我觉得也没必要那么恐慌,要在这个圈子长期活下去,面对这种大波动的心理预期还是要有的。想起之前红杉资本的沈南鹏经常提到一个词Grit,沙砾,它是砾石在千万次打磨后留下来的细小颗粒;Grit代表了勇气和持之以恒的一种坚持,有种经常被按地上摩擦但依然勇往直前的感觉。这个和塔勒布讲的反脆弱性有异曲同工之妙,承载价值的东西就应该具有这种品质,PoW系统肯定是有反脆弱性的。
回望2017年入圈后经历过的各种事件,其实像这样的大波动近乎每年都有(除了2019年一年比较顺利外);像2017年国内的94事件,2018年一整年的大熊市,2020的312事件,2021的519事件,再到2022今年的5,6月份市场转熊,每次经历大波动后,市场都会淘汰掉该淘汰的,出清掉该出清的风险,对整个行业发展也是好事。眼光还是应该放远一点,至少看5到10年后的变化,科技发展过程中所带来的波动和风险是不可避免的,日光之下无新鲜事,每次科技革命过程中总会夹杂着众多的反对、质疑,还有众多的投机、骗局;这个过程也总是通过各种暴雷、回归,清除泡沫后价值重估,夯实了基础后积蓄能量再次进入跃升到新的发展阶段。 价值互联网的到来是一件无法回避的事情 ,当理解和看清了这种趋势后,规避掉各种坑和市场噪音,远离合约杠杆和各种山寨的诱惑,握住核心资产,时间本身就会带来回报。
4、区块链共识机制之POS和DPOS
工作量证明算法作为区块链第一个也是目前经受住足够实践检验的一个共识机制,解决的是分布式系统交易信息一致性的问题,在一个去中心化的网络中构建了彼此不信任节点的信任机制,也是比特币成功应用的关键技术环节。
经过几年的实际运转,这一算法的弊端也显露出来,比特币网络每秒完成600万亿次SHA256运算,消耗了大量的电力资源,而最终这些计算没有任何实际或科学价值。这些运算存在的唯一目的是用来解决工作量证明问题,另外一个现实的威胁便是算力集中,工作量证明本质上是利用穷举法找出符合规定条件的哈希值的过程,算力越强,获得记账权(即挖到矿)的可能性便越高,一开始是最早利用显卡挖矿的人,后来是利用FPGA矿机的人,再后来是利用ASIC专用芯片挖矿的人,现在就是不断制造出更好的ASIC的人,另外还有“矿工”节点联合起来组成矿池,如Ghash,Ghash 2014年曾经发表声明,将在今后确保不超过40%的全网算力,这类自律声明是对比特币去信任机制的莫大讽刺。
比特币自诞生以来,人们便开始尝试其他除了工作量证明算法之外的其他共识机制,如具有代表性的权益证明POS、委托权益证明DPOS、拜占庭容错机制(BFT)及实用拜占庭容错机制(PBFT)等,下面将主要介绍POS和DPOS,BFT和PBFT留待下一篇。
权益证明POS
POS是一类共识算法,或者说是一类共识算法的设计思想,而不是一个,最早采用POS的是Peercoin。Peercoin是2012年8月,一个化名Sunny King的极客推出的一类加密货币,采用工作量证明机制+权益证明机制,首次将权益证明机制引入了加密货币。Peercoin引入了“币龄”的概念,每个币每天产生1币龄,比如你持有100个币,总共持有了30天,那么,此时你的币龄就为3000。当一个新的区块产生时,其他想获得记账权的节点同比特币也需要计算哈希值,得出满足条件哈希值的难易与难度值有关,这个难度值这里与币龄成反比,即你的币龄越大,得出符合条件的哈希值的概率就越大,同时你的币龄被清空,记账后系统会给予你相应“利息”,你每被清空365币龄,获得利息为:3000 * 利率 / 365,Peercoin的利率为1%,即0.08个币。
可以看出,在POS机制下,持有币越多,越容易获得记账权,接近于赢家通吃的感觉,但持有的币越多,越接近于一个诚实的节点,因为破坏整个网络带来的损失也越大。Peercoin的POS机制有一个漏洞,对于不持有币的人而言,他们本来就没什么收益,所以一些恶意攻击对于他们则是无损失的,这就是Nothing-at-stake attack(无利益攻击)。后续的比较成功的POS都引入了对付这种攻击的机制。
以太坊系统的目标是在今年引入权益证明,即Casper。在权益证明共识机制之下,用户将能够在以太坊网络拥有“币权”。用户如果诚实行事并确认了合法交易,将获得与其股权成比的利息;如果恶意行事并试图网络中作弊,就会失去其权益。
委托权益证明DPOS
委托权益证明DPOS是POS的变种,运用DPOS的典型如比特股等,其基本原理在于全网投票选出101个节点代行记账权限,这些代表节点的权限完全一致。代表节点轮流记账,可以选择创造区块或不创造区块。但他们无法改变交易的详情,恶意或者迟到的代表节点的行为也会被公之于众,那么网络可能将他们简单快速地投票驱逐出去。被驱逐出去的代表节点将会失去他们记账权限,以及对应的收入。
DPOS作为是一种弱中心化的共识机制,保留了一些中心化系统的关键优势,如交易速度等(每个块的时间为10秒,一笔交易在得到6-10个确认后大概1分钟,一个完整的101个块的周期大概仅仅需要16分钟),但每个持币者都有能力决定哪些节点可以被信任,并且事实上,代表节点会主动降低自己的收入来赢得更多投票,剩下的收入会作为股息,支付给所有的比特股持有人。DPOS有点类似于代议制民主及股份公司董事会制度,都是一种精英制度,但其身份受制于下面的民众,在DPOS中,币的持有者至少有权决定代表节点—或者说矿工的身份。
5、区块链目前用到哪些共识机制?它们各自的优缺点和适用范围是什么_百度知 ...
目前主要有四大类共识机制:Pow、Pos、DPos、Pool1、Pow工作量证明,就是大家熟悉的挖矿,通过与或运算,计算出一个满足规则的随机数,即获得本次记账权,发出本轮需要记录的数据,全网其它节点验证后一起存储;
优点:完全去中心化,节点自由进出;
缺点:目前bitcoin已经吸引全球大部分的算力,其它再用Pow共识机制的区块链应用很难获得相同的算力来保障自身的安全;挖矿造成大量的资源浪费;共识达成的周期较长,不适合商业应用
2、Pos权益证明,Pow的一种升级共识机制;根据每个节点所占代币的比例和时间;等比例的降低挖矿难度,从而加快找随机数的速度。
优点:在一定程度上缩短了共识达成的时间
缺点:还是需要挖矿,本质上没有解决商业应用的痛点
3、DPos股份授权证明机制,类似于董事会投票,持币者投出一定数量的节点,代理他们进行验证和记账。
优点:大幅缩小参与验证和记账节点的数量,可以达到秒级的共识验证
缺点:整个共识机制还是依赖于代币,很多商业应用是不需要代币存在的
4、Pool验证池,基于传统的分布式一致性技术,加上数据验证机制;是目前行业链大范围在使用的共识机制
优点:不需要代币也可以工作,在成熟的分布式一致性算法(Pasox、Raft)基础上,实现秒级共识验证;
缺点:去中心化程度不如bictoin;更适合多方参与的多中心商业模式
在使用共识机制,保证数据一致性时的巨大优势(共识机制则是Ripple首先提出的,数据正确性优先的网络交易同步机制,在共识网络中,无论软件代码怎么变动,无法取得共识就无法进入网络,更不要提分叉了)。
——————————————————
PS:稍微自黑下,虽然共识机制绝对能确保任何时候都不会产生硬分叉。但是,这种机制的缺点也比较明显,那就是要取得与其他节点的共识,明显要比当前Bitcoin网络漫长的多。极端情况下,在Ripple共识机制网络中掉线的后果也是很恐怖的。
有可能你家停电一天,第二天整个系统就再也无法与其它Rippled节点取得共识了(共识机制事实上需要超过80%的节点承认了你的数据,你的提交才会被其它节点接受,否则就会被排它的拒绝连接),甚至只能清空自己全部500多GB数据重新同步才能连上其它Ripple节点。
所以目前来说,现有的Rippled端并不适合民用(商用的话影响就比较小,比如RL自己的Rippled节点托管在亚马逊云数据中心,长时间无响应是可以高额索赔的,而且那种地方除了大型灾害几乎不会断),这也是RL一直想改进的方面之一。
目前区块链的共识机制大致可以分为三类:pow,pos,dpos,pow即Proof of Work,工作量证明机制,在POW机制下为了获取记账权和激励,矿工必须通过一定量的工作量进行数学运算,谁最快最准计算出了答案,就获取到了记账权和奖励,这是以时间、资源为担保,确保记账工作的真实和有效性,POW是一种按劳分配的模式,算力越高、挖矿时间越长,获得的数字货币就越多了,比较典型的就是btc,btm,pos,Proof of Stake,权益证明机制,POS也称股权证明机制,是通过持币产生利息,从而对于验证人以及节点进行奖励,这里我们大家首先要了解一个概念,就是币龄.币龄等于币的数量乘以币持有的天数,因而你持有的币数量越多,持有天数越长,你获到的记账权和激励的概率就会越大啦!当你获得激励之后,你的持币天数就会清零,币龄也回被清空这样周而复始,比较有代表性的是量子链,关于dpos是什么,以及这些主要共识机制的利弊是什么,字太多了,可以看看这个视频,里面讲的比较清楚:喵懂区块链11期 | 不了解共识机制,何以谈区块链?

转载请带上网址:http://www.pos-diy.com/posji/22315.html
- 上一篇:pos机0.58高吗
- 下一篇:易刷pos机价格