Systems and methods for performing secure transactions on blockchain
Systems and methods for securing transactions in accordance with various embodiments of the invention are illustrated. One embodiment includes a method for confirming token ownership rights. The method generates a pre-image value using a random number generator. The method generates an action request that corresponds to an action performed cryptographic token(s). The method derives a commit output based on the pre-image value. The method generates a commit request that obfuscates the action request based on the commit output and submits the commit request to an immutable ledger. The method receives a confirmation when the commit request is approved by the ledger. When a reveal request referencing the commit output is published, the method receives a confirmation of at least one of: the reveal request being published, that the reveal request comprises a reference to the commit output, or that the action request has been approved.
1 . A method for confirming token ownership rights, the method comprising:
generating, using a processor, a pre-image value, wherein the pre-image value is generated using a random number generator;
generating, using the processor, an action request, wherein the action request corresponds to an action performed for a set of at least one particular cryptographic token;
deriving, using the processor, a commit output, wherein the commit output:
is derived based, at least in part, on the pre-image value; and
references at least one condition for the action;
generating, using the processor, a commit request, wherein the commit request obfuscates the action request based on the commit output;
submitting, using the processor, the commit request to a particular immutable ledger;
receiving a first confirmation when the commit request is approved by the particular immutable ledger; and
after a reveal request referencing the commit output is published, receiving, based on the reveal request, a second confirmation
that the action request has been approved, wherein the reveal request referencing the commit output is published following a verification that:
the set of at least one particular cryptographic token is in possession of a generating party for the commit output;
the at least one condition for the action occurred; and
the reveal request comprises a reference to the commit output.
2 . The method of claim 1 , wherein:
the action request comprises a transfer request, transferring the set of at least one particular cryptographic token to a receiving address; and
the particular immutable ledger is a blockchain.
3 . The method of claim 2 , wherein the reveal request is submitted to the particular immutable ledger by the receiving address.
4 . The method of claim 1 , wherein deriving the commit output comprises applying at least one one-way function to the pre-image value and at least one message comprising an action-associated value.
5 . The method of claim 4 , wherein a first function of the at least one one-way function is a cryptographic hash function.
6 . The method of claim 5 , wherein the action-associated value included in a first message of the at least one message comprises at least one of:
an account identifier for each of one or more parties to the action;
a token type value, where the token type value numerically identifies a token type for the set of at least one particular cryptographic token; or
an address value, where the address value corresponds to a blockchain address.
7 . The method of claim 4 , wherein the second confirmation depends on whether applying the at least one one-way function to the commit output and the action-associated value referenced in the reveal request produces the same result as applying the at least one one-way function to the commit output and the action-associated value referenced in the commit request.
8 . The method of claim 1 , wherein:
the reveal request is submitted to a second immutable ledger; and
a node, monitoring both the particular immutable ledger and the second immutable ledger, determines whether the reveal request comprises the reference to the commit output.
9 . The method of claim 8 , wherein the action request corresponding to the commit request is approved by the second immutable ledger.
10 . The method of claim 1 , wherein the commit request corresponds to at least one additional request for a set of at least one additional cryptographic token.
11 . The method of claim 1 , wherein the commit output further references at least two addresses representing potential participants to the action.
12 . The method of claim 11 , wherein the generating party is identified by one of the at least two addresses representing potential participants to the action.
13 . The method of claim 11 , wherein a fraction of the at least one particular cryptographic token is:
exchanged in the transfer; and
identified in the reveal request.
14 . The method of claim 1 , wherein the generating party is selected at least in part based on the at least one condition referenced in the commit output.
15 . The method of claim 1 , wherein:
the action is a transfer corresponding to the set of at least one particular cryptographic token; and
at least some of the set of at least one particular cryptographic token comprises digital currency.
16 . The method of claim 1 wherein the random number generator is a pseudo-random generator.
17 . A non-transitory computer-readable medium comprising instructions that, when executed, are configured to cause a processor to perform a process for confirming token ownership rights, the process comprising:
generating a pre-image value, wherein the pre-image value is generated using a random number generator;
generating an action request, wherein the action request corresponds to an action performed for a set of at least one particular cryptographic token;
deriving, using the processor, a commit output, wherein the commit output:
is derived based, at least in part, on the pre-image value; and
references at least one condition for the action;
generating a commit request, wherein the commit request obfuscates the action request based on the commit output;
submitting the commit request to a particular immutable ledger;
receiving a first confirmation when the commit request is approved by the particular immutable ledger; and
after a reveal request referencing the commit output is published, receiving, based on the reveal request, a second confirmation
that the action request has been approved, wherein the reveal request referencing the commit output is associated with a verification that:
the set of at least one particular cryptographic token is in possession of a generating party for the commit output;
the at least one condition for the action occurred; and
the reveal request comprises a reference to the commit output.
18 . The non-transitory computer-readable medium of claim 17 , wherein:
the action request comprises a transfer request, transferring the set of at least one particular cryptographic token to a receiving address; and
the particular immutable ledger is a blockchain.
19 . The non-transitory computer-readable medium of claim 18 , wherein the reveal request is submitted to the particular immutable ledger by the receiving address.
20 . The non-transitory computer-readable medium of claim 17 , wherein deriving the commit output comprises applying at least one one-way function to the pre-image value and at least one message comprising an action-associated value.
21 . The non-transitory computer-readable medium of claim 20 , wherein a first function of the at least one one-way function is a cryptographic hash function.
22 . The non-transitory computer-readable medium of claim 21 , wherein the action-associated value included in a second message of the at least one message comprises at least one of:
an account identifier for each of one or more parties to the action;
a token type value, where the token type value numerically identifies a token type for the set of at least one particular cryptographic token; or
an address value, where the address value corresponds to a blockchain address.
23 . The non-transitory computer-readable medium of claim 20 , wherein the second confirmation depends on whether applying the at least one one-way function to the commit output and the action-associated value referenced in the reveal request produces the same result as applying the at least one one-way function to the commit output and the action-associated value referenced in the commit request.
24 . The non-transitory computer-readable medium of claim 17 , wherein:
the reveal request is submitted to a second immutable ledger; and
a node, monitoring both the particular immutable ledger and the second immutable ledger, determines whether the reveal request comprises the reference to the commit output.
25 . The non-transitory computer-readable medium of claim 24 , wherein the action request corresponding to the commit request is approved by the second immutable ledger.
26 . The non-transitory computer-readable medium of claim 17 , wherein the commit request corresponds to at least one additional request for a set of at least one additional cryptographic token.