Home - superkooks/bigw-voting GitHub Wiki
Elections are held in a peer-to-peer network. This means that peers need to connect to other peers through intermediate servers, once a peer has connected to another peer, the peer can simply gossip all other peers on the network. A network must have one or more intermediate servers allowing peers to connect. Once all peers have been connected, voting can commence. When all votes have been submitted, the votes will be tallied (Instant-runoff voting is used until there are 3 candidates remaining). Tallying is secured using the BGW protocol.
All peers run an intermediate server, meaning either of the two initial peers can use the other as an intermediate.
P1: ./bigw-voting -v pack.bigw -i localhost -p 1.2.3.4
P2: ./bigw-voting -v pack.bigw -i 2.2.3.4 -p 2.2.3.4
To connect another peer to the network:
P1 (or P2) (in bigw-voting): connect -i localhost -p 3.2.3.4
P3: ./bigw-voting -v pack.bigw -i 1.2.3.4 -p 1.2.3.4
(P3 will be automatically connected to P2 and vice-versa)
A trustee vote can be created using the software so that you do not need to be online during the election. It is important to note however, your vote will no longer remain anonymous and your vote can be altered. Therefore, it is recommended to only send your vote to a person you trust. This person must be doing "in person" voting.
Running the command with only a votepack will suffice to create a trustee vote.
./bigw-voting -v pack.bigw --exportTrusteeVote
The vote can then be send to a trustee who will load it in the bigw-voting software.
Note: The trustee must be part of a network using a votepack which has the trustee voter registered.
loadTrustee <filename>