Cosmic.vote implements the first building blocks for decentralized organizations on Stellar: majority judgment and passive contracts. Majority judgment is a robust voting system that is suitable for achieving both community and automated consensus. A passive contract is a mechanism that achieves trustless Turing-complete computations under specific conditions. Cosmic.vote provides an open-source implementation of those, as well as three real-world use cases: polls, contests w/ decentralized prize pools, & oracles.
Applications, Tool & Infrastructure
- [X] Implement majority judgment.
- [X] Implement passive contracts.
- [ ] Implement operated contracts.
- [X] Use those building-blocks to run a simple voting system.
- [ ] Use those building-blocks to run voting & prize distribution for an SCF-like contest.
- [ ] Use those building-blocks to run a simple oracle system.
- [ ] Provide open-source libraries & toolkit.
- [ ] Provide integration with third-party websites.
Let's Give It A Try :)
- Browse to Cosmic.vote.
- Select a grade for each candidate.
- Click on
Cast Your Vote!.
- Within the SideFrame, select
Test Account under Step 2: Signing Method.
- (Give it a second, it's creating & funding your test account...)
- Click on
Sign with Test Account.
Cosmic.vote is about running votes, prize distributions, and oracles without having to rely on a third-party. This quality, referred to as "trustless", is fundamental to cryptocurrencies. What has achieved Bitcoin? The first digital currency that doesn't require a trusted third-party to exists. What has achieved Ethereum? Contracts that don't require a trusted third-party to execute. What about DeFi? Same principles.
In cryptocurrency-related development, trustlessness is more than a nice quality to have: it is a requirement. While Stellar can't execute arbitrary code as Ethereum does, in some cases, it is possible to achieve similar results using alternative mechanisms.
Cosmic.vote introduces some of those mechanisms as the firsts building blocks for decentralized organizations on Stellar. It shows how those can be combined together to build trustless systems that would normally require Turing-complete smart contracts.
Majority Judgment is a voting system first described in 2007 by R. Laraki & M. Balinski as the least bad solution to Arrows's impossibility theorem
This theorem, pivotal in social choice theory, states that it is impossible to create a voting system that is fully resistant to aberrant results. In his work, Kenneth Arrow went over the many ways voting systems can be (and are) abused. The research that leads to majority judgment capitalized on that work to figure out a system that would, at least, mitigate those issues as much as possible.
What is beautiful about majority judgment is that, despite being the most robust voting system known to that day, it is simple enough to be understood & put in practice by everyone. Thus, it is a suitable alternative to traditional voting systems, be it a simple online poll or national elections.
Passive Contracts are a way to build contracts that makes it possible to run complex programs such as voting systems without having to rely on a third-party. The principle is to store the contract parameters on the ledger and to have the clients perform the computations. For a particular family of programs, which is referred to as "fully functional", this facility provably achieves trustless layer 2 contracts.
The limit here is that passive contracts cannot mutate the ledger. In simple words, they can do pretty much everything except sending money.
Operated Contracts are an extension of passive contracts, that are already being used in many systems, but those have the limitation of requiring third-party for settlement. That's why, while possible on Stellar, this family of contracts is often left aside as unsuitable. However, under certain conditions, they can be leveraged to achieve a near-optimal level of robustness.
Poll Contract: Coins Fundamentals
Code Repository: GitHub
Social: Keybase | Telegram | Reddit | Twitter | Medium
poll, vote, oracle, trustless, contract, decentralized, organization, 100% open-source