Disclaimer! This article discusses version Aragon OSx 1.3.0 of the protocol. Subsequent versions might have minor changes in the implementation of specific features, but at the level of the basic architecture, everything should work the same way.
Aragon v2, or the "new technological stack" of Aragon, was introduced in March 2023. This is a completely updated and redesigned framework based on the Aragon OSx operating system. The new stack also allows the creation, configuration, and management of DAOs but does so differently. The main concept is similar to the previous version of the protocol, where three main primitives are distinguished, though their responsibilities and interaction methods have changed. I’ve written about the previous version before, and to recap, it was based on the Kernel (core, responsible for installing and removing applications), ACL (access control lists), and AragonApps (applications that contained all the logic).
Main Primitives of Aragon OSx core-contracts) are:
- DAO contract: Contains all the basic organizational logic, stores assets, and manages access control;
- Permissions: Defines relationships between plugins, the DAO, and other addresses;
- Plugins: Contain the custom functionality of the organization, managed through on-chain repositories (version control).
As before, permissions and plugins allow for very flexible creation and customization of DAOs. You can also write your own plugin and publish it in the on-chain plugin repository. To simplify this task, Aragon OSx uses a set of smart contracts framework:
- DAOFactory and DAORegistry: Used for creating and curating DAOs;
- PluginRepoFactory and PluginRepoRegistry: Used for creating and versioning plugin repositories;
- PluginSetupProcessor: Installs plugins from the plugin repository into a DAO (installation, update, removal).
The protocol uses smart contracts from the OpenZeppelin library and ENS Domains as external dependencies.
Below is a diagram from the Aragon documentation showing the hierarchy of entities and their responsibilities: