咨询热线:400-123-4567
您当前的位置: PG电子 > PG新闻 > 公司新闻
  PGXW

PG新闻

公司新闻

pg电子平台:2900万没了!——虚拟币世界的真实战斗

发布时间: 2023-12-29 次浏览

  1月3日,比特币价格再创新高,最高超过3.4万美元。比特币的涨跌风云让虚拟币家喻户晓,由于使用了区块链技术,包括比特币等虚拟币展现了它们的安全性。但是,虚拟币交易背后仍暗藏危机,即算力超过51%情况下的“双花”攻击。本文源于一个真实案例,AE虚拟币交易中发生一场关乎2900万元的战斗—— 一名“矿工”发动了“双花”攻击,价值2900万的AE币消失了!另一方管理员围追堵截,紧急补救,残酷的战斗后最终结局如何?到底什么是“双花”攻击?作者将从电子货币的基础概念讲起,帮读者厘清虚拟币背后的运作原理,并通过对这次交易的复盘讲述虚拟世界中的战斗始末。现实中的云淡风轻,与虚拟世界的腥风血雨形成了鲜明对比。

  我们生活在网络时代,虚拟的网络和现实世界相互交互:读书、买票、购物......当然,还有钱:真实的钞票(人民币)和虚拟的货币(虚拟币)。

  最早的卡式公用电话(用电话卡打电话)就出现过导致双花的漏洞。[1]通过拷贝电话卡磁条上的信息,不法人员就可以造一张假卡。而假卡上的金额信息,就像是卡上的钱没有被使用过一样;实际上,这笔钱已经在真卡上被扣除过了。更有甚者,真卡只是用来拷贝,假卡则无数次被满额使用——这已经不是双花,而是无限花了。

  如何保证数据没有被信息发布者本人改过呢?这是因为他并不能控制数字签名的具体结果。数字签名依赖于一类特殊的数学运算——散列函数映射,也就是币圈的人一天到晚讲的“哈希”。哈希运算把加密密钥和你传送的数据一起加密产生一个新的字串,叫做哈希字串,简称“哈希”或者“哈希值”。哈希值的特点是,只要文件数据稍微改一点点,哈希值就会出现剧烈变化。这个特点非常重要,使得数据发布者本人也没法自己改动而不认账。

  2000年开始,pg电子由于互联网游戏的急速发展,各个网游公司都开始发行自家的虚拟的游戏币。这些游戏币往往需要玩家充值,用真金白银来买;同时玩家们也可以通过私下交易,获得虚拟的游戏币,并用虚拟游戏币来买游戏中的道具,升级打怪。这些游戏公司之间的游戏币就像真实世界的货币一样,出现了彼此间的交易结算价格;出于挣钱需要,有的游戏公司加大了游戏币发行数量,结果还出现了通胀。

  因此,就有学者和IT从业者开始研究,是否可以真的“发行”一种虚拟的网络电子货币,除了能抵御双花攻击,还没有发行中心控制,这样就能合理抵御货币通胀。这种没有中心控制的机制,叫“去中心”,就是货币发行和交易都不依赖于某个权威的第三方(比如银行),而是由平台上的交易人和“铸币”人共同维护和交易。

  数字货币的交易如图一所示。一个交易(transaction)记录包括了买者的公钥(Public Key),和一个数字签名(Signature)。这个数字签名是通过上一次记录加上买者公钥的信息,以卖者的私钥为基础进行哈希运算得到的。一个数字货币从发行开始,会将每次交易记录在记录表中。历次交易的信息都是可以验证(verify)的:根据表中上一次交易的公钥,可以计算验证紧接着的一次交易的数字签名是否正确。

  但是,这个方法需要第三方系统来产生和认可时间戳,所以它不是去中心的,不好。于是,中本聪搞了个“基于对等基础的分布式时间戳服务”(distributed timestamp server on peer-to-peer basis)[4],采用了“工作量证明”(POW,proof-of-work)的方法。

  接下来是困难的部分了:如何确认这个交易记录?所有的记账人,都会按照某种开始就定好的要求,来计算交易记录块的大包的哈希值。按照中本聪的设想,记账人的机器运行的程序,会产生一个随机数,然后记账人根据交易记录块和这个随机数,并按照由程序自动设定的难度,求取一个满足要求的哈希值。比如,一种叫SHA-256的哈希运算就要求,在这个哈希值开始运算的时候,要代入若干个0bit来计算。随0bit的数量增长,这个哈希运算的运算量会指数级上升。对计算机而言,这种哈希运算,需要耗费大量的运算时间和电力,加上一点运气,才能求到一个满足要求的哈希值。最先求出哈希值的记账人,把他的结果在网络上向所有人广播。别的记账人会通过计算来认证并记录这个结果,并等待下一次交易的到来。

  需要注意的是,计算得到满足要求的哈希值很难,但是验证某个哈希值是否满足要求却很容易。这样的区块链,每做一次记录,都需要大量的机时,同时还要大量的记账人共同记录并且证明。如果想从某个位置开始改一条新链,就需要大量的机时和记账人重新认可,费时费力,所以这种方式叫“工作量证明”——通过机器的“工作量”证明相应记录及更改。

  有时候,两个交易同时出现,都请求记账,那么先记哪一个呢?不同的记账人由于所处位置不同,网络延迟有差别,虽然听到消息的时间相距极近,但还是有先后差别。这个时候,记账人可以记两条链,两个链的先后次序是不同的,一条是甲交易在前,一条是乙交易在前。事后,记账人可以接收下次交易记录时别人公告的记录,并根据别人的记录的长度,而决定采用更长的那条链。因为更长的那条链代表工作量更多,更符合记账人的共识。

  比如说,网络由于某个关键节点阻塞而暂时被分为两个部分,这两部分在通信没有恢复时各自记账,就出现了分叉。作为一种补救措施,网络通信恢复之后,两个部分就要比较谁的链长,链更长的记录,将被认可。而那些链不够长的数据,就被覆盖了。而那些被覆盖掉的数据对应的交易,叫“同步”失败了。因为盖时间戳的行为,是表明某个时间点发生的事件,所以叫“同步”,现在这些交易的数据被覆盖了,丢失了,也就意味着“同步”失败。数据覆盖的过程,也称为数据回滚。

pg电子平台:2900万没了!——虚拟币世界的真实战斗

  攻击者先对网络关键连接进行阻塞——比如说,用大量无效的数据使关键连接由于负担过重而瘫痪——制造一次网络分叉;然后分别在分叉的两个部分发起不同的交易。在自己算力强大的部分,可以让虚拟币转个整圈,重新回到自己手上,或者只是参与记账或正常产生“出块”,不让自己虚拟币参与交易;而在分叉的另一部分,攻击者则将自己的虚拟币卖出,转换成其他的虚拟货币,或者是真的现实世界中的货币。

  等一切准备就绪以后,攻击者停止对网络的阻塞,分叉的两部分就又合并在一起。因为攻击者的算力强大,所以他算出来的链更长,就可以替换另一部分的链——成功实现51%攻击。另一部分的数据被覆盖,发生数据回滚,它记录的交易数据丢失,同步失败。此前进行的虚拟币交易的记录被抹去,攻击者以前的虚拟币卖出记录消失,因此他就可以把他的虚拟币再卖一次了——这就是双花。

  但是,电脑里的数据记录居然正在回滚!一条长链悄然而至,如同黑云,把正常的数据覆盖了!刘洋赶紧发出通报:

  2020-12-07 10:16:33 在2020-12-07上午10点15分左右,攻击者去掉网络阻塞,广播了自己更长的私链,以353838的高度覆盖了较短的公开链353803高度(2020-12-07 10:10:14);初步完成双花攻击。其所有网络节点的算力仍没有立刻撤去,而是继续参与挖矿。

  由于各交易所风控差异,攻击者在到账后操作空间不同,带来损失有所差异;但具体情况没有相关的数据。

  发动攻击的矿工已经被定位(已经在网络世界里确定了嫌疑人的账号和矿工的信息,但是无法确定现实世界里的肉身),其交易的token也做了标记;双花的钱只有很少的一部分真的“花”出去了,大部分仍然被困在他自己手上。交易所当然也有损失,但是因为发现得及时,形势还不算太坏。

  本文经过姬扬的整体调整和删改;技术细节由刘洋提供;文章在张艺琼的坚持下改了名,题目中没有了我所喜欢的“双花”。特此致谢!

  韭菜和剪刀是刘洋家的,出来摆拍的猫也是刘洋家的。所以谢谢刘洋家的韭菜、剪刀和猫!

  在群中讨论有关韭菜和猫的照片时,群众在群主曾泳春的带领下,直接就跑偏了。先是纺织学家曾泳春讨论了韭菜的做法,语言学家张艺琼说要上楼摘韭菜,农业专家刘占宇就直接介绍韭菜的肥料,然后物理学家刘艳红和化工专家李学宽就一个劲儿推荐自家的猫......一片混乱中,姬扬就把群名改为:“只有猫知道”。

 
友情链接
PG电子

扫一扫关注我们

热线电话:400-123-4567  公司地址:广东省广州市天河区88号
Copyright © 2012-2018 PG电子·(中国)官方网站 版权所有  xml地图  网站地图  备案号:吉ICP备15000260号-1