1703868149
1703868150
● 权益证明。最简单的权益证明模式是使那些拥有大量币控制权的矿工挖矿更加容易。这类似于点点币的币量和币龄混合证明,只是在这个模式中不考虑币龄。这个模式的劣处是,不像点点币那样每次成功获得有效区块之后重置币龄,最有钱的参与者总是可以最容易地挖矿。
1703868151
1703868152
● 储量证明。在这个模式里,当一个矿工用一些货币来铸造一个区块的时候,这些货币针对一定数量的区块被冻结。这可以被想象成币龄的一个镜像:这个系统奖励那些希望在未来一段时间不消费的矿工,而不是那些在过去一段时间内不使用货币的矿工。在上述两种情况下,矿工的收入来自因为不能使用货币去做其他事情的机会成本。
1703868153
1703868154
无利害关系问题
1703868155
1703868156
虚拟挖矿是科研的前沿领域,还有许多未解的问题。即使有一些加密数字货币已经启动并且使用了虚拟挖矿,它们都面临和比特币一样的压力,即防御有目的性的攻击者。
1703868157
1703868158
虚拟挖矿有一个常见的漏洞,被称为“无利害关系问题”(nothing-at-stake problem)或者“股权粉碎攻击”(stake-grinding attacks)。假设一个有着小于50%的币拥有量的攻击者,尝试制造一个有k个区块的分叉,如同我们在前面讨论过的,这样的分叉攻击有着相当高的失败概率。在传统挖矿里,一个失败的攻击有着很高的机会成本,因为矿工本可以在挖掘的过程中赚得奖励,而不是浪费挖掘资源在失败的攻击上。
1703868159
1703868160
但在虚拟挖矿里,这个机会成本并不存在。一个矿工可以既在当前最长的区块链上挖矿,同时又可以进行一个创建分叉的尝试。如果分叉成功,则会消耗掉大量的筹码;如果失败,这个失败的记录不会出现在最长的区块链上。因此,理性的矿工也会不断地尝试分叉攻击。
1703868161
1703868162
对于这个问题,有一些不同的解决办法。大多数的虚拟挖矿方案都积极地使用检查点来防御长分叉攻击。但是正如之前讨论过的,这有点和去中心化的共识协议概念背道而驰了。
1703868163
1703868164
1703868165
分叉攻击和检查点
1703868166
1703868167
当你下载比特币核心钱包软件时,有几个硬编码的检查点,或者过去区块的拼接。这样做的根本目的是让首次下载区块链更加顺利。如果没有检查点,其他节点可以使用伪造的(但有效的)区块和分支来冲击你。对于当今的攻击者来说,在低区块高度产生有效的谜题解决方案是非常简单的,那就是接近起源区块,因为初始阶段的难度相对较低。你最终会发现这些区块不在最长的有效分支上(更精确地来说,不在最高总体难度的有效分支上),但你必须浪费资源来做这件事情。
1703868168
1703868169
有些另类币,特别是虚拟挖矿计划,已经采取了以检查点作为防御分支攻击的强大形态。节点会从指定检查节点收到检查点的常规更新,该更新由指定的私钥签发。节点会放弃与检查点冲突的分支。这种机制使得检查点的运作方,尤其是另类币的创建者,能从分叉和“转回”区块中选择胜出者。这种设计非常有趣,但是已不是去中心化一致认可的协议。
1703868170
1703868171
以太坊(Ethereum,一个在2015年启动的另类币,我们将在第10章中详细讨论),建议了一个称为“Slasher”的方法来惩罚尝试进行分叉攻击的矿工。在Slasher方案中,使用筹码去挖矿需要用私钥对当前区块进行签名,来应对那些进行作弊的交易,如果矿工曾经使用相同的筹码去签署两个不连续的区块链(不是前后关系),Slasher允许其他矿工可以在区块链上输入这两个签名作为作弊的证据,并且拿走一部分筹码以作为奖励。虽然看起来这个方案非常有效,但是协议本身非常复杂,还没有被实际部署。
1703868172
1703868173
一个终极的防御攻击方式可能存在,就如同我们在传统挖矿方案中看到的,矿工可以简单地没有足够的动力去进行攻击,因为即使攻击成功,也会危害整个系统并使得他们所拥有的筹码贬值。
1703868174
1703868175
虚拟挖矿的其他弱点
1703868176
1703868177
虚拟挖矿还有其他两个弱点值得提及。第一,在某种形式的虚拟挖矿方案中,即使“股权粉碎攻击”不存在,也可能使得某些类型的攻击变得容易,因为挖矿“蓄力”(save up)是可能的。例如,大量的币可以被积蓄起来,直到可以进行一次剧烈的挖矿变化使得分叉成为可能。即使是某个类似于Slasher这样严禁同时在两个区块链上挖矿的系统上,也是可能的。为了防止这样的攻击,点点币限制了币龄参数不能超过90天。
1703868178
1703868179
第二,如果虚拟挖矿中的某个矿工获得了51%的筹码,他可以通过只在他的区块上挖矿的方式永远保持这个优势,基本上也就意味着可以控制整个区块链。如果有新的筹码和交易费从区块奖励中产生,那个拥有51%的矿工也会抢去这些奖励,这会让他的筹码慢慢接近100%。在传统挖矿模式中,即使有一个51%的矿工存在,永远可能存在拥有更大算力和更低能耗的其他矿工出现,并且会减少最大矿工的市场份额。在虚拟挖矿里,很难避免这个问题。
1703868180
1703868181
虚拟挖矿有可能真的成功吗
1703868182
1703868183
在比特币的主流社区里,虚拟挖矿是有争议的。有一个说法是,系统的安全性必须建立在真正的资源消耗上,也就是动用真正的电脑硬件和消耗电能去进行解谜运算。如果这个理论成立,工作量证明上的能源耗费可以被看成是系统的安全费用。但这个论点还没有被证明,就像虚拟挖矿的安全性也没有被证明一样。
1703868184
1703868185
总结来说,人们想改变比特币挖矿解谜算法的很多方面,这也是研究与创新的重点区域。到目前为止,还没有一个替代方案具备理论健全性和实用性。例如,即使Scrypt算法在另类币中很受欢迎,但是也没有做到真正的反ASIC,而且其用途也还不清楚。当然,替代的解谜算法完全有可能在未来获得更大的成功。毕竟,比特币本身也经历了数十年的不断失败的尝试与发展,才最终成为一个既有很好的设计理念又有相当的实用性的加密数字货币。
1703868186
1703868187
延伸阅读
1703868188
1703868189
定义刚性内存功能和建议范本的论文是:
1703868190
1703868191
Percival, Colin.“Stronger Key Derivation via Sequential Memory-Hard Functions,” 2009.
1703868192
1703868193
您可以通过如下网址阅读:
1703868194
1703868195
https://www.bsdcan.org/2009/schedule/attachments/87_scrypt.pdf.
1703868196
1703868197
关于内存范围(memory-bound)功能的早期论文包括:
1703868198
[
上一页 ]
[ :1.703868149e+09 ]
[
下一页 ]