Skip to main content
Post Merged (destination) from politics.stackexchange.com/questions/60038/…
added 275 characters in body
Source Link
Nat
  • 2.1k
  • 1
  • 15
  • 24
  1. Everything has its own asymmetric key pair. For example, every voter, voting machine, poll worker, etc., should have at least one key-pair.

  2. Whenever you do something like vote, you always get a receipt and immediately verify that the receipt is correct.

    • A correct receipt can be used to prove that the other party saw the content of the receipt and signed it with their private-key.

    • An incorrect receipt is useless. If you get one from a voting-machine, then you basically act the same way you would if the voting-machine gave you an out-of-order error message.

  3. Use redundancy to protect against conspiratorial fraud. For example, the votes should all be electronically shared with the US government, the Republican party, the Democratic party, and whoever else – everyone can do their own count (super fast-and-easy, since it's electronic), and everyone should arrive at the exact same result without any errors. If anyone disagrees, everyone can show signed receipts to prove the truth; lies are easily and provably exposed.

  4. Use chain-signed certificates to establish subordinate identities. For example, an official US voting-machine needs to prove that it's official, but it shouldn't have the US's main private-key (as that'd be a huge security liability). So instead, the voting-machine should have its own private-key, and then the US signs a receipt with the official private-key stating that the voting-machine's legitimate. Then the voting-machine can prove that it's legitimate by showing people the officially-signed receipt saying so.

  5. Implementation complexity needs to be automated, open-source, and auditable.

    • Automation keeps all of this simple and easy-to-use. Sorta like how computers are complex, but most folks don't need to know how they work to watch Netflix.

    • Open-source and auditable so people can have trusted experts verify stuff for them. For example, US Republicans would probably feel more secure if the Republican party independently verified that their voting credentials were good, and people who don't trust a single party could ask multiple parties to all verify correctness.

Initial adoption and social ails are the complicated hurdle. It's easy to under-/over-estimate how bad they might be, or misjudge how they might play out, so I'm hesitant to assume too much.


Terminology: "Web of trust".

Most of what was sketched above is more web-of-trust than block-chain. Block-chain elements could be added in if appropriate, but for reasons that seem silly to worry about discussing here, I doubt that'd make sense in this application.

  1. Everything has its own asymmetric key pair. For example, every voter, voting machine, poll worker, etc., should have at least one key-pair.

  2. Whenever you do something like vote, you always get a receipt and immediately verify that the receipt is correct.

    • A correct receipt can be used to prove that the other party saw the content of the receipt and signed it with their private-key.

    • An incorrect receipt is useless. If you get one from a voting-machine, then you basically act the same way you would if the voting-machine gave you an out-of-order error message.

  3. Use redundancy to protect against conspiratorial fraud. For example, the votes should all be electronically shared with the US government, the Republican party, the Democratic party, and whoever else – everyone can do their own count (super fast-and-easy, since it's electronic), and everyone should arrive at the exact same result without any errors. If anyone disagrees, everyone can show signed receipts to prove the truth; lies are easily and provably exposed.

  4. Use chain-signed certificates to establish subordinate identities. For example, an official US voting-machine needs to prove that it's official, but it shouldn't have the US's main private-key (as that'd be a huge security liability). So instead, the voting-machine should have its own private-key, and then the US signs a receipt with the official private-key stating that the voting-machine's legitimate. Then the voting-machine can prove that it's legitimate by showing people the officially-signed receipt saying so.

  5. Implementation complexity needs to be automated, open-source, and auditable.

    • Automation keeps all of this simple and easy-to-use. Sorta like how computers are complex, but most folks don't need to know how they work to watch Netflix.

    • Open-source and auditable so people can have trusted experts verify stuff for them. For example, US Republicans would probably feel more secure if the Republican party independently verified that their voting credentials were good, and people who don't trust a single party could ask multiple parties to all verify correctness.

Initial adoption and social ails are the complicated hurdle. It's easy to under-/over-estimate how bad they might be, or misjudge how they might play out, so I'm hesitant to assume too much.

  1. Everything has its own asymmetric key pair. For example, every voter, voting machine, poll worker, etc., should have at least one key-pair.

  2. Whenever you do something like vote, you always get a receipt and immediately verify that the receipt is correct.

    • A correct receipt can be used to prove that the other party saw the content of the receipt and signed it with their private-key.

    • An incorrect receipt is useless. If you get one from a voting-machine, then you basically act the same way you would if the voting-machine gave you an out-of-order error message.

  3. Use redundancy to protect against conspiratorial fraud. For example, the votes should all be electronically shared with the US government, the Republican party, the Democratic party, and whoever else – everyone can do their own count (super fast-and-easy, since it's electronic), and everyone should arrive at the exact same result without any errors. If anyone disagrees, everyone can show signed receipts to prove the truth; lies are easily and provably exposed.

  4. Use chain-signed certificates to establish subordinate identities. For example, an official US voting-machine needs to prove that it's official, but it shouldn't have the US's main private-key (as that'd be a huge security liability). So instead, the voting-machine should have its own private-key, and then the US signs a receipt with the official private-key stating that the voting-machine's legitimate. Then the voting-machine can prove that it's legitimate by showing people the officially-signed receipt saying so.

  5. Implementation needs to be automated, open-source, and auditable.

    • Automation keeps all of this simple and easy-to-use. Sorta like how computers are complex, but most folks don't need to know how they work to watch Netflix.

    • Open-source and auditable so people can have trusted experts verify stuff for them. For example, US Republicans would probably feel more secure if the Republican party independently verified that their voting credentials were good, and people who don't trust a single party could ask multiple parties to all verify correctness.

Initial adoption and social ails are the complicated hurdle. It's easy to under-/over-estimate how bad they might be, or misjudge how they might play out, so I'm hesitant to assume too much.


Terminology: "Web of trust".

Most of what was sketched above is more web-of-trust than block-chain. Block-chain elements could be added in if appropriate, but for reasons that seem silly to worry about discussing here, I doubt that'd make sense in this application.

Source Link
Nat
  • 2.1k
  • 1
  • 15
  • 24

tl;dr Yes, you can get basically whatever you want with crypto. Crypto can enable both privacy (by hiding information) and publicity (by providing verifiable statements of truth that can be reliably fact-checked by third-parties). There may be some social-engineering work to be done, but the technology would be relatively straightforward.


Crypto concepts.

The main workhorse is an asymmetric key pair, which has two parts:

  1. a public-key, which is basically a new identity (like an email address or phone number) that you control;

  2. a private-key, which is like your secret password to the public-key.

People can publish their public-keys for everyone in the world to see, but private-keys should never be shared.

This enables a lot of cool stuff:

  1. Anyone can encrypt a message in your public-key (assuming they know it), but only you can decrypt the message.

  2. You can prove your identity by demonstrating your ability to decrypt random data.

  3. You can electronically sign data by using your private-key to generate the signature. People with your public-key can verify that a signature matches the thing you signed, proving that you signed it.

Once we have this basic set of tricks, we can make awesome stuff with it.

In broad terms:

  1. Everything has its own asymmetric key pair. For example, every voter, voting machine, poll worker, etc., should have at least one key-pair.

  2. Whenever you do something like vote, you always get a receipt and immediately verify that the receipt is correct.

    • A correct receipt can be used to prove that the other party saw the content of the receipt and signed it with their private-key.

    • An incorrect receipt is useless. If you get one from a voting-machine, then you basically act the same way you would if the voting-machine gave you an out-of-order error message.

  3. Use redundancy to protect against conspiratorial fraud. For example, the votes should all be electronically shared with the US government, the Republican party, the Democratic party, and whoever else – everyone can do their own count (super fast-and-easy, since it's electronic), and everyone should arrive at the exact same result without any errors. If anyone disagrees, everyone can show signed receipts to prove the truth; lies are easily and provably exposed.

  4. Use chain-signed certificates to establish subordinate identities. For example, an official US voting-machine needs to prove that it's official, but it shouldn't have the US's main private-key (as that'd be a huge security liability). So instead, the voting-machine should have its own private-key, and then the US signs a receipt with the official private-key stating that the voting-machine's legitimate. Then the voting-machine can prove that it's legitimate by showing people the officially-signed receipt saying so.

  5. Implementation complexity needs to be automated, open-source, and auditable.

    • Automation keeps all of this simple and easy-to-use. Sorta like how computers are complex, but most folks don't need to know how they work to watch Netflix.

    • Open-source and auditable so people can have trusted experts verify stuff for them. For example, US Republicans would probably feel more secure if the Republican party independently verified that their voting credentials were good, and people who don't trust a single party could ask multiple parties to all verify correctness.


Complications.

The potential complications are:

  1. Initial lack of trust.
    I think people who get this sort of system would love it and much prefer/trust it over any alternative. But in the short-term, when much of the population is unfamiliar with these concepts, the public would probably need assurances from trusted voices to spur initial acceptance.

  2. Too much trust.
    People with vote-receipts can prove who they voted for. Some have expressed concern that giving people this ability could help them to sell their vote, or have a controller check that they voted as instructed.

  3. Need for public education.
    People would need to learn how all of this works, so there could be a learning-curve there. That said, technology like this seems likely to become central to future lifestyles anyway, so promoting public education on the topic could be a pretty good thing.


Discussion.

I expect system like this to be the future. It'd definitely make things a lot easier, faster, and more reliable.

Initial adoption and social ails are the complicated hurdle. It's easy to under-/over-estimate how bad they might be, or misjudge how they might play out, so I'm hesitant to assume too much.