The anonymity requirement is relatively easy to solve for with either blind signatures or a homomorphic voting scheme. The general availability part is trickier since solving for it is akin to solving for the current issues with voter registration and disenfranchisement. India is having decent success rolling out their UIDAI program, so there's hope on that front, but distribution is the part of the stack that math and technology can't solve for directly.