Book Image

Learn Bitcoin and Blockchain

By : Kirankalyan Kulkarni
Book Image

Learn Bitcoin and Blockchain

By: Kirankalyan Kulkarni

Overview of this book

Blockchain is a distributed database that enables permanent, transparent, and secure storage of data. Blockchain technology uses cryptography to keep data secure. Learn Bitcoin and Blockchain is the perfect entry point to the world of decentralized databases. This book will take you on a journey through the blockchain database, followed by advanced implementations of the blockchain concept. You will learn about Bitcoin basics and their technical operations. As you make your way through the book, you will gain insight into this leading technology and its implementation in the real world. You will also cover the technical foundation of blockchain and understand the fundamentals of cryptography and how they keep data secure. In the concluding chapters, you’ll get to grips with the mechanisms behind cryptocurrencies. By the end of this book, you will have learned about decentralized digital money, advanced blockchain concepts, and Bitcoin and blockchain security.
Table of Contents (6 chapters)

Challenges with blockchain

After looking at the building blocks, structure, and core parts of the blockchain, we are now going to learn about the various types of blockchain implementations available, and we will also look at their features and benefits. As we already know, the Bitcoin blockchain became popular for its immutability, security, robustness, and transparency. The industry was in need of the Bitcoin blockchain architecture, but there were challenges that came up.

The challenges faced by the industry are as follows:

  • How will it cater to an enterprise's specific needs: We know that the Bitcoin blockchain is open source, which is open to all kinds of solutions. If the IT industry or various enterprises wanted to use this blockchain architecture, they would not be able to use it as their needs are different.
  • How can we use other currencies with blockchain: Enterprises that were willing to use the blockchain architecture due to its immutability, security, and transparency wanted to track their own assets, which wasn't possible in Bitcoin blockchain as it was using Bitcoin and other Altcoins as currency.
  • How will it allow us to define specific roles and permissions on the blockchain: Different enterprises have their own roles, privileges, and permissions that have to be captured and executed on the blockchain nodes. In the case of the Bitcoin blockchain, we know that each and every node plays the same role across the globe.

So, these challenges triggered the need for specific changes to blockchain for industries, enterprises, and IT companies, in order to use blockchain for their own purposes, which in turn gave birth to different blockchain versions or variants.

Types of blockchain

Let's have a look at the following types of blockchain:

  • Public: Public blockchains have ledgers visible to everyone on the internet and anyone can verify and add a block of transactions to the blockchain. Some examples are Bitcoins, Ethereum, Dash, Factom, and the hundreds of Altcoins that are available in the market today.
  • Private: The second type of blockchain is the private blockchain. All permissions are kept centralized to an organization. Private blockchains allow only specific people with specific roles in the organization to verify transaction blocks, but everyone on the internet is allowed to view them. This also depends on the organization's decision. Some examples are MultiChain and Blockstack.
  • Consortium: The third and most popular type of blockchain is a consortium. It's controlled by a consortium of members. These members are from top companies who came forward to make changes to blockchain for specific purposes. So, only a predefined set of nodes have access to write data or blocks to the blockchain. Some examples are Ripple, R3, Hyperledger 1.0, and Hyperledger 2.0.

Permission and permissionless blockchain implementations

Now, let's look at the difference between a permission and a permissionless blockchain implementation, shown in the following diagram:

Let's explore the difference between a permission and a permissionless blockchain as follows:

  • Permissionless blockchain: Since the network is open, it's called a permissionless blockchain. Anybody can participate and contribute to the consensus. Now, the consensus varies in all the nodes that are participating in blockchain mining. Even one individual can set up the mining and start running the blockchain implementation. It's a public network, that is available for everyone to play a specific role, or rather, a generic role.
  • Permission blockchain: It restricts the actors who can contribute to the consensus of the system state and provides role-based access to the blockchain for actors who are participating in the implementation.

The following table depicts the difference between the public and private blockchains:

So, let's take a look at the following features that are being provided by these implementations:

  • Access: In terms of access, the public blockchain is open with read and write access to the database for any node that is running the blockchain implementation. On the other hand, the private blockchain needs permission to have read or write access to the database.
  • Speed: In terms of speed, the public blockchain is slower. The reason for this is that it's public and the volume, size, and number of nodes that participate in the blockchain are higher, so it takes some time to capture the transactions. When it comes to private blockchains, they have specific roles which are played by limited nodes that help to make the implementation of the transaction faster.
  • Security: The way the public blockchain works is on the premise of PoW or the Proof of Stake (PoS), while the security in the private blockchain is provided by preapproved participants that can only participate or contribute to the blockchain.
  • Identity: In terms of the public blockchain, it provides anonymity or a pseudonym to the actors contributing to the blockchain. But, in the private blockchain, the identity is known by including each of the nodes that are participating.
  • Assets: The public provides native assets, even in cryptocurrencies like Bitcoin, Ether, and all Altcoins. But, in the private blockchain, the purpose is to use any asset, thus providing a feature that tracks the assets on the blockchain.

Here is an example. Let's say two organizations agree to execute some work, and transfer or exchange assets or currency after the transition gets executed. So, the agreement that they make can be an asset on the private blockchain.

Platforms for blockchain

Let's take a look at the various platforms that have implementations of blockchain:

  • Hyperledger: The first is Hyperledger, which is consortium-built. It's an open source collaborative effort created to advance cross-industry blockchain technologies. It's a very famous platform.
  • Ethereum: The second is Ethereum or Enterprise Ethereum, which has two variants. The first is an open blockchain platform that lets anyone build and use decentralized applications that run on blockchain technology. Like Bitcoin, no one controls or owns Ethereum, and Enterprise Ethereum is a similar consortium to Hyperledger.

  • IBM Bluemix: This is a Platform as a Service (PaaS) that's built on top of the Hyperledger project, and it offers additional security and infrastructure facilities for enterprises to use the Hyperledger blockchain implementation for their own purposes.
  • MultiChain: This is a platform for the creation and deployment of private blockchains or permission blockchains, either within or between organizations.
  • Corda: It's a distributed ledger platform with a pluggable consensus that gives flexibility for enterprises to plug in their own consensus or smart contracts for their own purposes.
  • Openchain: This is a well suited for organizations wishing to issue and manage digital assets. It takes a different approach than the standard Bitcoin approach in implementing blockchain as it works on the partitioned consensus system in which every Openchain instance has only one authority to verify transactions, based on the assets that are being exchanged.

These are just a few examples of blockchain implementations; other than these, there are numerous implementations of platforms available today.