据悉,Ultrain技术团队核心成员近期在阅读EOSchainbase开源代码时,发现其底层实现存在可导致EOS全网宕机隐患的致命安全漏洞,并立即将问题详细描述及修复办法提交至EOS团队。近日,EOS团队已正式将修复提交EOS代码主分支,并对于Ultrain@raymondnuaa表示多次致谢!
公链EOS采用chainbase内存数据库存储世界状态,包括链上所有账号详情、部署的所有智能合约以及所有历史交易形成的状态修改等内容。chainbase的安全性与稳定性是保证公链EOS稳定运行的重中之重。
EOS该安全漏洞由chainbase对数据库回滚操作的错误处理顺序引发。chainbase内存数据库底层有removed、created、modified三个stack来存储区块内交易对数据库对象所进行的删除、创建、修改操作,如果该区块未能成功添加到区块链主链,则需要对该区块内所有交易对内存数据库做的所有修改进行回滚。EOS对三个stack的原有回滚处理顺序为:modified,created,removed,在该处理顺序下,如果将数据库某个已有对象A的键值修改,并创建一个新的对象B采用前述对象A的原有键值,那么在进行回滚时,会先尝试将对象A修改过的数值恢复,此时会产生键值冲突,导致底层库进入死循环状态。一旦进入该状态,EOS节点则无法正常继续生产区块。若恶意攻击者构造触发该状态的交易广播至全网执行,则EOS全网存在宕机隐患。
发现问题后,EOS开发团队按@raymondnuaa建议将stack处理顺序修改为created,modified,removed,可正常处理前述场景。此外,@raymondnuaa在问题描述中还详细描述了另一个更加复杂的两个对象键值交换的场景,并指出仅靠调整三个stack的处理顺序无法解决问题。EOS在此次修改中也增加了大量注释,明确了chainbase内对象的使用需求限制,指出chainbase的特定字段不能在modifier中进行修改,并对deferred_transaction的modify处理做了相应修改。
公链是促进区块链行业繁荣发展的一个重要角色,相信有如Ultrain这样致力于提升基础设施安全的公链存在,整个行业将会更加健康有序发展。
详情链接:
https://github.com/EOSIO/eos/pull/7266
https://github.com/EOSIO/chainbase/pull/44
据dailyhodl消息,美国检察官正试图拘留雷金纳德·福勒,直到他接受审判。福勒被控非法经营货币传输业务,该业务可能为Bitfinex加密交易所处理资金.
据DAppTotal05月06日数据显示,过去一周,综合对比ETH、EOS、TRON、IOST四大公链的DApp生态情况发现:总用户量(个):EOS(227,254)>TRON(120.
摘要:目前,柚子二级市场活跃度明显回暖,其价格被市场高估的风险不大。未来一段时期,柚子的市场需求增长趋势很可能会高于以太坊,但可能会低于艾达币.
由纽约证券交易所母公司洲际交易所创立的加密货币初创公司Bakkt再次公开了其区块链计划的一部分。该公司今天宣布,其已经收购了数字资产托管公司DACC,这将是其加密货币产品获得监管批准的重要一步.
据PeckShield数字资产护航系统数据显示,截止目前,波场TronBankPro遭黑客洗劫损失的2,673万个TRX,已经有1,300多万个TRX流入币安交易所.
华尔街金融巨头进军加密资产的步伐越来越快,也越来越密。据彭博社报道,全球最大的资产管理公司富达投资将在未来几周内推出面向机构客户的比特币交易服务.