基于类型检查的可靠证据与多方游戏协议的审计性
1. 类型检查与审计性保证
在进行审计请求时,类型检查必须确保所使用的证据满足特定条件 (D)。在包含审计原语 audit C L 的 F7 代码中,我们将 audit 声明为一个带有前置条件 (D) 的函数:
private val audit : ˜x: ˜Un →e:Un { D }→unit
该函数可简单实现为:
let audit ˜x e = ()
通过这些类型注解,类型检查加上判断函数的无条件终止,能够保证协议的可审计性。具体定理如下:
设 (L) 是一个格式良好的协议,其判断函数总是终止,并且在其作用域内有审计语句 audit C L (其中 (fv(C) = {˜x}))。设 (\Gamma) 是类型环境 audit : ˜x: ˜Un →e:Un { D }→unit ,对于某个公式 (D)(其中 (fv(D) \subseteq {˜x, e}))。若满足以下两个条件,则协议 (L) 对于 (C) 是可审计的:
1. (\Gamma \vdash L[public(L)] : Un)
2. (\Gamma \vdash L[judge] : ˜x : ˜Un →e:Un →b:bool{ (b=true \Rightarrow (C \land D)) \la
超级会员免费看
订阅专栏 解锁全文
442

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



