There is a critical difference between presenting identification to cash a check, and doing so to vote. The first is a transaction between private parties. The second is the exercise of a public duty by a public official, the elector, for whom the only qualification is being a citizen and resident of the voting jurisdiction. There is no constitutional requirement to have or present any kind of government-issued identification document. There is no constitutional authority to require anyone to present what one is not required to have, and no constitutional authority to require anyone to have such identification, or even to have a name.
No one owns his name. A name is what others call us, and is under their control. No one can be required to accept or disclose what others call us.
It is not improper to require confirmation that one is qualified to vote, but the traditional way to do that is by a jurat of a notary public who knows the individual. That jurat does not need to cite a name or other identification. In this digital age, we have the alternative of digital notaries who certify the connection between an individual and his public encryption key. Such circles of trust are the constitutional solution to identification. Government identification puts too much power in the hands of government, a power they can be relied upon to abuse.