Author Topic: How do you stop someone voting twice?  (Read 1373 times)

0 Members and 1 Guest are viewing this topic.

Offline stuartcharles

  • Sr. Member
  • ****
  • Posts: 281
    • View Profile
How do you stop someone voting twice?
« on: September 12, 2014, 04:31:00 pm »
This seems a fantastic dac but i cant get my head round how you are going to make sure its fair?

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12658
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc
Re: How do you stop someone voting twice?
« Reply #1 on: September 12, 2014, 04:36:17 pm »
This seems a fantastic dac but i cant get my head round how you are going to make sure its fair?
What EXACTLY do you mean?
the economics part or the elliptic crypto part?
Or do you mean the blockchain itself?

shit what happend .. I read "safe" instead of "fair" ..

From my understanding you have something like a share of an asset (a single vote, satoshi)
you can send it where ever you want and still be in control of it..

you will need to register your account at an "central" authority and get a signature for that on the blockchain from that CA.
so your local government has to ensure not to sign the same guy twice on two different accounts

this is the whitepaper: http://followmyvote.com/wp-content/uploads/2014/08/The-Key-To-Unlocking-The-Black-Box-Follow-My-Vote.pdf
« Last Edit: September 12, 2014, 04:40:00 pm by xeroc »
Give BitShares a try! Use the http://testnet.bitshares.eu provided by http://bitshares.eu powered by ChainSquad GmbH

Offline stuartcharles

  • Sr. Member
  • ****
  • Posts: 281
    • View Profile
Re: How do you stop someone voting twice?
« Reply #2 on: September 12, 2014, 07:03:36 pm »
This seems a fantastic dac but i cant get my head round how you are going to make sure its fair?
What EXACTLY do you mean?
the economics part or the elliptic crypto part?
Or do you mean the blockchain itself?

shit what happend .. I read "safe" instead of "fair" ..

From my understanding you have something like a share of an asset (a single vote, satoshi)
you can send it where ever you want and still be in control of it..

you will need to register your account at an "central" authority and get a signature for that on the blockchain from that CA.
so your local government has to ensure not to sign the same guy twice on two different accounts

this is the whitepaper: http://followmyvote.com/wp-content/uploads/2014/08/The-Key-To-Unlocking-The-Black-Box-Follow-My-Vote.pdf


Thanks xeroc, looks great also you just got my votes (first i have made), thanks for your regular help

Offline 5chdn

  • Sr. Member
  • ****
  • Posts: 487
  • i wonder how many chars i can put in this field 50
    • View Profile
    • Votesapp
  • GitHub: 5chdn
Re: How do you stop someone voting twice?
« Reply #3 on: January 07, 2016, 10:35:29 am »
that's an important topic. excuse me if I necro on this one, but it's one of the toughest things to get solved with decentralized blockchain voting.

From my understanding you have something like a share of an asset (a single vote, satoshi)
you can send it where ever you want and still be in control of it..
But a key followup question remains: Who decides who is allowed to vote. Who distributes the tokes or shares. And who makes sure that the "provider" does not abuse his stack to manipulate the voting process?

you will need to register your account at an "central" authority and get a signature for that on the blockchain from that CA.
so your local government has to ensure not to sign the same guy twice on two different accounts
I hope that is not the solution :)

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12658
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc
Re: How do you stop someone voting twice?
« Reply #4 on: January 07, 2016, 10:44:53 am »
that's an important topic. excuse me if I necro on this one, but it's one of the toughest things to get solved with decentralized blockchain voting.

From my understanding you have something like a share of an asset (a single vote, satoshi)
you can send it where ever you want and still be in control of it..
But a key followup question remains: Who decides who is allowed to vote. Who distributes the tokes or shares. And who makes sure that the "provider" does not abuse his stack to manipulate the voting process?

you will need to register your account at an "central" authority and get a signature for that on the blockchain from that CA.
so your local government has to ensure not to sign the same guy twice on two different accounts
I hope that is not the solution :)


[member=17361]ak[/member] [member=8014]modprobe[/member] .. could you clearify, please?
Give BitShares a try! Use the http://testnet.bitshares.eu provided by http://bitshares.eu powered by ChainSquad GmbH

Offline KenMonkey

  • Full Member
  • ***
  • Posts: 112
    • View Profile
  • BitShares: kmnk
Re: How do you stop someone voting twice?
« Reply #5 on: January 28, 2016, 12:38:45 pm »
I suppose the "central authority" issues the indivisible token to each "individual". But I think this could be done in a decentralized way. If there were a reputation based system. The higher someone's reputation the more verification they can provide. It would still require a government ID or something individual. I like this verification technique that scans the pattern of blood vessels in your hand.

Offline modprobe

Re: How do you stop someone voting twice?
« Reply #6 on: January 28, 2016, 06:55:29 pm »
Hey, guys, sorry for the late response!

We've got designs for two primary voting types: a stake-weighted voting system where votes are weighted by how much of a token (BTS, BitUSD, etc) a user holds, and a one-person-one-vote system where each unique individual is allowed at most one vote. In the stake-weighted system, there is no need to worry about ID verification or reputation; voter opinions are attached to balances, so it's easy to count them. Note that there's no more anonymity for how you voted than there is for how big your balance is (if someone else knows balance X belongs to you, they also know the votes attached to balance X were cast by you).

One-person-one-vote (1P1V) is a bit more complex. First, the user establishes some kind of identity on the blockchain (BitShares accounts work wonderfully for this purpose) and then submits a request to one or more ID Verifier for certification that his identity belongs to a unique individual. The verifier determines by whatever means he deems fit whether the identity is indeed unique, and publishes an on-chain certification stating that the identity is unique (BitShares has a great primitive for this as well). In practice, the verifier will probably also verify other attributes such as name, gender, address, etc. in addition to uniqueness, though the values of these attributes would be kept private.

When someone wishes to create a poll, they either set up a registrar server or hire someone else to do it for them (Follow My Vote will provide this service) which allows voters to register to vote in the 1P1V poll. The registrar specifies which attributes it requires and which verifiers it trusts to certify them, then voters submit the requisite certifications from a majority of the trusted verifiers to the registrar. If the registrar is satisfied by the certifications, it allows the voter to register an anonymous voting key which is authorized to sign votes on the poll. The anonymous voting key is completely anonymous, such that not even the registrar knows which one belongs to which identity (for details on how this registration works, see my video: https://www.youtube.com/watch?v=GcAz9mZW1_c). In practice, multiple registrar servers could be set up and a majority of them would be required to approve of the voting key as well.

We're also exploring options for a more decentralized 1P1V system, perhaps using some kind of Web of Trust model. We're not sure if this can be as scalable as the trusted verifiers design, though. We're definitely open to suggestions on this front!

Offline 5chdn

  • Sr. Member
  • ****
  • Posts: 487
  • i wonder how many chars i can put in this field 50
    • View Profile
    • Votesapp
  • GitHub: 5chdn
Re: How do you stop someone voting twice?
« Reply #7 on: February 01, 2016, 12:07:15 pm »
to which identity (for details on how this registration works, see my video: https://www.youtube.com/watch?v=GcAz9mZW1_c). In practice, multiple registrar servers could be set up and a majority of them would be

very cool explaination of the registration process. are you currently only working on the stake-weighted implementation? what's the status of the 1p1v approach?

Offline modprobe

Re: How do you stop someone voting twice?
« Reply #8 on: February 12, 2016, 09:17:32 pm »
That's correct. The 1P1V system is fully designed, and we'll be using the stake-weighted system as the platform upon which to build 1P1V, so we're on a steady arc of development which should first become a usable stake voting system for any asset on BitShares, and later will become a full anonymous voting application with 1P1V support.