区块链研究实验室|形式验证如何帮助防止Gridlock错误( 四 )

一旦研究了合同的所有可能行为 , 下一个重要步骤便是仔细检查每种行为 , 以确保它是有意或无意的 , 否则就很难被利用 。 确实在上述四种可能的行为中 , 只希望有第四种 , 并且我们需要分析其他行为以检查它们是否可利用 。

如果可以利用第一行为和第二行为 , 则可以将其用于DoS攻击 。 但是 , 据我们所知 , 第一个行为几乎是无法利用的 , 因为在密码上很难在给定的特定地址创建合约帐户(即具有非空代码的帐户) 。  (为此 , 需要使用CREATE2操作码来查找对应于特定地址的盐 , 这与查找SHA3哈希的原像一样困难 。 )但是第二种行为是可利用的 , 因为可以轻松地启动一个如前所述 , 只需向其发送一些以太币即可在任何特定地址的非合同账户(即无代码的账户) 。

另一方面 , 第三种行为(如果可以利用)可以用来耗尽其他人的“locked”以太币 , 这确实是致命的 。 然而据我们所知 , 由于与第一种情况相似的原因 , 它几乎无法被利用 。  (一个人可以很容易地在一个特定的地址“启动”一个帐户 , 但是很难“拥有”该帐户 , 因为这需要找到密钥 。 )

推荐阅读