The Decentralized Identity (DID) #
MetaBlox’s WiFi OpenRoaming Network uses a decentralized identity (DID)-based authentication system–that is, only a DID is required to access the network. Decentralized identities are unique sequences of code that can be used to identify any particular entity, and that are recorded on blockchains in an ‘open ledger’ format. This means that any entity with blockchain access–including MetaBlox Network users themselves– can verify DIDs to prove the holder’s identity. Thus MetaBlox Network users can, by verifying each others’ DIDs, grant each other access to the OpenRoaming network, eliminating the need for a third-party verifier.
DID verification is typically carried out by a machine and can be used for all different types of authorization. For example, a DID can be used to prove the holder’s age so they can buy liquor, and a machine can conduct this verification without exposing the holder’s information to a human or storing it on a central database.
The DID-verification process actually involves two pieces of code besides the DID itself: a public key and a private key. Private keys are not held on a blockchain but stored by the user, while a public key, together with the DID itself, is published on a blockchain network whenever the DID holder needs to prove (e.g authenticate) their identity.
A DID-holder proves their identity by signing a message to a verifier with their private key. The verifier authenticates this private key by matching it to the corresponding public key in the blockchain ledger. By cross-checking these keys, verifiers can affirm that they both correspond to the same DID. This process eliminates the need to enter passwords, since private keys are automatically sent to verifiers, and since public keys remain immutably published on the given blockchain. Public and private keys also ensure high levels of security because of their cryptographic complexity, and since public keys are stored decentrally across multiple ‘blocks’ of code.