Motivation
We need a system of voting contracts to regulate governance and decision making in Free TON. Those contracts are a principal tool of decentralization. It is supposed to be used in many aspects of the Free TON blockchain to provide mechanisms for community governance.
As such it should meet the following requirements:
Transparency — everyone in the community should be able to verify the results of the Voting, review proposal and links to its description and how results are implemented.
Participation — the voting should work even in case of low participation by the community members
Ease of use — every community member should be able to participate even without a deep technical knowledge
Security — the highest level of security should apply
Flexibility — it should be flexible enough to serve many applications requiring voting mechanism in Free TON, it should be able to manage voting on different group levels and for different use cases
Composability — it should be possible to use smart contracts in the system with other contracts on Free TON blockchain, thus providing internal methods with a clear interface designed to access contract features.
Formal Verification — all governance contracts dealing with Funds must be formally verified. Therefore only contracts in Solidity and C++ will be accepted.
Type:
Contest
Contest entry period:
December 8, 2020, 11:59 PM UTC - January 8, 2021, 23:59 PM UTC.
Requirements:
- To develop a Soft Majority Voting smart contract system.
- Should support the ability to vote with TON Crystal tokens as well as any other TIP-3 Token or DePool Stakes.
- Should be able to grant voting rights to a subset of users identified with another token or PubKeys.
- Should notify voting results by emitting both external and internal events.
- Should generate “Voting Finished” events if voting is finished early with these votes.
- Should be able to deploy Proposal Smart Contract and Collect votes for it
- Should support a voting for Multiple Proposals using same TON Crystal or other TIP-3 Tokens
- Should support Soft Majority, Super Majority settings of the SMV
- Should include Group membership smart contract with user rights
- Should support the ability to Add, Exclude New member, change rights of an existing member by Proposal result event
- Should be able to Deploy a Contest from the Proposal if the Proposal is approved
- Should be able to change parameters of the Contest (such as Voting period, Jury Groups etc.)
- Contest should include: Start of the contest time; End of the contest time; Time for jury voting; Set of jurors or Juror Groups pubkeys and addresses
- Should include a Contract that can store a list of some SMV Proposals, Contests and their voting results
- Should include DeBots for all system user interfaces
- Should include auto-tests designed as a smart contract or a script to test scenarios.
- A solution should have a Free Software license (https://www.gnu.org/licenses/license-list.html).
- A system should be deployed and tested on the DevNet and Jury should be able to access it for testing.
Evaluation criteria and winning conditions:
- A solution should pass attached tests
- If some scenarios from requirements are not covered by a test, then jurors can develop their own tests, but it should reduce the score of such a submission.
- Solution should be scalable to thousands of participants
- Tools for SMV state analysis are welcomed
- Using Auth TIP-3 “as a plug” for SMV is welcomed since it will increase the Governance set of contracts composability.
Voting:
- Only qualified jurors, able to understand, rub and evaluate smart contract on Free TON should judge. Jurors whose team(s) intend to participate in this contest by providing submissions lose their right to vote in this contest.
- Jury from other sub-governance groups could be added to this contest to provide additional technical expertise.
- Each juror will vote by rating each submission on a scale of 1 to 10 or can choose to reject it if it does not meet requirements, or they can choose to abstain from voting if they feel unqualified to judge.
- Jurors will provide feedback on your submissions
- Duplicate, sub par, incomplete or inappropriate submissions will be rejected.
Reward:
1st prize…………………………………………… 300,000 Tons
2nd prize…………………………………………… 150,000 Tons
3rd prize…………………………………………… 75,000 Tons
4th place …………………………………………. 50,000 Tons
5th place …………………………………………. 25,000 Tons
Total prizes: 600,000
Note: If the number of winning submissions is less than the number of rewards available, any remaining rewards are not subject to distribution and are considered void.
Jury rewards:
An amount equal to 7% of the sum total of all total tokens actually awarded will be distributed equally between all jurors who vote and provide feedback. Both voting and feedback are mandatory in order to collect the reward.
Contributor rewards:
As part of the support for administrative work being performed by various sub governance members the DGO will reward contributors to the creations, organisation, follow up and other activities around the execution of its contests.
An amount equal to 1% of the sum total of all total tokens actually awarded will be distributed equally between all contributors:
Mitja Goroshevsky
Pavel Prigolovko
Nikita Denisov
Please add people who have contributed to this Contest in the comments
Procedural remarks:
● Participants must upload their work correctly so it can be viewed and accessible in the formats described. If work is inaccessible or does not fit the criteria described, the submission may be rejected by jurors.
● Participants must submit their work before the closing of the filing of applications. If not submitted on time, the submission will not count.
Disclaimer:
Anyone can participate, but Free TON cannot distribute Tons to US citizens or US entities.