【问题标题】:Is there a way to restrict the transaction data the Corda RPC users can view within their node's vault?有没有办法限制 Corda RPC 用户可以在其节点的保险库中查看的交易数据?
【发布时间】:2020-01-09 05:38:10
【问题描述】:

我了解在一个节点内可以定义多个 RPC 用户,并且存储在节点保险库中的所有事务都对所有 RPC 用户通过保险库查询可见。有没有办法改变这种行为/限制用户在保险库中可以看到的内容,因为我可能不希望用户看到所有与他们无关的交易。

这里是上下文: 假设我有一个具有 3 个 RPC 用户的节点,它们中的每一个都相互独立,并且它们在同一个节点中分组在一起,因为它们属于相同的用户类型。假设这 3 个用户分别与其他节点进行了单独的交易,这些单独的交易基本上将更新到同一个保险库。由于保管库数据对其用户可见,如何确保维护每个用户的隐私?如何确保用户无法查看同一节点的其他用户进行的交易?

有没有办法设置这个访问层?还是当前版本的 Corda 已经允许这样做?这个接入层如何实现?例如,如果我必须添加一个额外的属性来标记交易,还是有其他更好的方法来做到这一点?

【问题讨论】:

    标签: kotlin blockchain rpc corda data-access-layer


    【解决方案1】:

    使用帐户sdk (https://github.com/corda/accounts) 或自行实现逻辑。

    用户之间的数据分离本身不是平台关心的问题,您需要在数据和用户之间实现一层。该层将提供对与他们相关的数据的访问。因此,在您只能访问您的数据的任何 Web 平台中,其工作方式与数据访问相同。

    【讨论】:

      【解决方案2】:

      据我了解,每个 Corda 节点都只有一个 x-500 名称,它代表一个单一的法律实体。因此,即使您有多个 RPC 用户,他们仍然连接到同一个 Corda 节点,因此他们代表一个单一的法律实体。他们都可以访问节点可用的整个账本。

      这样做的唯一方法是为每个合法身份创建一个专用的 Corda 节点。

      【讨论】:

      • 明白了,这不会是非常可扩展的吧?假设我将其用于供应链金融,我希望将其设置为深入层级。可能有数百个供应商,一些供应商甚至可能没有 IT 基础设施来维护节点。我们如何使用 Corda 解决这个问题?
      • 你是对的。我不知道答案。可能稍后会有一些服务将 Corda 节点提供为“服务”(创业的想法?)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多