I. Introduction
Blockchain technology which is the base technology of bitcoins is disrupting the internet. Even though it started with cryptocurrencies its applications are widely explored in different domains like healthcare, logistics and supply chain, education, governance, insurance, banking and finance, real estates, copyrights and royalties etc. The current solutions used in these domains require a controller or a trusted third party to facilitate transactions between the parties or users involved in the respective system. In blockchain the role of this trusted third party is done by consensus mechanisms.