The real-world implementation of the keypairs-instead-of-passwords idea is client-side SSL certificates. The ability to do this has been in servers and browsers since forever.
Unfortunately the user experience has generally been a massive PITA, with the result that they're mostly confined to corporate or government systems where the security-conscious IT Department can mandate their use and the users have to suck it up. A lot of these problems are probably fixable, but as with bitcoin, the UX issues involved in generating keys and storing them securely without bollocksing it up aren't trivial.
There's a good summary here - the comments are worth a read, too.
http://pilif.github.io/2008/05/why-is-nobody-using-ssl-client-certificates/Thanks, I'll have to dig into this. I figured I wasn't treading new ground, just can't figure out why it should be so difficult.