通信模型与以太坊智能合约攻击研究
通信模型中的等价属性验证
在通信模型的研究中,存在三种语义:经典语义(c)、私有语义(p)和窃听语义(e)。对于所有的 ( s \in {c, p, e} ),有 ( \approx_s^{\ell} )、( \approx_s^{o} )、( \approx_s^{t} )、( \approx_s^{m} ) 等等价关系。对于图像有限进程,当 ( s ) 确定时,( \approx_s^{t} = \approx_s^{m} );当 ( s = c ) 时,( \approx_s^{\ell} = \approx_s^{o} ),并且推测对于 ( s \in {p, e} ) 该等式也成立。同时,对于所有的 ( r \in {m, t, \ell} ),有 ( \approx_c^{r} )、( \approx_e^{r} )、( \approx_p^{r} ) 之间的关系。
去除和添加窃听进程
在验证等价属性时,原始上下文 ( C[] ) 不一定包含窃听进程 ( eav(d, x) | \omega_c )。在经典语义中,进程 ( eav(d, x).P ) 与 ( 0 ) 行为相同,但在窃听语义中,如果 ( P ) 不为 ( 0 ),其行为可能完全不同。因此,我们从 ( C[] ) 中去除窃听进程,得到 ( C’[] )。然后,基于 ( C’[] ) 定义新的上下文 ( C’‘[] ),在其中添加无害的窃听进程 ( eav(d, y).0 )。具体操作如下:
1. 对于 ( C’[] )、( A ) 和 ( B ) 中的所有自由通道 ( a ),并行添加进程 (!eav(a, y) | \omega_a )。
2.
超级会员免费看
订阅专栏 解锁全文
18

被折叠的 条评论
为什么被折叠?



