A method for authenticating a user comprising: associating private keys with users of an identity system , the private keys being stored in a key library of the identity system ; receiving , by a third-party user, a request to register a mobile device ; in response to the registration request: identifying, by the identity system , the identity system user from among the users of the identity system associated with the mobile device ; generating , by the identity system , a public key for the mobile device based on a private key in the key library, the private key being associated with the identity system user; initiating a blockchain transaction including the public key for the identity system user; and implementing a smart contract on the blockchain to enable the third-party user to authenticate the identity system user; receiving at the identity system a cryptographic one-way hash of a mobile identity key from the mobile device ; in response to receiving the cryptographic one-way hash of the mobile identity key, retrieving the private key associated with the identity system user from the key library ; performing a cryptographic one-way hash on the private key; and determining if a threshold correspondence exists between the cryptographic hash of the private key and the cryptographic hash of the mobile identity key associating private keys with users of an identity system , the private keys being stored in a key library of the identity system ; receiving , by a third-party user, a request to register a mobile device ; in response to the registration request: identifying, by the identity system , the identity system user from among the users of the identity system associated with the mobile device ; generating , by the identity system , a public key for the mobile device based on a private key in the key library, the private key being associated with the identity system user; initiating a blockchain transaction including the public key for the identity system user; and implementing a smart contract on the blockchain to enable the third-party user to authenticate the identity system user; receiving at the identity system a cryptographic one-way hash of a mobile identity key from the mobile device ; in response to receiving the cryptographic one-way hash of the mobile identity key, retrieving the private key associated with the identity system user from the key library ; performing a cryptographic one-way hash on the private key; and determining if a threshold correspondence exists between the cryptographic hash of the private key and the cryptographic hash of the mobile identity key identifying, by the identity system , the identity system user from among the users of the identity system associated with the mobile device ; generating , by the identity system , a public key for the mobile device based on a private key in the key library, the private key being associated with the identity system user; initiating a blockchain transaction including the public key for the identity system user; and implementing a smart contract on the blockchain to enable the third-party user to authenticate the identity system user; receiving at the identity system a cryptographic one-way hash of a mobile identity key from the mobile device ; in response to receiving the cryptographic one-way hash of the mobile identity key, retrieving the private key associated with the identity system user from the key library ; performing a cryptographic one-way hash on the private key; and determining if a threshold correspondence exists between the cryptographic hash of the private key and the cryptographic hash of the mobile identity key <EOS>