[公证人/节点在收到交易时如何验证特定流程?
这是否意味着Corda可以保证流程没有根据相应Cordapp中的说明进行修改?
详细:
简而言之:
Adel的答案涵盖了从应用程序流程级别不信任对手方的正确方法,但也可以使用操作保护。强大的合同可以帮助防止格式错误的交易,因为Corda不允许在结构完善的网络中使用未知的合同。
网络参数定义了可以接受哪些智能合约cordapp jar进行验证。合同约束的最常见形式是签名约束,这意味着可以接受由同一开发人员密钥签名的任何合同jar。这样可以防止恶意交易对手强迫您运行弱验证:https://docs.corda.net/api-contract-constraints.html#signature-constraints
从Corda 4开始,除非节点操作员明确告诉Corda信任jar,否则任何无法识别的合同cordapp jar将不会被信任。 https://docs.corda.net/cordapp-build-systems.html#cordapp-contract-attachments一旦一个签名被信任,那么该签名所签名的任何将来的jar都将被隐式信任。