Aragon Court is live on mainnet

At the beginning of the year, we started working on Aragon Court and planned to launch it during 2019. After tons of milestones we’ve been through this year, today we are thrilled to announce that Aragon Court v1.0 has been released and deployed to the Ethereum mainnet.

For those who haven't heard about Aragon Court before, it is a dispute resolution protocol formed by jurors to handle subjective disputes that cannot be resolved by smart contracts.

Here is everything you need to know about Aragon Court's launch and how you can participate!

How to become a juror

With the deployment of Aragon Court v1.0, Aragon Court's launch process has now started, and soon, anyone will be able to participate as a juror to help adjudicate disputes. To become a juror, you will have to acquire Aragon Network Juror (ANJ) tokens, the native token of Aragon Court. If you want to be first in line to get ANJ, there will be an initial “pre-activation” period to onboard all jurors that want to join Aragon Court early.

During the pre-activation period, ANT holders will be able to convert ANT to ANJ on a 1:100 basis (1 ANT = 100 ANJ). The ANJ will be automatically staked and activated so prospective jurors are ready to go once the court is started. After the pre-activation period is over, Aragon Court disputes will begin and jurories will be drafted. Additionally, when disputes begin, an Aragon Fundraising bonding curve for the ANT/ANJ pair will be initialized and jurors will stake or unstake at a variable rate.

We are targeting to kick off the pre-activation period on January 7th, and begin drafting juries and resolving disputes in early February.

The start date is set in the court contracts, so stay tuned for further announcements about how you can participate in the pre-activation period and launch as one of the first Aragon Court jurors.

Why ANJ?

The Aragon Network already has a native token, ANT. At the moment, ANT is used for governance in Aragon Network votes, with which ANT holders have the opportunity to set the direction of the project and how it allocates its resources.

However, in the original Aragon whitepaper, the idea of Aragon Network services was introduced. The whitepaper mentioned that, in the case that these services needed a token, ANT or a derivative token would be used.

For security reasons Aragon Court needs a token for selecting jurors to work and economically punish them if they behave maliciously. If Aragon Court was the only foreseen service that the Aragon Network will be launching, using ANT as the staking token for Aragon Court would be perfectly safe.

However, as we expect other services such as Aragon Chain to also need a staking token, using a single token for multiple proof of stake type protocols becomes dangerous, as the success of one protocol could make the less valuable protocol really cheap to attack.

Because ANT will be used as collateral for derivative tokens such as Aragon Court’s ANJ or Aragon Chain’s ARA, we now consider ANT to be a store of value asset whose circulating supply will shrink as these derived tokens grow in value and absorb more and more ANT. You can read more about the impact of ANJ’s demand in the valuation of ANT in this Aragon Forum post.

How the protocol works

Aragon Court is one of the core components of the Aragon Network. Aragon Court is a dispute resolution protocol that handles subjective disputes that cannot be solved by smart contracts. This is achieved by having a set of jurors drafted for each dispute who will vote to guarantee a certain ruling.

Jurors sign up to get drafted into the court by staking and activating ANJ tokens in Aragon Court's smart contract. The more tokens a juror has activated, the higher the chance of getting drafted. Once the court is live, jurors will be able to acquire ANJ either on the open market or by depositing ANT into an Aragon Fundraising-based bonding curve to mint ANJ tokens. A simple interface will be made available to jurors to make this an easy to follow process that takes no more than a few clicks.

Aragon Court attempts to find what the subjective truth i.e. the most correct outcome of a dispute is with a Schelling game. Jurors are asked to vote on the ruling that they think their fellow jurors are more likely to vote on. Every time a juror is drafted for a dispute, a portion of their staked tokens are locked until the dispute is finalized. To incentivize consensus, jurors that don’t vote in favor of the consensus ruling have their locked tokens slashed. Jurors that vote in favor of the consensus ruling are rewarded with ruling fees and juror tokens from the jurors that voted for a minority ruling.

Once a ruling has been decided for a dispute, there is a time period when anyone is allowed to appeal the said ruling by putting some collateral at stake to initiate a new adjudication round. If this occurs, a new set of jurors will be drafted and a new ruling will be proposed. Rulings can be appealed multiple times until the final round is reached. All active jurors are invited to vote on a simple majority vote during a final round. For future versions of the Court protocol, the idea of using futarchy decision markets to solve a final dispute round is being considered instead.

Once a ruling has been decided without appeals, the final ruling is sent to the smart contract that triggered the dispute and all the adjudication rounds for the dispute can be settled taking into account the final ruling for rewards and penalties.

The different phases of a dispute are determined by a time period measured in Court terms, the minimum unit of time the rest of the system knows about. Although these phase durations may change in the future, the duration of each Court term is guaranteed to remain constant.

Even though Aragon Court could theoretically resolve any type of binary dispute, in its first version it will be used to arbitrate Proposal Agreements. These agreements require entities creating a proposal in an organization to agree to its specific rules around proposal creation, putting some collateral at stake that could be lost if someone challenges the proposal, creating a dispute in the Court that finds the proposal invalid. However, how disputes arrive at Aragon Court is outside of the scope of the protocol. The Court simply relies on a small interface to be able to link the corresponding disputes and trigger them once a ruling has been decided.

To learn more about the technical details of Aragon Court protocol, you can read this post on the Aragon One blog. There you will find a full chronicle of all the details we went through along the process during the implementation.

Security

Before releasing the first version of Aragon Court’s protocol, we engaged Georgios Konstantopoulos to perform a security audit and code review of the codebase. You can read the report here. There were only three findings and two of them are part of our trust assumptions. All the related recommendations have since been addressed and audited by Georgios, as well.

One of the things we paid serious attention to was the testing strategy during the process. We invested a huge amount of time doing testing-related tasks to make sure we cover every single corner of the whole codebase under most of the possible conditions. As a result, we ended up having a robust test suite composed of +2,300 tests, including unit and integration tests! Although we know testing cannot be considered as a safety guarantee, we are super proud that no business logic issues were found during the security audit.

Apart from what was mentioned above, we do think security is a continuous and ongoing process. Therefore, the Aragon Association has launched a bug bounty program for the Aragon Network including Aragon Court’s contracts in which hackers can earn up to $50,000 for a critical bug found in the code, with a total bounty pool of $250,000. We invite security researchers and hackers to take a look at the bounty program and start reviewing the codebase.

Acknowledgments

I feel really proud to be part of such an incredible and professional team. Thanks to the whole Aragon One R&D team for leading the whole implementation with such quality and professionalism. Thanks to the Aragon One design team for their amazing magic to make things shine even when they are the hardest things to show. Thanks as well to Georgios for the security assessment, and all those who have contributed along the process, this is an amazing start for such an amazing project.

How to participate

Aragon Court v1.0 has been released and deployed to the Ethereum mainnet. With that, Aragon Court’s launch process has now begun. You can read more information about how to become a juror in the court on the juror onboarding site. Stay tuned for further announcements about how you can become an early juror by participating in the pre-activation period.

Additionally, there are two Aragon Governance Proposals (here and here) coming for Aragon Network Vote #5 related to Aragon Court’s launch. If you are an ANT holder, you can participate in the vote and help decide the outcome of these proposals. More information about these proposals and how they relate to Aragon Court’s launch can be found here on the Aragon One blog.

If you have any doubts or want to contribute to the project just come and say hello! You can reach out to us on our chat and our forum.