CPC H04L 63/0464 (2013.01) [H04L 9/16 (2013.01); H04L 63/0478 (2013.01); H04L 9/50 (2022.05)] | 8 Claims |
1. A computer-implemented method to increase security of a blockchain-implemented transaction, in a network comprising a dealer node, and a plurality of participating nodes each having its own public key and private key, the method comprising:
for each of a plurality of cycles, obtaining a set of output addresses by:
at a dealer node, ordering said participating nodes such that there exists a cycle node order, designating a first node in the node order as a message originator, and the last node as a propagator, and designating one of the remaining participating nodes as a selector, wherein each node is not the message originator in more than one cycle node order, and each node is not the propagator in more than one cycle order, and designating one of said participating nodes as a selector node;
at the message originator, generating ciphertext comprising a nested encrypted first message and a nested encrypted second message, each message comprising one or more transaction details, and transmitting said ciphertext to a next participating node in said cycle node order, wherein:
each one of the transaction details comprises a transaction amount and an output address, and
for each cycle, the sum of the transaction amounts in the first message is equal to the sum of the transaction amounts in the second message;
transmitting said ciphertext from node to node in said cycle node order, each node decrypting the ciphertext before transmitting it, wherein the selector additionally removes one of the nested encrypted messages from the ciphertext before transmitting it; and
at the propagator, decrypting the remaining single message to obtain the one or more transaction details contained in the message;
at all the nodes designated as propagator, generating a shuffled order of the transaction details obtained from all the cycles; and
generating a blockchain transaction wherein each output of the transaction is based on one of the transaction details, and the outputs are ordered according to the shuffled order.
|