Ethereum contracts now supported by Hyperledger Fabric
More options mean more flexibility.
You can now run Ethereum contracts and apps on Hyperledger Fabric, the organisation announced late last week.
Hyperledger is a flexible, open-source, permissioned business blockchain framework, hosted by the Linux Foundation and collaboratively worked on by other tech leaders. And Ethereum is the first public blockchain platform to allow the use of smart contracts as we know them.
And together, they can offer more possibilities than either can alone.
Four layers of choices
In a guest post for Hyperledger, IBM's Swetha Repakula explains the thought process which led to the decision.
They envision four layers to blockchain, she says:
- The ledger technology: This is how data is stored. In Hyperledger, for example, a merkle hash transaction log is stored by peers, while the current state of the network is stored in a separate database.
- The consensus mechanism: This is how nodes on the network reach agreement. Hyperledger uses a network of (mostly) trusted participants to endorse transactions, which are deployed in a specific order.
- Membership: This is how identity is managed on the platform. For example, it could be a public system where anyone can get a pseudonymous wallet address or a permissioned ecosystem of identifiable participants like Hyperledger uses.
- Contract functionality: This is the kinds of applications that can be deployed on the platform. Ethereum allows Turing-complete smart contracts written in the Solidity or Vyper languages, while Hyperledger supports smart contracts written in Go or Node.js.
The vision, Repakula says, is for every developer and user to be able to choose what they want at each of those four levels. Therefore, adding support for Ethereum contracts brings more options to these layers – specifically the fourth one.
Functionally, this means developers can now run Ethereum-style contracts on Hyperledger. Repakula describes the move as being "in the spirit of expanding choices... motivated with the goal to enable web developers to be able to migrate or create DApps for a permissioned platform."
The next goal is to expand the implementation to allow the use of other Ethereum features on Hyperledger. The goal in the end might be to let almost any Ethereum contract ride on Hyperledger if desired. This might minimise the effort involved in developing projects that can run on both permissioned and public networks.
In the long run, it might also be a useful step for the potential future of permissioned blockchains, which may eventually serve as a stepping stone between centralised systems and public blockchains, and so might benefit from commonalities like being able to run the same contracts.
This can already be seen to a certain extent, such as in a test of the world's first blockchain corporate loan, where a €75 million loan was issued on a Hyperledger-based internal system and then copied across to the Ethereum blockchain for immutability.
Disclosure: At the time of writing, the author holds ETH, IOTA, ICX, VET, XLM, BTC and ADA.