不是采用DPOS共识的区块链
1. 区块链共识机制之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中,币的持有者至少有权决定代表节点—或者说矿工的身份。