山东时时彩11选5走势
 ?#19968;?#23494;码
 立即注册
发布
  • QQ空间
  • 回复
  • 收藏

EIDOS挖矿众生相:“抬价、阻塞、攻击”让EOS主网不堪重负

2019-11-12 20:36

11月01日,enumivo 团队上线新空投项目,用户发送任意数额的 EOS 到 eidosonecoin 账户,就能免费获得项目方空投的 EIDOS 代币。截至目前,项目上线一周以来,引发了持续的 EIDOS 挖矿热潮。受此影响,EOSIO 主网的 CPU 资源消耗进入了高度饱和状态,用户需要抵押更多的 EOS 拥有更多 CPU 资源(成本飙升),才能正常使用 EOS 网络。

EIDOS挖矿众生相:“抬价、阻塞、攻击”让EOS主网不堪重负

区块链安全公司 PeckShield 监控并分析了期间 EOSIO 主网上的交易,以及 REX 租赁模式和 CPU 资源消耗机制,发?#33267;?#19968;些有趣的事情。

抬升 CPU 价格,让普通用户无法使用 EOS 主网

11月01日下午16时,我们启动了一个程序,可以向 eidosonecoin 无限发送0.0001个 EOS,用来监控参与此次挖矿的羊毛党实时挖矿情况。我们首先发现,eidosonecoin 账户中没有足够的 RAM,导致新矿工无法参与挖矿。?#20197;?#30340;是,RAM 危机在10分钟内便得到解决。

下午16:30左右,我们部署的程序耗尽了所有 CPU 时间。如图2所示,CPU 资源的价格提升到0.2ms/EOS,这意味着用户抵押1个 EOS 仅能获得200 us 的 CPU 资源。但是正常情况下转账一次所要消耗的 CPU 资源都不止这些。在空投开始的两个小时内,CPU 资源价格提高到每个 EOS 0.1 ms。与图2中最近4周的 CPU 价格相比,一度达到了最近7天的历史最高水平。

EIDOS挖矿众生相:“抬价、阻塞、攻击”让EOS主网不堪重负

图示2:CPU 时间(ms)/EOS

CPU 资源的价格飙升将会对 EOSIO 主网的用户产生较大影响。如图3所示,根据DAppTotal数据显示,EOS 主网的日活跃用户从8万跌到了仅2万人(蓝色线)。很显然,这是由于 CPU 价格被拉升后,不少用户没办法正常使用网络所致。

EIDOS挖矿众生相:“抬价、阻塞、攻击”让EOS主网不堪重负

图示3:最近30天三大公链活跃用户情况

然而,如图4所示,我们发现EOS 主网的交易次数却在持续攀升。这让人非常不解,为何 EOS 主网活跃用户越来越少而交易次数却越来越高了呢?在分析了这段时间每个交?#23383;?#21518;,我们发现,这些交易大多数参与 EIDOS 挖矿的用户发起的薅羊毛行为,他们占据了大部分的 CPU 资源,导致普通用户根本无法正常使用网络。

EIDOS挖矿众生相:“抬价、阻塞、攻击”让EOS主网不堪重负

图示4:最近30天三大公链日交易次数情况

正如图5所呈现的那样,11月06日,与 EIDOS 相关的操作消耗了总 CPU 资源的56%。在承担不起较高 CPU 价格的情况下,用户就不再抵押 EOS 到 REX 平台上,取而代之的是开始租赁平台上的 CPU/NET 资源。特别是,排名前5的 EIDOS 矿机已经租用了数百万 EOS 等值的 CPU 资源。吊诡的是,这些头部挖矿服务商在空投开始前就租用了大量 CPU,这让他们在空投开始时就租用了相对便宜的CPU(1个 EOS 可以租用3000个 EOS 的 CPU 资源,且可续用30日)。

EIDOS挖矿众生相:“抬价、阻塞、攻击”让EOS主网不堪重负

图示5:EOS 主网 CPU 资源消耗分布图

掏空 EOSREX 系?#24120;?#35753; EOS 租赁市场几近崩溃

对普通用户而言,尽管他们可以从 EOSREX 平台租赁 CPU 资源,但只有很少数的人知道如何操作。这样一来,EIDOS 矿工和掌握丰富 CPU 资源的服务提供商就成了 EOSIO 主网上仅剩的“活跃用户”了。如图6所示,租 CPU 或者 NET 的话,用户需要抵押一些 EOS 代币进入 REX 基金池内,进而执行租赁操作。这对普通用户而言是一件较为复杂的事,以至于很多人还是没办法通过租赁CPU 以正常使用 EOS 主网。

EIDOS挖矿众生相:“抬价、阻塞、攻击”让EOS主网不堪重负

图示6:EOSREX 操作流程图

随着越来越多的新矿工加入租赁 CPU,CPU 资源变?#19978;?#32570;品,最高价格涨至1个 EOS 仅能租赁 180个 EOS。这对参与 EIDOS 挖矿的矿工而言并不是一个好兆头。更糟糕的是,REX 系统于11月04日,其 CPU 资源池里?#30446;?#31199;用 EOS 已经耗光了。如图7所示:

EIDOS挖矿众生相:“抬价、阻塞、攻击”让EOS主网不堪重负

图示7:EOSREX 平台无法正常租赁

根据 REX 智能?#26174;?#20013;的程序,可租赁 EOS 的计算公式如下:

available_unlent = total_unlent - 2 * total_lent / 10 It means all rentcpu actions are suspended when around 83 % of the pool is consumed: available_unlent = 16.66666666% pool - 2 * 83.33333333% pool / 10 = 0

这意味着当 REX 资金池中资产消耗至83%时,一切租赁 CPU 的请求都将宣告暂停。我们需要抵押更多 EOS 进入资金池,以便 REX 系统能够正常运转。

攻击窃取平台 CPU 资源,危机蔓延至整个 EOS 网络

当越来越多的人在寻找廉价 CPU 资源时,一些黑客开始尝?#28304;?DApp 中偷取 CPU 资源进行挖矿。由于 BigGame 是为玩家代付 CPU 资源的 DApp 之一,也就成了首个被攻击的对象。黑客是如何实施攻击的呢?具体而言:黑客劫?#33267;?#29992;户和 DApp 间的交易信息,在转?#36865;?#30693;中嵌入了非法操作,故而可以实现窃取 DApp 代付给用户的免费 CPU 资源,直到 DApp ?#30446;?#29992; CPU 资源被耗尽为止。

转?#36865;?#30693;攻击可以发生于任何 EOS 代币的转账过程中。11月07日凌晨3时,另一款 DApp 游戏 BetHash 也遭到?#36865;?#26679;的攻击。

具体而言:BetHash 的菠菜游戏机制,?#24066;?#29609;家可以猜测0-100之间的数字和系统给出的随机数比大小,以赢取相应赔率的奖金,投注数字越小赔率会越大。玩家每一次投注,BetHash 的智能?#26174;?dicereceipt()函数都会被调用通知玩家账号。此时,黑客就可以控制恶意程序劫持该通知嵌入内联操作,进而实施攻击行为。尽管每一次攻击,攻击者也需要支付一定的赌注,但只要一直保持0.1个 EOS 并且保守投注97的点位(高概?#21097;?#23601;可以始终获得0.1011 EOS 的?#21040;保?#21516;时窃取 CPU 资源的攻击行为。如图8所示,为一次成功的攻击。

EIDOS挖矿众生相:“抬价、阻塞、攻击”让EOS主网不堪重负

图示8:黑客成功实施攻击过程

直到11月08日下午3时,不仅BetHash,一些其他的菠菜类游戏包括EOSBet、EOSMMM,Trust-Dice,WinPlay 等等也被相继攻击了。例如,EOSBet 遭到了多个黑客的攻击( hotsexygames, cyscyscys235 和 juyhgdf1234u)?#21462;?#22312;分析完关联交易后,我们发现,最近两天 EOSBet 消耗了将近38s的 CPU 资源。通常情况下,一次恶意的攻击交易会平均消耗52 ms 的 CPU 资源,而正常的交易仅消耗2 ms。尽管 EOSBet 宣称他们将抬升下注金额来增加单次攻击的成本,但?#23548;?#24773;况显示EOSBet 仍在持续遭受攻击。图9所示为 EOSBet 的 CPU 消耗量始终保持在100%,被消耗殆尽。

EIDOS挖矿众生相:“抬价、阻塞、攻击”让EOS主网不堪重负

图示9:EOSBet CPU 消耗情况

11月11日凌晨3?#24065;?#26469;,作恶开始?#30001;?#33267; EOSIO 系统的 bidname 短账号?#21495;?#19978;,甚至可以无限制的使用 EOS 系统的 CPU 资源。具体是怎么做到呢?如果你想?#21495;?#19968;个短账号,例如:baaa,你开?#21363;?.0001个 EOS 起?#21495;摹?#24403;某人出价高出了10%的话,你的出价就会被返还。特别是,eosio::bidrefund 将由 EOSIO 系统调用且返还,黑客可以在系统返还的过程中劫持转?#36865;?#30693;实施攻击。更糟糕的是,由于 EOSIO 系统拥有无限量的 CPU 资源,黑客就可以持续通过攻击获得 CPU 资源。这将使得黑客在不需要抵押和租赁 CPU 资源的情况下,让 EOSIO 主网运行更繁重的工作。(图10为一次攻击的交易信息。)针对?#21495;?#31995;统出现的攻击行为,EOS 社区普遍认为,可以通过提高?#21495;?#30340;最低出价来解决该问题。

EIDOS挖矿众生相:“抬价、阻塞、攻击”让EOS主网不堪重负

图示10:黑客利用 EOSIO 系统 CPU 资源情况

自救指南

PeckShield 建议,在发送 EOS 代币时或接收通知之前应检查目标账户是否为智能?#26174;肌?#29616;在 EOSIO 网络上的智能?#26174;?#20013;并没有检查 EOS 账户状态的 API。建议DApp ?#26174;?#24320;发者可以采用类似 DAppShield 安全盾工具提供的过滤?#26174;?#36134;户服务,并请求第三方安全公司协助。

作者:PeckShield
文章点评
相关新闻
山东时时彩11选5走势
极速时时彩开奖网 彩票双色球选号 湖北十一选五手机版下载 安徽时时彩快三 农贸市场卖火锅菜赚钱吗 福彩江苏快3开奖结果 散户炒股 山西11选5走势图和值尾 福彩欢乐生肖欢乐三怎么玩 海南特区七星彩