DEV Community

Discussion on: A Bank Should Authenticate With You - And Vice Versa

Collapse
 
simbo1905 profile image
Simon Massey • Edited

Identity on the internet is broken. Identity theft costs billions the figures are staggering. If you want to take the blue pill and live in ignorance with your identity owned by an advertising broker pretending to be a ”social network” stop reading now. If you want to take the red pill and learn what the crypto cure is to free your internet identity and cut identity theft losses by billons then read on.

💊 The solution is a purpose built public blockchain that is now live and backed by big players where you put your public keys. This is the sovrin foundation blockchain. You keep your private keys on any and every trusted device as its an open standard. The aim is to get open standards support into all platform wallets like apple and android holding the private keys in their wallet app just like they hold credit card IDs or airline tickets today. Now to ensure privacy you have hundreds or thousands of keys as they are small. Anyone with two private keys can prove to anyone else they control both by signing a message with both. You only do that when it's your choice to reveal to someone you are the same identity which can be helpful when it is in my interest to reveal that fact.

In a model where there is no central sign on service and the anonymous public blockchain database no-one “owns” your identity it is “self sovereign”. Looking up the public keys is a utility (public very fast blockchain). Private keys can be used to sign public keys and messages allow for a “web of trust” model. A credit card network provider can get physical proof of which public keys are controlled by which bank and sign that with its private key. Each bank can get proof of which public keys are controlled by companies who bank with them and can sign them. Company’s can get certain levels of proof of which customers control which public keys mainly by just generating a fresh key pair for the customer within the app. The app can write the public key to the blockchain and prompt the user to backup the private key to their main wallet. Let me give an example of how this combats identify theft and costs of identity assurance.

Lets say I want to do casual short rentals of my apartment via app company WaterBnB. WaterBnB have to ask a huge amount to register as a host to prove that i own my apartment. Fake host running a scam is the core threat to their business. Its a massive turn off to prove I own my apartment by standard methods it is the sort of thing needed to get a loan or credit card. Such credit checks are expensive and create massive risk when the credit rating agency like Equifax gets breached. Yet my bank knows I own my apartment they made me prove it to get a mortgage. My bank has to do strong customer verification as mandated by PSD2 and open banking so it knows when i open my app on my phone its me. So I have two apps on my phone, my bank who knows I own my apartment and WaterBnB that is willing to pay my bank a fee if I can just push a button on the bank app to push a signed message to the WaterBnB app to say ”i am a bank and yes the person who controls key X in your app happens to own the apartment you mentioned in your message”. Of course GDPR means I have to give explicit consent to my bank to release the information which I do with touch ID. The whole “who signed who’s keys” makes it possible for every party to trust one another. That is known as a “web of trust” or in this sort of scenario as a “trust framework”.

The open standard to do that sort if thing is W3C verifiable claims. How all that works with the sovrin blockchain isn't a secret the code code is open source rust written by well funded start ups.

Collapse
 
simbo1905 profile image
Simon Massey • Edited

Oh back to the question: obviously to prove yourself to your bank and vice-versa they should push a notification to your app and you should respond to with touch id.