版权归原作者所有,如有侵权,请联系我们

[科普中国]-见证人机制

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

权益证明就是每个节点根据自己的代币数量或者币龄等进行投票,而权益证明还有一个改良版叫做委托权益证明DPoS,也就是任何节点可以将自己的权益委托给别人进行投票,使用委托权益证明解决了两个问题:减少确认节点数量,提高确认性能。部分节点不能经常在线,无法进行确认,即可转让自己的权益获取利润。在DPoS中,投票产生的生成区块并且签名广播的即为见证人。见证人实质上是DPoS委托股权证明共识机制中的记账者。

简介选择见证人这个词是因为它是一个不受管制的法律上中立的用语。传统合同一般有见证人签字的地方。对于极其重要的合同,有时会用公证人。无论是见证人还是公证人都不是合同的当事人,但他们在证明特定人士在特定时间签署了合同中扮演了重要角色。在BitShares,见证人在证明交易签名和时间上,通过将其打包进区块扮演了类似的角色。在DPOS股权委托证明机制中,股权持有者可以选择任意数量的见证人来生成区块。每个区块是一组变更数据库状态的交易的集合。每个帐户允许每股一票选举见证人,这个过程称为批准投票。获票前N名的见证人会被选用。见证人的个数(即N)的确定需要至少50%的投票人认为足够去中心化。在股权持有者设置他们心仪的见证人个数时,也必须投票给至少这个数目的见证人。股权持有者不能超限投票。

见证人每生成一个区块都会因提供服务而获得报酬。他们的费率是由股权持有者通过他们选出的委托人设置(稍后将讨论)。如果一个见证人未能生成一个区块,那么他将得不到报酬,并在将来有可能落选。活跃见证人的名单每个维护间隔(1天)在统计选票是更新一次。然后,这些见证人会随机排序,根据这个固定顺序每2秒有一个见证人获得生成一个区块的机会。当所有见证人都获得了机会后,他们被再次随机排序。如果某个见证人在他的时间窗口中没有生成区块,这个时间窗口将被跳过,下一个见证人来生成下一个区块。任何人都可以通过观察见证人参与率来监控网络健康状况。从历史上看,BitShares一直保持着99%的见证人参与率。无论何时出现见证人参与率低于一定水平时,网络的用户可以延长交易确认时间,并提高对网络连通性的警惕。这个特性让BitShares有了独特的优势,就是在问题出现1分钟内便能提醒用户潜在的风险。

股权委托证明机制PoS(Proof of Stake)本质上是采用权益证明来代替PoW 的算力证明,记账权由最高权益的节点获得,而不是最高算力的节点。权益代表节点对特定数量的货币的所有权,称作币龄或币天数。币龄等于货币数量乘最后一次交易时间长度。例如,在交易中某人收到10 个币,持有10天,则获得100 币龄,如果又花去 5个币,则消耗掉50币龄。采用 PoS 共识机制的系统在特定时间点的币龄是有限的,长期持币者有更长的币龄,所以币龄可以视为其在系统中的权益。股权委托证明机制(Delegated Proof of Stake, DPOS)在 PoS 的基础上,将记账人的角色专业化。先以权益作为选票来选出记账人,然后记账人之间再轮流记账。所有持币者投票选出一定数量的节点。被选中的节点代理他们进行验证和记账,记账人必须保证 90% 在线。该共识机制中每个节点都能够自主决定其信任的授权节点,且由这些节点轮流记账生成新的区块。

DPoS 共识机制的基本思路类似于“董事会决策”,即系统中每个股东节点可以将其持有的股份权益作为选票授予一个代表,获得票数最多且愿意成为代表的前 101 个节点将进入“董事会”,按照既定的时间表轮流对交易进行打包结算并且签署 ( 即生产 ) 一个新区块。每个区块被签署之前,必须先验证前一个区块已经被受信任的代表节点所签署。“董事会”的授权代表节点可以从每笔交易的手续费中获得收入,同时要成为授权代表节点必须缴纳一定量的保证金,其金额相当于生产一个区块收入的 100 倍。授权代表节点必须对其他股东节点负责,如果其错过签署相对应的区块,则股东将会收回选票从而将该节点 “投出” 董事会。因此,授权代表节点通常必须保证 99%以上的在线时间以实现盈利目标。显然,与 PoW 共识机制必须信任最高算力节点和PoS 共识机制必须信任最高权益节点不同的是,DPoS 共识机制中每个节点都能够自主决定其信任的授权节点且由这些节点轮流记账生成新区块,因而大幅减少了参与验证和记账的节点数量,可以实现快速共识验证 1。

工作量证明比特币网络中,选择了使用PoW工作量证明来解决共识问题,而工作量证明中,所有比特币网络中的全节点可以对网络中的交易进行监听,并且将监听到的交易打包成块,然后选择一个随机数合并上前一个区块哈希以及造币交易(Coinbase)进行计算,得出一个符合比特币网络规定的范围值,而选择这个随机数是需要大量的计算的,会耗费大量的算力,因此人们将这些记账的节点形象的类比为淘金的矿工。矿工实质上就是PoW工作量证明共识机制中的记账者。PoW(Proof of Work)机制是适用于比特币系统的共识机制。通过设计与引入分布式网络节点的算力竞争,保证数据一致性和共识。所有参与“挖矿”的网络节点都在遍历寻找一个随机数,保证使当前区块的区块头的双 SHA256 运算结果小于或等于某个值。一旦某个节点找到符合要求的随机数,该节点就获得当前区块的记账权,并获得一定数额的比特币作为奖励。此外,还引入动态难度值,求解该数学问题所花费的时间在 10 分钟左右。PoW 共识机制将比特币的发行、交易和记录联系起来,还保证了记账权的随机性,实现比特币系统的安全和去中心化。该算法的优点是易实现,节点间无需交换额外的信息即可达成共识,破坏系统需要投入极大的成本。缺点是浪费能源,区块的确认时间难以缩短。

本词条内容贡献者为:

李嘉骞 - 博士 - 同济大学

Baidu
map