《我学区块链》—— 二十9、以太坊安全之 交易顺序依赖漏洞

二十9、以太坊安全之 交易顺序依赖漏洞

交易进入未确认的交易池,并可能被矿工无序地包含在区块中,这取决于矿工的交易选择标准,有多是一些旨在从交易费中获取最大收益的算法,但也能够是其它任何标准。所以,打包在区块中的交易顺序与交易生成的顺序彻底不一样。所以,合约代码没法对交易顺序做出任何假设。web

由于交易在记忆池(Mempool)是可见的,其执行是可预测的,因此除了合约执行出现意外结果的状况,还有一个可能的攻击面。交易打包中可能出现的一个问题就是,延迟某个交易可能被流氓矿工用做我的利益。事实上,可以在交易执行前意识到某些交易(的存在)对任何人来讲都是有利的,而不单单是矿工。算法