场景
State1->Flow1->State2 (State1 is input and State2 is output)
State2->Flow2->State3 (State2 is input and State3 is output)
在 Flow2中,状态 2 是唯一的输入状态,但 Flow2 的发起方部分包含对 State1 属性的检查(通过从账本查询它(。
查询
Flow2 的发起者是否有可能绕过该检查来实施一些欺诈?如果是,那么如何预防?
[请注意,检查是在状态 1 上,它不是 Flow2 的输入状态,否则可能会在 Flow2 的相关合约中放置额外的检查以防止欺诈。
没有什么能阻止发起者绕过检查,因为它是在流级别,所以是的,他可以进行欺诈。
为了防止它
- 如果 Flow 2 的响应者首先在他的保管库中
State1
,那么他可以执行相同的检查,因为他不信任发起者。 - 否则,您必须在流 2 中提供状态 1 作为事务的输入,并在协定中对其进行验证。