In order for a vote to be used to execute an action such as calling an arbitrary function, the result of the vote must be tabulated. Doing this tabulation can be expensive. Votes can be tabulated when cast, distributing the cost across all voters, or votes can be tabulated in batches at the end of a poll. Tabulation at the end lends itself well to off-chain scalability solutions, in particular interactive verification solutions like Truebit seem like promising approaches that could reduce voting cost significantly.
Proposal
At a minimum a successful implementation would enable the following user stories.
As a voter I want the cost to vote or delegate to be consistent and minimal.
As a participant I want to be able to securely tabulate the results of a poll.
Rationale
Carbon-vote style applications are relatively simple, and the cost to participate is low. They can include both direct voting and delegation, including complex delegation chains. By moving the logic for validation and tabulation off-chain we minimize the amount of calculation that happens on the main chain which may present significant cost savings.
It is unclear how expensive computation will be on the main chain in the future as things like proof-of-stake and sharding come online, but it is almost certain that it will be more expensive than computation that are done in second-layer solutions.
References
Currently it looks like truebit is the most promising solution for general verifiable off-chain computation.
Open Issues
The party that calls the tabulation function will need to pay for the process of tabulation, which despite being cheaper overall, would be more expensive than individual voters paying. Some mechanism that would allow an anonymous transaction under specific circumstances to trigger the vote and have the organization fund tabulation would be necessary.
This may not be a huge issue in the short-term assuming gas prices for voting applications remain manageable, but it would be useful to explore the potential cost differential between approaches.
Proposal: ALP05 Off-Chain tabulation
Author(s): Luke Duncan
Last updated: 12/5/2017
Abstract
In order for a vote to be used to execute an action such as calling an arbitrary function, the result of the vote must be tabulated. Doing this tabulation can be expensive. Votes can be tabulated when cast, distributing the cost across all voters, or votes can be tabulated in batches at the end of a poll. Tabulation at the end lends itself well to off-chain scalability solutions, in particular interactive verification solutions like Truebit seem like promising approaches that could reduce voting cost significantly.
Proposal
At a minimum a successful implementation would enable the following user stories.
Rationale
Carbon-vote style applications are relatively simple, and the cost to participate is low. They can include both direct voting and delegation, including complex delegation chains. By moving the logic for validation and tabulation off-chain we minimize the amount of calculation that happens on the main chain which may present significant cost savings.
It is unclear how expensive computation will be on the main chain in the future as things like proof-of-stake and sharding come online, but it is almost certain that it will be more expensive than computation that are done in second-layer solutions.
References
Open Issues