[Ethereum Use Case] Know Your Customer (KYC)
It would be great if public authorities, when issuing an id card, would also calculate a hash for the data printed on the id card. Something like:
sha-1(NAME/GIVENNAMES/DATEOFBIRTH/PLACEOFBIRTH/NATIONALIY/ADDRESS1/ADDRESS2/ADDRESS3/RANDOM)
and bind this hash to the Ethereum address of the id card holder.
Could be put into a simple contract like this:
contract IdentityRegistry {
address owner = msg.sender;
mapping(address => uint256) idHashes;
function registerIdHash(address who, uint256 hash) {
if(owner != msg.sender) throw;
idHashes[who] = hash;
}
function verifyIdentity(address who, uint256 hash) constant returns(bool) {
return idHashes[who] == hash;
}
}
Having an entry in this official registry, you could apply for instance for a bank account by simply sending your data per email signed with your ethereum private key. Having your personal information and your ethereum public address, the bank could verify within seconds if the record is valid or not.
Alternatively, If public authorities do not get on blockchain in the near future, there could be a third-party service building up such an identity registry.
*Image by geralt