有没有办法限制 Corda RPC 用户可以在他们的节点库中查看的交易数据?

Is there a way to restrict the transaction data the Corda RPC users can view within their node's vault?

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

上下文如下: 假设我有一个包含 3 个 RPC 用户的节点,他们中的每一个都相互独立,并且由于他们属于相同的用户类型,所以他们被分组在同一个节点中。假设这 3 个用户各自与其他节点进行了单独的交易,并且这些单独的交易实质上将更新到同一个金库。由于保险库数据对其用户可见,我如何确保维护每个用户的隐私?如何确保用户无法查看同一节点其他用户的交易?

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

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

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

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

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