背景:我们了解到corda不是防篡改的,而是防篡改的.因此,如果其中一个节点直接在数据库中操作状态,则其他节点将能够检测并标记它,如果该状态在后续事务中使用.但是,我们的测试结果不符合我们的预期.Corda没有标记被篡改的状态,事实上它在所有参与者节点中记录了具有篡改数据的新状态.
先决条件: 注释合同验证:我们评估了合同代码,以检查在Corda中是否检测到数据篡改,而无需在命令级别明确执行检查.
复制步骤:
通过查看十六进制之间的差异来编辑Party B数据库中的VAULT_STATES表.
左边有不同金额的义务,右边有两个相同金额的义务.当编辑器处于相同数量时,存在2个差异(可能是线性id和时间戳相关),当它们处于不同数量时,左边显示第3个差异.
使用较低的金额覆盖特定部分,使用Party B的保险库上的SQL更新保管库:
将乙方的所有义务转移给丙方
如何让Corda参与者节点检测篡改状态?我在设置节点时错过了一些配置吗?
corda ×1