Switching tracks

#6 Our current alternative

Xuntos
Building a Dapp on Ethereum
4 min readNov 16, 2018

--

It’s been a while since our last blog, and that is because the last period has been quite tumultuous. When we wrote our last blog we were already looking at alternatives for Ethereum and we had a contender to write our next blog about. However sometimes plans don’t turn out as planned so we had a period of starting over. Multiple times.

When we wrote our last blog we had just started to take a look at EOS, an Ethereum alternative that prides itself in it’s proof of stake algorithm. Because of the steep learning curve, we passed on that one. So we made the switch to NEO, another blockchain with Proof of Stake at its core. That seemed promising. We got as far as starting to develop smart contracts for it, but then we learned about Hyperledger® Fabric hosted by The Linux Foundation and it’s permissioned blockchain. We compared NEO and Hyperledger Fabric and made another switch.

Hyperledger Fabric isn’t a blockchain in the traditional sense. Some say you shouldn’t even call it a blockchain but just a shared ledger. Why, because it is permissioned. In the other blockchains you can create a node and join the main net out of the box. Hyperledger Fabric doesn’t have a main net in that sense, it doesn’t even have a standard token. Hyperledger Fabric targets small private networks that can exist within the main Hyperledger Fabric network. Those networks can’t be joined without getting permission to do so and within those networks the permissions between nodes and users can be different depending on the setup.

That is actually one of the reasons we eventually landed on Hyperledger Fabric. The tool we were building on Ethereum required a permission system that Ethereum lacked and Hyperledger Fabric can facilitate that. Another reason is that Hyperledger Fabric is fast, very fast, because it doesn’t use Proof of Work, but it doesn’t use Proof of Stake either. Due to Hyperledger Fabric’s permission system it can employ a strategy called Proof of Authority, which is just as fast as Proof of Stake, but it’s easier to understand. It basically boils down to having one or more peers sign of on a transaction because they have the authority to do so.

Another pro of Hyperledger Fabric is the separation between smart contract data and smart contract code. In Ethereum for example you can relate a smart contract to a model in Object Oriented Programming that is written to the store. You can only run the code to update the values in the state variables but you can’t change that code if needed. Hyperledger Fabric solves that by storing the calls to a smart contract in the blockchain and the actual contract and contract data off chain. Due to this they can be separated and they function more like a program querying a database. Resulting in the fact that in Hyperledger Fabric you can call a smart contract to save as many Person objects as you want, in contrast to Ethereum where you needed to deploy a new contract for every one of them.

Another pro of this is that the code is upgradable, if you keep the data compatible, you can deploy new versions of the code without losing it.

Storing the data off chain is, as you might think less safe, but the calls to the contracts are stored on the chain, so as long as you have the chain and the correct code you can reproduce every state of the contract it has been in.

Of course Hyperledger Fabric isn’t all pro’s and no cons, for instance Hyperledger Fabric, just like EOS has a steep learning curve, even though it starts off pretty easy. Its permission system brings a lot of complication of the architecture. So far we’ve only worked with the samples given in the tutorials, and we haven’t really found out how to create our own network and understand it’s infrastructure. We’ve found that the documentation is sometimes very technical and dives deep into the subject while also forgoing the explanation of other parts. However, we will stick to it because we think Hyperledger Fabric gives us the tools we need, we just need to figure out how to use which tool.

In conclusion, we found that Hyperledger Fabric might have solutions for the problems we faced with Ethereum. So we’ve jumped into a new adventure of finding out how everything works. Next time we will probably dive into the more technical details of Hyperledger Fabric so be sure to catch our next blog!

In the meantime, give us a clap to encourage us in our new adventure, or if you’ve found this blog useful in choosing an alternative to Ethereum!

--

--