21 October 2022

Blockchains have been used to keep track of crypto coins, creating an immutable ledger that everyone trusts, for a while now. The same system can be used to keep track of data in general.

You can also find a great tutorial here.

Honesty Research

You work for an insurance company and you are collaborating with a scientist for research into honesty. Customers are asked to report the current odometer reading of up to four cars covered by their policy. They are randomly assigned to sign a statement indicating, “I promise that the information I am providing is true” either at the top or bottom of the form. You gather the results and put them in an Excel file. You are a member of Proofivy and commit a hash of the data to Proofivy. You calculate a hash of your file,

ipfs add Driving\ Data.xlsx --only-hash
added QmZKXGV7f6jG2m5pWb9pwpfWmD2jRg2qtT8HW7LoweXz1q Driving Data.xlsx

and add it to Proofivy. Since you are a member it does not cost you anything except gas (network costs).

Submit a CID

On polygonscan you can find the commit.

You send the Excel file to the researcher and await the resulting paper. After a few years, fraud is suspected. The data used in the paper has been manipulated in a very obvious way to steer the results in a certain direction. The researcher says: “I can see why it is tempting to think that I had something to do with creating the data in a fraudulent way, I can see why it would be tempting to jump to that conclusion, but I didn’t.”

You release the original Driving Data.xlsx file on GitHub and point to the hash commited to Proofivy. The hash you committed is timestamped, because it is tied to a certain block of the blockchain. You can use this Jupyter notebook to check the data on the blockchain.

Jupter notebook Python commit call

Proofivy has made it easy for you to show that you were in possesion of the correct data. Commiting data hashes to the blockchain makes it verifiable. Being honest becomes a lot easier, fraud becomes harder.

There is also a message posted on Proofivy describing the commit.

Submit a message

Submit a CID

For more see technical notes.