评估 Hyperledger Fabric 中的生产网络

Assesment of a production network in Hyperledger Fabric

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

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

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

问题是:

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

  2. 请问有什么好的处理方法吗?

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

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

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

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

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