作者:Richard Red,Decred 贡献者。

区块链的共识机制用于确保参与者对区块链的当前状态达成一致。共识机制决定谁可以添加新的交易区块,其主要目的之一是确保区块链不会被重写。


工作量证明共识

具有纯工作量证明共识的区块链(如比特币)只能由矿工添加新区块,矿工部署硬件来高效猜测数学问题的答案。每次矿工做出有效猜测时,他们都可以构建网络接受的区块。虽然矿工可以选择挖掘任何链,但网络只会接受累积工作量证明最多的链(即哈希值或猜测最多)作为合法链。这意味着矿工有动力在最长的链上进行挖掘,当他们看到有效的新区块时,他们会尝试找到下一个区块的解决方案,使他们能够在前一个区块的基础上进行构建。

区块链的重写难度使得它能够充当金融交易账本。当交易出现在将货币发送到钱包的区块中,并且在该区块之上构建了多个区块(确认)时,该区块(和交易)不太可能被重写。

如果某个实体控制了足够的哈希算力,超越了“诚实链”,它可以通过挖掘“旧”区块而不是最新区块来重写(或重组)区块链。以下是这种攻击(也称为 51% 攻击)的简化说明:
攻击者通过向交易所发送区块 X 来消费,然后开始私下挖掘平行链(区块不会广播到网络)。一旦所需的确认次数已通过,攻击者就会将代币换成其他东西,并将其从交易所提取。当提款结清后,他们会释放平行链,如果平行链的 PoW(区块)比原始链多,网络将接受它作为合法链,原始链所代表的历史版本(包括攻击者的存款)将消失。然后攻击者可以自由地再次使用这些代币。

由于矿工是纯 PoW 加密货币中唯一可以直接将区块添加到链中的实体,因此他们在治理中发挥着重要作用。任何对网络共识规则的更改要想被采纳,都必须得到大多数哈希算力的支持。“软分叉”需要足够多的矿工来识别新规则集,以便用户可以进行交易并期望他们的交易得到正确处理并包含在区块中。“硬分叉”会将网络分成两个部分,根据普遍接受的规则“拥有最多 PoW 的链就是应该遵循的正确链”,矿工将决定哪一条链被视为合法。


权益证明共识

权益证明共识是决定谁可以添加新区块并验证区块链当前状态的另一种方法。使用权益证明,矿工们不再相互竞争解决问题,而是通过基于钱包中持有的(或“质押的”)代币数量的某种流程来确定下一个区块生产者。此流程相信,拥有最多权益的人将为整个网络做出负责任的决策。

权益证明共识消除了能源密集型挖矿的需要,但缺乏大量能源消耗带来了另一个问题,有时被称为“无利害关系”。在分叉链的情况下,PoS 伪造者(通常使用“伪造”而不是“挖矿”)有动力验证两条链上的区块,因为他们在另一条链上工作的成本非常低,而且他们可以在两条链上获得奖励。这对网络来说是一个问题,因为应该只有一条链,而就该单条链的状态达成一致是共识机制的全部目的。

权益证明在代币分配方面存在另一个问题。PoW 矿工的成本很高(硬件、电力),通常必须出售其开采的大量代币以支付这些成本。因此,许多开采的代币可以在市场上购买,而不是被矿工囤积。权益证明伪造者的运营成本非常低,因此没有同样的压力出售他们为维护网络而获得的代币。参与权益证明的大型持有者往往会增加其流通代币的份额,因为他们从网络用户那里收取区块奖励和交易费。这被比作封建主义,即网络实际上由代币持有者拥有和运营,用户向他们支付某种租金以使用它。通常存在一些临界点,低于该临界点就不可能直接参与权益证明。


混合 PoW/PoS

混合工作量证明和权益证明系统的目标是充分利用各自方法的优势,并利用它们来平衡彼此的弱点。Decred 是少数以可识别形式同时使用 PoW 和 PoS 并将它们合并在一起以产生多因素或混合共识机制的加密货币之一。

从某种意义上说,“主节点货币”也是一种混合货币,因为它们具有可识别的工作量证明组件,其作用与比特币类似,并且还有特殊节点的额外作用。通常要求这些特殊节点持有一定数量的货币作为抵押品,以证明它们值得信赖,会为网络的最佳利益行事,这与权益证明的原理类似。达世币是最初的主节点货币,并将此模型称为服务证明。本文重点介绍具有权益证明组件的混合货币,不会考虑模拟主节点或服务证明的货币阵列。

Decred 的 PoW 组件与其他基于 PoW 的项目类似,使用 Blake-256 哈希函数。Decred 的 PoS 组件及其融入链的方式非常独特,值得进一步解释。

要参与 Decred 的权益证明,持有者必须锁定他们的 DCR 来购买“票”。单张票的价格由类似市场的机制设定,系统的目标是一定数量的有效票(40,960 张)——如果票数超过目标数量,价格就会上涨,如果票数少于目标数量,价格就会下降。当有人购买票时,他们使用的 DCR 会被锁定(即他们无法使用它),直到他们的票被伪随机调用进行投票,或者直到大约 142 天后过期。这为 PoS 引入了机会成本,旨在确保 PoS 选民参与其中并采取符合网络最佳利益的行动。

PoS 参与者(也称为选民或利益相关者)有三个不同的角色:集体投票、对共识规则的变更进行投票以及使用 Politeia 提案系统对项目级别管理进行投票。其中第一个“集体投票”是 PoS 选民最直接参与维持共识的方式。


对区块进行投票

当 PoW 矿工找到有效区块时,他们会在网络上广播该区块,但要使该区块被视为有效,它必须包含至少 5 张随机选票中的 3 张选票。PoS 选民保持钱包打开,并准备好在选票被叫到时投票(或他们聘请投票服务提供商代表他们这样做)。当 PoS 选票被叫到投票并做出回应时,其所有者将获得奖励。

当票被调用时,他们会投票接受或拒绝前一个区块的常规交易。网络上的节点不会将新区块视为有效,除非它包含至少 3 票。如果大多数被调用投票的票拒绝前一个区块的交易,那么它们将被返回到内存池。这些常规交易包括 PoW 矿工的奖励,但不包括 PoS 投票者的奖励。

因此,PoS 投票者有权剥夺矿工的奖励,而不会影响他们自己的奖励。这限制了 PoW 矿工否决网络共识规则变更的权力,这些规则由利益相关者投票决定。事实上,PoS 投票者可以通过在检测到恶意或低效行为时采取投票“否决”的政策来拒绝他们不喜欢的任何矿工行为 - 防止不良 PoW 矿工编写交易并获得奖励。

该 PoS 验证层显著提高了网络的安全性和对多数攻击的抵抗力。进行多数双重支付攻击的常用方法是通过秘密挖掘替代链来重写区块链,然后在一定时间后发布它,并利用“旧”链中交易的无效化(即通过双重支付他们的输入)。由于 Decred 区块需要随机选择的票证的输入才被视为有效,并且 PoW 矿工在收到此输入之前不能在其上构建,因此 PoW 矿工不可能秘密挖矿,除非他们还控制相当一部分实时票证(参见这些文章)。

混合 PoW/PoS 设计显著增加了攻击网络的成本,因为攻击者必须绕过两个不同的系统。特别是 PoS 组件的配置使得只能非常缓慢地获取票证。每个区块/间隔可以购买有限数量的票证,购买最大数量会导致价格急剧上涨。此外,一旦购买了这些票证,用于购买它们的资金将被时间锁定,使攻击者面临因攻击而导致的锁定硬币贬值的风险。

每个区块都由随机选择的利益相关者投票,这意味着区块链在开采时必须与所有参与者共享,从而增强网络的安全性。Decred 的混合系统还旨在赋予利益相关者对 PoW 矿工的权力。


共识变更投票

Decred 从一开始就决定让 PoS 利益相关者成为区块链治理的主导决策力量。共识规则中写入了升级批准程序,通过该程序,对网络共识规则的任何更改只有在经过投票过程后才能部署。只有获得至少 75% 的投票票批准后才能进行更改。一旦一定比例的矿工 (95%) 和选民 (75%) 运行对规则进行潜在更改的升级软件,此过程就会开始。如果提案在 4 周的投票期后获得 75% 的支持,则该提案将被接受,否则将被拒绝,如果它没有获得绝对多数,则重新投票。如果提案被接受,规则变更将在一个月后生效。

Hybrid PoW/PoS Consensus Explained


项目管理:Politeia

Decred 的区块奖励由 PoW 矿工(60%)、PoS 投票者(30%)和财政部(10%)分配,用于资助开源软件的开发,从而实现项目目标。持票人有权投票决定如何使用这笔资金、添加哪些功能,并通过 Politeia 平台确定政策。


结束语

由于 PoS 投票者获得 30% 的区块奖励,他们无法仅通过质押来维持其在流通 DCR 中的相对份额。大多数新铸造的 DCR 都归 PoW 矿工所有,以换取他们在保护网络和缓解纯 PoS 系统“无利害关系”问题方面所发挥的作用。矿工通常必须出售他们获得的很大一部分奖励来​​满足运营成本,从而确保市场上有公平的 DCR 供应。

Decred 的区块链具有独特的架构,是混合 PoW/PoS 系统最显著的例子之一。采用 PoS 共识的项目是一个总体,内部存在显著差异,未来采用混合 PoW/PoS 方法的项目也将是独一无二的,并不一定遵循 Decred 框架。