- This story was first published in LinkedIn on March 31, 2016 https://www.linkedin.com/pulse/blockchain-things-iot-roberto-capodieci/
Notes of my short talk at the IoT Asia conference, for Industrial IoT
If you want to learn more about Blockchain, this is for you: it explains with no technical terminology, in a way that is easy to understand, what blockchain is.
Hello, my name is Roberto Capodieci, I eat Blockchain for breakfast, a lot of it, as you can see. Before we begin talking about IoT and Blockchain, let me explain you all what Blockchain is.
Who knows what a Blockchain is?
Yes, Blockchain is the technology behind Bitcoin. It is amazing because it is decentralised: it is a network of computers that talk one to the other, and keep an immutable ledger of bitcoin transactions updated and secure, without the need to refer to a central server. This means that to shut down Bitcoin’s Blockchain someone would need to shut down every single server (we call them nodes) of all the Bitcoin network, and there are thousands of ’em around the planet. To make it more difficult, all the nodes must be shut down before new ones pop up! And this is impossible, because, as you well know when you deal with mosquitos, for each one you kill, three more comes bothering you 😉
Sounds scary? Interesting? Well, there is more.
Think if rather than Bitcoin transactions, a blockchain was used to send instructions to IoT devices? To the water acidity meter in the middle of the sea, to the heating system at home, to the car parked in the garage…
“Well, this already happen using the Internet, I don’t see why Blockchain…” I hear you ask. Good question! Let’s go one level deeper into understanding what a blockchain is.
So… Blockchains… yes, because there are many Blockchains, there is not just “one” blockchain for Bitcoin. Blockchain can be public, private, permissioned, permissionless, open, close, …and pink, yellow, and blue! 🙂
Jokes aside, what are the ingredients of the Blockchain that makes it so ideal for IoT?
Even tho Blockchain is a new technology (invented to make Bitcoin possible) it is built using a combination of old technologies:
- A database system,
- P2P network for data distribution,
- Cryptography (which is pure mathematics).
Definitely a revolutionary recipe made using well known ingredients. It came along now, but it could have been easily invented 20 years ago.
Let’s look at the ingredients one by one.
- Everyone knows what a database is, right? No need of explanations here. Blockchains use databases to store data. At the core, the data in the database, is the same in every node. If a node has compromised data, it is automatically excluded from the network, and gets reinstated only when it gets aligned again with all the other nodes.
- The Peer to Peer network data distribution is a broadcasting protocol used to make sure all the computers in a network receive a message. It works like gossip: the first computer pass the message to all the computer around it, and each of those computers do the same, until the message has reached the all network. And I am sure computers also say “hey, I told you, but don’t tell anybody else!” 🙂 The messages sent via P2P can be: A) new data to be added into the database, B) messages the various node send each other to agree on the validity of the data they are adding, and C) messages sent to make sure all the nodes databases are aligned and identical one the other.
- Last, a little more complex, is cryptography. Cryptography is a science of mathematics that study value transformations through the use of complex algorithms. I don’t want to bother you with details, but it is used mainly for 3 functions:
- To extract a unique fingerprint from a file, or a group of files. This is important as it helps to know if someone tampered with content of the files. If the files get changed, the new fingerprint doesn’t match anymore with the old one. This is the function that gives the word “chain” in “Blockchain”. If I had more time I would explain you why.
- To digitally sign. This is the core function for digital identities, and the core reason why IoT would benefit by using Blockchain technology. Bear with me one more minute, then we can go on this topic, so you can understand better the implications of digital signature in the IoT world.
- To encrypt data. Cryptography, most commonly, gives the idea of encrypted data, and this is also a very important aspect of Blockchain use in IoT: preserving the privacy of the data generated by devices (or sent to them).
A very important aspect about Cryptography is the fact that is pure mathematic. It doesn’t matter how it is implemented in a computer or a device, what computer language is used for the implementation, or what chips are used in an IoT device… the security is mathematical.
Today, when we connect to a website or to an IoT device, or when an IoT device connects to another device or a central system, we use an username and password pair to gain access. The username and password are sent (hopefully with a secure connection) to the counterparty, and a piece of software decides what we can see and what we can do. If a hacker can break that piece of software, he can gain full access to the device or the database. Cryptography, relying on math, can’t be broken.
Simply put, if I break into someone’s house internet router, I can pretend to be the thermostat and send to the central heating unit the command to raise the temperature in the house. If the central unit expects digitally signed instructions, and digitally signed by that specific thermostat, then I can’t do much, even if I am into the house network.
Thanks to digital signatures and digital identities, thus thanks to cryptography, IoT device security and data privacy is guaranteed (given that the device is built properly). If the device connects to a blockchain, it can receive and distribute instructions safely, and in a guaranteed manner. Just to be clear, digital identities and digital signatures can be given and made not only to and by humans, but also by software and properly prepared hardware.
Furthermore Blockchain technology can be used for what are called “Smart Contracts”. Automatic messages sent to a specific recipient or group of recipients in the blockchain on the basis of specific conditions.
For example instructions to an IoT that closes the swimming pool roof are sent only if the weather channel posts rain forecast for my area, or of another IoT device that detects rain is broadcasting in the blockchain that it is, in fact, raining.
This is the most interesting topic that should be discussed, as it offers a sort of automation (non proper AI) to IoT, all guaranteed in security by cryptography, and in data access and distribution by Blockchain.
The more we hear about IoT, the more we hear about how hackers are more than ready to give it a go. We all know what happens when we don’t protect our online accounts correctly, but think about what can happen if a malicious third party takes over your door locks, your car, your toddler’s monitoring device? Fortunately, the Blockchain is heavily encrypted and, correctly implemented, is nearly unhackable.
The IoT isn’t only about talking to your things. Ultimately, it’s about bringing them to life. We all have an identity and life experience, and soon, so will our things. Your car will soon be more than an anonymous Ferrari. It will be a Ferrari with a unique ID, a record history of ownership, repairs and maintenance and, the day you decide to get a new one and, chances are high that you will be able to put it on sale in a peer-to-peer way and transfer its ownership electronically. How is that possible? All these possibilities are enabled by the Blockchain, the features are up and running, it’s just a matter of integrating them.
To sum up
Blockchains provides IoT with:
- A decentralised strong secure network,
- Replicated data and full audit trail of past transactions,
- Digital identities and digital signatures,
- Data distribution and access,
- Data (instructions) validation,
- Protocol enforcement,
- Smart Contracts / Intelligent transactions,
- Consequent (phased) transactions.
Here is a video of the presentation (for those of you on mobile, use the link: https://www.youtube.com/watch?v=lBi143yBwZw):