这里有很多角度。 首先即使你有 51% 的算力,能做的最坏的事情就是双花攻击。 以刚才转账的例子为例,如果 Alice 是坏人,要转给 Bob 一百块钱,创建了转账 100 块的交易发到全网,并被打包到区块里挖出来。如果 Alice 有超过 51% 的算力,她可以在给 Bob 转账的同时,也给 David 转账。Alice 总共只有 100 块钱,但同时给两个人转账。 这两笔交易一定有一笔要失败。但因为 Alice 有 51% 的算力,可以先让好人的链打包给 Bob 转账 100 块钱的交易,假如付了这 100 块是买了一个手机充值服务。Bob 给 Alice 做了充值,成交了。Alice 就可以开始使坏,开始把超过 51% 的算力挖一条分叉链。分叉的点在 Alice 给 Bob 转账之前的区块。Alice 会沿着老区块挖一个新的链,新的链包含 Alice 给 David 转账 100 块的记录,不包含 Alice 给 Bob 转账 100 块钱的记录。 而因为 Alice 的算力超过 51%,总有一天 Alice 的链会更长。总有一天全网的节点会认为 Alice 的链记录的账本是对的。实际就是把 Alice 给 Bob 的转账回滚了,就不存在了。但 Bob 已经给 Alice 充值了。 51% 算力可以实施双花攻击。 但不能做到的是把 Bob 在链上拥有的 100 块钱花掉。这是密码学保护的,而和共识没有关系。 第二是在比特币网络中会有不同类型的节点。打包交易出块的节点我们称之为「矿工」。这个网络中还有一些节点并不挖矿,只是同步区块。就相当于志愿者,愿意来保存副本,增加网络的冗余度。这些志愿者同时也是一道防火墙。如果矿工作恶,直接把比特币网络上别人的钱花掉了,那么全节点会拒绝这个交易,会认为这个交易是不合法的。 比特币的网络中不可能花别人的钱,是因为有全节点作为防火墙,会挡掉不合法的交易不去广播。所以即使矿工发作恶的交易,也不会被网络所接受。 硬分叉 | 区块链是社会共识系统晚风说:假设如果作恶的人用 51% 的算力做了双花攻击,相当于比特币作为虚拟货币的信用就崩溃了?这是不是也是一种风险?算力即权力,但算力也是财富。如果比特币的信用和价值崩塌,有 51% 算力的人其实手里的币也就不值钱了。 谢晗剑:是的,信用的风险是一方面, 更多的是需要时间来教育。 在还没有发生这件事情(双花或其他 51% 算力攻击)之前,大家必然会认为比特币是特别安全的,不会被攻击。大家对比特币的信用预期会在很高的点位上。 但攻击是可能发生的。世界上存在能够控制网络 51% 算力的人或机构。比如在文献中,大家经常讨论的一种攻击形式是国家攻击。当一个主权来攻击网络的时候,拥有巨量的资源可以来控制算力。这个时候确实是有可能做到 51% 攻击的。 (责任编辑:admin) |