Understanding Real-Time ‘Vote Streaming’

Announcing the Conviction Voting cadCAD Model Release

Jeff Emmett
Commons Stack
Published in
10 min readSep 20, 2020


This article is announcing the release of the Conviction Voting cadCAD model, a digital twin of the Conviction Voting ecosystem currently deployed at 1Hive.org. The content below is pulled primarily from the readme file of the model notebook. This initial model was a collaboration between Aragon, 1Hive, BlockScience and the Commons Stack, and if you’d like to support further feature development on the CV model, you can contribute via this Gitcoin grant.

Open source innovation networks FTW!

The Problem: Why Rethink Governance?

Traditional, time-boxed voting processes have shown their limited effectiveness in distributed communities, with early experiments in the blockchain space showing ample room for improvement. Direct democracy via token voting has a high attention cost, requiring everyone to be aware of everything going on at the same time, in order to cast a vote — or not. The resulting lack of participation means that critical decisions are being made by 0.2% of token holders in some projects, which call into question these tools as stable foundations for future decision-making processes.

However, the opportunity of blockchain technology, when paired with new voting models, can lower the barrier for participation and allows organizations access to rich data streams of continuous community preference signals. This allows for more responsive and flexible decision making, and opens the possibilities for a new era of on-chain signaling and governance.

Conviction Voting 101

Conviction Voting is a novel decision making process used to estimate real-time collective preference in a distributed work proposal system. Voters continuously express their preference by staking tokens in support of proposals they would like to see approved, with the conviction (i.e. weight) of their vote growing over time. Collective conviction accumulates until it reaches an algorithmically set threshold based on the proportion of funds requested by a proposal. When conviction accumulates past the threshold, the proposal passes and funds are released so work may begin.

Conviction voting improves on traditional discrete voting processes by allowing participants to vote at any time, and eliminates the need for group consensus on every proposal.

To reduce the attention overhead in token-based voting, Conviction Voting is a tool that shifts from majoritarian decision-making towards sufficient support for proposals.

Voting is a signal processing transformation of private continuous preferences into public discrete events. Conviction Voting, as a token-based signal processing tool, offers several improvements over traditional binary voting in this transformation process.

When processing continuous individual preferences (e.g. in addressing global climate change) into effective shared outcomes (e.g. coordinated carbon reduction policy), you might reasonably expect a continuous voting process to be better suited for that signal transformation than our legacy discrete-time voting systems. Conviction Voting could offer a smoother process for turning our evolving social convictions (e.g. around civil rights issues) into political action.

A BlockScience analysis of the token rights of the 1Hive.org Conviction Voting proposal system.

As our governance toolkits continue to expand with novel tools like Conviction Voting, we can consider designing governance systems in the context of the community to which they belong. In the 1Hive community, holding Honey tokens gives you certain rights in the 1Hive organization. In order to design distributed decision-making systems, we need to consider the rights granted by governance tokens, how those rights are controlled, the attack vectors they present, and how those vectors can be mitigated, now and into the future.

Conviction Voting integrates time as a core aspect of collective decision making, to provide real-time signals of our collective intent, which we hope will foster more democratic discourse & bring our political systems in line with our existing social systems.

Conviction Voting offers us new & transparent insight into the collective intent of our communities. It offers us a richer signal of the emergent and dynamic preferences of a group, such that we can better understand and discuss important issues as communities. It eliminates some of the attack vectors of ad-hoc voting such as last minute vote swings, and facilitates flexibility of participation by allowing people to vote at any time.

Conviction Voting mimics natural distributed decision making processes, like neurons firing in the brain. Could this be one step closer to real-time collective intelligence?

Different Flavors of Conviction Voting

The design space for this new governance tool is wide open for further exploration. From its academic origins in Dr. Michael Zargham’s PhD research in robotics & multi-agent coordination systems, Conviction Voting was called Social Sensor Fusion and was a continuous ‘fusion’ of individual opinions into a collective sentiment signal. This suggests there could be multiple “flavors” of Conviction Voting:

1. Conviction Funding (for discrete proposals):

In this version of CV, proposals have a passing threshold. When accumulated group conviction passes the required threshold of support, the proposal passes and funds are disbursed for work to begin. An example of this kind of CV can be found in the 1Hive or Commons Stack models of a distributed work proposal system that is allocated funds via a DAO.

Conviction Funding, where tokens asserted in favor of a proposal accrue conviction until a set threshold is passed, at which point the proposal passes and receives funding.

2. Conviction Consensus (for continuous proposals):

In this version of CV, there is no discrete threshold where a proposal terminates — instead, group sentiment can fluctuate up and down between a specified range in perpetuity, as a kind of ‘dynamic average consensus’. This could suit a community that wishes to have certain aspects of their socioeconomic system to be continuously decided by collective sentiment. An example of this could be the rate of a community token entry/exit tax (aka Tobin Tax), or the monthly amount of community UBI raised via continuously minting a local currency.

Conviction Consensus, where a community parameter is dynamically set based on continual input from members.

There are likely to be many more useful applications of this real-time governance tool in community decision making and beyond. We look forward to continuing this research and creating the open source foundations of models which can be iterated towards widely varying scenarios for facilitating collective intelligence. You can find some of the next steps we have in mind in the conclusions section of the model notebook.

It is important to note that we do not propose Conviction Voting as ‘the’ solution to governance, either on-chain or in the real world — in fact, we argue that there is no single governance mechanism that will “win out” in the long run, contrary to narratives in the DeFi space. Rather, CV is a new tool in our shared governance toolbox for aggregating collective sentiment in real time. These tools can be used where they are useful, and should be carefully modeled to ensure composability when integrating multiple mechanisms into more complex governance systems.

Why Model Conviction Voting in cadCAD?

In cyber-physical systems like international power grids, global flight networks, or Token Engineered socioeconomic community ecosystems, engineers model simulated replicas of their system, called digital twins. These digital twins help us understand and manage the complex systems that can have trillions of data points and are constantly in flux. These simulations channel the information into pathways that allow humans to understand what is going on in their ecosystem at a high level, so they can intervene where and as appropriate. (Like physically flipping a breaker switch after a fault is cleared in a power system).

A digital twin is a simulated replica of a real-world complex system, like an airplane engine or a token economy.

Digital twins can be considered like a flight simulator, which can be used to run your system through a billion different “tests”, varying one parameter at a time, to see what effects may throw your system out of balance. As engineers keeping public safety top of mind, we must understand the bounds and tipping points of our systems, and ensure mechanisms are in place to push the system back towards balance if and when they enter their boundary conditions of safety.

This cadCAD model is a digital twin of Conviction Voting, as applied in the 1Hive DAO ecosystem. It can be used to provide operational support in decision making both during the design stage, and also in the continuous governance of the 1Hive system, providing an early form of Computer Aided Governance for 1Hive members.

What is cadCAD?

cadCAD (short for complex adaptive dynamics Computer-Aided Design) is an open source Python-based modeling framework for research, validation, and Computer Aided Design of complex systems. cadCAD supports varied multiscale system modeling approaches and can be easily integrated with common empirical data science workflows. Monte Carlo methods, A/B testing and parameter sweeping features are natively supported and optimized for within the tool.

Given a model of a complex system, cadCAD can simulate the impact that a set of actions might have on it. This helps individuals or organizations make informed, rigorously tested decisions on how best to modify or interact with a complex system in order to achieve their desired goals.

Simulations & Deep-Dive Notebooks

As part of the modeling work, these notebooks were produced explaining the deeper details of Conviction Voting parameters, derivations, and modeling. These notebooks are a mix of code snippets, explainer content, simulations, and a whole lot of background to get you more familiar with CV as a concept, and perhaps even diving into modelling similar systems, or extending this model further using cadCAD:

  • Notebook Explainer Video: Walk through the Conviction Voting notebook with Andrew Clark & Jeff Emmett for a high-level explainer.
  • Simulation Notebook (V3): The latest notebook iteration of Conviction Voting, modeling 1Hive’s deployment
  • Conviction Voting Algorithm Derivation: For a deeper understanding of the CV algorithm, including its mathematical derivation, read this notebook
  • Deriving the Alpha Parameter: For an in-depth look at the considerations around the alpha parameter, which sets the half life decay of conviction and determines how fast it “charges up”, read this notebook
  • Explaining the Trigger Function: For an in-depth look at the trigger function equation and how proposals pass from candidate to active status, read this notebook
  • Model Structure: a deeper look into the structure of the cadCAD model. Read this document if you are learning how to work with system modelling in cadCAD.

How Can Models Be Used & Improved?

It is important to note that while models can help systems designers avoid certain hazards or optimize for certain outcomes, models need to be understood and used within appropriate context. There are no “universal conclusions” that can be drawn from these models, because deployments can vary widely in their circumstances.

cadCAD models should be considered like a flight simulator. They can’t tell you exactly how to carry out your mission, because each mission (i.e. deployment instance) will be different. But they can be parameterized and customized to suit a wide variety of implementations, to provide operational decision support to your community.

In that case, what can this model tell us? For example, it could inform us on some of the following questions:

  • What are the systemic effects of charging up conviction too fast or too slow?
  • How do we optimize proposal staking fees to prevent proposal spam from gumming up conviction accumulation?
  • Will my ecosystem operate sustainably (under existing model assumptions) over the long term?

It is also worth noting that these are initial basic models, and can be improved and iterated on with increasing complexity. Live data from pilot deployments can also help tune models to more accurately represent reality.

Current Conviction Voting Experiments

Commons Stack Community Fund — Panvala League

The Commons Stack has launched a pilot of Conviction Voting to decide how to match grant funding through the Panvala League & Gitcoin Grants program. This was made possible from the hard work of the Panvala, 1Hive, BlockScience, Aragon, and xDAI communities and several long sleepless nights from @sembrestels.

Help us allocate $170,000 of $PAN matching in this next round of gitcoin Grants by signalling your favorite grants using Conviction Voting with your CSTK tokens!

1Hive Conviction Voting DAO

The 1Hive community has been actively developing Conviction Voting contracts in collaboration with BlockScience and the Commons Stack since early 2019. They currently have a DAO live on the xDAI network at 1hive.org that uses a native governance token (Honey) to allocate funds to proposals via Conviction Voting.

To see Conviction Voting deployed in smart contracts with an initial user interface, check out this video interview of the 1Hive CV Dapp with Luke Duncan and Jessica Zartler, or look deeper into 1Hive’s Github.

The Commons Simulator

The Commons Stack has been working on the Commons Simulator, an educational tool (and work of art!) to facilitate user understanding of these novel governance tools. Progress on Conviction Voting in the Commons Simulator can be viewed in the Commons Stack Github repo.

Support More of this Important Governance R&D

This open source model will continue to be improved with additional features through collaborations with 1Hive, BlockScience, Aragon and the Commons Stack. It can also serve as a useful educational and decision support tool for those looking to learn how to use cadCAD to model & simulate systems that integrate algorithmic policy tools, paving the way for a future of Computer Aided Governance.

Please consider supporting more work on the Conviction Voting model by contributing to this grant, which receives additional funds through quadratic matching:
👉👉 https://gitcoin.co/grants/1141/conviction-voting-cadcad-model-feature-improvement

Or donate directly to this ERC-20 address:

To be part of the action exploring simulated governance environments, join the cadCAD community:

Thanks to Andrew Clark, Luke Duncan, Griff Green, Michael Zargham, and Jessica Zartler for content, edits & suggestions on this piece.



Jeff Emmett
Commons Stack

All Things Decent/ralised. Researching the biggest ideas that will move the needle on human progress. The @CommonsStack, UBI & mindfulness are some faves.