Blockchain

Blockchain

In this conclusion of the 3-part mini-series on Blockchain, I endeavor to leave you with two important aspects – Accounts and Smart Contracts.

Accounts (also referred to as External Owned Accounts) are similar to any accounts we know in our daily lives – it is a placeholder to track an entity’s balance and can be transacted upon. The implementation of these accounts can vary from one blockchain platform to the other, but the concept is essentially the same. Accounts are usually protected by a passcode and the owner of the account can accumulate currency (in the case of Ethereum, ether) – either through transfers from other stakeholders or as a fee for mining one or more transactions (as explained in part 2).

Note: In the public Ethereum Blockchain, 1 ether is trading at $213.

 

A very important and meaningful aspect of Blockchain is the provision to deploy and transact through Smart Contracts. A smart contract is essentially a program written to enforce the core business logic of transactions that can occur between two or more stakeholders. For instance, if we write a smart contract for transactions between a motor vehicle registry, car dealership and its customers, then we would represent in code, the various parameters that would represent the state of the contract such as “Vehicle ID Number”, “Registration Status”, “Manufacturer”, “Model”, “Year of Manufacture”, “DateofSale”, “OwnerName”, “OwnerAddress”… and so on. Next, we would provide functions or methods to manipulate these parameters via the possible events or flow of transactions – for instance: something like SaleComplete() would allow the dealer to provide DateofSale, OwnerName & OwnerAddress. Similarly, RegisterVehicle() would allow the motor vehicle registry to allocate a license plate number to the vehicle. This smart contract will then need to be deployed to the Blockchain (basically, a new instance is created).

Once deployed or instantiated, it is copied across the different nodes and the stakeholders can transact by calling the relevant functions/methods. Each transaction of course, needs to be mined or processed by a mining node. The most popular language for writing Smart Contracts today is Solidity, although there are other choices such as JavaScript, Python and others.

Hope this brief peek into Blockchain was a useful primer – for those of you keen to learn more, I plan to run a 2-day workshop shortly at the UBQT Design School.

Did you know?- Block chain part 2

Blockchain

DID YOU KNOW? 

BLOCK CHAIN PART 2

WHY DOES A MINER MINE THE BLOCK CHAIN?

Let’s get our feet a little more wet this time. So, how and why does a miner mine the blockchain? First, a mining node should have the horsepower to quickly generate a “hash” that meets the “difficulty” level set by the blockchain platform. This means, our everyday use computers may not cut it  – at least in a public blockchain. If you do have a powerful computer, you will be competing with many others, potentially hundreds of others, to win the right to add a new transaction to the block. 

To do this, you will have to come up with a hash that represents or validates the transactions in the block (this hash gets added to the blockchain to represent that transaction). In addition, this hash has to meet the difficulty target. Essentially, this difficulty target keeps changing dynamically based on the number of active miners – the more number of mining nodes, the greater the difficulty. If this difficulty stays static, the blockchain will get to a point where mining will be faster than the actual transactions coming in and will become a disincentive for mining nodes to participate. To prevent that, blockchain platforms such as Ethereum have a dynamic difficulty target.

So, the first node that succeeds in creating a hash that meets the difficulty target, processes the transaction and adds the block to the chain so all the nodes have a copy of the same. Ok – but what is in it for the miner? Every blockchain platform has a predefined unit for types of operations – this is called “gas”(as in gasoline – i.e. fuel). For instance, the base fee for an ethereum transaction is 500 units of gas. Every transaction comes with a gas limit and a gas price. Translation: the transaction owner needs to declare “for this transaction, I am willing to spend a max abc number of gas units and the price per gas unit is xyz”. The successful miner gets this amount (gas * gas price) in ether currency. If the transaction owner sets the gas limit too low, the transaction never gets processed.

Confused? That’s ok – it took me a while to digest this as well. It helps to simply think of it as – all the mining nodes compete to  create a valid representation of every new transaction that comes in and the first miner to do so, gets to process the transaction, propagate it on the network and get paid for it. The power of distributed computing.

WHAT IS BLOCK CHAIN?

Blockchain

WHAT IS BLOCK CHAIN ? 

Block chain is a very popular topic, but for many it continues to be a bit of an enigma with an elusive single source of truth. So, in doing my part to shed some light on this topic, here is a 3-part mini-series that provides some basic but hopefully valuable information.

Block chain is essentially a distributed digital ledger that records transactions without a central authority needed to supervise. Any transaction that needs processing is propagated through the block chain network and the node that meets certain criteria (this is a topic for another time) gets to process it for a fee. Once processed, it is added to the copy of the block chain on every node on the network.

But, did you know the difference between a public block chain and a private one?

The digital currency, Bit Coin is a good example of a public block chain. What this means is that anyone can choose  to be a node in this public world-wide network and submit transactions to be processed. For example, if I run a bookstore and accept bitcoin as a form of payment, then I need to participate in the public network to submit every transaction. Additionally, some nodes can also be “miners” – i.e. have the capability to process transactions, not just submit them. Ethereum is another good example of a public block chain.

A private block chain network is absolutely the same thing, except that it is more private in scope and participants are limited by defined criteria. For example: a factory and all its suppliers / vendors can form a private block chain network for their business transactions only.

Ethereum is unique in that it has a public block chain similar to bitcoin, but it provides the ability to build a private network as well.

Innovation and the Organization

Every organization, regardless of which industry they are in or cater to, wants to innovate….yes, needs to innovate. However, innovation is often thought of as that “one magical product or service that all our customers will love and can’t have enough of”. Basically, a cash cow. While there is nothing wrong in that aspiration, boxing the focus on innovation into that limited outcome is mostly detrimental.  In my experience, innovation is more cultural in nature and running it as an organizational program or a process, seldom yields results. The spirit of innovation can flow naturally by getting a couple of things right – (a) the right champion(s) who can serve as role models and (b) encourage wild ideas regardless of immediate business relevance.

A champion is ideally someone who the team members identify with. S/he should have a mindset of straying from the trodden path and tasted both successes and failures conceiving innovative features / processes / products; the kind of person who is easily able to step into the shoes of the user/customer and visualize new ways of doing things that no one had thought of . Often, s/he is also a keen student of any new technology or path-breaking advances in the relevant field and quick to experiment and push for adoption. What such champions do, is demonstrate to their co-workers that to experiment, to push the boundaries, to prod the status quo, are all good things to do and even rewarding for the business.

Every so often, I have come across instances where a wild new idea dies a quick un-ceremonial death because managers/stakeholders deem it as something that has no “immediate business relevance”. But, what dies along with that is the temperament of thinking differently…the diversity of thought. Done enough number of times, it can convert a vibrant team into a set of drones with uniform thought processes. This is fatal to any business. So, does this mean that every new idea must be invested upon regardless of how far from reality it is? Clearly not, but there can be a happy middle path where each new idea is given its own swim lane and those that don’t have what it takes, will eventually sink. This could mean encouraging more exploration without necessarily investing. Eventually, difference-makers will surface from such a culture and the possibility of something absolutely disruptive emerging, is always tantalizing.