当前位置:   article > 正文

Securify之旅1之TOD漏洞剖析

tod漏洞

什么是TOD

TOD的英文全称是:Transaction-Ordering Dependence。一个block包含一个transaction的集合,同属于一个block的transaction的执行顺序是不确定的(只有矿工可以确定)。因此,也就导致了block的状态是不确定的。假设block处于状态σ,其中包含了两个transaction T1和T2。T1和T2又同时调用了同一个合约。那么,在这个时候,用户是无法知道这个合约的状态的,因为这取决于T1和T2的实际执行顺序。

如下是一个智能合约:给予解决了计算难题的用户相应的奖励。
在这里插入图片描述

  • 场景一: 温和场景(Benign Scenario)
    假设To和Tu差不时间发送信息到Puzzle。其中,To是来自合约的所有者,他想更新提出方案的奖励值。Tu是来自提出解决方案的用户,他想通过方案得到奖励。那么,在这个时候,To和Tu的执行顺序会影响到提出方案的用户最终能获得多少奖励。
  • 场景二: 恶意场景(Malicious Scenario)
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/141846
推荐阅读
相关标签
  

闽ICP备14008679号