In the past months, I have been thinking casually about working to establish an overarching theory of distributed ledger technology (DLT). This is the basic term I use to describe cryptocurrencies, blockchains, and other related systems. In the coming months as I move to my new role as a University Professor, I plan to write a series of proposals or whitepapers which will define some interesting questions in the area of DLT theory that I believe I can answer. Part of the goal of this will be to find like-minded individuals who are interested in working with me and providing some funding for this work. As I work towards this and release the papers, I'll plan to write a series of blog articles to explain the concepts and issues to a wider audience.
What does Blockchain Theory mean?
Before describing the sorts of questions I'll be asking, in this article I'd like to briefly discuss some of my basic thoughts about the study of theory. "Theory" is one of those words that can mean quite a number of different things, depending on its context -- so first I need to explain what I'm talking about.
I found the following definition of the kind of Theory that I'm talking about on dictionary.com:
A body of principles, theorems, or the like, belonging to one subject.
Focus there on the word Principles.
- A Theory of Blockchains would be a collection of fundamental principles that describe in part how blockchains work and what they can do.
- A Theory of Blockchains should tell us something about how to compare one blockchain to another, how to quantify security, how to identify what kinds of problems blockchains can solve.
- A Theory of Blockchains should give us the language and the tools to understand the fundamental tradeoffs in the space. For example, Steem has no fees, no wasteful mining, and much shorter block times than bitcoin. Are all these benefits free, or did the creators of Steem fundamentally give something up in making those choices? (Of course, since I'm writing this on Steemit, I expect that many of my readers will argue that nothing was given up -- that Steem is strictly better than Bitcoin. Maybe that's true, and if so, a Theory of Blockchains could tell us so, could tell us why, and could tell us by how much.)
- Perhaps most importantly, A Theory of Blockchains would tell us what blockchains cannot do. I like to use the phrase fundamental limitations here. The reality is that we live in a universe that has fundamental limitations. You can't travel faster than light, you can't compress information past the Shannon limit, and you can't reduce entropy in a closed system. What this likely means is that blockchains/DLT have limitations as well, but right now we have no idea what those limitations are. Bitcoin is expensive, but we don't know if that's because it's a blockchain, or if that's because it's a poorly-designed blockchain. Steem is fast and feeless, but we don't know if that's because it's a well-designed blockchain, or if that's because it's a centralized/insecure blockchain. Theory could tell us.
What does it mean to develop theory?
Theory, the way I'm using it, is a lot of math. To give you a sense of what this work looks like, here is a screen capture of the public version of the most recent theory paper I've published:
If you can get past the IEEEXplore paywall, you can also see the preprint here: https://ieeexplore.ieee.org/document/8361010/
Lots of math, coupled with asking the right questions and figuring out how to pose the questions in a clever mathematical way. There is no magic bullet, and no guarantee that you're on the right track until you prove the answer. But once you've proved the answer, you actually can know for sure that the problem is solved. That's the deeply magical thing about good theory: you get the answers by proving them mathematically, which means that they're true in a way that many other statements can't be.
What is next?
Next, we need to ask the right questions. That's what I'll be doing in the next weeks and months. We need good questions whose answers would actually be helpful in designing blockchains and DLT. At the same time, the questions need to be general enough that they're worth spending the time on to begin with. Asking these kinds of questions is a challenge in itself, but it's one which I'll pursue with vigor. Once we have questions, then the real hard work can commence to start answering them.
If you want to partner with me to define the questions, find the answers, or fund those of us who do, please reply here and join the conversation. I'm always on the lookout for motivated graduate students (get paid to get a PhD in computer science in beautiful Colorado Springs!) and funding partners.
Discussion prompt: What questions interest you about blockchains?