The Governance system.
One of the main goals of Callisto as a project is to develop an autonomous governance system to ensure project’s viability even without a centralized development/maintenance team.
It is proposed to implement the Treasury Governance system in core smart-contract on top of Callisto Network protocol. You can find the current implementation proposal here.
The Governance system is a smart-contract that enables (1) anyone to submit a funding request and (2) cold stakers to vote the submitted requests. The purpose of the system is to create a source of funding that network participants can control.
Our idea is taken from the IOHK proposal to implement a treasury system in Ethereum Classic. The ETC Treasury system is now removed from the IOHK papers list but you can read the updated Treasury System for Cryptocurrencies paper.
It is necessary to support the new governance system API in Cold Staking smart-contract, therefore it is required to upgrade the Cold Staking contract in the next hardfork.
Governance System implementation details.
Governance system operates with “funding epochs”. Each funding epoch is a 27-days long period of the proposal lifecycle.
A full funding epoch is reserved for each proposal review to ensure that voters have enough time to investigate every proposal they vote.
- Proposal is submitted in epoch X
- Proposal is reviewn and voted in epoch X + 1
- Proposal is paid in epoch X + 2
Submitting a proposal
Anyone is allowed to submit a proposal. It is required to call a special function in smart-contract, pay a small anti-spam fee (500 CLO) and formally describe the proposal.
Proposal description submission is not a part of the governance smart-contract and we allow participants to submit any URL link to their proposal. It is recommended to describe proposals at Steem.it, Medium, github gists or upload proposal descriptions to IPFS.
Voting a proposal
Anyone is allowed to participate in Cold Staking in CLO. Cold Stakers are allowed to become voters by calling a special function in the governance contract.
Participation in the voting system does not introduce any economic profit to the voters at the moment and it is not obligatory for Cold Stakers. Only those interested in managing the project development should become voters.
Each voter’s weight is proportional to the cold staking deposit locked. Voting a proposal takes up to 27 days since the submission. The voter’s cold staking deposit will be frozen until the funding stage of the proposal that he(she) votes.
Voters can only submit “FOR” , “AGAINST” or “ABSTAIN” votes.
Half of all votes (calculated by voting weight) must be cast for a proposal and the number of votes “FOR” must exceed the number of votes “AGAINST” in order to consider the proposal eligible.
Proposal payment details
At the first stage the Governance System contract will not receive any funding at protocol level. Callisto team will manually deposit 35% of the Treasury monthly income into the Governance System contract at the beginning of each month. We will enable the Governance contract funding at protocol level in the next hardfork.
The governance smart-contract is abstracted from how much funding it receives. This means that voters can allow more proposal funding than the contract actually can afford in a single funding epoch. In fact, an approved proposal is a kind of credit that the Governance System owes to the proposal submitter. The proposal submitter can cash out the approved proposal at the any time in any upcoming epochs if the governance system has enough funds to pay.
Cold Staking smart-contract update.
Cold Staking v2
- The update of the Cold Staking contract will enable it to access the data of Governance System smart-contract and update voter’ weights on staking deposits/withdrawals.
2. The updated contract will have a new formula of rewards calculation.
The source code of the smart-contract is published here.
Cold Staking contract testing
We are going to deploy the testnet version of the contract in the next couple of days. Here it will be continuously tested publicly. The testnet version will be slightly modified to reduce the amount of time needed to complete a full staking round.
After that the contract will undergo an official audit at Callisto Security Department (solidity). Then we will launch a bug bounty.
Stay tuned and wait for the official announcement.
Plan of the Cold Staking contract update at CLO mainnet
After the final testing, security audit and bugbounty the updated Cold Staking v2 contract will be deployed at Callisto mainnet before the Governance System hardfork. The governance system smart-contract will be deployed at the same time alongside the Cold Staking v2.
At this time, the contract will receive deposits but it will not receive any funding, thus it will generate zero income. At that time the old version of the Cold Staking contract will be still functioning. The Governance System hardfork will enable the new Cold Staking v2 contract and it will start receiving income from block rewards. The old contract will not receive any income since the Governance System hardfork.
Cold Stakers must withdraw their staking deposits and staking rewards from the old Cold Staking contract and deposit their stakes into the new Cold Staking v2 contract in order to continue staking.
We encourage Cold Stakers to use the current version of the Cold Staking contract and withdraw their staking rewards and staking deposits only in their last round right before the Governance System hardfork.