Decentralization is a key-aspect here. Votes count equally for all citizens. So every citizen has the opportunity to operate a node for the time (48hours) that the elections will take place, in order to inhibit possible corruption. Given the No of organizations, individuals (e.g. political activists, freedom believes, anarchists, you-name-it, conservatives, liberals, you-name-it) and geeks (who will do it for fun, get an RPi, setup a node for the elections, measure traffic, do a JS/CSS3 front-end to display traffic, real-time results etc.)
The government (formed by all parties) should be able to setup an X number of nodes that would allow the elections to take place anyway, without relying to third parties. But third parties will join to ensure reliability of the network.
A government could block the access of nodes from IP netmasks that are located outside the country's IP blocks, to avoid interference of foreign governments[1].
Now, I'm not 100% about the interface and the interaction which is equally important:
* Should the voters use PKI? Should an account be linked with their IDs?
* Should we use a dedicated machine with touch screen and accessibility options in a private chamber?
* Should we use electronic signatures generated by a special 'card' which every citizen should have one?
* etc
Estonia has an electronic card[2] for example that could turn handy into situations like these.There many ways of deployment with pros/cons to be considered on a country by country scenario.
Bitcoin protocol solves the double voting, the possibility to re-count votes, the possibility (which is nowhere today) for citizens to review their votes even years later.
Also we should not underestimate the ability to vote from the comfort of your home, using any device: Imagine how greatly that would improve the % of people participating in the elections for example.
[1] I can't think of what the NSA could come with in this scenario. Would make an interesting discussion.
https://www.youtube.com/watch?v=ZDnShu5V99s
I'm not sure if this is state of the art[0] since the talk is 7 years old. This scheme provides proof to the voter, but not enough so he can prove his vote to someone else, avoiding vote selling altogether.
The biggest challenge IMHO is trust in the system.
[0] I'd appreciate criticism or any other progress in the field.