On Chain Governance Protocol

Token-based governance system for on-chain protocol upgrades

On Chain Governance Protocol

Created At

ETHNewYork 2022

Winner of

🥉 BitDAO — Best Use

🚀 Optimism — Just Deploy!

🏊‍♂️ Pocket — Pool Prize

Project Description

  • Guvna is a demo of an on-chain governance system for upgrading protocol dependencies and logic built using the Default Framework (https://palm-cause-2bd.notion.site/The-Default-Framework-A-New-Standard-for-Protocol-Development-7f8ace6d263c4303b108dc5f8c3055b1).

  • To briefly summarize, the Default framework defines a dependency-management pattern using a contract registry called the Kernel. The Kernel keeps track of all the contracts in the protocol, which are categorized into two types: Modules and Policies. Module contracts are the core system components of a protocol, like a Treasury or an ERC20 token. Policy contracts are the features and business logic of a protocol, like a Token Sale, or in our case, an on-chain governance mechanism.

  • Our project, Guvna, introduces a simplified on-chain governance system that can be built on top of any Default-compatible protocol. Guvna is unique in a few ways; first, our proposals are specific on-chain instructions that are intended to be executed by the Kernel. Our proposals aren’t suggestions on a discourse or snapshot forum, but smart contracts whose logic is already written and requesting access to our core protocol functions, like withdrawing treasury funds and minting tokens.

  • Second, by codifying proposals as code, our process makes the outcome of the vote clear and absolute. There is no team in between that needs to code any implementation or multisig responsible for deploying the contracts. As a result, once a proposal is executed, the protocol’s underlying architecture is permanently modified within the same transaction. Our governance process is trustless, permissionless, and entirely on-chain. Our governance system is a critical component of any truly decentralized DAO, DeFi protocol, or NFT project.

How it's Made

Guvna uses Default for the protocol framework, where we forked the Operating System module for building protocols. It includes dependencies for storing batched Kernel instructions and a naked ERC20 token implementation that we use for counting votes in the governance system. We used POKT RPCs to deploy our contracts to the Optimism Network. For our sample proposals, and the ERC4626 vault standard to create a sample Policy that can be integrated with our DAO Treasury on-chain.

background image mobile

Join the mailing list

Get the latest news and updates