What makes blockchain a game changer?

Blockchain is one of the revelations that had been developed in this decade. Blockchain opened the possibility of Web 3.0 which I personally believe will be the future of the internet. In Web 3.0, the internet will be decentralized though in Web 2.0 it should have been decentralized but big players such as AWS, Microsoft, Facebook, and other big companies monopolized the internet in exchange for their services. As a result data of users across the platform are in the hands of the said big players. You might be thinking why should we care? Well, it’s really simple if we don’t have control over our data then it can be used against us or worse abused for whatever reason. Luckily, blockchain can be the solution to this problem since with blockchain, users will own their data and have the sole authority over it.

Great. But wait there’s more.

So now you know what’s the power of blockchain but take note that with great power comes with great responsibility. Let’s say you want to use blockchain but before doing so you have to immerse yourself into the use case you are in. Take note of the word “immerse” go deep think most about the problem you are trying to solve. Think about who will use it, what data will be stored, and is there a need for a need to know basis?

If you’re dealing with a full trustless application and everybody can join the network read this.

So maybe you’re doing some crowdfunding, crowdselling, or maybe something else that there’s no need for a need to know basis. As of now, there are only two things I can suggest you use Ethereum or NEM.

Let’s start with the most popular blockchain platform Ethereum. In Ethereum, you can write smart contracts using a programming language called Solidity which will live in the Ethereum Virtual Machine (EVM). A smart contract is something that dictates the on-chain rules of your blockchain application. It is also where the data will live so it is very important to remember to write secure smart contracts since a single mistake in the code can lead to loss of real money. It’s also very important to remember that every action you will do in the smart contract requires gas so, in a nutshell, it is very important to limit what you store in the EVM only the important ones, anything else will need to be stored off-chain.

Now let’s talk about NEM which is rapidly growing and has a very friendly community. Now in NEM, you can define a smart asset which is similar to a smart contract of ethereum. Things, however, work differently, In NEM you only use their API to store data into the NEM blockchain but all the logic will be defined off-chain. An advantage of this is that resource speaking, this is much cheaper compared to ethereum since you process business logic off-chain, for example, imagine you need to do a 1 + 1. In ethereum, the addition operation is done on-chain so you pay gas for that. But in NEM you do the addition off-chain and you only store the result which is in this case 2 on the chain. Its disadvantage, however, is that since business logic are stored off-chain for me its not very ideal for crowdfunding or crowdselling or any sort of something like that but still NEM provides a variety of applicable use cases such as Encrypted transactions, Aggregated Transactions, and storing proof of ownership.

If you’re dealing with an application that has a need to know basis or there’s a need for privacy then read this.

There are also two things I can share. Namely Hyperledger and Corda, now these two are quite similar but make sure to read both its worth your time.

Let’s start with Hyperledger, it is a project under the umbrella of IBM. Hyperledger is a permissioned blockchain so there’s a need for a know-to-know basis. Hyperledger has a variety of frameworks such as Fabric, Iroha, Sawtooth, and many more. These frameworks are different in such a way that each of them is tailored for a specific use case. Hyperledger uses Byzantine Fault Tolerance as its consensus mechanism and this is very important to understand. To put it simply, it is a consensus where peers votes for something they believe and transactions are atomic which means that if something fails then everything fails. In hyperledger you write your smart contract in form of a chaincode where you define the model of assets, transactions, and participants that will be involved in the blockchain. What’s interesting is that the logic of the transactions will be written in a very familiar language which is Javascript. And finally, you also have the freedom define rules for each kind of participant will have so it is a very incredibly important thing to do since in a real-life scenario every person should have a different level of authority.

Now let’s talk about Corda. Corda is 90% written in a programming language called Kotlin and is being maintained by R3 and is tailored for banks, financial institutions, or in business consortiums. Corda is very interesting because we are talking about blockchain here but Corda actually doesn’t have any blocks or any similar of that. Instead, parties connect via peer to peer where they have their own privacy and they are the only ones who see everything that is happening. Because of this parties need to identify themselves via digital certificates since in Corda there’s a need for a need to know basis which is just like what I said earlier is a standard for a real-life application of blockchain for fintechs. In Corda, a participant needs to run a node which will live in Java Virtual Machine (JVM). And by the way, developing Cordapps requires knowledge and understanding of Kotlin or Java since you write your Corda API’s in Kotlin or Java, well technically you can use any language that can run in JVM but Scala and the other languages uses a different programming paradigm which is functional programming and I wouldn’t recommend it unless you’re a nerd haha.

So there you have it.

At the end of the day, there is no perfect one-fit solution for everything. You need to clearly identify what use case you’ll be dealing with before diving deep. Now before deciding to use blockchain make sure there’s a need for it since using blockchain also has it caveats. After deciding that you really need it I recommend that you really explore every blockchain platforms out there before implementing because in the long run if you don’t identify it you’ll be the one to suffer. So there you have it folks thank you for reading and I bid you farewell amigo 🙂

This article was shared by the author to BlockDevs Asia and was also published to Altcoin Magazine