区块链 | POW及自私挖矿

  • 因为区块链是无中心登记的匿名服务,建立多重身份代价极低,因此在公有链上可能发生多重身份攻击(Sybil Attack)。做为解决方法,区块链没有使用身份投票的机制,采用资源投票的机制,即工做量证实(POW)。POW即由分散在各处的参与者综合上一个区块的Hash 值,上一个区块生成以后的新的验证过的交易内容的Markle Root值,再加上猜想的一个随机数Nonce,一块儿打包到一个候选新区块,让新区块的Hash值小于比特币网络中给定的一个数。此猜想值被找出后,与数据、散列值一块儿打包成块后广播,经多数节点确认与认可,打包者就能得到打包该区块所提供的奖励。通常采用工做量证实的加密货币,例如比特币,会设置成随着参与竞赛的算力增减,而调整找寻猜想值的难度,以维持合理的运做速度。
  • POW依托正向快速、输入敏感、逆向困难、冲突避免的哈希算法,架构简明扼要,使用数学的方法保证了可靠性。因为要获取更高的交易验证权力就要获取更多的算力来提高占比,使得恶意用户必须投入超过整体一半的运算量(51%攻击),才能篡改交易结果,使得攻击成本极其高昂,在现实中难以实现。而且对于矿工来讲是公平的,投入的计算设备即算力越多,获取打包权和打包奖励的几率也就越大,从而实现理论上的激励相容(incentive-compatible)。
  • 而POW也有显著的缺点。对于算力的军备竞赛,使得很是多的资源被浪费,电力被用在了并非最重要的猜想上。且在加密货币的价值提高后,专用的ASIC矿机和其制造商可能会垄断算力,与去中心化思想背道而驰。
  • 在论文《Majority Is Not Enough Bitcoin Mining Is Vulnerable》中,做者给出了一种在遵循规则挖矿以外能够得到更大利益的算法,且这个算法会致使理性的矿工投身于这种策略中获取更大的利润并最终破坏区块链网络正常运转。这篇文章中提出, 私自矿池挖出新块以后, 暂时不发布这个区块, 而是继续挖下一区块, 当发现网络上别人也挖出新区块时再发布这个区块, 能够得到更高的收益。同时这个更高收益的算法并非全局最优的, 由于矿工会为了更高的利益进行自私挖矿, 使得自私矿池愈来愈大, 逐渐变成多数, 破坏了比特币的去中心化.虽然在自私挖矿攻击中。诚实和自私矿池都会浪费算力, 可是诚实矿池浪费的算力会更多, 同时自私矿池能够得到比本身诚实挖矿更高的收益。此消彼长, 矿工会更愿意加入自私挖矿。并且, 自私矿池的算力越大, 它可以得到的奖励高于线性增加,这更加有利于自私矿池吸引更多矿工加入。
  • 对于浪费资源的问题,POW的设计机制是几乎无解的。即便用提升运算能力来提升获取打包权的几率从而提高得到的收益的激励机制必然致使算力的军备竞赛并浪费大量资源。这个问题能够考虑经过使用其余方式如POS、DPOS即权益证实机制,经过给与拥有更多货币的用户更多的投票权来替代给与拥有更多算力的矿工更大几率的记帐权。这些方法都能必定程度解决资源浪费问题。
  • 而自私挖矿的问题,能够经过改变机制,当矿工收到两个竞争区块时,随机选取其中一个进行挖矿,这样的话诚实节点选择在自私矿池发布的区块上挖矿的比例就会下降到1/2,这样的话只有在自私矿池掌握全网1/4以上的算力时才可以得到比诚实节点更大的收益。
相关文章
相关标签/搜索
本站公众号
   欢迎关注本站公众号,获取更多信息