Corda技术核心概念之身份(Identity)

概要

 

  • 在Corda中的身份代表合法的身份或者服务的身份
  • 在Corda中身份的检测是由看门人(Doorman)或者一个众所周知的身份通过X.509证书签名的
  • 这个网络上的身份都是发布在 network map 中的
  • 获得信任的身份仅仅是基于需要知道事实进行分享

 

在Corda中身份能够代表:

 

  • 一个机构的合法身份
  • 网络服务的服务身份

 

合法的身份是用于一个交易的参与方,比如一个现金状态(a cash state)的拥有者。

服务的身份是用于提供交易相关的服务,比如公证人服务(notary service)或者先知服务(oracle service)。

服务的身份是不同于合法的身份的,因此不同的组织结构拥有的节点存在分布式的服务(分散的服务)。这样分散的服务身份是基于CompositeKeys的,他(CompositeKeys)描述着签名者有效的签名集合。

身份是总所周知的或者是被信任的,取决于他们的X.509证书是否被发布。

  • 一个众所周知的身份通常是一个合法实体或者服务的可被证明的公匙(public key),然而对于一个交易来说,参与者都必须是可被信任的,仅仅是公匙是不合适的。因为公匙发布在网络中,对于任何人都可以访问的,公匙不合适于交易。
  • 可被信任的身份仅仅发布在那些交易需要身份的。公匙是可能暴露到第三方的比如公证人服务,但是名字和X.509证书的分配却是受到限制的。

在Corda交易的私有模型中有几个元素(elements)需要包括,包括

1,交易只需要给需要的人知道。

2,使用Intel SGX,可以在很大程度上提供隐私保护。

 

证书

 

节点必须验证公匙拥有者的身份,使用X.509证书可以获取。当第一次运行节点的时候,会产生一个钥匙对并且会给这个网络上的看门人服务提交一个证书请求。这个看门人服务使用一个合适的身份验证然后分发一个证书给这个节点,这个证书会被节点当成CA(certificate authority)使用。在这个初始化的CA证书之上,节点自动创建并签名两个证书,一个是TLS证书,一个是节点众所周知的签名证书。最后,这个节点创建节点信息包含地址和众所周知的身份,并把它注册到 network map service 中。

 

从这个签名的证书,组织机构可以创建两个众所周知的和可被信任的证书。众所周知的身份的使用场景包括集群节点代表单一身份以达到减少冗余的目的,或为单位创建身份。

 

组织机构自己做决定,什么样的身份发布到network map service中,并让他们众所周知,而且组织机构为保证隐私,可以自己根据意愿维持可被信任的身份(典型的就是,为了避免暴露交易信息的敏感细节)。为了达到可以操作的原因,在一些使用场景中,节点可能会使用私有的network map services,这个私有的network map services 是附加在主要的 network map service。注册到这样的一个network map中,必须考虑众所周知,而且直接存储可信任的身份到一个中心并且在记录的级别没有控制应用来确保只有这些才可以访问身份是不合适的

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值