Blockchain 流的发起方是否可以绕过对其未使用的状态属性的检查?
场景Blockchain 流的发起方是否可以绕过对其未使用的状态属性的检查?,blockchain,corda,fraud-prevention,Blockchain,Corda,Fraud Prevention,场景 State1->Flow1->State2 (State1 is input and State2 is output) State2->Flow2->State3 (State2 is input and State3 is output) 在Flow2中,State2是唯一的输入状态,但是Flow2的启动器部分包含State1属性的检查(通过从分类账查询) 查询 Flow2的发起人是否有可能绕过该检查进行欺诈?如果是的话,如何预防呢 [请注意,检查处于状态1
State1->Flow1->State2 (State1 is input and State2 is output)
State2->Flow2->State3 (State2 is input and State3 is output)
在Flow2中,State2是唯一的输入状态,但是Flow2的启动器部分包含State1属性的检查(通过从分类账查询)
查询
Flow2的发起人是否有可能绕过该检查进行欺诈?如果是的话,如何预防呢
[请注意,检查处于状态1,而状态1不是Flow2的输入状态,否则可能会在Flow2的相关合同中进行额外检查以防止欺诈。]没有任何东西可以阻止发起人绕过检查,因为它处于流级别,所以他可以进行欺诈 为了防止它
State1
,则他可以执行相同的检查,因为他不信任发起人从Corda 4.0中,您将获得参考状态,这些状态在这样的场景中可能很有用,正如Adrian所说,您不能“强制”另一个节点使用包含特定检查的特定版本的流。要么需要将支票添加到合同中(因此它适用于所有人),要么需要让第二方成为所需的签字人,并且他们可以在签字前进行检查。