Close

淘金网币圈快讯 > 币圈快讯 > 2900万没了!——虚拟币世界的真实战斗

2900万没了!——虚拟币世界的真实战斗

淘金网币圈快讯 币圈快讯 2021年11月16日

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

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

  币项目的观察员刘洋是一个虚拟■△。Eknow他创立的A▼•-,应的维护平台是AE币对,他货币的交易进行记录专门对AE及其与其=▲△,所或者交易者查询以便各个网上交易□…△,易和技术异常也便于监察交…•◁。

  的工作他平时,正常★◁▷、市场是否稳定就是看看平台是否○•。都是计算机自动执行的因为绝大多数的工作◇★,时很闲他平。

  7日中午12月,样在网上瞎逛刘洋像往常一。阳暖洋洋的中午的太,是云淡风轻论坛里也◁■◁,跟人吹水刘洋正在。

  不是新概念电子货币并◇□。该都记得磁卡电话上了年纪的人应,充值的钱数磁卡上记了,种电子货币就代表一◁•▷。卡打完电话当你用磁☆▲,扣除通信费通信系统会,钱数写回磁卡再将剩余的。身不是货币虽然磁卡本•…,是但,用的过程磁卡被使,钱是一样的就跟花真的-▼△。

  么那☆●,钱相比跟真◆▷,呢?那就是当系统有漏洞时磁卡会有什么特别的问题,当两份钱花一份钱可以!了两次因为花,le spending)所以叫◇▲“双花”(doub。

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

  的最大问题数字世界▷•◁,被拷贝而不失真就是信息可以。币的记录电子货…▲,的一种信息而已只是数字世界。大问题☆•:可以造假钱这样就面临一个重!成功一旦,以双花就可,爽真★□!

  世界里在数字,字符串进行运算变化加密和解密都是对。密钥(也是一串字符)一起进行某种运算加密就是把要传送的信息(明文)和加密,密文变成。然显,明文的运算所需要的字符串解密密钥就是能把密文变回。

  密密钥可以相同加密密钥和解,对称加密这就是;以不同也可,对称加密这就是非。通常不是用来保密非对称的加密系统,不可抵赖性——数字签名就是干这个用的而是用来保证数据的真实性、完整性和。的•▽•、比较短的一串字符它是通过加密运算获得,件数据信息的后面通常附缀在一段文。

  的真实性数字签名○☆◆,者就是签名者本人将确保数据的发出;整性其完…•▽,没被改动过则保证数据▽□;抵赖性不可,本人在事后改动数据则保证如果发出者,数字签名中就会反映到,行为露馅使其更改。

  钥公之于众(“公钥▽○◆”)信息的发出者将解密密,保留(△▷“私钥■▼”)而将加密密钥自己。者谁也没有加密密钥因为除了信息发布,的数字签名和公钥别人根据他发出,符合其文件的结果只要解密出规范的,据肯定来自于他就说明这个数,人更改过且未被别☆◇…。理解容易,的真实性和完整性这就保证了数据。

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

  了数字签名那么实现☆…,就可以有不同的数字签名产生使用电子货币的每一次消费○•★,定办法对付“双花◇▲★”了这样看来是可以有一。

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

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

  07年20•▷,(或者集团)发了一篇网文有位化名◁◁▷“中本聪”的人,学者的设想结合一系列◆-△,心的网络电子货币设计了一种去中==,币的最早一种——比特币就是我们现在称的虚拟▲□。]并且[2,计开始从设,抵御双花攻击的功能就要求整个系统有。

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

  的数字签名这一次次■◁,货币的所有交易对应着一个数字,一个链构成了。区块(block)每个交易记录是一个◆▼,lock-chain)而这条链就是区块链(b。然当,计的变化随着设,变得复杂这个链,的基本含义但是区块链,有变没。意(摘自参考文献[3]图1 电子货币交易示)

  然显,一个权威的部门来保证交易的权威性如果这个数字货币的每次交易不能由,币上的记录仅依靠货,或多份相同的拷贝去进行交易就不能防止某个卖家用两份,★•“双花”即进行○▪•。些交易被发现即使在事后这,太迟了往往也◇☆◆。

  先首,每次交易过程要给货币的=…•,时间戳盖上○■。是说也就-☆,交易中在每次▽…,交易的时刻记录正确。样这=○◇,双花的话如果出现□-,发生前的最后一笔交易我们可以追溯到双花,误的交易并去掉错☆△。

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

  来很可怕名字听起,络上准备了一堆记账人就行了其实方法很简单:只要在网。的交易产生每当有新,络上广播交易信息那么交易人就在网;发现交易合法记账人如果,双花信息而不是,合在一起打在一个大包里就会把好几条不同记录△-◇,关信息确认有,时间戳并盖上。

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

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

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

  网络的某个连接阻塞了如果由于某种原因(,关机下线了)或者记账人,听到某次广播有些记账人没△◇,漏记的情况就会出现。新的广播时当他听到▷…□,现自己漏记很容易发,比自己的链长如果收到的链▷◇•,用新的长链那么他将选,出调整并做。

  增长链的,的众寡相关的是跟参与者●▪○。率上讲从概□■…,多的那条链参与的人越,果的速度越快计算出正确结◁▷,到最长的链因此也将得。们记账的可靠性又如何确保他■▷▽?

  可靠性记账的,诚实来保证的是靠记账人的▪=•。果如,要是诚实的参与的人主▪◁,御不诚实的人的破坏那么诚实的人就会抵。自觉地保持诚实为什么他们会?

  是没有发行方的去中心的货币。拟币的玩家参与创建虚…▪●,机产生的随机数从某一台机器随,希算法按照哈,要求的结果算出合乎▲-•,新的虚拟币就得到了,叫☆◆▷“出块”这个过程。时“挖”出来的结果虚拟币是玩家们用机□-,—这就是“挖矿”和“矿工”的由来这个工作跟以前的挖金矿是一样的—。

  还是那些•▼“矿工”)参与记账的记账人(,中分得好处会从记账。记一次帐每成功,功的矿工那个成,值里分一笔交易费就要从比特币的币◁△,油费”叫“。

  中已经运作体制中在后来很多现实,记账权合二为一挖矿=▽“出块”和,块”的矿工只有■=“出◇▼,的所有交易的记账权利才有对下一次出块前,这笔油费也才拥有○…◇。

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

  来一个破坏者也可能会出,一个分叉故意制造。的力量强大如果破坏者,制的网络部分在他自己控,一部分制造了更长的链相比于另外被分隔的那;网络通信恢复以后那么他就可以在,败另一部分的短链用自己的长链打▼▽;样这,实施了一次攻击破坏者就成功。

  要长链攻击需,以所,须比另一边更强大破坏者的算力必。话说换句,超过一半以上(至少是51%)攻击方的•◁★“矿工▪▪=”的人数至少要■□。以所▲△□,叫51%攻击这种攻击就◇▽。

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

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

  得那天的天气如果你还记,度是摄氏24度那天中午的温,是个暖和日子在12月真○▼,后面打着瞌睡猫在显示器,也长势良好地里的韭菜=▽,非常nice一切看起来都。是但□…•,录居然正在回滚电脑里的数据记○▪●!悄然而至一条长链,黑云如同●★☆,数据覆盖了把正常的!出的预警▽☆:12月7日12: 57分刘洋赶紧发出通报:上面就是刘洋发,平台的数据库他检查了自己,的记录丢失发现有旧,了数据回滚像是发生,来覆盖就数据有更长的链◆-☆。此因,易所发出预警他向论坛及交◆○▲,生了分叉说是发,51%攻击极有可能是。

  点17分到了2★■▼,个交易所的记录刘洋检查了各◁○,700万元的token发现这个账号囤积了约2,00万元人民币大约相当27,经完成了双花攻击其中的150万已。后清点(事,币大约为2900万元预计攻击者囤积的AE。)

  47 在351373高度(这是行线)2020-12-02 08▷=▪:35:,不清楚)先测试了一下攻击者(具体是谁并,出块成功…◁★,虚拟币挖出了。是说也就◁…★,般行话叫token)的区块生成了一个初始的虚拟币(一。

  :15 在公开链353227高度2020-12-06 04-•:45,值2750万元的token攻击者开始往O交易所逐渐充★◇■,en屯在交易所将这些tok,卖家脱手用于寻找,-12-07 01:15★○:30)直到353622高度(2020,为20小时时间跨度。12-07 02:29:54)在353643高度(2020-,和80万元的token到交易所另外两个账号分别充值了70万元。之总,token在交易所内操作合计大约2900万元的,出到其他交易所其中一部分被转▼…▲。

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

  0 H交易所检测到区块的数据回滚2020-12-07 11▲■:0,(也就是说关闭充提=◆=,种交易)停止各★★•。

  E社区彭坤发出H交易所暂停提币的消息2020-12-07 11:30 A,包维护宣布钱,的充值和提款暂停AE钱包……;护平台初步认为H交易可能遭遇节点的数据无法同步AEBox、AEKnow、WeTure几个维,题(根据H交易后期公告即交易无法正确记账的问,块回滚情况)他们发现区••。

  0 AE社区马良再次在群聊提出2020-12-07 12□△□:3,据回滚由于数,成功的交易失效AEBox曾经;深入讨论我们开始,也表示发现区块同步问题币赢、Beepool。

  Know对比区块记录数据库和链上数据后2020-12-07 12◇▲▼:57 AE▼■,遭遇数据回滚而丢失确认交易的正常数据,l确认交易丢失Beepoo◇★,丢失区块,遇了51%攻击并提出极可能遭■○▲;始整理数据维护团队开,攻击寻找证据为遭遇51%-◆。

  30 AE社区通知各大交易所2020-12-07 14◆▼:,51%攻击的初步情况并在全球电报群通告了。本迅速应对交易所基▽▼,充提关闭。

  击准备工作中攻击者在攻,2900万元的token在O交易所持续收集了约…•▽,己的钱包放到了自;发生后攻击,token全部进入O交易所成功双花的约2900万元的▪▲。击期间在攻◇-,ken从O交易所提出约2680万元的to,入5个交易所账面主要流■◆▲。

  结束后攻击○●=,所及维护团队全部取消攻击期间的交易被交易,重新打包恢复并将正确数据。有部分成功交易所以攻击者只◇▽•,n通过最长链成功转入各交易所有约1687万元的toke。由于各交易所风控差异具体情况如下表所示:▪▲,后操作空间不同攻击者在到账,有所差异带来损失;有相关的数据但具体情况没•■★。

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

  仍在演变整个局势◆☆。掏腰包弥补亏空各交易所除了自,的交易等等手段来继续围困对手也有限制被标记的token-▼。何发展未来如,待观察还有。

  展的历史上在虚拟币发,次发生分叉这不是第一。又一次证明这次攻击◇=•,强大的对手时当遭遇算力,击的方法是无法达成目标的中本聪关于防止51%攻…•。

  随网络发展而逐步形成的虚拟币的设计和产生是…☆,机灵劲儿上来的结果并不是某个天才的。发展中在其,践背后各种实,斗勇的过程都有斗智,相当血腥的有些场面是。

  这一次比如,就突然消失了2900万元☆▲▼。界的天空虚拟世,云淡风轻仍然是,有发生过似的仿佛一切都没。

  洋才知道只有刘,币世界里这虚拟=◆,斗战,日线,暖的日子那是个温▷☆,的猫桌上◁▽,正香睡得,的韭菜地里▪★=,值壮年也正▲▽。9

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

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

标签: