Corda-机密身份与匿名功能

时间:2020-05-20 16:58:06

标签: corda

在Corda中使用confidential identities工作流程与在知名聚会上致电anonymise()有什么区别?

2 个答案:

答案 0 :(得分:5)

anonymise()方法将常规Party转换为AnonymousParty,这是一个仅包含PublicKey而不是参与者的X500名称的类。但是,此密钥并不是真正的机密身份,因为该关系(X500名称/公共密钥)是通过网络映射在网络中共享的。因此,即使与另一方共享anonymise()的结果,该方也很有可能能够推断出与该键相对应的X500名称。

另一方面,机密身份工作流生成新的密钥对,并且仅在需要了解的基础上(例如,在彼此进行交易的节点之间)共享公共密钥,而不是与整个网络共享。结果,除非该节点明确显示此信息,否则其他未参与此交换的节点将无法推断此密钥属于哪一方。

答案 1 :(得分:5)

在知名方上呼叫anonymise()只会删除其X.500专有名称,仅保留公钥。您仍然可以通过基于该公钥在网络地图上进行查找来检索完整的身份。

使用机密身份,节点生成一个新的一次性身份(带有签名密钥),该身份通常仅与交易的直接交易对手共享。它不会在网络地图上发布。

CI工作流绕过Party个对象以进行验证,但是只有AnonymousParty(仅包含签名密钥)被放置在事务中。 anonymise()是完成转换的辅助方法。

相关问题