Blockchain

There is a lot of hubbub in the tech-o-sphere about blockchain. Some people are saying that it's going to change the world, democratize data, and give artists back all the rights to their intellectual property. Me? The technology was never prominent in my areas of interest until the day I was coming out of my local zen foot massage studio. Seated in the waiting room was a woman wearing a T-shirt with the word Blockchain emblazoned on the shirt's front. There's a saying that goes like this: When reference to a technology appears on t-shirts in the waiting rooms of Zen foot massage facilities, you know it's time to find out what going on. So, I did.

In this article I am going to provide a brief overview about blockchain. Then, I am going to talk about how the technology is used. I will finish up by describing the opportunities on the horizon for those interested in getting involved with the technology.

So, let's start with the basic question: What is blockchain?

What Is Blockchain?

Blockchain is a technology that allows packets of information to be linked together is sequential manner in a way that is immutable, secure, and verifiable. Nothing new here, right? Web pages link together information from other sites. SQL queries link together information scattered among a variety of tables in the form of a join. So what's the big deal?

The big deal is this: Blockchain technology is based on two concepts: Blockchain uses hashes to relate and secure information packets, and peer-to-peer networking to ensure the integrity of the given blockchain by comparing the given blockchain to the thousands, maybe millions, of copies of it on the network. This is new. Blockchain uses hashing coupled with distributed networking to solve one of the basic problems of human interaction—contractual trust. Whereas in the past, you needed an institution such as a bank or brokerage firm to ensure that one had the funds to trade for a stock and the stock did indeed exists, blockchain puts the power of verification on an independent network.

Allow me to elaborate.

Understanding Blocks and Hashes

A blockchain is composed of blocks of information, with each block transformed into a SHA256 hash. The data within the block contains transaction data (a.k.a. payload), timestamp, and the hash of the previous block (see Figure 1).



Figure 1: A block in a blockchain references the hash of the previous block, thus ensuring the integrity over the overall blockchain.

The payload of a block in blockchain can contain a record of financial transactions, a real estate title transfer, or some other piece of information important to others in terms of trust and accuracy. Should information in any of the blocks get altered, the hash of the altered block will change and thus the entire blockchain goes into an error state. This tight coupling of hash values among blocks creates a high degree of security and reliability. Should a hacker get into a block and alter a value of information in that block's payload, the entire block chain is corrupted. But, again, so what? What's the big deal? This is where the peer-to-peer networking aspect of the blockchain becomes important.

Understanding Peer-to-peer Verification of a Blockchain

A blockchain is distributed among many computers on a network. You can think of this distributed blockchain as a ledger. In fact, a distributed blockchain is often called a ledger. Each node on the network has an identical copy of the blockchain ledger. The computers on the network are always talking to each other (see Figure 2.)



Figure 2: A blockchain is distributed among many computers on a peer-to-peer network to ensure that the given chain is always consistent.

They are confirming with each other that each has the most recent version of the blockchain. Also, they are confirming that the blockchain each peer computer has is indeed identical to all the others. Thus, if someone were to get access to a ledger on one peer and corrupt the blockchain, all the other peers on the network will know almost immediately. Action can be taken.

Combining hash technology with a peer-to-peer network to ensure accuracy and security is innovative, to say the least. Think about it. Previously, information of this sort was held by a single trusted entity, such as a bank or government office. For example, only a particular bank knows if you check is good. Or, a real estate title might be held in the a county clerk's office. With blockchain technology over a peer-to-peer network, such information can be known to anybody who has access to the network and the key to read or write to the given blockchain. This is a dramatic shift in the way businesses work. The bank, business, or law office are not the trusted authority of the information; the network is.

How Is the Technology Used?

The blockchain is not a pipedream technology. It is being used in the real world to do real things. Here are a few examples:

Finance: Bitcoin

Probably the most famous us of blockchain technology is Bitcoin, the cryptocurrency. Bitcoin exists independent of any government. Whereas the US government issues the dollar, the British government issues the pound sterling and the European Union issues the euro, Bitcoin is a currency that is supported by the network. Bitcoin relies upon blockchain to ensure that transactions using the currency are valid. For example, making sure that the same Bitcoin is NOT used to make two purchases simultaneously. Also, the blockchain is used to ensure that those that are spending Bitcoins indeed have the Bitcoins to spend.

Legal: Smart Contracts

Another area where the blockchain is beginning to be used is with smart contracts. A smart contract is a computer protocol that automatically executes and verifies the terms of a contract. Blockchain technology is used to confirm the authenticity of the contract as well as to verify that the terms of a contract are being or have been executed. Again, as with Bitcoin, the authority about the veracity of the contract is all of the thousands, maybe millions, of nodes on the peer-to-peer network that contain copies of the contract's blockchain. As the contract gets executed, blocks are added to the blockchain, thus creating an audit trail confirming the execution of points of contractual agreement.

Ethereum, an open source, distributed computing platform is a notable player in the smart contract space.

Music: Sales and Royalties

Since the days of Napster, making a buck in music has been a hard undertaking. The ability of artists to make a decent living from recording their work is declining, mostly due to piracy and the unauthorized distribution of music files on YouTube and the like.

Blockchain technology provides a way to put money back into the pockets of recording artists. Remember, blockchain makes it possible for all transactions to be monitored via the peer-to-peer network. Thus, embedding a music file in a block makes it possible for a purchase of music to be verified. Using blockchain technology means that when a file that is not to be meant shared for free appears somewhere for free, that violation of trust is evident. The blockchain will have a record of the music purchase or royalty payment due. No longer will an artist need to rely upon a third party to monitor and deliver royalty payments. The independent blockchain makes the relationship between the producer of the music and the consumer of the music directly.

Check out myceliaformusic.org. The organization is actively engaged in using the blockchain to help musicians get fair compensation for the work they do.

What Are the Opportunities?

If you are a developer, blockchain offers many opportunities. Although there is a lot of activity in the field, blockchain is still an emerging technological space. There is a lot to be done and a lot you can do.

Mining

The most prominent area of activity for developers is in blockchain mining. As I mentioned earlier, the way that the blockchain ensures the veracity and integrity its blocks is by having all the nodes on the peer-to-peer network that contain copies of the blockchain agree that the their copy is identical to all other copies. This is called reaching consensus. Consensus is reached via mining. The way that mining works is that a node hosting a blockchain devotes computing resources to discovering a key called a nonce that, when applied to the contents of a block. produces the hash for the block. This discovery requires a lot of computing and more computing over time as the blockchain grows. Thus, making mining faster and more efficient is an opportunity is sure to appear and be ripe for the attention of developers.

Transaction Management

As mentioned earlier, the reason the blockchain exists it to provide an independent mechanism to create trusting relationships. And, when it comes to trusting relationships, nothing is more fundamental that the buying and selling of goods and services. It all boils down to trusting that the buyer has the money to make the purchase and the seller has the item being sold. This is called transaction management.

Thus, facilitating transactions using the blockchain will be an opportunity for developers. Already, companies such as Abra and Ledger Nano S are participating in the Bitcoin wallet space managing transactions using Bitcoin. Soon, more companies will emerge that will adapt blockchain technology to a variety of transactional use cases—from law, to music, to government processes. And. as you can imagine, all of these companies are going to need developers. Those well versed in blockchain surely will be in demand.

The Linux Foundation Jumps In

If you doubt that blockchain is an enormous opportunity for developers, you need look no further than the Linux Foundation Hyperledger Project. From the Hyperledger Web site:

"Hyperledger is an open source collaborative effort created to advance cross-industry blockchain technologies. It is a global collaboration, hosted by The Linux Foundation, including leaders in finance, banking, IoT, supply chain, manufacturing, and technology."

There are already projects underway related to smart contracts (Hyperledger Burrow), ledger distribution (Hyperledger Iroha), and blockchain management (Hyperledger Cello).

This is a big deal. Right now, Hyperledger is boasting having had eight hackfests averaging 150 attendees. Over a thousand developers are jumping on board. Where developers go, others follow.

Putting It All Together

Many people are touting the blockchain to have a significant impact on the way the world works. Moving trust authority away from institutions and governments and onto an independent mechanism that might transcend commercial or national boundaries is indeed a significant change. However, this is not to say that there are not risks. Although it is true that hacking a blockchain that contains millions of blocks is somewhat improbable, given enough time and computing, violation is not impossible. Also, as more computing power becomes required to carry out the day to day business of the blockchain, we might see big Cloud providers—such as Amazon, Google, and Azure—garner the power and authority that was once the sole province of government. For example, what would happen if any of those computing providers denied mining service to a node on the blockchain network? Might this not be considered influence on the basic premise of trust?

Still, as trends indicate, blockchain is growing. There will be more refinement of the technology. And, as the technology grows, so too will the use cases to which it can be applied. Blockchain is not going away. In fact, there is a strong case to be made that it might be one of the foremost opportunities for technological endeavor in the near and distant future.