Open Data on the Blockchain

I am certainly not the first one to talk about open data and blockchain, but hear me out. Because usually, when people talk about the open data on the blockchain, they focus just on one aspect of this issue — open data in government (public sector data). However, we should really look at the open data in a much broader aspect. Open data should really be any data that are common or public knowledge — i.e. business-related data (location, contact details, reviews…), a composition of some product (food, medicaments…) or even data that are published on the internet by users (articles, recipes…).

Problem?

Who should own data that are publicly available for anyone? Whether we are talking about business addresses, food compositions or recipes that are written all over the internet? Am I wrong to think this information should be freely available for the community?

Let’s say you started a startup, where you recommend users right food products according to their health needs. You will need to have a lot of data about compositions of these products to give your users the best answer. Currently, this leaves you with two options:

Crawl the internet for the data you need or/and hire workers and let them fill in the information in your database (both are probably overkill, especially for a startup) Find data provider with the information you need

Let’s dive into 2. First of all, there is going to be more than one data provider and every one of them will have a little bit different data and API. Data provider A has something in data that you really need but misses something that only data provide B gives you. Second, the data is not going to be free. This will force you between some kind of compromise between quality/price. You will build a prototype and will be happy for some time — until you get traction and hit a lot of users. You might find out that you are missing something in the data (API) you are currently using, but you cannot really modify the database (API). On top of that, you might find out that you are paying a ridiculous amount of money for the API that you don't even like that much. This will make you reconsider and fallback to option 1. And quite possibly, once you build the necessary dataset and API, you will consider being data provider yourself.

Because of this, there is a lot of data redundancy between different data providers. They put a lot of effort and money to gather a lot of similar data and then sell it as a service with slightly different API.

Solution?

Smart contract as a data provider

Why don’t we use smart contract as a universal, community managed data storage, which will be complemented by an open sourced packages that expose smart contract endpoints to the developers in an easy to use way? We could establish something like “common knowledge API”, which would be contributed by community & built by the community.

This way we could achieve a lot of things: