Along with the explosion of the DeFi space over the last year, decentralized governance has become popular. DAOs are almost becoming a standard type of governance for the industry.
While DAOs are proving to be an efficient coordination mechanism, there are still some limitations to the ability for DAOs to seamlessly upgrade smart contracts. The typical industry approach to upgrading smart contracts usually requires redeploying whole contracts for incremental changes.
Barnbridge has choose to adopt the Diamond Standard, a modular approach to deploying start contracts, that allows greater flexibility in developing and adding incremental upgrades.
- Your contract exceeds the 24KB maximum contract size. You may have related functionality that it makes sense to keep in a single contract, or at a single contract address. A diamond does not have a max contract size.
- A diamond provides a way to organize contract code and data. You may want to build a contract system with a lot of functionality. A diamond provides a systematic way to isolate different functionality and connect them together and share data between them as needed in a gas-efficient way.
- A diamond provides a way to upgrade functionality. Upgradeable diamonds can be upgraded to add/replace/remove functionality. Because diamonds have no max contract size, there is no limit to the amount of functionality that can be added to diamonds over time. Diamonds can be upgradeable or immutable. It is also possible to make an upgradeable diamond and then at a later time remove its upgrade capability.
Barnbridge is intent on leading the way in the adoption of new approaches, technologies, and standards that have been proven superior to the general way of doing things. Our BOND staking contract build on the Diamond Standard is called Barn. The contract is complementary to the DAO and the DAO relies on it to read information about voting power. The DAO will have full control over the Diamond used by the Barn which means it can only be upgraded through the proposals accepted by the DAO.
We can’t stress enough how excited we are to usher in a Diamond that is controlled by a DAO. This is a massive improvement for UX/UI in the space. The ability for the community to add new functions to a smart contract without having to upgrade the entire framework is a game changer. We are looking forward to how the community uses this new and powerful tool.
*Before we get into the DAO specifications, we want to state not all of them are final yet. There still might be some changes made, especially with the thresholds.
It’s also important to remember that the $BOND token supply is limited to 10,000,000 (ten million).
Now let’s go through the DAO specs in detail.