资讯专栏INFORMATION COLUMN

什么是51%攻击?

livem / 1856人阅读

摘要:如果不是一个人,而是六个人变得不诚实呢这种情况,用专业术语来说就是攻击。系统中的算力是什么意思系统中的玩家为记账和计算封印密码所花费的耗能和电力,就是我们所说的算力。

本文内容翻译自Authorito Capital CEO的博文《WTF is The Blockchain?》和《Who Owns Blcockchain》,略有删减。
原文链接:
https://medium.com/@mohitmamo...
https://hackernoon.com/wtf-is...

我们把区块链假设为一个账本,每个区块就是每页账本页,当一页账本页记满帐的时候,就需要把它用“密码”(哈希值)封印起来,并把这页内容存到一个文件夹中。

现在想象一下,在这个文件夹中已经存有5页内容了,所有的页面都被一个“封印密码”封印起来。如果我回到第二页,修改了其中一些交易数据,来使我获得利益,会怎样?封印密码会让所有人发现交易的不一致性,对不对?如果我为已修改的内容重新算一个封印密码,并将其标记在页面上,又会怎样呢?

这有个小把戏保护封印密码不被修改

还记得我之前告诉大家的吗?有两个盒子,一个盒子里包含数字20893,另一个盒子是空的,等待玩家计算一个数值,使得两个盒子里的内容相加,得出我们要求的结果。

实际上,计算区块链的封印密码更为复杂,它需要三个盒子而不是两个盒子。这三个盒子中的两个已提前包含内容,其中一个盒子包含本页中的所有交易列表,另一个盒子包含前一页经过“魔法机器”(哈希加密)加工后输出的结果,第三个盒子要装的是玩家自己计算得出的封印密码。当三个盒子中都装满东西,并输入进机器中时,从机器右边输出的结果必须满足我们预设的条件。

区块链中这个巧妙的“小把戏”,能够确保每一页的密封都需要依靠它的前一页。因此,如果有人想修改已经被封印起来的某页内容,他就必须修改这页之前的所有页面内容和封印密码,以保证链条的一致性和连续性。

在上篇文章的最开始,我们假设有10个玩家,如果这些玩家中的某个人试图欺骗大家,修改某页账本中的内容,他就不得不修改很多页的内容并重新计算这些页面上的封印密码。我们都知道计算封印密码有多难!从他修改的那页开始,他就得在网络中重新建立另外一条链。但是这条链永远追不上另外9个人维护的那条诚实的链的,因为一个人的工作能力和速度是赶不上9个人合在一起的工作能力和速度的。因此,保证了最长的那条链是“诚实的”链。因此,在这局游戏中,1个不诚实的家伙是打不过9个诚实的玩家的,他是不可能修改成功的。

如果不是一个人,而是六个人变得不诚实呢?

这种情况,用专业术语来说就是“51%攻击”。

如果网络中的大部分人变得不诚实并欺骗网络中的其他人时,那这个区块链协议就会面临失败。虽然这几乎不可能发生,但我们也要知道区块链系统的脆弱之处,它是建立在“群体中的大多数总是诚实的”假设之上的。

因此,在区块链中,如果一个人能掌握系统51%的算力,他就能重写区块链中的数据,从而让自己获利。

“系统中51%的算力”是什么意思?

系统中的玩家为记账和计算“封印密码”所花费的CPU耗能和电力,就是我们所说的算力。

如何解决这个问题

现在已经有人提出一些解决办法,比如不依靠电脑算力的“权益证明(proof of stake)”方法。权益证明是指系统中的玩家不用解决数学难题来算出“封印密码”,而是将他们手中持有的币作为赌注压在他们提出的解决方案上。如果大部分人都同意这个方案,那这个玩家就能得到奖励。如果大部分人不同意,那这个玩家之前押注的币就会被从他的钱包扣除。这个方法引入了惩罚方案。

但这个方法也存在问题。虽然不诚实的家伙会受到惩罚,但也会导致系统中的玩家“富者更富,穷者更穷”。如果我这次赢得了赌注并得到奖励,下次会押上更多的币,再次赢得赌注和奖金,再押入更多的资产。循环往复,最后,区块链中的大部分资产就会聚集到很少的人手中。如果掌握了多数财富的这几个人想要改写区块链,那他们就能办到。

无论何种情况,只要少数几个人掌握了区块链,那么区块链中的大多数人就处于风险之中。

在Twitter上有一段Vitalik和其他人的对话:
Bug Spencer:银行指定规则和核心开发者指定规则有什么不同吗?这两者都要依靠他人。
Vitalik Buterin:如果你发现JP Morgan滥用权力欺骗了你,你和其他对JP Morgan不满意的客户会分离出一个“JP Morgan经典”吗?

Vitalik的观点是:如果一个区块链中有对其规则不满意的用户,那这些用户可以分离出来重新创建一个分叉的链,就像以太经典区块链和以太坊区块链一样。

这个方法虽然不完全适用,但也是一个方法。

还有更好的方案吗?肯定会有,毕竟有那么多的区块链爱好者在为之付出。

本文首发自万向区块链,未经授权不允许转载。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/23991.html

相关文章

  • 51% 双花攻击,离我们并不遥远

    摘要:大概在一个月前,比特币黄金遭受了攻击,超过万美金价值的代币从交易所被盗取。不同于我们常见的针对交易所漏洞的攻击,这一次是对比特币黄金的双花攻击。经过了这次事件,攻击成为了一个火热的话题。我将最大的交易所小时的交易量作为攻击的收益。 大概在一个月前,比特币黄金遭受了攻击,超过1800万美金价值的代币从交易所被盗取。不同于我们常见的针对交易所漏洞的攻击,这一次是对比特币黄金的51%双花攻击...

    muzhuyu 评论0 收藏0
  • 论 Layer 1 和 Layer 2 的价值捕获

    摘要:的价值捕获的代币的存在是为了让这条底层公链能够抵抗攻击。分别存在论证可以支撑的通胀率,但几乎没有用户会选择一个全球的无国界的但是每年通胀大于的货币。 著名区块链投资机构 Multicoin Capital 近期推出《On Value Capture at Layers 1 and 2》一文,解释了 Layer 1 和 Layer 2 的协议究竟如何捕获价值: Layer 1 Token...

    Donne 评论0 收藏0
  • 在公链项目早期,为什么PoW一个更好选择?

    摘要:而比特币却在没有政府或公司背书的情况下,在过去一年内支持了相当于一万亿美元的交易。除此之外,还有一点值得注意的是,很多人误以为比特币的扩容问题是机制的局限性造成的。因此,公链项目在早期使用是避免共识中心化,保护区块链核心价值的明智选择。 showImg(https://segmentfault.com/img/bVbljbX?w=893&h=380);在传统的互联网公司或金融机构中,如...

    n7then 评论0 收藏0
  • 在公链项目早期,为什么PoW一个更好选择?

    摘要:而比特币却在没有政府或公司背书的情况下,在过去一年内支持了相当于一万亿美元的交易。除此之外,还有一点值得注意的是,很多人误以为比特币的扩容问题是机制的局限性造成的。因此,公链项目在早期使用是避免共识中心化,保护区块链核心价值的明智选择。 showImg(https://segmentfault.com/img/bVbljbX?w=893&h=380);在传统的互联网公司或金融机构中,如...

    feng409 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<