您当前的位置: > 比特币行情 >
Filecoin「双花」疑云事件始末
按照 FioinCoin 团队动静,Lotus 团队从一家生意业务所收到了一份陈诉,陈诉称不正确地使用 lotus API 来处置惩罚 Filecoin 网络中的转账 / 存款存在反复进账问题。
知道创宇区块链宁静尝试室对相关信息阐明发明,这是一起 Filecoin Lotus 的 RBF 冒充值攻击事件。
Filecoin lotus 节点提供了多个 RPC API 用于链上生意业务的获取,比方 Filecoin.ChainGetBlockMessages 可以获取指定区块内的所有生意业务内收留,Filecoin.StateGetReceipt 可以获取指定生意业务 id 对应的执行成果。
攻击者预先 发送一笔生意业务低 Gas 的生意业务 tx_1,对应的生意业务 id 为 tx_1_id,随后攻击者通过进步 Gas 实现生意业务加快 对 tx_1 举行 RBF,天生 tx_2,对应的生意业务 id 为 tx_two_id2,tx_2 上链乐成,然而,Filecoin.StateGetReceipt 接口 RPC 有一个特性,就是在获取指定生意业务 id 的执行成果时,假如这笔生意业务已经被 RBF,则会返归终极 RBF 乐成的那笔生意业务的执行状态,导致生意业务所对两笔 tx_1, tx_2 生意业务反复进账。关于所谓的“双花问题”,早在 1.21 日,比特币就呈现了”双花“疑云,终极竟然也是一次 RBF 生意业务。
什么是「双花」问题?
「双花」(double spending),即双重付出,指的是在数字钱币系统中,因为数据的可复制性,使得系统可能存在统一笔数字资产因不妥操作被反复使用的环境。
假如没有合适的机制,仅凭借协议是无法彻底解决双花问题的,用户无法验证是否本身所吸收的资金没有同时在其他处所被付出。
什么是 按用度替代(RBF)?
即允许用户创建一个替代生意业务,该生意业务至少花费一个与被卡住生意业务沟通的输进,但需要付出分外的用度。(假如它没有花费沟通的输进,那将完全是一个单独的生意业务。)
除了在卡住的生意业务上增加用度外,生意业务替代对于像迭代付款批量处置惩罚之类的用例很是有用。虽然通例批量处置惩罚将很多付出归并到统一笔生意业务中,然后再公布,但同样可以先公布生意业务,然后在生意业务广播之后,但在一个矿工将其包罗在区块之前,通过添加更多的输进和输出来迭代该生意业务。
宁静提醒
知道创宇区块链宁静研究尝试室提醒生意业务所及相关钱包方,在充值进账时,应用
Filecoin.ChainGetParentMessages和Filecoin.ChainGetParentReceipts来获取已经乐成上链的生意业务,从而从底子上制止了被双花充值的风险。紧密亲密存眷 RBF 生意业务带来的风险,须要时可请宁静审计公司协助检测。