How can the IoT use blockchain?
What is blockchain?
Blockchain is a shared ledger technology where any party in the business network can see THE system of record, the ledger. With traditional contracts, each party has their own systems of record and shares selected pieces of information with each other. This can be inefficient, expensive and leave them vulnerable.
This has four key business benefits:
- A shared ledger – each party shares the ledger and can add information to it
- Smart contracts – business rules agreed by the parties are embedded within the ledger and executed with transactions
- Privacy – transactions are secured, authenticated and verifiable with only the ‘need to know’ information being shared
- Consensus – all parties to the contract agree to transactions the network verifies
With all of this information shared, transactions take moments not days. Overheads and intermediaries are removed, which saves costs. Tampering, fraud and cyber-crime are significantly reduced. All this leads to more trust through shared processes and record keeping. Blockchains can be private too. Perhaps the best known example of blockchain is BitCoin which is a public blockchain.
Watch sessions like this live. Sign up for World of Watson 2016 on IBMGo.
What about the Internet of Things?
With more sensors in more devices, businesses are creating more information. Increasingly this data will form part of the information they need to share with each other. It makes sense then, that they will need to include and share IoT information.
To move IoT data from the devices producing it to the correct smart contract, business will need a platform to connect devices, manage the data, perform analytics and manage security. An example of this is IBM’s Watson IoT Platform.
“Blockchain for IoT represents the physical world in a digital network”
– James Murphy, Offering Manager, IBM Watson IoT Platform
Is blockchain for everyone?
Although it offers a variety of benefits, it’s not necessarily the right solution in every circumstance. For an organisation operating in isolation, it probably is not the solution. When that organisation starts to work with others, that’s when blockchain becomes a good option. Also when a shared ledger is needed or immutable records – such as in the pharma industry, or at the industry level in marketplaces and around topic such as supply chain and when Electronic Data Interchange (EDI) is used.
Great examples include shipping logistics, when an item passes through many hands on a complex journey. When business rules are included, such as temperature on that journey, to track if a critical temperature has been exceed along the journey, and identify where that happened. Maintenance is an interesting area, where blockchain enables the tracking down to component level to track manufacture, assembly and maintenance – which can have links to other industries such as insurance which considers how materials are used – such as cars maintained or driven.
How do you prevent malicious data on a blockchain?
Blockchains need smart contracts agreed by all the parties in the contract to be in place to create a blockchain. This comes hand-in-hand with a sense of the volume of information that will be written to the blockchain, so changes in the volume of data can be spotted. There are three key elements that prevent malicious data being committed to the blockchain:
- authenticated devices
- trusted parties to the smart contract
- peer approval to add to the blockchain.
IBM uses Hyperledger for faster transaction rates, enterprise level security a pluggable consensus algorithm and can be hosted by IBM. It enables the deployment of new smart contracts written in ‘go’, invoking blockchain (writing records) and querying blockchain (reading records).
7 steps to set up
Getting started takes seven steps:
- Create a Watson IoT Platform instance
- Create an IBM Blockchain fabric with the Bluemix service
- Create a smart contract (define the data to be stored and the business rules that will be executed during transactions; write the smart contract’s in Go – sample code is provided to get you started).
- Deploy smart contracts
- Connect the Watson IoT Platform – which is ISO21001 (information security management) compliant
- Map device data to smart contract input data
- Integrate any external applications
IBM offers a number of services ranging from free briefings and demonstrations on IoT and Blockchain through to fee-based discovery workshops and initial projects. You can find out more at IBM’s Watson IoT and Blockchain website.
Want to keep up to date with IoT news? Sign up for the monthly ‘IoT Sense’ newsletter.