混合PoW/PoS共识机制详解
区块链的共识机制用于确保参与者之间就区块链的当前状态达成一致。共识机制决定了哪些节点能够添加新的交易区块,其主要目标之一是确保区块链不被重写。
工作量证明共识(POW)
重写区块链的难度在于它作为记录金融交易的账本。当区块中出现将资金发送到钱包的交易时,并且在该区块之上已经构建出了其他区块(已确认),区块(交易)将不可能被重写。
攻击者首先向交易所进行充值,该交易记录在区块X中,然后攻击者开始独自构建另一条并行链(不向网络广播该区块)。而当达到充值交易所需的确认数量后,攻击者会将该代币兑换成其他货币,并从交易所中提取。当提现交易完成后,攻击者会发布独自构建的并行链,并且如果该区块链具有比原始链更多的PoW(区块),则网络将接受它作为合法链,而原始区块链(包含攻击者充值交易的)将成为历史版本而消失。之后,攻击者就可以再次自由地使用这些代币。
权益证明共识(POS)
权益证明在代币分配方面还存在其他一些问题。PoW矿工的成本很高(硬件,电力),并且通常需要出售他们挖到的大部分代币以满足这些成本。因此,许多开采的硬币可以在市场上购买,而不会被矿工所囤积。而权益证明的伪造成本却非常低,他们不需要为了维持网络运营而售出他们获得的代币。参与权益证明的大额股权持有人倾向于增加他们流通中的代币份额,因为他们从网络用户那里收取大量奖励和交易费用。这被比作封建主义,即网络由大额代币持有者所拥有和操纵,并且用户使用过程中还需要向他们支付手续费。在POS中,通常会设置一些限制条件,使普通用户不能直接参与到权益证明共识中。
混合PoW/PoS
要参与到Decred的权益证明中,持有人必须锁定他们的DCR并购买“票证”。个人票证的价格由类似市场的机制设定,系统的目标是获得一定数量的票证(40,960) – 如果超过了目标数量,则价格会上涨,如果未到达数量价格则下降。当用户购买票证时,他们使用的DCR将被锁定(即,他们不能花费),锁定期会持续到他们的票证被伪随机函数调用完成投票,或在大约142天后到期。这为PoS机制带来了机会成本,通过这种方式能够确保PoS选民在游戏中得到公平且能够遵循网络的最佳利益。
PoS参与者(也称为选民或利益相关者)可以扮演三个不同的角色:拒绝投票、对共识规则的变更进行投票,以及使用Politeia定级系统对项目级别管理进行表决。第一种角色“拒绝投票”,是PoS选民最直接参与维持共识的方式。
在区块中投票
因此,PoS选民有权在不影响自己收益的前提下剥夺矿工的奖励。这限制了PoW矿工的权力,防止他们对网络共识规则的篡改,这些规则须由利益相关方投票决定。实际上,当检测到恶意或低效行为时,PoS选民可以通过采用投票“否决”这些恶意的矿工行为,通过这种方式,防止恶意PoW矿工篡改交易和获得非法奖励。
混合PoW/PoS机制的设计能够显著增加网络攻击的成本,因为攻击者必须同时规避两个独立的系统。尤其是在PoS组件被配置为仅能缓慢的获取票证。每个区块仅可购买有限数量的票证,购买大量的票证会导致价格的急剧上涨。此外,一旦需要购买票证,用于购买它们的资金将是被锁定,这种方式会锁定攻击者的用于攻击的资金,使其面临贬值的风险。
共识修改投票
Decred在一开始就决定让PoS利益相关者成为区块链治理中的主导决策力量。修改或写入共识规则需要批准升级程序,通过该程序,只有通过投票后才能对网络共识规则进行修改。而且只有在至少75%的投票同意后才能进行更改。如果有一定比例的矿工(95%)和选民(75%)正在运行升级软件并对规则进行潜在的更改,该过程就会开始执行。如果修改提案在4周的投票期后获得了超过75%的支持,则被接受,否则会被拒绝,如果投票数量不足,则重新开始投票。如果提案被接受,那么共识机制的修改将在一个月后激活。
项目管理:Politeia
Decred的区块奖励分为PoW矿工奖励(60%),PoS选民奖励(30%)和Treasury(10%),用于资助开发该项目的开源软件贡献者。票证持有人有权投票决定该部分资金应该如何使用、应该添加哪些功能,并通过Politeia平台决策。