区块链共识算法之POS(2)

    POS(Proof of Stake)共识机制,是一种由系统权益代替算力决定区块记 账权的共识机制,拥有的权益越大则成为下一个区块生产者的概率也越大。POS 的合理假设是权益的所有者更乐于维护系统的一致性和安全性。如果说 POW 把 系统的安全性交给了数学和算力,那么 POS 共识机制把系统的安全性交给了人 性。人性问题,可以用博弈论来研究,POS 共识机制的关键在于构建适当的博弈 模型相应的验证算法,以保证系统的一致性和公平性。
    POS 共识机制没有像 POW 那样耗费能源和硬件设备,缩短了区块的产生 时间和确认时间,提高了系统效率。但存在的缺点也有很多,包括:
    ◼ 实现规则复杂,中间步骤多,参杂了很多人为因素,容易产生安全漏洞。
    ◼ 与 POW 共识机制一样没有最终性,需要检查点机制来弥补最终性。
(1) POS 共识机制的最早实践
    早期 POS 共识机制的实现一般是结合了 POW 共识机制,如点点币(Peer Coin)、黑币(Black Coin)等。其主要思想是区块记账权的获得难度与节点持 有权益的币龄成反比。相比于 POW 共识机制,一定程度减少了数学运算带来的 资源消耗,达成共识的时间也相应地缩短,出块效率提高。 但这种 POS 共识机制的致命弱点在于币龄依赖问题,攻击者在积累长时间 币龄后,挖矿的难度大大降低,容易对系统发起双花攻击。
(2) 纯 POS 共识机制
    纯 POS 共识机制由节点所持权益(持有数量乘以持有时间)决定区块生产 者,权益比例越高,被选为区块生产者的概率也越大,区块生产者选举过程中没 有挖矿。这种机制的践行者有未来币(NXT)和量子链(QTUM)等。
    纯 POS 共识机制没有引入外部资源,仅仅依靠自身的权益来维护网络安全, 因此其不需要消耗能源来进行计算;而且由于其没有引入外部的资源,因此不会 担心外部攻击,例如外界的算力攻击。但是,这种 POS 共识依然存在很多问题:
    ◼ 无利害关系攻击(Nothing-at-Stake attack)
    基于权益的挖矿不需要像 POW 共识一样投入物理算力和能源的消耗,只需 要持有权益。假设系统中出现了两个分支链,那么对于持有币的“挖矿者”来讲, 矿工的最佳的操作策略就是同时在两个分支上进行“挖矿”,这样无论哪个分支 胜出,对币种持有者来讲,都会获得本属于他的利益,而不会有利益损失。 这导致的问题是,只要系统存在分叉,“矿工们”都会同时在这几个分支上 挖矿;因此在某种情况下,发起攻击的分叉链是极有可能成功的,因为所有人也 都在这个分叉链上达成了共识;而且甚至不用持有 51%的权益,就可以成功发 起分叉攻击。
    ◼ 马太效应
    POS 共识机制下的权益累计由持币数量乘以持币时间得到,它势必形成赢 家通吃的局面。假设电力成本均为 3 币,大户持有 100 币天获得 100 利息币, 小户持有 1 币天,获得 1 利息币。这样大户会倾向于开机获得更多的币天,而 小户倾向于关机,(97,0)是最终博弈的选择。如此,大户获得的币越来越多, 造成富者愈富,贫者愈贫的局面。
小户\大户 开机 不开机
开机 97,-2 0,-2
不开机 97,0 0,0
表:POS 博弈收益矩阵4
    ◼ 记账节点激励问题
    尽管 POS 中的“挖矿”不用消耗算力,运行成本很低,但是也存在如何激 励 POS 矿工的问题。因为一般的 POS 系统是没有新币产生的,矿工只能赚取交 易费,而且在交易费不高的情况下,对矿工的激励十分有限。
(3)改进的 POS 共识机制
    针对纯 POS 共识机制存在的问题,改进的 POS 共识机制通过设立惩罚制 度来保证系统安全,区块验证者以存入押金的形式参与,对系统恶意攻击的惩罚 力度要比奖励大成百上千倍。
    POS 共识的这种改进方便区块链进行分叉选择和在链上设置检查点,解决 了纯 POS 共识机制的分叉问题,并使共识结果获得了最终性。但是对于如何判 定恶意攻击依然是个备受争议的问题。POS 共识的实行过程始终是一个复杂的 人性博弈过程。 以太坊的 Casper FFG 版 POS 机制将于以太坊第三阶段 Metropolis 中的 第二部分 Constantinople(君士坦丁堡)中投入使用,这是一种融合了改进的 POS 共识和 POW 共识的混合共识。以太坊 Casper FFG 版本的记账人选择和 出块时间都由 POW 共识完成,POS 共识在每 100 个区块处设置检查点,为交 易确认提供最终性,也是这种 POW-POS 混合共识机制优于 POW 共识机制的 地方。
区块链共识算法之POS(2)_第1张图片区块链、后端技术交流!

你可能感兴趣的:(区块链)