Vote

A privacy focused voting platform built on blockchain technology. This ensures the immutability and integrity of the voting process.

It is...

Trustless

All votes are recorded on the blockchain, and anyone with access to the blockchain can see the results for themselves. This level of transparency helps to build trust and confidence in the voting process.

Verifiable

Users cast their vote directly on the blockchain, and they can verify that their vote is counted.

Privacy-first

Blind signatures are used to protect the anonymity of voters during voting.

Fair

Voting results can be encrypted until a given date to prevent preliminary results.

Inspiration

It's based on stellot, but it's not 1 to 1 copy. The server (TDS) is ported to play framework. The main differences are the followings:

Support for multiple blockchains

Currently works with stellar, but code is prepared to be easily extended to other networks which have similar characteristics to stellar.

Scalability

Votings with thousands of voters can be created. The preparation of the voting on the blockchain occurs in the "background" so there's very little time needed to wait before voting can be started.

Multi choice votings

Votings where multiple choices are possible for a single question are supported.

Low cost

When a voting ends unused resources are refunded to the account that was used for the funding of the voting. Thanks to this it's very cheap to organize votings with hundreds of participants.

FAQ

How does it work?

Here are the steps in a nutshell

  1. Your first authenticate with the server and start the voting session. This is analogous to paper voting: you show your identification to the voting commission in order to make sure you won't vote twice. You get your voting paper after that.
  2. You create a concealed voting request. This request will contain information about where to deliver the voting token. The concealed request cannot be read by the server. You send this to the server for signing. It's like putting your vote in an envelope that has carbon-copy on the inside. Then bringing this envelope to the voting commission where they sign it. When they put their signature on it, thanks to the carbon-copy, the signature will go to the vote too, but the commission won't be able to see it as it's inside the envelope.
  3. You become anonymous. From the concealed request and the signature from step 2, you create the revealed request and the (revealed) signature for it. You present the server the revealed request and signature, and ask it to deliver the vote token. With the vote token in your possession you cast your vote.
    To stick with the paper voting, it's like putting on a mask, get the vote paper from the envelope and give it to the commission. They'll accept the vote as a valid one (since they'll see their signature on it), but they won't know who you are because there's a mask on your face.
What networks are supported?

Currently only Stellar.

How much does a vote cost?

An example: 500 participants vote costs less than 10XLMs on the Stellar network. Initial cost is higher, but after a voting is ended, unused resources are refunded.

I want to try creating a voting without costing money. Is it possible?

Yes, absolutely. When creating a voting switch "use test network" on. You can use your own testnet account, or let DeVote generate one for you. The voting will be created entirely on the testnet. Please note, that testnets are cleared periodically, so expect to things break after some time.

Can it be used for like political elections?

There are risks, read this article. Use wherever this is tolerable.

copyright © 2023 - galactic.pub