You don't particularly need hardware wallets for this purpose - you could just piggy back on an existing ID validation service. For example:
- Dapp frontend makes an ajax request to ID validation service, forwarding a copy of the passport voluntarily submitted by the Dapp user - ID validation service replies to the Dapp frontend, indicating success or failure - If successful, the validation service independently makes an extra call to the Ethereum chain and adds a row to its contract stating that Ethereum public key xyz is indeed a valid ID - Now other contracts can read from that ID validation contract and can be assured that this ID validation service claims this user is 'a person'
Bonus points: it stays pseudonymous, existing services can be leveraged, very little modifications required from both the Dapp developer and the ID verification services in terms of code compared to what they currently use.
Comments
- Dapp frontend makes an ajax request to ID validation service, forwarding a copy of the passport voluntarily submitted by the Dapp user
- ID validation service replies to the Dapp frontend, indicating success or failure
- If successful, the validation service independently makes an extra call to the Ethereum chain and adds a row to its contract stating that Ethereum public key xyz is indeed a valid ID
- Now other contracts can read from that ID validation contract and can be assured that this ID validation service claims this user is 'a person'
Bonus points: it stays pseudonymous, existing services can be leveraged, very little modifications required from both the Dapp developer and the ID verification services in terms of code compared to what they currently use.