打字猴:1.703868159e+09
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
1703868199 Abadi, Martin, Mike Burrows, Mark Manasse, and Ted Wobber.“Moderately Hard, Memory-Bound Functions.” ACM Transactions on Internet Technology 5(2), 2005.
1703868200
1703868201 Dwork, Cynthia, Andrew Goldberg, and Moni Naor.“On Memory-Bound Functions for Fighting Spam.” In Advances in Cryptology—Crypto 2003 . Berlin: Springer, 2003.
1703868202
1703868203 关于Cuckoo Cycle proposal的研究包括:
1703868204
1703868205 Tromp, John.“Cuckoo Cycle: A Memory-Hard Proof-of-Work System.” IACR Cryptology ePrint Archive, 2014.
1703868206
1703868207 您可以通过以下网址阅读:
1703868208
[ 上一页 ]  [ :1.703868159e+09 ]  [ 下一页 ]