About me

Proof of Reserve and voting

(This was taken from forum post i made with only a slight addition at the end.)

Say you have a DAO, like a ‘corporation’ with stocks, a co-op, or full-on democracy. Now you have a vote.. Now suddenly, millions of people have to do a transaction?!

The voting transactions would essentially be signed statements of which way people vote. If there is a way to create a single statement that compresses all those signed statements into a single statement?

A while ago, Kraken used a Proof of reserve, to increase trust that it held the bitcoins it requires. Essentially, each person knows his balance, asking for the proof, he gets a Merkle path, instead of each node of the path having just the checksum of the other branch, it also has an amount.

For votes you can count yes(1)/no(0), and do the same. Problem is that cannot prove that people either didnt vote, or did vote, but the counter cheated by not including it in the total.

A possible solution is to try make the collection method more trustworth. Perhaps there is a way of using multiple collectors, yet counting each vote only once? Each collector would itself sign statements of no-shows, and they would also compare their tallies, noting double shows.

What can contracts do

Essentially the idea is that the vote is tallied, the root hash and amount put in a contract on the blockchain.

People challenge the vote, getting the Merkle paths. If the counter fails to deliver, or doesnt deliver correct paths, you present the challenge to the contract. At the beginning the counter put stake into the contract, that is at risk if he does not satisfy the challenge.

If such a challenge succeeds, the stake is taken from the challenger somehow. (could be a reward for it, but careful against corruption..) The decision may be reverted, or modified, or re-voted depending on the case.

If a vote is written down as a ‘double show’, this can also be challenged.

Truth or Punish

I would categorize this as ‘Truth or Punish’. As opposed to the ‘Truth or Invalid’ approach of regular the blockchain. I think you could even base a merged mining blockchain on this idea.

But ‘Truth or Invalid’ is better; there is a inherent weakness/limitation in that the profit of cheating must not exceed the price of the punishment. (that includes ‘profit’ in terms of a party that benefits from trying to hurt parties behind the contract)

Idea incomplete

As said, ‘Truth or Invalid’ is better. Also the ‘no-show’ or ‘no-incorporate’ isnt solved either, although it doesnt seem unlikely there is a way to use multiple collectors.

Besides that, i wouldnt rule out completely different solutions! Maybe there is an approach similar to Shamir’s Secret Sharing.

Blog Posts

2021-07-17 Type Stack Calculation project intro
2020-08-26 Camcorder planet viewing
2020-05-15 I Made a Sha256 based port knocking program
2017-12-26 Probably kindah like a Snowflake simulation
2017-10-29 More Pixel fun turtles
2016-09-22 Pixel fun - messing with turtles
2016-05-17 Finally put together page_html
2015-11-12 libre decentralized software
2015-02-03 Tinfoilchat inspired ideas
2015-01-07 Public goods and business models
2014-12-22 Captcha Quicky
2014-12-12 Assurance contract mention
2014-11-21 Publishing DAO, and its holy grail
2014-11-02 Grudge escrow contract
2014-09-11 The core Blockchain idea
2014-06-03 Hanging blocks
2014-05-29 Voting power needed for DAO/DO decisions
2014-05-17 What is Ethereum to people?
2014-05-08 Just show up anytime jobs
2014-05-08 Proof of Reserve and voting
2014-05-08 DHTs: more than just storage