混合PoW/PoS共识机制详解

分享
Copied to clipboard!
混合PoW/PoS共识机制详解

作者: Decred 撰稿人,Richard Red

区块链的共识机制用于确保参与者之间就区块链的当前状态达成一致。共识机制决定了哪些节点能够添加新的交易区块,其主要目标之一是确保区块链不被重写。


工作量证明共识(POW)

具有工作量证明共识的区块链(如比特币)只能由矿工创建,他们通过部署硬件,以及计算如何有效地解决某个特定的数学问题。每次矿工完成有效猜测时,区块链网络就可以接受他们所构建的区块。虽然矿工可以选择任一条链进行计算,但网络只接受具有最多工作量证明(即哈希或计算最多)的链作为合法链。这意味着矿工被激励在最长的链上进行挖矿,当他们发现有效的新区块时,他们将尝试找到如何在新区块上构建的解决方案。

重写区块链的难度在于它作为记录金融交易的账本。当区块中出现将资金发送到钱包的交易时,并且在该区块之上已经构建出了其他区块(已确认),区块(交易)将不可能被重写。

如果某个实体控制了足够多的哈希算力来攻击“真实链”,它可以通过重新构建“旧”区块从而取代最新的区块,实现对区块链的重写(或重构)。以下是此类攻击的简要说明,也称为51%攻击

攻击者首先向交易所进行充值,该交易记录在区块X中,然后攻击者开始独自构建另一条并行链(不向网络广播该区块)。而当达到充值交易所需的确认数量后,攻击者会将该代币兑换成其他货币,并从交易所中提取。当提现交易完成后,攻击者会发布独自构建的并行链,并且如果该区块链具有比原始链更多的PoW(区块),则网络将接受它作为合法链,而原始区块链(包含攻击者充值交易的)将成为历史版本而消失。之后,攻击者就可以再次自由地使用这些代币。

由于矿工是唯一可以在PoW类加密货币中直接向区块链中添加区块的实体,这使他们在治理中发挥了重要作用。如区块链网络中需要针对共识规则进行修改,就必须得到大多数哈希算例的支持。“软分叉”需要足够的矿工去重新识别新的共识规则,以便用户可以进行交易并期望他们的交易得到正确处理,并将交易数据打包在区块中。“硬分叉”则将原有区块链网络分成两部分,并且大多数矿工接受的“工作量PoW的链是正确的链”,矿工们将有权决定哪一条链被视为合法的。


权益证明共识(POS)

权益证明共识是另一种决定哪些矿工可以添加新的区块并验证区块链当前状态的方法。通过权益证明,而不是矿工竞争解决问题,根据钱包中的代币数量(或“权益”)的多少,通过某种机制确定下一个区块生产者。该共识过程所以来的原则是,相信那些拥有最多利益的人将为整个网络做出负责合理的决策。

权益共识的证明消除了对能源密集型挖矿活动的需求,但缺乏显著的能源支出却又造成了另一个问题,有时被称为“无关紧要。”以分叉举例来说,伪造的POS(“锻造”通常是被用来代替“挖矿”)会分别在两条链上开采,因为额外创建另一条链的成本很少,所以他们可以同时在两条链上获得收益。这对于区块链网络来说是个问题,因为共识机制的目的是只承认有一条合法的链,且仅认可合法链的状态。

权益证明在代币分配方面还存在其他一些问题。PoW矿工的成本很高(硬件,电力),并且通常需要出售他们挖到的大部分代币以满足这些成本。因此,许多开采的硬币可以在市场上购买,而不会被矿工所囤积。而权益证明的伪造成本却非常低,他们不需要为了维持网络运营而售出他们获得的代币。参与权益证明的大额股权持有人倾向于增加他们流通中的代币份额,因为他们从网络用户那里收取大量奖励和交易费用。这被比作封建主义,即网络由大额代币持有者所拥有和操纵,并且用户使用过程中还需要向他们支付手续费。在POS中,通常会设置一些限制条件,使普通用户不能直接参与到权益证明共识中。


混合PoW/PoS

混合工作量证明、权益证明系统的目标是结合二者优势,并平衡彼此的弱点。Decred是为数不多的混合使用PoW和PoS共识机制的加密货币,并将它们整合产生了多因素和混合的共识机制。

在某些意义上,“Masternode coin”也是混合机制,因为它们具有可识别的工作量证明组件,执行着与比特币类似的角色,属于特殊节点的附加角色。这些特殊节点通常也持有一定数量的代币作为抵押,以证明他们可以信任且符合网络的最佳利益,这类似于权益证明机制。Dash是原始的主节点代币,并将此模型称为服务证明。本文重点介绍具有混合权益证明的组件,所以不会讨论虑主节点代币或服务证明的代币范围。

Decred的PoW组件与其他基于PoW的项目类似,并使用Blake-256哈希函数。Decred的PoS组件以及它如何构建区块链的方式非常独特,值得进一步解释。

要参与到Decred的权益证明中,持有人必须锁定他们的DCR并购买“票证”。个人票证的价格由类似市场的机制设定,系统的目标是获得一定数量的票证(40,960) - 如果超过了目标数量,则价格会上涨,如果未到达数量价格则下降。当用户购买票证时,他们使用的DCR将被锁定(即,他们不能花费),锁定期会持续到他们的票证被伪随机函数调用完成投票,或在大约142天后到期。这为PoS机制带来了机会成本,通过这种方式能够确保PoS选民在游戏中得到公平且能够遵循网络的最佳利益。

PoS参与者(也称为选民或利益相关者)可以扮演三个不同的角色:拒绝投票、对共识规则的变更进行投票,以及使用Politeia定级系统对项目级别管理进行表决。第一种角色“拒绝投票”,是PoS选民最直接参与维持共识的方式。


在区块中投票

当PoW矿工找到有效的区块时,他们会在网络上进行广播,为了使该区块被认为是有效的,该区块中必须具有随机选择的5个投票中的至少3票。PoS选民需保持钱包开放,并需要在他们的选票被调用时,进行回复(或者让投票服务提供商代表他们)。当某个POS票证被调用进行投票和响应时,其所有者将收到奖励。

当票证被调用时,他们对前一个区块的常规交易进行表决,选择接受或拒绝。在获得至少3票之前,网络上的节点将不会认为新区块是有效的。如果大多数票证都拒绝投票给前一个区块中的交易,那么它们将返回给mempool。这些常规交易包括PoW矿工的奖励,但不包括PoS选民的奖励。

因此,PoS选民有权在不影响自己收益的前提下剥夺矿工的奖励。这限制了PoW矿工的权力,防止他们对网络共识规则的篡改,这些规则须由利益相关方投票决定。实际上,当检测到恶意或低效行为时,PoS选民可以通过采用投票“否决”这些恶意的矿工行为,通过这种方式,防止恶意PoW矿工篡改交易和获得非法奖励。

这种PoS验证层可显著提升网络的安全性,并防御多数的攻击。大多数双重支付攻击的常用方法是通过私自隐匿的挖矿来取代现有链,从而重写区块链,然后在一段时间后发布它并致使“旧”链中的交易无效(即,他们可进行双重支付)。由于Decred区块要求随机选择票证的输入,该方式被认为是有效的,并且在收到该输入之前不能由PoW矿工建立区块,PoW矿工不可能秘密的进行挖矿,除非他们也同时控制了大部分票证(相见如下文章)。

混合PoW/PoS机制的设计能够显著增加网络攻击的成本,因为攻击者必须同时规避两个独立的系统。尤其是在PoS组件被配置为仅能缓慢的获取票证。每个区块仅可购买有限数量的票证,购买大量的票证会导致价格的急剧上涨。此外,一旦需要购买票证,用于购买它们的资金将是被锁定,这种方式会锁定攻击者的用于攻击的资金,使其面临贬值的风险。

使随机选择的利益相关者对每个区块进行投票,意味着区块链必须与所有参与者挖矿的节点共享,从而增强网络的安全性。 Decred的混合机制旨在为利益相关方提供超越PoW矿工的权力。


共识修改投票

Decred在一开始就决定让PoS利益相关者成为区块链治理中的主导决策力量。修改或写入共识规则需要批准升级程序,通过该程序,只有通过投票后才能对网络共识规则进行修改。而且只有在至少75%的投票同意后才能进行更改。如果有一定比例的矿工(95%)和选民(75%)正在运行升级软件并对规则进行潜在的更改,该过程就会开始执行。如果修改提案在4周的投票期后获得了超过75%的支持,则被接受,否则会被拒绝,如果投票数量不足,则重新开始投票。如果提案被接受,那么共识机制的修改将在一个月后激活。

混合PoW/PoS共识机制详解


项目管理:Politeia

Decred的区块奖励分为PoW矿工奖励(60%),PoS选民奖励(30%)和Treasury(10%),用于资助开发该项目的开源软件贡献者。票证持有人有权投票决定该部分资金应该如何使用、应该添加哪些功能,并通过Politeia平台决策。


总结思想

由于PoS选民可以获得30%的区块奖励,他们无法仅通过持有现有权益而维持他们在DCR流通中的相对份额。大多数新的DCR都是PoW矿工挖矿获得的,从而减轻他们在PoS系统中“无关紧要”的问题,也发挥了他们在保护网络方面的作用。矿工通必须出售他们收到的大部分奖励以维持他们的运营成本,因此该方式能够确保市场上的DCR供应需求合理。

Decred区块链呈现了独特的架构模式,也是混合PoW/PoS系统最知名的例子之一。与PoS共识机制在分组中发生的重大变化一样,未来通过混合PoW/PoS机制部署的项目也是独特的,并且不一定遵循现有的Decred框架。

Loading