Getting started with Blockchain, what are the steps and the pitfalls?

--

neekoh.fi

千里之行,始於足下 or “a journey of a thousand miles begins with a single step”, as the Chinese philosopher Laozi wrote around 500 BCE.

And once you know that you want to start your journey with Blockchain, there are a set of logical steps you should take, as well as some pitfalls.

The single first step, Step 1, equips you with a tool you will need for the remainder of your journey, namely Design Thinking.

Step 1: Learn the IBM Design Thinking Field Guide. Design Thinking is a process for creative problem solving and crucial for getting started on your Blockchain journey. It is not tied to Blockchain alone, but it is highly applicable if you want to be successful.

Step 2: Read and understand Satoshi Nakamoto’s historic paper Bitcoin: A Peer-to-Peer Electronic Cash System from October 2008 This is the paper that started the Blockchain revolution it is only nine pages long and you simply have to read and understand it.

The Abstract begins in true revolutionary spirit:

A purely peer-to-peer version of electronic cash would allow online payments to be sent directly from one party to another without going through a financial institution. Digital signatures provide part of the solution, but the main benefits are lost if a trusted third party is still required to prevent double-spending. We propose a solution to the double-spending problem using a peer-to-peer network.

Bitcoin is not Blockchain but uses a version of Blockchain. Blockchain on the other hand is often used without Bitcoin or cryptocurrencies whatsoever. Instead Blockchain can easily be used with digital assets, as in Supply Chain and adjacent business areas. Any business area really with established middle men and a large number of actors who all maintain their own separate ledgers. This little guide assumes that you are interested in the latter.

Satoshi Nakamoto’s vision is, as Harvard Business Review writes, of a World without Middlemen. And this attempt at capturing the vision of Nakamoto-san’s Blockchain in a spiffy sentence, contains no less than two potential pitfalls on our journey. Because if we try to introduce Blockchain into a business domain without middlemen and with but a handful of actors, we may not reap the full benefits from Blockchain. Conversely, if the domain we are trying to modernize has very strong middlemen they may not be all that keen and easy to be displaced. Disintermediation is not a cuddly word to the middlemen on this world. Who if they want to join the Bockchain revolution, can re-invent themselves and provide Blockchain-friendly Blockchain services.

And if you want an easy-to-read guide for the absolute beginner, the free Blockchain For Dummies, despite its unfortunate title, is actually quite good.

Step 3: Read the IBM Blockchain Use Cases. This is a collection of really good and well described Use Cases that pertain to Blockchain. You should find a Use Case that fits the business segment you are interested in. If you do not you may need to do more study of Blockchain.

Step 4: Decide on which code base you want to use. If you decide to go with the open source Hyperledger Fabric, managed by the Linux Foundation, which is the focus of this article, then it is easy to begin to look at the source code, which is all up on GitHub.

Also, read the Hyperledger Fabric Documentation especially Building your First Network and Writing Your First Application. They will get you started on your laptop very quickly. Mac and Linux are recommended.

And the Blockchain Developer Center is a really good source for anyone learning Blockchain and Hyperledger Fabric.

And it is crucial to learn the Hyperledger architecture.

As a developer you don’t really need to understand the Hyperledger Fabric architecture in detail to start writing applications. All you need is to use the excellent Hyperledger Composer.

But sooner or later you will need to understand Hyperledger Fabric from an operator’s point of view. Which is what we see in the picture above. Peers, Committers, the Ledger, Events, the World State Database, and the all important Chaincode, or Smart Contracts, and of course the Orderer.

Consensus protocols, are a core component of Hyperledger which we must understand.

The best place to start to understand the Hyperledger Fabric architecture is Architecture Explained in Read the Docs.

For a more in-depth view of Hyperledger concepts, read Christian Cachin’s excellent Blockchain, cryptography, and consensus

Step 5: Go through the Hyperledger Composer Tutorial This is the tool you will be using to create your Hyperledger business networks.

The Hyperledger Composer Modeling Language is key to learning to how to create business networks in Hyperledger Fabric.

Step 6: Familiarize yourself with Blockchain Code Patterns. This is a set of open source working apps that you can start to use as you see fit. A great learning source. At this step you are starting to write code end to end. From the Composer to a running buisness network.

Create your first blockchain network using Hyperledger Composer is a good first Blockchain business network to implement. As is evident from the picture below it goes from creating an app in the Hyperledger Composer, to deploying the BNA file, i.e. the output from the Composer, to running the completed business network.

Composite Hourney is another good working Code Pattern that will take you from creating a business network in the Composer to a running app.

Step 7: A more advanced, and truly excellent Hyperledger course is Zero to Blockchain. An IBM Redbooks course.

Step 8: Deploy on the IBM Blockchain Platform in the IBM Cloud

To start with it is easy to deploy a Hyperledger Business Network on your own laptop. But for enterprise deployments you need a cloud. And here the IBM Blockchain Platform in the IBM Cloud provides a secure enterprise environment. See below.

Deploying your first business network beyond an MVP and proof-of-concept means that you will need to face some design and operational questions.

One is who will administer your Blockchain installation? Since a Blockchain installation by definition consists of several collaborating parties. An agreement has to be made as to who will administer the Blockchain.

Another point to keep in mind is that you will almost certainly introduce your brand-new Blockcain business network into an existing business network with a large number of legacy systems. Systems that can not be replaced until after the new Blockchain system has proved itself. Which means that all functionality cannot be moved to the Blockchain in one go when the system goes live. Instead certain functions can be moved on-chain while others have to remain off-chain for some time. An important fact to keep in mind.

How long time does it take to go through the steps in this little guide ? That obviously depends on your background and on how much time you devote to the effort. But the good news is Hyperledger is very well documented, there are lots of resources and it is easy to get started and becoming productive. As a programmer you will certainly become productive in a few weeks.

And not the least, it is one of the most important IT-technologies on the market today. You could hardly chose a more exciting and rewarding area to work in.

--

--

IBM Developer Advocate in Silicon Valley

Developers, startups and hackathons, Cloud, AI and Blockchain, up and down Silicon Valley. The opinions in this blog are my own.