User verification with non-fungible tokens
A computing system receives a request to verify a user, the request comprising an indication of a jurisdiction in which the user will be verified. Based on the request, the computing system collects information related to the user. Based on the request, the computing system identifies a workflow corresponding to the jurisdiction. The workflow defines conditions for obtaining a verified status in the jurisdiction. The computing system executes the workflow to verify the user. The computing system hashes the verification record using a zero-knowledge proof protocol. The computing system generates a non-fungible token corresponding to the verification record. The non-fungible token is associated with a hashed version of the verification record. The computing system broadcasts the non-fungible token to a blockchain.
1 . A method of verifying a user, comprising:
receiving, by a computing system, a request to verify a user, the request comprising an indication of a jurisdiction in which the user will be verified;
based on the request, collecting, by the computing system, information related to the user;
based on the request, identifying, by the computing system, a workflow corresponding to the jurisdiction, wherein the workflow defines a set of conditions specific to the jurisdiction for which the user is seeking a verified status;
executing, by the computing system, the workflow that is specific to the jurisdiction to verify the user in the jurisdiction, wherein executing the workflow comprises:
comparing the information related to the user to the conditions defined in the workflow;
determining a verification status of the user for the jurisdiction based, at least in part, on the comparing; and
generating a verification record for the jurisdiction based, at least in part, on the verification status, wherein the verification record comprises the information considered during the comparing;
hashing, by the computing system, the verification record using a zero-knowledge proof protocol;
generating, by the computing system, a non-fungible token corresponding to the verification record, wherein the non-fungible token is associated with a hashed version of the verification record and verifies the user is accredited for the jurisdiction; and
broadcasting, by the computing system, the non-fungible token to a blockchain.
2 . The method of claim 1 , wherein the request further comprises:
a second indication of a second jurisdiction in which the user will be verified.
3 . The method of claim 2 , further comprising:
identifying, by the computing system, a second workflow corresponding to the second jurisdiction, wherein the second workflow defines a second set of conditions for obtaining a second verified status in the second jurisdiction.
4 . The method of claim 3 , further comprising:
executing, by the computing system, the second workflow to verify the user in the second jurisdiction, wherein executing the second workflow comprises:
comparing the information related to the user to the second set of conditions defined in the second workflow;
determining a second verification status of the user based on the comparing; and
generating a second verification record based on the second verification status, wherein the second verification record comprises the information considered during the comparing; and
hashing, by the computing system, the second verification record using the zero-knowledge proof protocol.
5 . The method of claim 4 , further comprising:
associating the non-fungible token with the hashed version of the second verification record.
6 . The method of claim 5 , wherein a first storage location of the hashed version of the verification record and a second storage location of the hashed version of the second verification record are included in metadata of the non-fungible token.
7 . The method of claim 5 , wherein first hashed contents of the verification record and second hashed contents of the second verification record are included in metadata of the non-fungible token.
8 . A non-transitory computer readable medium comprising one or more sequences of instructions, which, when executed by a processor, causes a computing system to perform operations comprising:
receiving, by the computing system, a request to verify a user, the request comprising an indication of a jurisdiction in which the user will be verified;
based on the request, collecting, by the computing system, information related to the user;
based on the request, identifying, by the computing system, a workflow corresponding to the jurisdiction, wherein the workflow defines a set of conditions specific to the jurisdiction for which the user is seeking a verified status;
executing, by the computing system, the workflow to verify the user, wherein executing the workflow comprises:
comparing the information related to the user to the conditions defined in the workflow;
determining a verification status of the user for the jurisdiction based, at least in part, on the comparing; and
generating a verification record for the jurisdiction based, at least in part, on the verification status, wherein the verification record comprises the information considered during the comparing;
hashing, by the computing system, the verification record using a zero-knowledge proof protocol;
generating, by the computing system, a non-fungible token corresponding to the verification record, wherein the non-fungible token is associated with a hashed version of the verification record and verifies the user is accredited for the jurisdiction; and
broadcasting, by the computing system, the non-fungible token to a blockchain.
9 . The non-transitory computer readable medium of claim 8 , wherein the request further comprises:
a second indication of a second jurisdiction in which the user will be verified.
10 . The non-transitory computer readable medium of claim 9 , further comprising:
identifying, by the computing system, a second workflow corresponding to the second jurisdiction, wherein the second workflow defines a second set of conditions for obtaining a second verified status in the second jurisdiction.
11 . The non-transitory computer readable medium of claim 10 , further comprising:
executing, by the computing system, the second workflow to verify the user in the second jurisdiction, wherein executing the second workflow comprises:
comparing the information related to the user to the second set of conditions defined in the second workflow;
determining a second verification status of the user based on the comparing; and
generating a second verification record based on the second verification status, wherein the second verification record comprises the information considered during the comparing; and
hashing, by the computing system, the second verification record using the zero-knowledge proof protocol.
12 . The non-transitory computer readable medium of claim 11 , further comprising:
associating the non-fungible token with the hashed version of the second verification record.
13 . The non-transitory computer readable medium of claim 12 , wherein a first storage location of the hashed version of the verification record and a second storage location of the hashed version of the second verification record are included in metadata of the non-fungible token.
14 . The non-transitory computer readable medium of claim 12 , wherein first hashed contents of the verification record and second hashed contents of the second verification record are included in metadata of the non-fungible token.
15 . A system, comprising:
a processor; and
a memory having programming instructions stored thereon, which, when executed by the processor, causes the system to perform operations comprising:
receiving a request to verify a user, the request comprising an indication of a jurisdiction in which the user will be verified;
based on the request, collecting information related to the user;
based on the request, identifying a workflow corresponding to the jurisdiction, wherein the workflow defines a set of conditions specific to the jurisdiction for which the user is seeking a verified status;
executing the workflow that is specific to the jurisdiction to verify the user in the jurisdiction, wherein executing the workflow comprises:
comparing the information related to the user to the conditions defined in the workflow;
determining a verification status of the user for the jurisdiction based, at least in part, on the comparing; and
generating a verification record for the jurisdiction based, at least in part, on the verification status, wherein the verification record comprises the information considered during the comparing;
hashing the verification record using a zero-knowledge proof protocol;
generating a non-fungible token corresponding to the verification record, wherein the non-fungible token is associated with a hashed version of the verification record and verifies the user is accredited for the jurisdiction; and
broadcasting the non-fungible token to a blockchain.
16 . The system of claim 15 , wherein the request further comprises:
a second indication of a second jurisdiction in which the user will be verified.
17 . The system of claim 16 , further comprising:
identifying a second workflow corresponding to the second jurisdiction, wherein the second workflow defines a second set of conditions for obtaining a second verified status in the second jurisdiction.
18 . The system of claim 17 , further comprising:
executing the second workflow to verify the user in the second jurisdiction, wherein executing the second workflow comprises:
comparing the information related to the user to the second set of conditions defined in the second workflow;
determining a second verification status of the user based on the comparing; and
generating a second verification record based on the second verification status, wherein the second verification record comprises the information considered during the comparing; and
hashing the second verification record using the zero-knowledge proof protocol.
19 . The system of claim 18 , further comprising:
associating the non-fungible token with the hashed version of the second verification record.
20 . The system of claim 19 , wherein a first storage location of the hashed version of the verification record and a second storage location of the hashed version of the second verification record are included in metadata of the non-fungible token.