September 12, 2019

Don’t trust energy data Oracles!

Energy system runs on data, and to make transition towards a truly smart grids with blockchain, we need to find a way to connect the meter data with the blockchain. Usually, if you ask someone within the energy & blockchain space: "How do you provide energy data to the blockchain?", the answer for most is simple...

"Oracle"

The ones more cautious will say "some sort of an Oracle”, adding even more confusion to the answer and effectively ending the topic by pointing to some mythical creature.

You might think....

What on earth is this "Oracle"?

Smart Contracts (“programs on blockchain”) are good at working with the data that is already on the blockchain. However, they lack the ability to just “know” by themselves the real-life data, like water polo match score. Such information needs to be fed into a smart contract in a reliable way.

https://upload.wikimedia.org/wikipedia/commons/9/98/Mirko_Sandi%C4%87_3.jpgsource:

In this sense, Oracle is (any) service that (reliably) provides the data to the blockchain.

Let’s follow the example of a water polo game. It usually works like this… Someone through smart contract places a bet on the outcome of a water polo match. Then one or more of the Oracles [1,2,3,4] would provide the score of that game to the smart contract, on top of that there could be various dispute mechanisms to ensure ultimate correctness of that data. All this works thanks to the simple fact that final score of that water polo game is publicly accessible. As a result, one side wins, someone loses (or it is a tie). Simple, right? Let’s try to make the energy data Oracle then.

Well… with energy data, things are not that “easy”...

Source of truth for the energy data

Among all utilities (electricity, gas, water, heat), electricity requires the most complex system to run. There are plenty of different roles needed just to keep your lights on during the night.

Unlike in the previously mentioned water polo game example, the energy data:

So what is the problem to make this Oracle?

Lack of needed data validation

“The smart meter is the source of truth right, so let’s just use that data!”

There is a catch… smart meters that are already in place have not been thought for such a shift in data management, and are not ready for new cooperative internet. Only the parties that are directly communicating with the meter can be sure that the data actually comes from there. There is no efficient way to ultimately prove to external parties that the data came from that specific meter. No proof, no deal, no cooperation. Unlike for water polo game score, there is no one to cross-check the validity of the data (except the grid operators /and utilities).

“But there is asymmetric cryptography to provide necessary proofs!”

Yes, but the roll-out of the smart meters in Europe already happened and unfortunately, the bet was placed on the symmetrical cryptography for efficiency, rather than asymmetrical, which would allow true co-operative smart grids. A small detail, massive difference. Good Job Europe! Next chance in just 15 years.

Not so trusted setup

“Let’s use additional IoT device to retrofit (already?!) the smart meters with asymmetric cryptography, top-notch cyber-security and let’s add to that a light blockchain node, oh yeah! Let’s pack it in a cool 3D printed case and call it "IoT Oracle" or better "Hardware Oracle"!”

All of this sounds great, unfortunately again there is a catch... The physical reality of the grid is that you have only one cable coming to your house, right?

Then, if you would look at the smart meter with which this cable ends, noticing all the security seals and service stickers, you can make sure that “your” smart meter is not actually yours...

Someone else (usually grid operator or utility) is responsible to check how much electricity you produce or consume, using their smart meter. Similarly in the supermarket, if the final check would be entirely up to you, you would charge yourself for bananas instead of new PlayStation 4, or simply walk out without paying.

An external party has to be responsible for the meter. Now, someone wants to put “hardware oracle”... This IoT device will require the data to be obtained directly from the meter itself (remember the validation problem?), meaning that will still have to physically interface with the meter somehow. This interconnection provides massive potential security bridge, that diminishes the whole concept.

As humans, as long as it is in our interest, we will do everything to cheat the system. In this case, the motive is clear, most of us want to pay less (electricity consumers) or earn more (electricity producers).

You have to bear in mind that the smart meters are usually located at the premises of the end users, in the buildings or even inside the apartments. In that case, you can ask yourself: “Can I trust the data that is originated in my neighbours' house, ultimately coming from such meters (or IoT devices connected to it) enough, to keep it as an ultimate truth on a database, that no one can just simply update?

Meters most likely will always have a chance to be tampered, manipulated, broken, bypassed or totally hacked... There is even a website offering all kinds of meter hacking services and tools.

“So what is the meter Oracle?”

Similarly to the Pythia (ancient Greek Oracle), the ultimate meter data Oracle simply doesn't exist (yet). The immediate problem is in legacy data management technology in the meters, which were not designed to reliably share and prove the source of that data to external parties.

However, the bigger challenge to overcome is physical and logical nature of the electrical grid itself, where the single entity (regulated monopoly is not bad!) is responsible for all of its endpoints (smart meters), which in fact are beyond anyone's ultimate control.

Solution for the future would be to rethink together with the regulators the setup of the system (Nature 2.0) and next smart meter update/rollout. However, going towards today’s modern smart grid solutions, like real-time trading or local self-consumption, we need to have means to be able to handle possible fraud and garbage meter data. The extent to which this can be tolerated depends on, regulators, specific use case and market specifications (i.e. I-REC Error Management).

Thinking of a blockchain as a cooperation and orchestration backbone for the truly smart grids, the technological means to fit the realm of the energy system with the blockchain should be provided (i.e. data invalidation on the blockchain). Without such measures, we could get stuck for a long time with meaningless Poof-of-Concepts, instead of boosting a real fight against climate change, today.

Check out our ERC-1888 standard proposal, whereas one of the features allows tackling meter data error management problem, by issuing transferable certificates (claims) on the blockchain.

We are hiring!

GRZEGORZ BYTNIEWSKI

More from the Blog

Don’t trust energy data Oracles!

Energy system runs on data, and to make transition towards a truly smart grids with blockchain, we need to find a way to connect the meter data with the blockchain.

Read Story

Blockchain for Green Certification - Hype or Solution?

The following article looks at Guarantee of Origin - the current European certification mechanism for renewable energy -, analyzing its current strengths and limitations. Why is time so important when dealing with electricity?

Read Story