Secret smart operations in blockchain
A system may enact a process including initiating an operation to transfer a secret, establishing n groups of nodes in a blockchain network, dividing a secret into n secret parts, creating n group keys, encrypting each secret part of the secret with a corresponding group key, and recording encrypted secret parts on the blockchain networks.
1 . A system comprising:
a memory; and
a processor in communication with the memory, the processor being configured to perform processes comprising:
initiating an operation to transfer a secret;
establishing groups of nodes in at least one blockchain network, wherein the groups are peer nodes configured to share secrets between each other;
dividing the secret into n secret parts, wherein each part of the n secret parts overlaps one or more other parts of the n secret parts;
creating group keys;
encrypting each group key of the group keys with a public key from a peer from a respective group;
encrypting each secret part of the secret with a corresponding group key;
recording encrypted secret parts on the at least one blockchain networks;
validating, by one or more of the groups, a transaction from a recipient;
decrypting each secret part of the secret with the corresponding group key;
re-encrypting each secret part of the secret with a public key of the recipient to form re-encrypted secret parts; collecting, by the recipient, the encrypted secret parts;
decrypting, by the recipient using a private key of the recipient, the re-encrypted secret parts;
identifying, by the recipient a corrupted part of the decrypted secret parts, and reconstructing the corrupted part from one or more other secret parts that overlap the corrupted part; and
forming, by the recipient, the secret from the decrypted secret parts.
2 . The system of claim 1 , further comprising:
distributing the group keys to the groups such that each group gets a single group key.
3 . The system of claim 2 , further comprising:
receiving a consensus from a group approving the operation.
4 . The system of claim 3 , further comprising:
encoding a secret part with a group key for the group approving the operation.
5 . The system of claim 4 , further comprising:
transferring, by the group and based on the consensus, the secret part to the recipient as encrypted with the recipient's public key.
6 . The system of claim 5 , the forming further comprising:
running, by the recipient, possible combinations of the secret parts; and
choosing a consistent combination as the secret.
7 . A method comprising:
initiating an operation to transfer a secret;
establishing groups of nodes in at least one blockchain network, wherein the groups are peer nodes configured to share secrets between each other;
dividing the secret into n secret parts, wherein each part of the n secret parts overlaps one or more other parts of the n secret parts;
creating group keys from a set of public keys for each group;
encrypting each group key of the group keys with a public key from a peer from a respective group;
encrypting each secret part of the secret with a corresponding group key;
recording encrypted secret parts on the at least one blockchain networks;
validating, by one or more of the groups, a transaction from a recipient;
decrypting each secret part of the secret with the corresponding group key;
re-encrypting each secret part of the secret with a public key of the recipient to form re-encrypted secret parts;
collecting, by the recipient, the encrypted secret parts;
decrypting, by the recipient using a private key of the recipient, the re-encrypted secret parts;
identifying, by the recipient a corrupted part of the decrypted secret parts, and reconstructing the corrupted part from one or more other secret parts that overlap the corrupted part; and
forming, by the recipient, the secret from the decrypted secret parts.
8 . The method of claim, 7 further comprising:
distributing the group keys to the groups such that each group gets a single group key.
9 . The method of claim 8 , further comprising:
receiving a consensus from a group approving the operation.
10 . The method of claim 9 , further comprising:
encoding a secret part with a group key for the group approving the operation.
11 . The method of claim 10 , further comprising:
transferring, by the group and based on the consensus, the secret part to the recipient as encrypted with the recipient's public key.
12 . The method of claim 11 , the reconstruction further comprising:
running, by the recipient, possible combinations of the secret parts; and
choosing a consistent combination as the secret.
13 . A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processors to perform a method, the method comprising:
initiating an operation to transfer a secret;
establishing groups of nodes in at least one blockchain network, wherein the groups are peer nodes configured to share secrets between each other;
dividing the secret into n secret parts, wherein each part of the n secret parts overlaps one or more other parts of the n secret parts;
creating group keys from a set of public keys for each group;
encrypting each group key of the group keys with a public key from a peer from a respective group;
encrypting each secret part of the secret with a corresponding group key;
recording encrypted secret parts on the at least one blockchain networks;
validating, by one or more of the groups, a transaction from a recipient;
decrypting each secret part of the secret with the corresponding group key;
re-encrypting each secret part of the secret with a public key of the recipient to form re-encrypted secret parts;
collecting, by the recipient, the encrypted secret parts;
decrypting, by the recipient using a private key of the recipient, the re-encrypted secret parts;
identifying, by the recipient a corrupted part of the decrypted secret parts, and reconstructing the corrupted part from one or more other secret parts that overlap the corrupted part; and
forming, by the recipient, the decrypted secret from the secret parts.
14 . The computer program product of claim 13 , further comprising:
distributing the group keys to the groups such that each group gets a single group key.
15 . The computer program product of claim 14 , further comprising:
receiving a consensus from a group approving the operation.
16 . The computer program product of claim 15 , further comprising:
encoding a secret part with a group key for the group approving the operation.
17 . The computer program product of claim 16 , further comprising:
transferring, by the group and based on the consensus, the secret part to the recipient as encrypted with the recipient's public key.