Coder Social home page Coder Social logo

Comments (7)

stonecoldpat avatar stonecoldpat commented on June 15, 2024 1

from anonymousvoting.

stonecoldpat avatar stonecoldpat commented on June 15, 2024

Hi @yrdeboer

All votes sent to the smart contract are encrypted (ElGamal) with a ZKP that the vote is well-formed.

So an observer will just seen encrypted blobs hit the blockchain.

The magic trick in the protocol is that, by aggregating all the encrytped votes, it will cancel out all random factors and leave us with g^votes. We just brute force it from that point.

from anonymousvoting.

yrdeboer avatar yrdeboer commented on June 15, 2024

Hi, thanks for answering, how are you doing?
Yes, I think I understand that.
You are saying that all votes are encrypted so they cannot be read.

But I also understood that one can do the tally at any point in time.
Also after the first vote was cast.
So one could look up the historic block in the chain in which that first vote was cast then do the tally.
That would reveal the first voter's vote.
And then one would look up the second voter's vote and do the tally again.
Together with the result of the previous (first) tally, one could figure out this vote as well, etc. etc. ...

from anonymousvoting.

yrdeboer avatar yrdeboer commented on June 15, 2024

Ah, but wait, you need all votes you say before the tally becomes possible.
Is that because the contract will only start the tally once all votes are in or is that because it is cryptographically impossible?

from anonymousvoting.

stonecoldpat avatar stonecoldpat commented on June 15, 2024

from anonymousvoting.

yrdeboer avatar yrdeboer commented on June 15, 2024

That's pretty great actually 👍

Too bad there is no proof-generator that can run in the browser client-side yet!

from anonymousvoting.

stonecoldpat avatar stonecoldpat commented on June 15, 2024

from anonymousvoting.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.