Blockchain and IoT for Insurance


Background The Idea
In January 2016 BOF reached the final round of an Innovation Competition organised by a prestigious American Insurance/Reinsurance company. The idea presented involved the use of Blockchain and IoT in order to offer an innovative Insurance product related to shipping containers. The cornerstone of the pitch was to leverage the unique characteristics offered by the Blockchain and create a product that could not be previously created. If you are insterested in the presentation slides, please contact us at Using IoT sensors coupled with a BlockChain ledger we could offer a product in which any breach of conditions can be measured and authenticated against sensor data. This will narrow down the risks to cover, introducing a more competitive premium, and also decreasing the volume of claims to handle.
Let’s consider a real-life use case
Current situation
A shipping company wants to ensure a cargo of fresh food from point A to point B. Once the ship arrives at point B, the receiver discovers that part of the cargo is unusable since the food is rotten. The reason why that happened is not clear and the shipping company claims compensation for that part of cargo contents.
Future scenario
A shipping company wants to ensure a cargo of fresh food from point A to point B. Every container is equipped with an IoT temperature sensor and the policy offered clearly states that the temperature has to be constantly between 2 and 8 Celsius degrees in order to respect the cold chain. During the journey, some malfunctioning of the cooling system makes the temperature rise beyond 8 Celsius degrees for some containers. At that point the sensors will create a transaction onto the BlockChain with all the information needed (timestamp, container identifier, temperature, etc..). Since BlockChain is distributed, both the insurance and the shipping company can acknowledge the issue in nearly real time; also there will be no need of opening a claim because it would be certainly declined since the event breaches the policy conditions.
Why is this innovative?
The main innovation, beyond the adoption of IoT, is represented by the Blockchain’ characteristics:
• the ledger is distributed, hence is not the property of any actor involved in the policy,
• the ledger is tamper-proof; the level of encryption applied makes it immutable.
Those two characteristics create a level of trust in all the actors involved that’s not achievable with any other existing technology.

Proof Of Concept

InsuChain received very positive feedback, so we decided to create a proof of concept to demonstrate the concept in action. It requires some hardware and software as listed below.
• Amazon AWS EC2: cloud server in which we will run our Ethereum private BlockChain network,
• RuuviTag Sensors: a very friendly temperature, humidity and pressure sensor. You can find them at,
• Raspberry PI: a credit card-sized computer that will receive the sensor data and write them in the BlockChain.
• Ethereum Geth: to run our Ethereum private network,
• Truffle: development environment, testing framework and asset pipeline for Ethereum,
• Solidity: programming language for implementing smart contracts,
• Python: programming language for making the different hardware components communicating to each other.
Let's build the proof of concept!
We have two RuuviTag sensors that represent two different containers and we want to record the temperature readings onto the BlockChain through a smart contract. The contract will also check if the temperature is outside the cold chain (between 2 and 10 Celsius degrees in our implementation); if that is the case a specific flag will be raised to indicate that a claim cannot be made.
First, we setup a Amazon AWS EC2 server in order to run our Ethereum private BlockChain network. When everything is ready, we write our smart contract using Solidity and deploy it onto the BlockChain using Truffle. The smart contract will receive the sensor identifier code and the measured temperature from both RuuviTag sensors through the Raspberry PI that acts as a bridge between the sensors and the Amazon server. To achieve this we write some Python code that takes care of everything.
Now is time to test the prototype: the RuuviTags have been place in a cold place and they are trasmitting their temperature. As you can see below, the Python script is connecting to the sensor, retrieving the identifier code (E4:62:39:87:2A:10) and measured temperature (9.0), then writing them onto the BlockChain using the smart contract.
To simulate a malfunctioning of the cooling system in the container, we move one of the sensors out of the cold and let it acclimate to room temperature. In the subsequential readings, we can clearly see the temperature raising to 12 and 13 Celsius degrees for sensor F0:16:CA:82:12:A3.
Using Truffle, we can check all the temperature readings that have been recorded onto the private BlockChain network by the Ethereum smart contract. The long string (in green) represents the sensor identifier code, the second piece of data is the temperature measured, and the true/false value indicates if a claim can be made. As expected, when the temperature is beyond 10 Celsius degrees, a claim cannot be made since the event breaches the policy conditions.

Analysing the results

Plotting the data extracted from the BlockChain gives us an immediate picture of the situation. The container equipped with sensor 2 had no issues at all, the 8 Celsius degrees temperature have been stable all shipping long. Different story for the other container: the cooling system malfunctioning made the temperature rising beyond the 10 degrees upper limit. The red dots in the chart indicate that a claim cannot be made; this data point have been recorded by the smart contract itself. Both the insurance and the shipping company can acknowledge the issue in nearly real time and establish there is no need of opening a claim for container 1 since the malfunctioning breached the policy conditions.

Contact Us

Do you want to know more? Feel free to reach us at