The holy grail: Off-chain polling with on-chain execution

September 14, 2020

Optimistic voting has been a hot topic in the Aragon community for some time. When we started researching the topic, it cost a few cents for a user to vote. Today, with Ethereum being clogged, it can cost up to $30 for a user to vote.

Luckily, our friends at Balancer Labs rolled out their own product for off-chain voting, Snapshot

Snapshot allows communities to do token holder votes off-chain. The voting result is verifiable, and the voting process is tamper-resistant (with votes and relayer receipts stored in IPFS).

Snapshot has quickly become the go-to voting solution for prominent communities like Yearn and Aave. However, as it stands today, there is still significant centralization in the voting process. Token holders can signal their preference, but it’s just a signal. The actual on-chain execution has to be done by other means like trusted multisigs, which usually just check the voting result and execute the will of the token holders.

That approach is risky from a centralization and security perspective, but might also expose multisig members to undesired issues like legal liability for the decisions the community makes.

On the other hand, on-chain voting, where all the votes are tallied on-chain, is much more secure and fully decentralized. But it is extremely costly and slow.

The tradeoffs of blockchain voting: you either have scalable, off-chain voting leading to higher quorums, or you have secure, on-chain voting. Until today.

Getting to this point has involved extensive research and building core infrastructure like Aragon Court, Aragon Agent and aragonOS 5. Thanks to this work, we are happy to announce a solution for off-chain polling with on-chain execution. Yes, both at the same time. No more tradeoffs. Have your cake and eat it too.

The basic concept of optimistic execution is that instead of performing an expensive computation on-chain, someone can directly submit its result along with some collateral bonding its correctness. If someone sees a false result, they can challenge it and take the posted collateral if the submitted result was incorrect.

Here we are taking that same concept and using Aragon Court as a subjective oracle that can evaluate whether the submitted result is correct.

This solution, leveraging Aragon Court and Aragon Agent, will be available in Snapshot soon (it is working on Rinkeby today!). Meaning that Yearn, Aave, Balancer and other communities will be able to leverage it.

"I am very excited about Aragon adding on-chain execution to Snapshot, and I think many communities will benefit from it" — Fabien Marino, Balancer

How it works

Usually a multisig of trusted community members has execution powers over a protocol or treasury. When the community votes on a decision, the multisig signers check the poll result and execute the action on behalf of the community. Social capital and reputation are at stake, but there’s actually nothing preventing multisig signers from actually doing whatever they want, or not doing what the community decided.

With Optimistic Snapshot, the multisig is replaced with a DAO. The DAO’s Agent holds the execution powers. Aragon Agent is an on-chain emissary that can perform actions anywhere on Ethereum. Anything you can do as an individual or with a multisig, your Agent let’s you do as a DAO. For example updating protocol parameters, managing a treasury, or even snapping together DeFi legos.

Once a vote has concluded, anyone can submit the intended actions that the vote approved to the DAO on-chain. The DAO has a new app, called Disputable Delay, that imposes a timelock period before the action can be executed. During that timelock period, anyone can dispute the action and take it to Aragon Court.

If someone submits a malicious action that does not correspond with the outcome of a passed vote, Aragon Court jurors will rule against it, and the proposer will be slashed.

If no one disputes the action, it will move forward and get executed

Since malicious actions are heavily punished, they are essentially filtered out by deterrence, leaving only legitimate actions in the queue. 

This proposal flow allows members to have more autonomy to take action on behalf of the organization when they know their action is legitimate. Every member does not need to actively monitor or participate in the on-chain enactment of every vote since any member can dispute any action. 

That’s why we call this optimistic voting.

The future

Communities that enroll in this feature can easily onboard to Aragon Agreements when they launch later this month.

Aragon Agreements allow DAOs to define what they are about in plain English, establish rules and customs, and protect themselves from malicious actors without sacrificing the agency of their members. In case of illegitimate action and dispute, Aragon Court can be used as the arbiter.

We are beyond excited about the possibilities of providing communities with off-chain polling, while helping them decentralize with on-chain execution.

Oh, and we just submitted a proposal to the yearn community to help them build their DAO with Optimistic Snapshot.

Huge thanks to Fabien from Balancer for helping turn around the integration in record time! If you are interested to learn more, chat with us on Discord!