Systems and methods for decentralized data distribution
Systems and methods provide a framework through which user data is automatically propagated to different service provider systems through one or more decentralized distributed ledger nodes in response to modification of the user data and to changes to service provider systems authorized to access the user data.
1 . A computer-implemented method, comprising:
receiving a request to update user data associated with a user, wherein the request includes a private cryptographic key corresponding to the user;
identifying a set of service provider systems authorized to receive the user data, wherein the set of service provider systems maintains nodes within a decentralized distributed ledger;
encrypting the updated user data using the private cryptographic key, resulting in encrypted user data;
encoding the encrypted user data in the decentralized distributed ledger, wherein when the encrypted user data is encoded, a cryptocontract associated with the user data and the decentralized distributed ledger automatically generates a public cryptographic key usable to decrypt the encrypted user data; and
providing the public cryptographic key, wherein when the public cryptographic key is obtained by the set of service provider systems, the nodes associated with the set of service provider systems automatically use the public cryptographic key to decrypt the encrypted user data.
2 . The computer-implemented method of claim 1 , further comprising:
receiving a request to deauthorize a service provider system associated with the set of service provider systems from accessing the user data; and
encoding the encrypted user data in the decentralized distributed ledger to cause the cryptocontract to automatically generate a new public cryptographic key, wherein the new public cryptographic key is not provided to the service provider system.
3 . The computer-implemented method of claim 1 , wherein the public cryptographic key is provided through an encrypted update message, and wherein the encrypted update message is generated using private cryptographic keys associated with the set of service provider systems.
4 . The computer-implemented method of claim 1 , further comprising:
receiving a request to add a new service provider system to the set of service provider systems; and
encrypting the public cryptographic key using a private cryptographic key associated with the new service provider system to provide the public cryptographic key to the new service provider system.
5 . The computer-implemented method of claim 1 , wherein the private cryptographic key corresponding to the user is provided through a user digital wallet.
6 . The computer-implemented method of claim 1 , wherein the set of service provider systems are identified through a distribution list, and wherein the distribution list specifies unique foreign identifiers corresponding to the set of service provider systems.
7 . The computer-implemented method of claim 1 , wherein the public cryptographic key is provided through one or more application programming interface (API) calls to the set of service provider systems.
8 . A system, comprising:
one or more processors; and
memory storing thereon instructions that, as a result of being executed by the one or more processors, cause the system to:
receive a request to update user data associated with a user, wherein the request includes a private cryptographic key corresponding to the user;
identify a set of service provider systems authorized to receive the user data, wherein the set of service provider systems maintains nodes within a decentralized distributed ledger;
encrypt the updated user data using the private cryptographic key, resulting in encrypted user data;
encode the encrypted user data in the decentralized distributed ledger, wherein when the encrypted user data is encoded, a cryptocontract associated with the decentralized distributed ledger and the user data automatically generates a public cryptographic key usable to decrypt the encrypted user data; and
provide the public cryptographic key, wherein when the public cryptographic key is obtained by the set of service provider systems, the nodes associated with the set of service provider systems automatically use the public cryptographic key to decrypt the encrypted user data.
9 . The system of claim 8 , wherein the instructions further cause the system to:
receive a request to deauthorize a service provider system associated with the set of service provider systems from accessing the user data; and
encode the encrypted user data in the decentralized distributed ledger to cause the cryptocontract to automatically generate a new public cryptographic key, wherein the new public cryptographic key is not provided to the service provider system.
10 . The system of claim 8 , wherein the public cryptographic key is provided through an encrypted update message, and wherein the encrypted update message is generated using private cryptographic keys associated with the set of service provider systems.
11 . The system of claim 8 , wherein the instructions further cause the system to:
receive a request to add a new service provider system to the set of service provider systems; and
encrypt the public cryptographic key using a private cryptographic key associated with the new service provider system to provide the public cryptographic key to the new service provider system.
12 . The system of claim 8 , wherein the private cryptographic key corresponding to the user is provided through a user digital wallet.
13 . The system of claim 8 , wherein the set of service provider systems are identified through a distribution list, and wherein the distribution list specifies unique foreign identifiers corresponding to the set of service provider systems.
14 . The system of claim 8 , wherein the public cryptographic key is provided through one or more application programming interface (API) calls to the set of service provider systems.
15 . A non-transitory, computer-readable storage medium storing thereon executable instructions that, as a result of being executed by one or more processors of a computer system, cause the computer system to:
receive a request to update user data associated with a user, wherein the request includes a private cryptographic key corresponding to the user;
identify a set of service provider systems authorized to receive the user data, wherein the set of service provider systems maintains nodes within a decentralized distributed ledger;
encrypt the updated user data using the private cryptographic key, resulting in encrypted user data;
encode the encrypted user data in the decentralized distributed ledger, wherein when the encrypted user data is encoded, a cryptocontract associated with the decentralized distributed ledger and the user data automatically generates a public cryptographic key usable to decrypt the encrypted user data; and
provide the public cryptographic key, wherein when the public cryptographic key is obtained by the set of service provider systems, the nodes associated with the set of service provider systems automatically use the public cryptographic key to decrypt the encrypted user data.
16 . The non-transitory, computer-readable storage medium of claim 15 , wherein the executable instructions further cause the computer system to:
receive a request to deauthorize a service provider system associated with the set of service provider systems from accessing the user data; and
encode the encrypted user data in the decentralized distributed ledger to cause the cryptocontract to automatically generate a new public cryptographic key, wherein the new public cryptographic key is not provided to the service provider system.
17 . The non-transitory, computer-readable storage medium of claim 15 , wherein the public cryptographic key is provided through an encrypted update message, and wherein the encrypted update message is generated using private cryptographic keys associated with the set of service provider systems.
18 . The non-transitory, computer-readable storage medium of claim 15 , wherein the executable instructions further cause the computer system to:
receive a request to add a new service provider system to the set of service provider systems; and
encrypt the public cryptographic key using a private cryptographic key associated with the new service provider system to provide the public cryptographic key to the new service provider system.
19 . The non-transitory, computer-readable storage medium of claim 15 , wherein the private cryptographic key corresponding to the user is provided through a user digital wallet.
20 . The non-transitory, computer-readable storage medium of claim 15 , wherein the set of service provider systems are identified through a distribution list, and wherein the distribution list specifies unique foreign identifiers corresponding to the set of service provider systems.
21 . The non-transitory, computer-readable storage medium of claim 15 , wherein the public cryptographic key is provided through one or more application programming interface (API) calls to the set of service provider systems.