An IPFS Use Case

Buying and Selling Data

Kyle Tut
Pinata
3 min readJan 9, 2020

--

IPFS is well-suited to handle the buying and selling of data. This blog is going to quickly cover why today’s infrastructure is poorly suited to facilitate such transactions, why successfully buying and selling data needs a content addressable protocol like IPFS, and some other gaps that need to be solved for.

Problem

Imagine you wanted to buy data from someone selling IoT sensor data about packages shipped in the US. Today, there is no way to identify that the data is what it is supposed to be. This is because the data isn’t identified individually and could be tampered with at any point on its journey to you, maliciously or not. This is especially true if it ever transfers hands or systems before it gets to you. Basically, you just have to trust that the data is what it is supposed to be. There isn’t any real provenance or origin to data today. The party selling the IoT data just says, “Yup, I have an IoT generated dataset on packages shipped in the US,” and you purchase it taking their word for it. You have no verification if the data has been corrupted or any way to prove it isn’t fraudulent. So, how does IPFS change this paradigm?

Solution

The key advantage IPFS provides to data is its immutable and content addressed nature. When data is uploaded to IPFS, the protocol generates a unique ID for that data. Think of it like a car vin for each piece of data. If you were to change the data in any way and re-upload it to the protocol, a new ID would be generated for the data. This makes it so that you know when the data has changed because of the new ID.

Second, because IPFS names data based on the data itself, the unique IDs allow both parties in the transaction of data to trust that the data is what it’s supposed to be and hasn’t been changed. With IPFS, you can trust the data itself, not the party selling it. If the IDs don’t match, the data doesn’t match and the transaction shouldn’t happen.

With IPFS, you can trust the data itself…

Finally, IPFS allows for global data storage and movement. This means that the protocol can operate anywhere geographically across any device while being part of the same network. This allows the parties transacting data to buy and sell the data no matter what device or server it is sitting on. As long as you have the ID of the data and access to the network, you can have access to the data itself.

Roundtrip

So, to roundtrip through the IoT example given, the seller could run an IPFS node on the device or immediately send the IoT data to an IPFS node on a server somewhere that can generate the unique data ID. This unique ID could then be used by the seller to help ensure that the data is what it is supposed to be to you, the buyer. Because of that unique ID, the seller is able to store the data wherever it is most efficient for them before selling it to you. That could be near the device or in the cloud somewhere. Then, once you buy the data, you can gain access to it through the unique ID on the network.

Incomplete Picture

Now, IPFS and this post doesn’t cover the complete picture in this example to buy and sell data successfully. There are a number of vulnerabilities that still exist at the hardware and software levels. This includes needing things like trusted execution environments on the devices, some form of blockchain to timestamp the unique IDs to and more. However, IPFS’s ability to generate a unique ID based on the content for each piece of data is the foundational change that is needed to successfully buy and sell data. If you’d like to start generating your own unique IDs for data, be sure to check out Pinata!

--

--