Search code examples
blockchainhyperledgerethereumhyperledger-composer

Is Hyperledger a truly secure blockchain like ethereum?


In Hyperledger we have something called a network admin and this admin will have access to all the cards and assets on the blockchain (at least I have tried to deny the admin access to assets using the acl, but I couldn't deploy the change, it timed out Everytime). So, is it possible to isolate admin from our business network? Or all the blockchains like ethereum too have the network admin?


Solution

  • I believe you are referring in your question to Hyperledger Composer rather than Hyperledger Fabric or any part of the Hyperledger Foundation components, so I think it important that a distinction is made here. You also don't specify the version of Hyperledger Composer you tried to use so I the answer here is specific to Composer 0.19.x which is the current release at time of writing.

    Hyperledger composer is a framework that makes use of the DLT capabilities of hyperledger fabric. As such any business network is managed and controlled via the mechanisms of hyperledger fabric. So to install/start/upgrade a business network requires the appropriate Hyperledger Fabric permissions to perform chaincode install/instantiate/upgrade. In order to interact with a business network you need an identity that is authorised by hyperledger fabric to do so.

    In Composer there is no such thing as a network administrator (ie a single participant or set of participants that have overall authority). All access for ANY participant is controlled by the acl definitions that a defined by the business network. The ability to change the business network (and thus the acls) are controlled by the identity who is allowed to perform a hyperledger fabric chaincode upgrade (or start if doing first deployment).

    Composer provides a very simple hyperledger fabric setup for development purposes only as well as a sample ACL that grants a predefined participant type of NetworkAdmin (perhaps this built in default name is confusing as it isn't anything special) allowing it full access to everything. Also in all the tutorials everything is referred to admin and setup that way in order to provide an easy entry into developing business network applications and certainly isn't a guide or representation of how a production network should be set up.

    In conclusion, hyperledger composer is bound by whatever capabilities hyperledger fabric has for access (and note that more capabilities to hyperledger fabric are being introduced such as zero knowledge proof). Composer then adds on to this it's own concept of access control governed by the ACL definition, using all of these capabilities you have complete control over what identities and participants can do and see within a hyperledger fabric ledger.