We are pleased to present BudgetBox: a decentralized capital allocation mechanism (i.e. “way of distributing money”). We alluded to this mechanism in June, during our first hackathon, as a way to support projects in building sustainable businesses on top of the Colony Network. Now we present the mechanism in full.

Budget? What Budget?

While the word “budget” may conjure up images of spreadsheets and tedium, the truth is that there is no better reflection of an organization’s values than its budget. It is easy to define rules, pass policies, and make statements, but where the rubber really hits the road is in allocating limited resources amongst competing priorities. In an important sense, budgets are policy.

In fact, in a decentralized context, we believe that it can be easier to set budgets than to pass policies and proposals.

When the governance problem is posed in terms of budgets, the solution space blooms.

Voting on proposals is tricky business: while the voting appears simple on the surface, the process gives a lot of influence to the people writing the text. Even when the proposals are simple, the effects can be far-reaching and unexpected. This creates a signal-to-noise dilemma: if the proposal is simple (“Should Britain leave the EU?”), it is harder to predict the consequences, creating noise in execution; if the proposal is complex (a 500-page tax reform), then it is harder for a base of voters to provide meaningful input, leading to noise in the voting itself. In either case, the ability for a group to exercise meaningful control over outcomes is limited.

Budgets, on the other hand, are simpler: these monies are going to those projects. The more money provided, the more opportunities that project can exploit. If a project is deemed to be wasteful or otherwise unsatisfactory, funding can be reduced. Unlike policies and proposals, which pass or fail and are cumbersome to revisit, money can be provided continuously and in varying amounts.

It is difficult to apply computational techniques to policy text, but trivial to do so for budgetary numbers. When the governance problem is posed in terms of budgets, the solution space blooms.

The Colony Protocol is, among other things, a decentralised budgeting and payments tool; BudgetBox extends this line of thinking by introducing a mechanism specifically designed to meaningfully gather and leverage financial priorities from a wide voting base. To accomplish this, we string together a number of ideas from information theory, computer science, and machine learning.

Thinking Inside the Box

A single “budget box” is built from three key ideas:

The first key idea is that all “votes” take the form of a “pairwise preference” between two competing items (i.e. “A vs B”). We do not believe it is meaningful to ask “what is generally good”, preferring instead “what is relatively more important”. There are many things worth doing, but the question we inevitably must answer is: given limited resources, what do we relatively value? Further, a single pairwise preference can be recorded with a single bit — the most compact unit of information. Herein enters the information theory: by asking the right question in a simple way, we can capture a great deal of information about the preferences of a group, making our downstream analysis more legitimate. Further, because pairwise preferences are so easy and compact (one bit!), voters will be more inclined participate. Instead of slogging through some verbose proposal trying to identify myriad ulterior motives, only to give a dramatic thumbs up or thumbs down, you could be sitting back playing a simple pairwise voting game, with interpretable consequences: A or B? B or C? C or A? Imagine if a lot of people did that.

And here is the sleight of hand: we choose to interpret voter preferences not as probabilities, but as percentages of a budget.

The second key idea is that a set of pairwise votes can be combined to a “preference graph”, which is secretly just a matrix, and computers loves matrices. Using classic, proven machine learning techniques, we can turn a collection of pairwise votes into a probability distribution over the items, where the probability represents the odds of one item being chosen over all the others. And here is the sleight of hand: we choose to interpret these numbers not as probabilities, but as percentages of a budget. This technique has been used to rank sports teams (“how likely is it that this team wins the championship”) as well as web pages (“how likely is it that this is the page the user is looking for”), and is very reliable. As an added benefit, the algorithm is easy to interpret (it is clear how inputs lead to outputs); it's a ray of sunlight in a world falling into the shadow of opaque neural networks. In an important mathematical sense, matrices are functions: by submitting our pairwise votes and building a vote matrix, we are “programming” the budget.

The third key idea is that for small numbers of items, all of this number-crunching is easily done on-chain. We achieve this by separating the items being voted on (keeping that number small) and the people doing the voting (which can be very large). This allows us to bound the gas cost for various parts of the mechanism, and lets us achieve linear growth in total gas costs as the number of items and voters increases. Further, this “divide and conquer” approach also reduces the cognitive burden: for 100 items, there are 4,950 possible pairs -- a lot to think about. But by dividing those 100 items into 10 groups of 10, we end up with a subset of 10 x 45 = 450 pairs: a 10x efficiency gain.

The Path Ahead

Putting all of this together gives us a game-like mechanism for distributing resources, which we will deploy as a decentralized, ongoing funding mechanism for projects building on the Colony Network. “Game like” in that projects are competing against each other for funding, and “game like” in that the voting itself is a fast-paced game. Fun does not mean frivolous. This emphasis on gaming speaks to a more fundamental political vision: one where participation is both easy and meaningful, and where the decision-making algorithm is simultaneously powerful and trustworthy. Instead of pass-fail proposals, where an individual vote rarely matters, we can have reputation-weighted aggregations, in which smaller participants have small but non-zero impact on the outcome. Instead of heavyweight one-off processes which lock us into a course of action, we can have lightweight, dynamically-adjustable processes which let us exercise oversight and course-correct in near real-time.

In our paper, we arrange all projects into a “tournament”, where projects climb the rankings to compete for bigger and bigger payoffs. But we can just as easily arrange our budget boxes into a recursive hierarchy of “general to specific” -- at the top level, categories like “education”, “healthcare”, and “defense”, each feeding into a second level, as “education” could then fund “primary school”, “secondary school”, “vocational training”, and the like. The allocation at the top level determines the size of the pie for the second level, and this process can be recursed to an arbitrary granularity, opening new opportunities for participatory budgeting and delegative democracy, in which populations can make high-level assertions of value, and delegate granular decision-making to relevant experts.

We believe that the use of pairwise preferences to solve collective ranking and budgeting problems represents an important instrument in the decentralized governance toolkit. For applications which look to meaningfully engage a wide voter base, or where the set of items being considered is large and in flux, or where there is a desire for frequent updates to the allocations, the methods we describe provide compelling solutions.


You can read and download the BudgetBox paper here.


Colony makes it easy for people all over the world to build organisations together, online.

Join the conversation on Discord, follow us on Twitter, sign up for (occasional and awesome) email updates, or if you’re feeling old-skool, drop us an email.