Proposal Submission & Voting System
To enhance the speed at which funds from Zen can be distributed to stakeholders, it is time to create an open source system to allow community members to submit formal proposals that can automatically be voted on and funded.
This is a WIP/RFC proposal. Please comment with ideas, feedback, concerns.
In accordance with the Zen Whitepaper, 5% of block rewards are to go to DAOs, but any future DAO currently has no way to allocate these funds. I would like to start and maintain the development of a web system to be used by DAOs to create, buy voting tokens for, and vote on proposals. This project will take some inspirations from Dash’s proposal system.
If the Zen Core team decides in the future that the route of multiple DAOs and the complexity of determining the fair split of financing between them too tedious, this system could be used as the foundation for the singular DAO governing body. However, this would require more discussion and possibly core zen protocol changes to allow these allocations to happen automatically as blocks are mined.
With acceptable funds, I would work full-time on this project in an open-source and transparent manner to provide consistent deliverables.
The proposal system will consist of a modular node.js API server and a React-based web interface.
The primary function of the web interface is to make the currently funded proposals transparent and easy to find while also facilitating the process of creating proposals.
The application will list all current proposals, accepted proposals and declined proposals.The application will provide a form to input proposal name, short description, overview, scope, configure deliverables with payout per deliverable or monthly allotment, and payout address. The deliverables field allows the user to set up specific amount of funding for reaching specific deliverable by said date.
The application will also allow users to sign up to receive notifications when new proposals are submitted or proposals are approaching the deadline.
Users with voting tokens will be able to cast a yes or no vote for open proposals.
Core team members will also be able to place their veto if need be.
The server will act as a proxy to the zen network; interfacing with a local copy of zend and zen-cli to submit the proposals to the network on behalf of the user. The UI would also allow the user to generate a command the user can input to their own zen-cli to submit the proposal.
- Research about infrastructure of the system and whether or not zen core protocol changes are required.
- UI implementation.
- Server implementation.
- Further refinements.
Since this will be a fairly large ongoing project, narrowing down a concrete time frame is difficult. Ideally, some deliverables could be progressing even if blocked by others. For example, the UI can be created and mocked with fake data even if there are still unknowns about how the network will handle automatic fundings.
Since there are still lots of unknowns, it is difficult to price out a specific budget or payout scheme. I want to ensure that the Zen team and community are happy with what I accomplish with the given funds, so I must insist that payment be split out in payments in some form—whether that is monthly, per deliverable or a chunk of hours can be negotiated.
In the future, further work on the proposal system should be done through the proposal system itself!
Zen is a rocket ship waiting to launch. There are many features that still need to be created and a proposal system is absolutely core to attracting capable developers and community members to bring Zen to its next evolution in the form of a self-governing decentralized system.