I tried to look up the word blockchain in a standard dictionary and quickly found out that it only exists in unabridged dictionaries. Thus, the word really doesn’t exist. My Microsoft word spellchecker gave me the red underline indicative of a misspelled word. We have this way in IT of making up our own language that many of you can certainly relate to. IBM is king of this practice as acronyms are never ending.
So what is blockchain really? Simply put, blockchain
is a shared ledger. Many know it as the underpinning of the Bitcoin phenomena. That said, blockchain has quickly taken on a new identity in corporate enterprise. As of today, more than 40 very large financial institutions
are heavily experimenting with blockchain as a completely secure and seamless way to use IT to digitally track the movement of assets. This has the promise to cut costs and reduce the risk of fraudulent activity. Although in the experimental phase in many institutions, it’s showing promise as a way to monitor supply chain activities and digitally enforce and initiate contracts among corporate entities. To date, there are very few tested use cases but that is primed to change very quickly.
Further defining blockchain, we find that it’s a data structure allowing the sharing of digital transactions among a network of systems. Using cryptology, each participant in the blockchain is able to encode transactions in a very secure way without needed a middleman to direct traffic.
Building a Chain
The beginning of blockchain traces to the founders of Bitcoin, as it was the first application that was built on top of blockchain. Bitcoin was developed as a means for any two willing organizations to send payments to each other without the use of a financial institution. By use of a digital signature, each transaction was recorded in a digital blockchain ledger and verified by complicated algorithms that ensured trust in the transactions. In recent years, the Bitcoin exchange Mt. Gox collapsed in 2014 and the reputation of bitcoin itself was tarnished by it’s association with the underground online drug bazaar Silk Road. This all being said, the underlying technology used with blockchain was very promising and this has lead to its current-day fascination with the technology.
Once a block of data is recorded in the chain, it becomes very difficult to change or remove. This is due to the deep algorithms that are run against the record to ensure its validity to become part of the chain. The only way the data can be added to a chain is to get agreement from the nodes that make up the chain.
Blockchain is really made up of three underlying components: A network of computers, a network protocol and a consensus mechanism. The network of computers are computers joined that agree to participate in the activity. Each computer is called a node. In a perfect world, all of the networked computers would have a copy of the shared ledger.
The network protocol has the networks working together to maintain consistency and accuracy of the ledger by using complex algorithms. This is similar to a local database on each computer and also works as a very solid disaster recovery system if a node should go down for any reason. If a node is lost, the computers communicate with each other to dictate how that down node is updated to match others in the network.
The most important part of blockchain is the consensus mechanism. This is a rather complex set of governing rules that the network uses to insure that each transaction is accurate and works to maintain the integrity of the data in the blockchain. The original Bitcoin blockchain called this consensus mechanism proof of work. This structure had nodes run algorithms that worked to confirm that the digital signatures of each block were valid adding to security. Oddly enough, in a private blockchain environment this may not need to be as complex since each participant’s identity is already known and verified. In other words, the trust already exists in the blockchain so nothing further is needed. Consensus mechanisms vary in real life and there’s no current agreed-upon standard. This should change in the future as more corporations begin to take advantage of the blockchain technology.
In putting this all together, a transaction executes against the ledger data. The rules that have been established via the network protocol provide for the changing of the ledger data. Before the results of the transaction are written to the ledger data, the information is validated with all of the nodes in the network of the blockchain. Once approved, the transaction is packaged into a new block. Before being added, it’s once again checked for validity with every block in the chain. Using z Systems technologies, the blockchain transaction can complete in milliseconds.
An intriguing aspect of blockchain is the elimination of the clearinghouse for the transactions. In thinking about the blockchain technology, each bank (in a financial use case), would have its own copy of the digital ledger. Through the use of the consensus mechanism, the transactions could be approved in short periods of time. This leads to cost savings and an increase in efficiency of the transaction. In exploring this a little further, this is really the elimination of float. Eliminating float translates to huge savings among the participants in the blockchain.
The one issue to widespread adoption of blockchain has to do with the complexities of getting participants all on the same page. Each corporation has a diverse mixture of back office machines including x86, mid-range and mainframes that might all be participants in a blockchain. Each participant would need to agree on network protocols and a consensus mechanism in order for the blockchain to be efficient, fraud proof and effective. As this is a new approach in technology, there are not as of yet purely clear standards to depict how implementation occurs throughout the enterprise. One burning question is exactly how much information about the transaction should be shared with participating members in the blockchain. Privacy, regulatory questions and security threats need to be nailed down for each blockchain environment.
As of today, there are many industries including banking that are actively pursuing testing of the blockchain technology. The R3 consortium, which is a partnering of financial institutions, is currently working on their version of blockchain, Corda. Under the R3 consortium, there was a recent test that included 11 banks on a private network. This test used open-source software. The Linux Foundation is also creating an enterprise-grade blockchain system. IBM is also actively involved in pursuing blockchain methodologies using an IBM z13 platform running open-source software. Check out the blockchain community
and take a DevOps version live test drive
The use cases for the blockchain technology are almost endless. Just in the area of financial services there are a number:
- Securities including post-trade settlements, contracts and collateral management
- Trade finance including bills of lading and cross currency payments
- Retail banking for mortgage contracts, mortgage verification and cross-border cash flow
- Public records including marriage contracts, real estate records, public records and business records
- Interbank settlements
And IBM z is perfectly positioned to play a very key role in the implementation of blockchain.
z System performance is world class with highly scalable I/O with very large memory spaces and the fastest processor on the planet. Security is tamper-proof with encryption and EAL5+ LPARs.
Additionally, there are built-in business controls including audit systems to control and log smart contract interactions.
There are three burning needs to be handled in most any blockchain implementation:
- Users need a business logic that has the ability to automatically execute with the assurance that the terms/rules can’t be changed by any node member without the agreement from all members in the blockchain. IBM z has built-in accelerators used for hashing that can be use for encoding transactions to prevent tampering.
- Users must be able to keep the terms and patterns of transactions completely private. z Systems have built-in encryption, digital signatures and hardware to create unlimited random keys to encode each transaction with its own identity.
- Blockchain networks of different ledgers must be able to call public versus private logic and refer to transactions on other ledgers, this is known as multi-ledger addressing. Using z Systems, blockchains could sit next to each other with public logic that would exist as a current business processes. Using microservices and APIs, this logic could be easily called to complete the multi-ledger transactions.
The blockchain technology is very intriguing to many industries. It will provide cost savings via float elimination, security, increased efficiencies and speed of delivery. z Systems are very well positioned to be a key player with this new approach and technology.
Patrick Stanard is a z Systems Architect Manager for IBM. He’s a 34-year professional in the industry spanning roles as a systems programmer, developer, manager, adjunct faculty member and director of operations. He has a Bachelor of Science in CIS from Saginaw Valley State University and an MBA from Michigan State University.