Introduction: Blockchain technology lends itself well to use in voting systems. By providing a secure way for each person to register their vote on a public record whilst still maintaining the option for users to remain anonymous, and with little possibility for anybody to tamper with those votes, the blockchain is able to offer significant improvements over current systems in terms of security and transparency. The secure, encrypted, consensus-based nature of the IEP network allows the implementation of a voting system that guarantees anonymity and security, without relying on a central authority to tally votes.
The IEP Voting System enables any account to create a poll with one question and up to 10 answers. Accounts are eligible to vote in the poll based on a minimum required balance of token, an asset or a currency. Voting consists of selecting an integer range value to associate with one or more answers as specified during poll creation. An answer is given weight based on one of four voting models and then its weight is multiplied by the associated range value to compute a corresponding result.
The four voting models specify weight as one per voting account, or equal to the balance per voting account of the token, an asset or a currency. An aggregate weight for each answer is computed as the sum of all individual vote weights; likewise, an aggregate result is computed. Individual votes are saved until at least 1441 blocks after the poll completes, typically more than a day. After this time, votes are deleted and only aggregate weights and results remain available.
Voting Menu: The Voting System is accessed by clicking on Voting in the left-pane menu area of the Wallet Application, causing a submenu to appear :
Show Polls : This item displays a list of all active (unfinished) polls and their properties as shown in the Polls screen, where polls can be voted in and followed. Create Poll : This item opens creation page, for the logged-in account to create its own poll.
Show Polls: The Show Polls page shows all the active polls in the order of most recently created polls.
- The Name shows the title of the poll.
- The Model column shop the type of poll created.
- The Options column shows all the options created by the Poll creator.
- The Finished specifies whether the poll is finished or not.
- The Height includes the number of blocks involved.
- The Days show the number of days after the creation of the poll.
- Clicking on the highlighted Details button (first button) under Actions Column will open the details of the poll.
- Clicking on the highlighted Results button (second button) under Actions Column will open the results of the poll, with graphical representation.
Create Poll: A poll can be created from Create Poll menu under the Voting menu:
- Select a voting model for the poll from the Voting Model drop-down list. Your choice affects some of the next fields/controls.
- Depending on the value selected from the above drop down, you need to enter an Asset Id for Vote By Asset, a Minimum Voter Balance for Vote By Balance or a Currency Code/ Ticker for Vote By Currency.
- Enter a Name or Title of the poll.
- Enter a Description of the poll, this is the purpose of the poll and is often worded as a question. Clicking on Next will take you to the next step of Create Poll wizard.
- Enter the minimum and the maximum number of answers (options) that must and can be voted for in the Minimum Options and Maximum Options fields.
- Select the Duration In Blocks, by clicking on ‘+’ (plus sign) and ‘-‘ (minus sign) buttons, or select minimum or maximum values by clicking fast-backward or fast-forward buttons respectively.
- Enter the Options in the fields provided, by clicking on Add Options for this Poll, as necessary to adjust the number of answers.
- Click on the Previous button will take you to the first step of Poll Creation. Click on the Next button will take you to the final step of the Poll Creation.
- In the final step you can review, the Create Poll details.
- Click on the Previous button will take you to the second step of the Poll Creation.
- Click on the Finish button to create the Poll (a transaction), the transaction ID of which becomes the poll ID if it is accepted into the blockchain. If there is an error in the poll specification, it will appear at the top of the window and the window will remain open.
View Poll Result: