对于比特币,林鸿寄予厚望,在他的未来规划中,比特币占据着非常重要的位置,故而他希望比特币能够顺利地发展起来。
这是一次货币实验,一次足以对整个世界造成极为深远的影响,就算比特币失败了,林鸿也不会停止对电子货币的探索,他会吸取经验教训,继续开始另外一次,并且一直这样下去。
51%的攻击,即如果有人掌握了比特币全网超过51%的计算力,那么他就可以操纵整个网络实现自己的一些“非法”的目的。例如发送自己的虚假交易信息,在合法的确认信息还没有到达之前,就将自己伪造的确认信息发送过去,这样一来就相当于伪造了货币。
这个道理就相当于某个人的钱包接受了别人的一笔支付款项,然后他等待这笔款项的合法来源确认,一旦有超过五个人给他发送了确认信息,说这笔钱是合法的,那么他就认为这是一笔有效的交易。
但是一旦有人掌握了全网超过百分之五十一的计算力,那么他就可以伪造这些确认信息,让别人误以为自己收到了合法的比特币,而实际上是这个人自己伪造的。
此外,如果掌握了全网超过百分之五十一的计算力,挖起矿来更是容易无比,可以在众多矿工的挖矿行动中取得明显优势,将绝大部分产生的比特币收归自己所有。
按照比特币的设计,大概每十分钟会有一个比特币“金块”产生(前四年一个金块为50个比特币,此后每四年减半),这个速度是林鸿早就设定好的,无论你的计算力多大,在十分钟的时间内,也只能和全网的所有矿工来争夺这个“金块”。
为了达到这一效果,林鸿另外设计了一个难度参数,这个难度参数是会根据全网的总体计算力进行随时变化的,计算力越大。难度也就越大。
而如果有人掌握了超过百分之五十一的计算力,这种公平性就被打破了。
长此以往,比特币绝对公平的原则就彻底毁了,自然,比特币也就被毁了。
林鸿开着车,以最开的速度回到了四合院。然后立刻打开电脑,查看起比特币的全网运算速度曲线图。
这是一个以时间为横坐标,以全网运算速度为纵坐标的二维曲线图。全网运算速度的单位是hashs。即每秒可以尝试运算多少组散列值。
现在最好的cpu的运算速度,一个cpu的运算速度大概在0。1兆hashs左右,也就是一秒钟可以重复尝试运算大概一百组左右的散列值。
刚开始的时候,全网的运算速度只是林鸿一个人贡献的,现在在图上几乎看不出来,只是贴着底部前行,而过了一段时间之后,有了全世界的一些比特币爱好者和支持者的加入,全网的运算速度已经攀升到了10兆的量级。但是现在,这个数值却已经极速提升,突然之间翻了至少三倍以上。超过了37兆……这意味着有着大量的计算力接入比特币网络,也达到了林鸿之前设定好的预警条件。
这原本是一件值得高兴的事情,毕竟计算力越大越好,可是现在这种计算力突然之间猛增的情况却让林鸿有些高兴不起来。
刚开始的时候猛增一下可以理解,毕竟基数比较小,翻倍容易,可是这些天来,速率增加的速度已经稳定,基本上是一条缓慢上升的曲线。而现在,这条曲线变为了陡然爬升的直线,却又没有什么特别的因素导致很多人关注比特币,这就有些值得可疑了。
如果这些猛然增加的计算力都是同一个人贡献的话,那么他现在所掌握的计算力已经超过一半。也就是说51%攻击正在进行。
对方到底是谁?
有什么目的?
使用了什么方式接入才拥有如此大的计算力?许多台电脑?亦或者是超级计算机?
现在一切都还不确定。
或许这个攻击并不是故意的,也许这个人只是一个比特币爱好者,他并不知道会存在这种攻击,正好他手中掌握了这么大的计算力并将其用于比特币挖矿。
一切还有待了解和挖掘。
林鸿坐于电脑前,开始着手展开调查。
他设计比特币客户端的时候。其架构和比特币差不多,矿工的具体ip是保密的,也就是说杜绝了被人进行追踪定位的风险。
不过,却有一种方式可以大致统计这些计算力到底来自什么区域,因为吸取了比特币设计的经验,全世界布置了一些主要的p2p的骨干节点,这些节点完全由比特币支持者免费无偿提供,负责完整地保存所有数据,并且处理大量的计算力数据交换。