Hyperledger Explorer: how to prevent participants

2019-05-03 01:57发布

问题:

In my Hyperledger-Fabric application (developed with Hyperledger Composer), I want to prevent participants from being able to look at the old transactions.

Old transactions can be viewed either in the Hyperledger Composer Historian or in the Hyperledger Explorer.

I know how to make old transactions non-visible to participants in the case of Hyperledger Composer Historian (namely in the file permissions.acl). But preventing participants from looking at old transactions in the Hyperledger Composer Historian is not of any use, as long as they can instead view the transaction history in the Hyperledger Explorer.

So my question is this: how can I make the transaction history non-visible to participants in the case of the Hyperledger Explorer?


UPDATE:

Is it possible at all for an organisation to use Hyperledger Explorer without the knowledge of other members of the network?

If it is not possible for one member to use Hyperledger Explorer on the network without the other members allowing it, then the problem is gone anyway.

回答1:

You can't make participants not being able to access data they have already seen, thus you can't make transaction history disappear from the channel members local peers.

I know how to make old transactions non-visible to participants in the case of Hyperledger Composer Historian (namely in the file permissions.acl).

Even if you define access control for clients in the application layer:

  • All peers in the channel can still see the transactions
  • Every client that has permission to pull blocks from peers or orderers, can still see the transactions via pulling them itself.

But preventing participants from looking at old transactions in the Hyperledger Composer Historian is not of any use, as long as they can instead view the transaction history in the Hyperledger Explorer.

Such a fact should instill doubt in the mind of anyone, and make him/her wonder whether the hiding is of any use, to someone that has access to the blockchain itself.