"dark dao" -- using SGX to enable vote-buying

I found this article very interesting – http://hackingdistributed.com/2018/07/02/on-chain-vote-buying/

the authors describe the use of SGX enclaves (or other trusted hardware) to scale undetectable vote-buying.

  • They describe a method for countering such attacks: “The only defense from this is more trusted hardware: to know a user has access to their own key material (and therefore cannot be coerced or bribed), some assurance is required that the user has seen their key.”

Is this something that could be achieved without individual users running their own nodes, in a model like Enigma?

Also curious to hear other thoughts about the article. I think it raised compelling points about on-chain voting: low voter participation, frictionless bribing, and smear campaigns-- things which are hard to predict in nascent systems but may become increasingly valuable targets.

Thoughts on this(ainsley, this is a summary of our conv):
Vote bribing can be done using enclaves to ensure that a voter’s key is only used for voting, however this can be mitigated in two ways: a) by allowing voters to vote multiple times to allow voter-side betrayal, and b by having some way for the voting contract to verify that the private key was known by the person submitting a vote outside the SGX enclave. --it’s tough to do b) reliably unless users are running their own node unless you can figure out a way to encrypt and transmit back private keys in a way that’s readable by the OS, not just the enclave

@Avret In the EZVote example, do you think that the attacker could get around (b) (forcing key material reveal to users) by coercing the SGX based cryptocurrency wallet into sending each vote via an SGX based Ethereum proxy that can generate a TLS-N proof of the transaction?