Hello,

I've written a draft BIP description of an authentication protocol based on Bitcoin public address.

By authentication we mean to prove to a service/application that we control a specific Bitcoin address by signing a challenge, and that all related data and settings may securely be linked to our session.

The aim is to greatly facilitate sign ups and logins to services and applications, improving the Bitcoin ecosystem as a whole.

https://github.com/bitid/bitid/blob/master/BIP_draft.md

Demo website :
http://bitid-demo.herokuapp.com/

Classical password authentication is an insecure process that could be solved with public key cryptography. The problem is that it theoretically offloads a lot of complexity and responsibility on the user. Managing private keys securely is complex. However this complexity is already being addressed in the Bitcoin ecosystem. So doing public key authentication is practically a free lunch to bitcoiners.

I've formatted the protocol description as a BIP because this is the only way to have all major wallets implementing it, and because it completely fits in my opinion the BIP "process" category.

Please read it and let me know your thoughts and comments so we can improve on this draft.

Eric Larcheveque
elarch@gmail.com