Treasury coin is an experimental implementation of the perspective treasury system described in A Treasury System for Cryptocurrencies: Enabling Better Collaborative Intelligence
A presentation with a demo of how to launch a testnet is available at TreasuryCoin presentation
This repository is a fork of the Scorex platform upon which the treausury system was built. Specifically, the "Hybrid" example was modified to integrate treasury.
More information about Scorex and how to work with it can be found in https://github.com/ScorexFoundation/Scorex/
Note that Scorex framework is still raw and not production ready.
Modern cryptocurrencies are complex systems that require continuous maintenance. Even though it is usually proclaimed that such systems are completely decentralized and no one in full possession, all existing cryptocurrency systems have core team of members that, at least, controls the development effort.
It becomes crucial how this core team is funded, because in most cases a music is played by those who pays money. If a core team is payed by some standalone investor most likely they will follow his wishes that are not necesseraly beneficial for a cryptocurrency general well-being.
Treasury system aims to solve this problem by providing means for establishing collaborative consensus among all cryptocurency stakeholders about financing a system. The source of funds is usually some part of block reward, but not restricted to be only this one.
The treasury system is built upon Hybrid example in Scorex. It introduces new transaction types and separate Treasury state to facilitate voting protocol and proposals funding.
All cryptography needed for the voting protocol is implemented in a separate library https://github.com/input-output-hk/treasury-crypto which is currently in a private repository.
The following features are implemented:
- Proposals submission
- Voters/Experts/Committe members registration
- Locked deposits for all actors in the system
- Random selection of the committee
- Distributed key generation
- Ballots casting
- Joint decryption with recovery in case of faulty committee members
- Randomness generation
- Reward payments and deposit paybacks
- Penalties for faulty actors
- etc.
Current implementation is a proof of concept. It is not for production usage. The system was successfully tested with local testnet of up to 15 nodes.
Scorex tutorial Treasury paper TreasuryCoin presentation
TODO