Technical details of the Aragon Network
Last week we published the first public draft of the Aragon Network Agreement, the subjective rules governing the Aragon Network. The Agreement enables us to encode principles and guidelines into Aragon Network governance that cannot be directly understood by machines.
However, the Agreement makes up only one half of Aragon Network governance. The other half consists of on-chain smart contracts: objective rules that are interpreted and enforced by machines running the Ethereum protocol. In this post we will share the details of the objective smart contract rules that will be governing the Aragon Network when the Phoenix phase of the Aragon Network launch begins, along with a preview of the new interface that ANT holders will be able to use to interact with and govern the Aragon Network.
New Aragon apps
While the existing Aragon apps have served as excellent proofs-of-concept and helped show off the potential of organizational governance enforced by smart contracts, we have known since the beginning of the project that several important features were missing to enable truly decentralized, autonomous organizations using Aragon.
The first new app that was developed for the Aragon Network is the Agreement app. The Agreement app is used to reference the terms of the Aragon Network Agreement, the subjective rules that proposals will be compared against if they are ever challenged in Aragon Court. Tokenholders will be able to use the Agreement app to read the terms of the current Agreement, as well as to propose changes to the terms of the Agreement.
The other new app that was developed for the Aragon Network is the Disputable Voting app. A fresh take on the original Aragon Voting app, the Disputable Voting app leverages the new disputable app framework we developed to create a link between Aragon apps and Aragon Court. With the Disputable Voting app, we are able to define which Agreement proposals should be compliant with, as well as which arbitrator should be used in case of a dispute. In the case of the Aragon Network’s Disputable Voting instances, we will of course be using the Aragon Network Agreement and Aragon Court as the designated Agreement and arbitrator, respectively.
The Disputable Voting app also has several new and highly-anticipated features specific to voting. As recently previewed in the Aragon Forum, Quiet Ending is one of the new features being implemented in the Disputable Voting app. This feature will extend the duration of a vote if the outcome flips during a period of time at the end of the vote duration designated the “quiet ending period”. This gives voters who have not voted yet more time to react and rally support in case of a last minute change in the vote’s outcome.
Another new feature is Delegated Voting. This feature will enable voters to select a Delegate who will inherit their voting power. This Delegate can be another address owned by the voter (for example, a “cold” address holding ANT can delegate voting power to one of the holder’s “hot” addresses) or the Delegate can be another entity (person/bot/DAO), such as someone that the ANT holder considers more knowledgeable about a specific proposal. During an “overrule window” that begins midway through a vote’s duration, Delegates are blocked from voting to give a window of opportunity for tokenholders who have delegated their voting power to review their Delegate’s decision and decide whether to overrule them or not. This provides a balance between the convenience afforded by Delegated Voting and the self-governance abilities afforded by ANT ownership.
The last new feature introduced by the Disputable Voting app is an execution delay. This delay gives voters a chance to react in case they strongly disagree with the outcome of a vote. For example, they can choose to exit the organization by trading away their voting tokens, or they could challenge the proposal in Aragon Court if they feel that it conflicts with the organization’s Agreement. However voters make use of the execution delay, we believe giving voters more time to think and react to the outcome of a vote before it is enacted is a good thing for voter agency and minority protection.
A global staking pool for Aragon Agreements
Another new component that was developed for the Aragon Network is the Staking Pool. The Staking Pool is a global contract that Aragon users deposit collateral into before sending transactions to a disputable app installed on one of the organizations they interact with, with one Staking Pool contract deployed for each token used as collateral. Each time a user with funds in the Staking Pool sends a transaction to a disputable app that enforces a collateral requirement, the necessary collateral amount is set aside from the user’s Staking Pool balance and locked in case the transaction is challenged in Aragon Court.
If the disputable transaction is successfully challenged and ruled to be inconsistent with the organization’s Agreement, then the transaction will be blocked and the collateral that has been set aside and locked in the Staking Pool will be forfeit according to the rules set by the disputable app. This results in a financial penalty for users who submit “illegal” transactions and should incentivize users to only submit disputable transactions that are consistent with the organization’s Agreement, thus protecting the organization from malicious, off-topic, or “spammy” transactions.
A new frontend for the Aragon Network
When participating in Aragon Network Votes #0-6 under the AGP process most ANT holders who voted opted to vote using the frontend interface available via the Aragon client. This interface would be a familiar sight for any ANT holders who participated in these votes:
The Aragon client has served us well as the “minimum viable interface” for voting on Aragon community governance proposals. But with the full launch of the Aragon Network upon us, and powerful new developer tools such as Aragon Connect, we decided to take the voter experience to the next level with a new custom interface for the Aragon Network.
Meet the new Aragon Network Dashboard!
The Aragon Network Dashboard brings together all of the new apps and features in a seamless frontend interface so voters can easily delegate, stake, propose, review, challenge, and vote without skipping a beat. Look out for a browsable preview of the dashboard in the upcoming Aragon Network precedence campaign disputes.
Putting it all together
While each of these new tools might sound great on their own, what really matters is how they are all put together to create something that is greater than the sum of its parts: a robust cryptoeconomic system that is also flexible enough to adapt to the challenges ahead — the Aragon Network.
Today we are publishing the implementation specification that we will be using to deploy the first version of the Aragon Network to be governed directly by ANT holders. If ANT holders vote to adopt the Aragon Network Agreement in the final vote, they will simultaneously take control of the Aragon Network as implemented in this specification.
You can find the implementation specification here:
https://github.com/aragon/network/blob/master/implementation-spec.md
After an internal audit of all of the components in this specification, we feel confident in the robustness of the Aragon Network as designed. However, as always, we also want to validate our choices and triple-check our work with the help of external auditors.
We are pleased to announce that all of the components included in the Aragon Network implementation specification are now being audited both individually and together as a whole system by Coinspect, a software security company co-founded by Sergio Lerner and Juliano Rizzo with experience auditing cryptocurrency projects including the Solidity compiler, Grin, and Zcash.
Barring unforeseen complications, we expect the audit to be finished and the Aragon Network deployed to mainnet, ready for adoption by ANT holders, by the end of September. We will announce the results of the audit for review by ANT holders once those results become available and we have had a chance to fix any remaining issues that may be found. Then we will schedule the official start date of the final vote to adopt the Aragon Network Agreement and Aragon Network smart contracts as specified, kicking off the Phoenix phase of the Aragon Network launch.