2

Is there anything that is equivalent of Hyperledger Fabric's Membership Service Provider in Ethereum?

The power of an MSP goes beyond simply listing who is a network participant or member of a channel. An MSP can identify specific roles an actor might play either within the scope of the organization the MSP represents (e.g., admins, or as members of a sub-organization group), and sets the basis for defining access privileges in the context of a network and channel (e.g., channel admins, readers, writers).

EDIT: My question is wrt a private Ethereum blockchain, not the public Ethereum network

3 Answers 3

1

There is none. That aspect of Networks and channels don't exist in Ethereuem since the latter is a public and not permissioned blockchain network. In these types of blockchain access is granted to all members (nodes) in the same way : All Read and Write(send) right to all transactions. This makes the Ethereum network a single network where all nodes belong to it.

The concept of channels and networks in hyperledger is a way of introducing a permissioned blockchain where those are personal private spaces between certain nodes created in parallel to the main blockchain network to communicate transactions between the members only.

Note : You should check out quorum it is possible to find what you looking for there.

TLDR : These concepts don't exist in Ethereum because they defy one of the main goals of the Ethereum protocole.

1

Ethereum is a public and open protocol. As such, any node that follows protocol is welcome to participate.

Having said that, there are approaches to addressing this concern.

A team may form a private network where nodes are separated from the public internet, or use a variant of the protocol such as JPMorgan's Quorum which includes membership constraints and private messages (not available on the public networks).

Also, there are popular patterns for addressing this sort of concern at the application level. For example, the Ownable pattern and Role-Base Access Control (RBAC). The former is minimalist and the latter is more ambitious. See also the Whitelist pattern. A caveat that applies to all public network settings is confidentiality is not guarded even if important controls are restricted to whitelisted signers.

Whitelist: https://github.com/OpenZeppelin/openzeppelin-solidity/tree/v1.11.0/contracts/access

Ownable: https://github.com/OpenZeppelin/openzeppelin-solidity/tree/v1.11.0/contracts/ownership

Quorum: https://www.jpmorgan.com/global/Quorum

Hope it helps.

1

According to ethereum documentation-

Public blockchains:

a public blockchain is a blockchain that anyone in the world can read, anyone in the world can send transactions to and expect to see them included if they are valid, and anyone in the world can participate in the consensus process – the process for determining what blocks get added to the chain and what the current state is.

In any public ethereum client(geth or parity) the concept of the admin and channel is not present.

However, quorum basically allows you to send private transactions. Quorum is an enterprise version of ethreum. You can specify addresses of the recipients in privateFor variable which will only allow the recipients to see the data parameter while others will receive a blank data parameter.

Refer the following blog to understand more about quorum -

https://medium.com/@didil/enterprise-ethereum-private-transactions-with-quorum-b0574bb60700

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.