1

我对 HLF 用例的部署有一些疑问。假设我们建立了一个用户销售商品的平台。用户及其物品通过链码存储在分类帐上。目的还在于通过链码对项目实施访问控制,以便其他用户无法看到特定项目。那么关于整个身份管理的两个选项是:

  1. 用户在 Fabric 中没有证书,用户进行的所有交易都转发给与链码交互的单个注册客户端。因此,事务上下文将始终具有此客户端的 ID。因此,从我的角度来看,用户名应该始终传递给每个事务并使用该用户名实施访问控制,尽管注册的客户对其数据拥有完全权限。

  2. 每个用户都已注册和注册,并拥有自己的身份。每个用户通过链码直接在区块链上进行交易,通过使用 stub.ID() 和其他属性可以轻松实现访问控制。这意味着超过 10 万用户将在一个或多个 CA 上注册。

问题是:

  1. HLF 是否适用于第二种选择,还是仅用于组织客户之间的交互目的?

  2. 有没有最好的方法来处理这个问题?

4

2 回答 2

0

分类帐存储有关导致对象当前状态的交易历史的事实。历史记录还存储负责对象当前状态的用户。如果对象的状态正在更改,组织的管理员/授权用户必须能够看到谁执行了该更改。

在第一种方法中,如果您想查看执行“交易”的用户的详细信息,则必须将其存储在与区块链不同的地方。虽然这可能是您项目的一个用例,但它违背了存储有关对象交易历史的所有事实的目的,因为每次同一用户进行交易时。

第二种方法满足了将区块链纳入项目的所有动机。当然,您必须注册并注册每个正在创建/修改资产的用户,然后可以以更好的方式完成访问控制管理。请阅读ACL以了解您可以在 Hyperledger Fabric 中实现的精细访问。

此外,您还可以使用 ASN.1 在其 x509 证书中编码有关用户的一些信息

于 2020-12-20T08:02:27.343 回答
0

第二个选项更受欢迎,Hyperledger Fabric ca 可以处理用户注册的数量。还有可用的属性访问控制,您可以在链代码级别使用它来控制使用访问。 https://www.youtube.com/watch?v=CAXRMJ-quhg

于 2020-12-23T05:20:16.727 回答