Studies estimate that the odometer of almost every third car in Germany has been rolled back. Although there are various ways to tamper with the odometer, the most common approach is to reprogram the electronic control units at a specific point in time. Without a history there is hardly a handle to catch the manipulation. Of course, if the history is stored only in the car itself it might be prone to tampering itself. Connected cars provide a remedy. The history of the car data can be transmitted to a remote database. Thus, in order to manipulate, an attacker has to manipulate the car and the remote database. This is much better. However, we can imagine that there will be hackers specializing on attacking such a database and offering the manipulation as a service.
Caranty prevents this attack by relying on the Bitcoin Blockchain. Every data point that is stored with Caranty is anchored in the Bitcoin Blockchain. What does this mean? In Bitcoin transactions are aggregated into blocks and every once in a while a new block is added to the Blockchain. The Blockchain is stored on each computer that is part of the Bitcoin network. Each block commits to its predecessor and provides proof of computational work, i.e. energy spent. Thus, with each additional block added to the blockchain a given transaction is buried under ever more computational work.
Essentially, Bitcoin is like a global clock which ticks with each new block, and every transaction included gets timestamped using this clock. Another expressive metaphor for data in the Blockchain is a fly in amber.
So each block is like another thin layer of Amber. I see. And the chain of blocks represents the depth of that Amber or how long that fly has been trapped in and therefore how you can trust that on a signal anything deep down in the blockchain is mathematically cryptographically and just economically impossible to undo.
— Naval Ravikant
In order to notarize the history of vehicle data, Caranty provides the following three functions:
- Create a digital fingerprint of each data point by hashing the data.
- Each fingerprint embeds the fingerprint of its predecessor, e.g. the preceding odometer value of a given car. This is analogous to the linking of blocks in the Blockchain.
- Each fingerprint gets attached to a Bitcoin transaction and attached to the Blockchain.
The first step obfuscates the data since we don't want to publish your vehicle data. The second step allows to prove that the data history is complete in the sense, that no data points have been omitted, and the third step provides an immutable and independent timestamp to each data point.
Thus the integrity of the history is assured by cryptography and the Bitcoin network. Every manipulation of the Caranty database would invalidate the timestamp.
Of course, storing the fingerprint of each data point individually on the Blockchain would be impossible, since the space in blocks is a scarce resource and has to be paid for in Bitcoin. Luckily, cryptographic data structures allow to aggregate individual fingerprints to super fingerprints. Caranty uses Merkle Trees and OpenTimestamps to anchor the daily data of many many vehicles in one Bitcoin transaction.