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