Sometimes it is useful to first define an abstraction. A good abstraction can reveal that some problems could be solved by the same solution. A good abstraction also makes it easier for us to communicate about the solution and understand its properties.
One such abstraction which I think should be defined and named is nonenumerable database. A database where you can query a value by a key, but you cannot enumerate all keys (nor all values). Even a database operator/administrator is not be able to do so.
At the same time, some problems are more intuitive than others and can help us better understand or even inform the abstraction. We will look at three examples where nonenumerable database can help: DNS/DNSSEC, gun ownership registry, and voting.
We live in times of a hidden war between “one person, one vote” and “one dollar, one vote” ideologies. The reason why it is hidden is because we use the same terms for both: democracy, voting, consensus, etc. We govern our governments each having one vote, but in our companies shareholders commonly hold votes proportional to their share. Some people are claiming that the latter is a better approach and everything should be decided through markets and power. I believe that using power (physical or monetary) to make decisions is barbaric and that our civilization progress was to introduce a more true democracy, one person, one vote. But I do not believe even that is the end of our developments in this respect and we should continue developing our collective governance. Moreover, I do not believe that these two positions are necessary the only possibilities, and some combinations might also exist. In some way we might even already have that: using “one person, one vote” to decide the rules under which we operate, but using “one dollar, one vote” to decide how to split the profits.
Anyway, all this could be a topic of some other longer blog post. Here I wanted to explain this existing tension between these two ideologies to present how they have existed in decentralized technologies as well and why Bitcoin’s blockchain is so innovative.
The following was a class report done together with Valkyrie Savage where we compared my idea for voting described in the previous post with others similar ideas we found around. This idea is envisioned as a backend for the massive online collaborative decision making system already described. Please comment below if we missed something or understood something wrong.
We designed a voting scheme which allows a group of people to better decide on a common opinion about an issue. Currently, the most used approach is to simply count number of votes against and for, while not taking into account people who do not cast a vote. Our approach is to have each person define delegates whose votes will be counted when he/she does not vote him/herself. In this way we get a social network, a trust network, between users which can be used to transitively compute missing votes. We believe such a result better represents the will of the group.
One more old document explaining technical background of the voting system presented in the previous post. Historically it was made few years before the ideas of the previous post, so it does not describe all the properties needed for it. But it does explain how to achieve that just a smaller number of people have to vote and you can still have some understanding what is the opinion of the whole population of a group. This is a necessary property when you want to vote often and on many different topics. We cannot assume that all members of the group will have time and/or knowledge to decide on all those questions, but we believe that they at least know who in their social network is capable of making such a decision and at the same time share their values. So they can delegate voting on this particular questions to them.
I am publishing a longer document describing one my idea of a massive online collaborative decision-making system. I worked on this idea last year, but for now I put it on hold focusing on other projects. Still, I think there is some value in sharing it.