简介:单个请求向/wallet/deploycontract提交几兆字节码以及CPU密集型长解析将消耗CPU大约10分钟,同时仍然在堆中保存几兆字节码。发起足够的请求,足以使用所有可用线程来处理传入的HTTP请求,填满内存并导致产生拒绝访问。
描述:
*从一个很大的带有大指数的十进制数中获取longValue非常慢。例如newBigDecimal("10000000e100000000").longValue();这段代码大约需要2-3分钟才能在较新的macbookpro中运行完成。*/wallet/deploycontract有6个字段,它们从解析的json对象中获取longValue,即token_id,call_token_value,fee_limit,call_value,consume_user_resource_percent,origin_energy_limit。这意味着单个请求可以使用最多12分钟的线程。*当一个线程被锁定12分钟/deploycontract时,整个字节码也会放入内存中,这会占用内存并过早地将对象从eden内存空间移动到旧的内存空间*一旦将对象移动到旧的存储空间,当指针被释放时将很难清理它们,因此GC会在尝试清理之前卡住。请注意gc日志和屏幕截图,其中内存在攻击停止后很长时间内保持在3G状态。
波场TRON用户数突破7000万:2022年1月5日,根据TRONSCAN最新数据显示,波场TRON账户总数达到70,048,480,正式突破7000万。波场TRON各项数据稳中前进, 波场TRON生态逐渐强大的同时,也将迎来更多交易量。[2022/1/5 8:26:13]
参考:
TronLink宣布正式使用BTFS,共同打造新一代去中心化存储网络:据最新消息,TronLink宣布正式使用BTFS,共同打造新一代去中心化存储网络。BTFS已经于6月中旬主网上线,且于美国时间 7 月 7 日开启存储空间挖矿收益比赛,单个 Host 每天增加存储量在 100 MiB 以上,即可参加挖矿奖励。大每 24 个小时按比例分享 3000 万个 BTT。每个统计周期时间点是 UTC 00:00。每次奖励会在每天结束后 24 小时之内发放。BTFS官网链接:btfs.io[2020/7/16]
jconsole代表内存,CPU和线程的截图
动态 | 过去一年代码提交排名TRON和EOS位于四五名:据cryptomiso数据,截止今日上午10.35,过去一年Github代码提交次数排名前五为:INS(提交7289次,21个贡献者)、ZRX(7098,42)、RHOC(5584,49)、TRON(5399,72)、EOS(4823,100+)。另外BTC排名26位,过去一年提交了1815次代码;ETH排名59位,过去一年提交了989次代码;ETC排名90位,过去一年提交了593次代码,有97位贡献者。[2019/1/1]
gclog来显示JVM进入无限的GC并且仍然无法释放内存
修复建议
JSONObject.parse使用Feature.UseBigDecimal.getMask;默认情况下。不使用BigDecimal会解决问题,但可能会在需要BigDecimal的其他地方引入问题。
如果整个字节码一直没有放入内存中那就好了。
影响使用单台计算机,攻击者可以向所有或51%的SR节点发起DDOS攻击,并使Tron网络无法使用。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。