我观察到,通常在一份典型的合同中,我们有一些类似于
"The signers should be the participants for the state" using
(command.signers.toSet() == state.participants.map { it.owningKey }.toSet())
如果使用此特定命令,我们将强制执行,所需的签名者与参与者相等(假设交易的参与者始终必须签名),因此节点不会恶意更改流程以回避从某些方获取签名。
在Oracle上的IRS演示中(
RateFixFlow/NodeInterestRate
),则
State
有
participants
和
oracle
相关方。还有一个
verifyFixCommand
这验证了每当使用Fix命令从Oracle获取速率时,是否满足某些规则。
为什么该命令还不强制要求参与者必须签名,而且oracle也必须签名,以确保oracle验证了修复率?否则,为什么流会得到oracle的签名呢。是什么首先阻止启动器绕过获取oracle签名。
是否有任何理由不将下面的类似规则纳入其中?i、 e类
"The signers should be the participants and oracle for the state" using
(command.signers.toSet() ==
(state.participants.map { it.owningKey } + state.oracle.owningKey).toSet())