IBM has open sourced a significant chunk of the blockchain code it has been working on, putting its weight behind the Linux Foundation and its Hyperledger project.
Big Blue has dumped the Apache 2.0-licensed source on GitHub, providing a limited but functional dev environment to build on. The IT giant has pledged to maintain the code as others build on top of it, including big-name Hyperledger partners that include Intel, Fujitsu, Cisco, JP Morgan, Accenture and others.
Key elements in the code dump are a "consensus algorithm" which is vital for proper functioning of a decentralized system, and a contract template that helps people code agreements into the system in Java.
Blockchain technology is most well-known for being the foundation to Bitcoin. Big business is not that excited about the digital currency – in much the same way it wasn't excited about Napster and P2P sharing technology – but it does see huge potential in the ability to shift funds based on specific criteria across computer networks.
In theory, blockchain represents the future. By building in other types of information, such as RFID chip data, it is possible to develop electronic contracts that shift funds between different parties without the need to go through third parties. That could save huge sums in transactional costs. The technology is also much, much faster – with funds able to be sent almost instantly.
As just one example, a delivery contract could be carried out electronically. One company agrees to pay another x amount of dollars to deliver their product. Currently this approach requires multiple layers of review and approval before payment is made. The company has to reach agreement on the price and schedule, sign an agreement, deliver the product, then get confirmation it has delivered it and request the funds. Those funds will typically go through a third party (a bank), and payment could be delayed for days while the banks balance up the hundreds of thousands of other transactions they are overseeing.
With blockchain it is possible to reach agreement on the terms and have them entered as an electronic contract into the blockchain system. Then, RFID chip data can be used to confirm that the product has been delivered. Once that data enters the system, the funds can then be instantly and automatically transferred from one company to the other. If the system can be made to work, the potential savings in time and money are enormous.
The most immediate uses are in things like insurance and banking – where vast quantities of fairly standard transactions are carried out each day. But blockchain's uses could easily be expanded to cover a wide range of industries, greatly increasing business efficiency.
Governments could use it to improve their notoriously bureaucratic tendering processes. The healthcare industry could share electronic medical records in fast and secure ways. Digital media could be shared and paid for instantly and easily. The internet of things could be provided with a clear business structure. And so on.
Why open source?
As to why IBM would want to open source the technology used to make this happen, it is, of course, thinking about its own interests.
Businesses will gravitate toward whichever platform is most in use and most widely supported, and that is likely to be an open source and hence uncontrolled, low-cost option, as opposed to, say, a Microsoft proprietary solution.
Once that broad foundation is in place, IBM can then sell its services on top of that network, using its expertise to make things easy.
Of course all of this is likely some way off. Business is not going to trust vital business functions – especially finances – to a system unless it is tried and trusted. And IBM and others have got some way to go to not only build that system, but also build trust around it. ®