Setting the transport layer aside (which would be tricky, since you have to avoid relying on anything thar can be used to interfere), you'd want all the same things you'd need to pull off an illegal election, or contribute remotely to organizing a protest: A web of trust, a userbase that's practiced in maintaining it, and the ability to vote and agree on some outcome without revealing which real identities correspond with the voters, but while still providing proof that this was indeed an outcome chosen by a majority (or you know, customizable logic here), among people you've explicitly trusted, pseudonymously or otherwise.
It would need to be embedded in some kind of larger system whose use was widespread, a platform for p2p apps. Perhaps there are games like pokemon go, but serverless, which involve going out running into other players at places you've never been before.
It would not be hidden, but rather a coordination module used by apps for all sorts of groupwise coordination. Imagine games which involve forming coalitions and infiltrating other coalitions and communicating in secret, learning which of the other players you can trust, etc.
People would create games on this platform which involve conspiracy towards unimportant goals embedded in the game universe: Place an augmented reality hat on these four statues, all of the same color, or interfere with your enemy's attempts to do so by getting there first and placing the wrong color hat, that sort of thing. But once users were practiced at such things, and had large enough webs of trust which they actually trusted, and had trusted that the software wasn't up to anything shady... Well there would be nothing stopping them from using it to organize around non-AR outcomes like keeping your government in check.
----
I'm working with an urban exploration group--they travel to explore abandoned missile silos and such--and also a guy who puts on IOT murder mysteries at his house. We want to put on murder mysteries in abandoned missile silos, but there's no wifi out there so the dream is to do it peer-to-peer over bluetooth. Sort of a test bed for this kind of thing. I'm the only coder, and it's an audacious goal, almost certainly doomed to fail, but it's got me in the mindset.
I'm simultaneously writing some SF about such a scenario, so even if my software fails I'll have a place to encode my lessons learned that's a bit more digestible than code.
Dreaming this thing up and attempting to build it is my hobby. Larping for democracy.