Image credit: R3CEV
By Srikumar Subramanian
Blockchain tech, especially smart contracts, is part of the hot new Internet. Post the creation of Bitcoin , the world has witnessed the rise of the public smart contract system
Ethereum and several private systems like Linux Foundation’s Hyperledger. These distributed ledgers are fast becoming the brand new foundation to build apps on. Blockchain records are immutable and are very tough to tamper with. Moreover, these are auditable by non-participants as well. App developers are hoping to leverage the additional trust that these ledgers provide by virtue of their distributed nature.
To utilize the blockchain platform optimally, the auditing process should be smooth and without loopholes. So one needs to ensure that, literally, every bit of information that is included in a smart contract is independently and timelessly verifiable. In other words, the data placed in the log cannot refer to entities that can change over time. For example, if one wants to log that The New York Times wrote an article about Donald Trump on May 29, 2017, it is not sufficient to just place a link to the article, note down the date and time, and add it as a record on the blockchain. There could be a number of shortcomings associated with that. The server serving up the link may go down. The maintainer may change the content of the link to something completely different. The link may redirect to another article or even to a cat GIF. These instances of mutability make it impossible to conduct reproducible audits.
In that sense, the blockchain is best not used as an arbitrary database. Doing so unnecessarily increases the cost of storing the record while failing to reap any of blockchain tech’s benefits. One might as well create a regular public RDBMS and place the info in it.
Only information coming from a timeless source benefits from existing on a blockchain.
Continuing with the example cited above, what can one do to create a timeless public record that the NYT did publish such an article? Storing a cryptographic hash of the article on the blockchain, while archiving the whole article in a regular database, makes the information timeless. Storing re-computable hashes enables one to prove at any time, with negligible error probability, that the article is indeed what was logged on the blockchain originally. This also helps in minimizing the amount of data we store on the blockchain.
But what if one needs to prove that a record on the blockchain is original? All one needs is a system that ensures that a hash pulled out of the log was indeed the original article. Take a situation when all CDNs logged hashes of articles (eg: “ETags”). In such a case, showing that the hash one logged on the blockchain can also be found in the logs of a few independent CDNs–over which one has no admin control–would increase trust. IPFS–the public Inter-Planetary File System–is also an excellent candidate for storing such documents since a document’s address in IPFS is a strong cryptographic hash of its contents and the documents are automatically distributed to ‘peers’ around the world.
Consider another scenario where one’s logging information about a book. Referring to the book by its ISBN number is considered foolproof. This is as the ISBN database is maintained in a reliable manner across the globe and lets us check, at any time, any metadata associated with the book once we know its ISBN number. The ISBN number, therefore, is an auditable timeless data item that can be placed in a blockchain record. The probability that the ISBN database is tampered with in an undetectable way is pretty low. To tamper with it, not only does one need to change the database content, but one also needs to change all the printed or downloaded copies of the book that feature the ISBN number.
To further strengthen its immutability, a book’s cryptographic hash can be used in place of its ISBN number to refer to the book in a timeless manner. In this way, all information within a blockchain record is best folded into the blockchain itself. This makes the entire ecosystem closed and not dependent on external alterations.
The entire technology of blockchain is built on the concept of deletion of intermediaries and, more so, trust. The timeless nature of information stored in blockchains not only makes it auditable at any given time but also contributes to building trust among users.
The author is the Director of Technology at Imaginea, a services arm of Pramati Technologies