Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - modprobe

Pages: [1] 2 3 4 5 6 7
Follow My Vote / Re: We Need to Fix Our Broken Election System
« on: May 06, 2016, 03:03:29 pm »
Consensus in the comments:

Still a long way to make people see the light.

I love how she says "and we can never follow our vote"... I'll pass that along, we can probably do some marketing off of that. :P

Hi, merockstar. What you're describing is generally possible, using our one-person-one-vote designs. The tricky parts are making it anonymous *who* voted (anonymizing how they voted is done) because someone always knows which voters registered with the system. If many more voters registered than actually voted, then it's difficult to know who voted at all, but if the same number of people register as vote, then obviously the registrant list is the list of active voters.

The other tricky part is hiding the vote until a quorum is reached. Blockchains are not capable of hiding data; this is simply impossible with all technology I know of. Some people are working on such designs, but I'm not sure if it's even theoretically possible. The usual approximation of this is committing to a hash of your vote, then revealing the real vote later, but this is not always an acceptable substitute because there's no way to force you to reveal your vote later. For your use case, though, there's no need to hide the vote (I think), since all we're interested in is how many voters have an opinion, so the commitment to a hash which is revealed later should work.

It would be interesting to organize unofficial elections, say for US president, and see how they are different from official results.

Funny you'd mention that... :D

@modprobe I just talked to Max Kaye (VoteFlux) and they only use the blockchain to record the votes, most of the part happens off-chain. They have chosen the bitcoin blockchain because it's the most secure chain regarding network consensus and costs to attack the network.

Depending on what one means by "most", I suppose most of ours happens off-chain too?... but we do put more on chain than simply the votes, as that's not secure or auditable. It doesn't help to protect the votes from tampering if I can just stuff them with shills. :)

I would also argue that Bitcoin isn't particularly difficult to attack at this point (especially for government-backed actors) as a 51% attack requires compromising... two Chinese servers? Proof of Work has made you weak, Bitcoin... Now, I don't claim BitShares would withstand a government-backed attack either, but it should at least be harder to attack due to higher decentralization.

@5chdn: I'm right there with you. I prefer to cooperate over compete whenever I can. I don't think we've got any contacts with the Flux Party yet, but we just met one of the guys behind Estonia's online voting system, and that conversation went really well. We're hoping to show them that blockchain tech can solve a lot of the problems they had.

Follow My Vote / Re: FMV mentioned on Safe Network Forum (Maidsafe)
« on: March 04, 2016, 05:52:57 pm »
Thanks for posting this, @hadrian! I've responded to the thread there.

@5chdn: We'll initially be launching on the BitShares blockchain using data operations for voting data and implementing a BitShares plugin on the full node to process that data. If there's interest from the community, we may define new operations which define voting smart contracts which can be hard-forked in as a first class chain feature, which would allow other smart contracts to use voting results as their inputs (which would be really cool).

Sign me up. Been following your repository for quite a while now. But never looked into the code yet.

To get started, where do you need the most help?

Really sorry to leave you hanging so long, @5chdn. For some reason BTSTalk didn't see fit to notify me of replies to this thread.

For all who wish to get in contact with me, you can catch me on Freenode IRC on #followmyvote, or poke the github issues, or just email me at nathan at

To answer the question, we have a lot of need of both GUI devs and C++ devs. Our reference GUI is in QML, which is easy to learn. I can point you at some good materials if you want to pick it up. Alternatively, if you want to make a different GUI with another stack, get in touch with me and I'll do what I need to on the backend to give you what you need. We're just about to start our blockchain integration phase in the C++, so that will involve tying directly into the BitShares code, both in the wallet and the full node. Our work on the full node will be done as a BitShares plugin.

@xeroc It's never too late to learn! ;) But there's also the QML, which, like I said, is super easy to pick up, particularly for someone who's done any coding before.

Follow My Vote / Re: How do you stop someone voting twice?
« 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.

Follow My Vote / Introducing the Follow My Vote Code Contributors program!
« on: February 12, 2016, 09:08:37 pm »
or: "halp plz!" :)

I'm working on getting Follow My Vote's stake-weighted voting app for BitShares implemented, but there's only one of me and lots of work! So we've launched a code contributor program to encourage contributions from the community. It is Follow My Vote's opinion that BitShares is the most powerful and app-friendly blockchain technology available today, and we'd really like to see BitShares grow and thrive, and we think one way to make that happen is to build an app with general appeal using the BitShares blockchain, and market it to the general public to bring new users into the ecosystem. If you'd like to help us make that a reality, please check out the program, and give us a hand. We'd really appreciate the help! The sooner we can get a usable, marketable app in place, the sooner we can start bringing in users and encouraging adoption of BitShares. Moreover, this will be a precedent for a third party application which operates on the BitShares blockchain, which may encourage other devs to use the platform as well.

Now, what's in it for you? Well, aside from the fact that if you're reading this, you probably care about BitShares and want to see it grow and thrive as much as I do, I also want to highlight our MERIT UIA. The details are near the bottom of the code contributors page, but the overview is that we'll distribute MERITs in return for contributions as well as various other things we consider valuable. Eventually, we'll be running stake-weighted polls of MERIT in order to decide future development strategy, and we'll likely sponsor those polls so you can earn VOTE (our other UIA, which is used to buy FMV services. Normally you can buy 1 VOTE for $1) by voting with your MERIT. Both of these assets are tradeable on the exchange, so if all goes to plan, they should both become liquid (MERIT because it's similar to stake in future FMV development, VOTE because buying it on the exchange is likely cheaper than buying it new from us).

Check it out at

Any feedback on the program, the page, the MERIT system, our code, etc. is welcome! Thanks for reading!

We at FollowMyVote would love to chat with them about creating a solution on BitShares that meets their needs. Does anyone have a contact there? Or can introduce us?

Follow My Vote / Re: Follow My Vote Press Release!
« on: February 12, 2016, 07:41:22 pm »
  • You say you will utilize mobile devices as they have the best security models. My first thought was "W00T?", really? I mean I am not very good at evaluating smart phones regarding their security, but I have the subject feeling that my phone is the device where I have least control over it, regarding security.
  • You say it is possible for voters to revoke votes in case they notice something went wrong. Is that a technical solution, like revokation certificates in PGP? Or is that simple the possibility to go to voting officials and state that something went wrong. Couldn't that be abused?

For question 1, karnal's response is dead-on. Yes, we can make a far more secure system on a desktop computer, but with much, much lower convenience. In terms of balancing security and convenience, mobile does a great job. Obviously nothing's perfect, but mobile has pretty rigorous security by default while desktop does not.

For question 2, this is a technical solution by which the voter publishes a nullifying vote to the chain (which serves as notice to vote counters that the identity's previous or future votes should be ignored). When they arrive at the central polling place, they provide that TXID and the poll workers publish to the chain an acceptance of that nullifying vote and give the voter a paper ballot to vote on. If the voter attempts to use that same identity to cast a second paper ballot, the poll workers will observe that the nullified vote has already been accepted and will refuse to issue a second paper ballot.

Follow My Vote / Re: How do you stop someone voting twice?
« 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: 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!

Follow My Vote / Re: Source Code Release for Stake Weighted Voting App
« on: November 10, 2015, 05:48:30 pm »
I've just updated the README to clarify what's in the repo and how to start the backend and application.

Sorry for the confusion, all!

Follow My Vote / Re: Source Code Release for Stake Weighted Voting App
« on: November 10, 2015, 05:00:12 pm »
Going to the moon is also impossible ;)  With blinded tokens it is possible to verify an identity when you sign a blinded token, and then at some random time in the future you submit the unblinded token back to the identity verifier along with the public key of your ballot.  The verifier can then sign your ballot public key and certify that you are a UNIQUE individual without knowing which UNIQUE individual you are. The identity verifier keeps a log of all unblinded tokens it has received to make sure that there is only one ballot per valid unblinded token.

That's not true anonymity - you still have to be onymous to the token signer initially.

Our system is technically pseudonymous, as all decisions from a particular voter are signed by the same key, but that key cannot be traced to an owning identity. The requirement of identifying oneself to the token signer does not compromise any privacy, as it merely identifies the voter as a member of the set of eligible voters. The fact that all voters are in this set is public knowledge, so the token signer learns nothing from this step.

Follow My Vote / Re: Source Code Release for Stake Weighted Voting App
« on: October 30, 2015, 04:09:32 pm »
What's your opinion of implementing this to do Augur/Truthcoin style prediction markets?  Has it crossed your mind?  Is it possible to scale in bitshares?

This is an interesting application that could be built on BitShares, but it's not something we plan to tackle. We are first building stake-weighted voting, then extending that to one-person-one-vote verifiable, anonymous elections. These applications will be keeping us busy for quite a while to come.

Follow My Vote / Re: Source Code Release for Stake Weighted Voting App
« on: October 30, 2015, 04:04:51 pm »
I don't want to sound harsh .. but this app is worthless:
You have a backend running somewhere so that we can take a CLOSER look?

See my announcement:

Please note that the application is not complete; development is still very early, but we think that we have a solid foundation upon which to build.

I told you it was worthless (right now) to start with. :)

As to the backend, also note from the announcement:

Also note that so far, no blockchain integration has been done.

The only backend available is StubBackend made available on the repo to facilitate testing the application.

Pages: [1] 2 3 4 5 6 7