Mantras for Decentralized Open Data

Keep in mind what matters

I had a wonderful experience at EdCon in Toronto this week. Mostly because of all the great new people I met and the many people I reacquainted myself with. The Ethereum community is freakin’ cool.

Here’s an example. In between speakers, the person sitting in front of me stood up, turned around, looked down at his seat and, using his pointing finger, counted the number of seats between him and the left isle. He then counted the number of seats between himself and the right isle. Finding that the right-most path was shorter, he existed the auditorium in that direction. He didn’t care which way he went — he cared only about being efficient.

His friend, who was sitting next to him, stood up, turned around, and made the same count. Because the arm rest between their two seats was the exact middle of the row, his friend came to a different conclusion about which path was shorter. He went the other direction.

This is just one example of the many interesting and amazing people I met. Others included someone who claimed to be “American as fuck,” a former improv artist, and a very nice gentleman who grew up in a very large castle. We are all different.

Data

As is true of most of my conversations these days, I spent the weekend talking about data. The conversations were about why it’s currently so difficult (in a decentralized way) to get the data from the Ethereum blockchain, and what we might be able to do about it. There’s a number of different ideas about how we might proceed [1][2], all of which I think are equally valid. In other words, the ultimate solution will be many solutions.

I’ve been thinking about some of the guiding design principals that the community might want to keep at the top of their mind as they develop better ways to make the blockchain’s data accessible and more useful.

These are my thoughts in no particular order, nor are they very well thought out. I just want to make a list, so I can come back to it as I continue my work:

Mantras for Decentralized Blockchain Data

  1. All the data, for all the people, all of the time. None of the data if a user doesn’t need it.
  2. Use only consented-to, provably-true data…
  3. If you can’t do (3), use only data derived from consented-to, provably-true data…
  4. If you can’t do (4), force the data provider to prove themselves.
  5. Embrace the paradigm shift. The server is local. There is no server.
  6. Break out of the browser, but stay behind the node. There’s a big wide desktop out there.
  7. It’s easier to scale from decentralized to centralized than from centralized to decentralized.
  8. Most users care only about their own accounts and a few smart contracts. Some users, care about everything. Every user cares about accounting.
  9. The Ethereum node can be improved, and should be.
  10. Immutable data has interesting properties, especially when tiny parts of it are stored by many people on content-addressable file systems.
  11. Hashes are pointers to data. So are filenames. Pointers are good.
  12. There will be a broad range of solutions because there are a broad range of needs.

Screech….

I suffer from triskaidekaphobia, not because I believe that 19 minus 6 is bad in itself, but because I believe in quantum physics. You can’t convince me that an irrational fear of the number following 12 is nonsense. You may be able to prove to me within any given epsilon that a fear of 10 plus 3 is silly, but the net benefit I get from engaging with 15 minus 2 is strictly less than any epsilon you may provide. So I choose to avoid it. We are all different.

Over the next few weeks, I’m going to expand on each of the above 130 divided by 10 mantras. If I get through to the last one, it will be a miracle.

Exit, stage left.

Support My Work

I’m interested in your thoughts. Please clap for us and post your comments below. Consider supporting our work. Send us a small (or large) contribution to 0xf503017d7baf7fbc0fff7492b751025c6a78179b.

Thomas Jay Rush owns the software company TrueBlocks whose primary project is also called TrueBlocks, a collection of software libraries and applications enabling real-time, per-block smart contract monitoring and analytics to the Ethereum blockchain. Contact him through the website.

Edit this page on GitHub