Privacy preserving asset transfer between networks
A method for providing privacy-preserving asset transfers between networks, by connecting to a first blockchain network, receiving login data from a user, receiving an asset pledge transaction for an asset, confirming that the user is an owner of the asset based on a previous asset transfer transaction associated with the user, verifying an availability of the asset based on first blockchain network records, determining that a recipient is a registered user of a second blockchain network, assigning the asset to a first unique identifier, receiving at least one of a pledge proof request, from the recipient prior to expiration of the deadline, and an asset reclaim transaction, from the user after expiration of the deadline, the pledge proof request and reclaim transaction each comprising the first unique identifier and responding to the at least one of the pledge proof request and the asset reclaim request according to the deadline.
1 . A system, comprising:
a processor;
a memory on which are stored machine-readable instructions that when executed by the processor, cause the processor to:
connect to a first blockchain network configured to store user assets, the first blockchain network in communication with a second blockchain network;
receive login data from a user;
receive an asset pledge transaction for an asset on the first blockchain network from the user identified by the login data, the asset pledge transaction including i) a first unique identifier of the asset, ii) a digital signature of the user, iii) identification data of: the user, a recipient, a deadline, the first blockchain network, the second blockchain network as a destination network, asset type, asset value, a second unique identifier of the asset, iv) a randomization of a zero-knowledge asset transfer token (ZKAT) encoding the user as an owner of the asset, and v) a first zero-knowledge proof (ZKP) showing that the second unique identifier is a randomization of an existing token of the first blockchain network;
confirm that the user is an owner of the asset based on a previous asset transfer transaction associated with the user;
verify availability of the asset based on the ZKP and first blockchain network records;
determine that the recipient is a registered user of the second blockchain network;
assign the asset to the first unique identifier of an asset pledge script;
receive a pledge proof request, from the recipient prior to expiration of the deadline, the pledge proof request comprising the first unique identifier; and
respond to the pledge proof request with a signature of the first blockchain network;
receive, by a second participating node of the second blockchain network, a claim transaction including the second unique identifier of the asset, the deadline, a second ZKAT encoding the recipient as an owner of the asset, a second ZKP, and a signature of the recipient; and
add, by the second participating node of the second blockchain network, the second ZKAT, and the second unique identifier of the asset to the second blockchain network.
2 . The system of claim 1 , wherein the asset pledge comprises the first unique identifier that allows the network to identify the pledged token and sign its content.
3 . The system of claim 1 , wherein the first unique identifier is determined according to at least a private key of the user.
4 . The system of claim 1 , wherein the identification data of: the user, a recipient, a deadline, the first blockchain network, the second blockchain network as a destination network, asset type, asset value, a second unique identifier of the asset comprises a hiding commitment of the user, the recipient, the deadline, the first blockchain network, the second blockchain network, the asset type, and the asset value, and the second unique identifier.
5 . The system of claim 1 , wherein digital signature of the user comprises an anonymous signature.
6 . The system of claim 1 , wherein digital signature of the recipient comprises an anonymous signature.
7 . A method, comprising:
connecting, by a participating node, to a first blockchain network configured to store user assets, the first blockchain network in communication with a second blockchain network;
receiving, by the participating node login data from a user;
receiving, by the participating node, an asset pledge transaction for an asset on the first blockchain network from the user identified by the login data, the asset pledge transaction including i) a first unique identifier of the asset, ii) a digital signature of the user, iii) identification data of: the user, a recipient, a deadline, the first blockchain network, the second blockchain network as a destination network, asset type, asset value, a second unique identifier of the asset, iv) a randomization of a zero-knowledge asset transfer token (ZKAT) encoding the user as an owner of the asset, and v) a first zero-knowledge proof (ZKP) showing that the second unique identifier is a randomization of an existing token of the first blockchain network;
confirming, by the participating node, that the user is an owner of the asset based on a previous asset transfer transaction associated with the user;
verifying, by the participating node, an availability of the asset based on the ZKP and first blockchain network records;
determining, by the participating node, that the recipient is a registered user of the second blockchain network;
assigning, by the participating node, the asset to the first unique identifier of the asset pledge transaction;
receiving, by the participating node, a pledge proof request, from the recipient prior to expiration of the deadline, the pledge proof request comprising the first unique identifier; and
responding to the pledge proof request with a signature of the first blockchain network;
receiving by a second participating node of the second blockchain network, a claim transaction including the second unique identifier of the asset, the deadline, a second ZKAT encoding the recipient as an owner of the asset, a second ZKP, and a signature of the recipient; and
adding, by the second participating node of the second blockchain network, the second ZKAT, and the second unique identifier of the asset to the second blockchain network.
8 . The method of claim 7 , wherein the asset pledge transaction further comprises the first unique identifier that allows the network to identify the pledged token and sign its content.
9 . The method of claim 7 , wherein the first unique identifier is determined according to at least a private key of the user.
10 . The method of claim 7 , wherein the identification data of: the user, a recipient, a deadline, the first blockchain network, the second blockchain network as a destination network, asset type, asset value, a second unique identifier of the asset comprises a hiding commitment of the user, the recipient, the deadline, the first blockchain network, the second blockchain network, the asset type, and the asset value, and the second unique identifier.
11 . The method of claim 7 , wherein digital signature of the user comprises an anonymous signature.
12 . The method of claim 7 , wherein digital signature of the recipient comprises an anonymous signature.
13 . A non-transitory computer readable medium comprising instructions, that when read by a processor of a participating node, cause the processor to:
connect to a first blockchain network configured to store user assets, the first blockchain network in communication with a second blockchain network;
receive login data from a user;
receive an asset pledge transaction for an asset on the first blockchain network from the user identified by the login data, the asset pledge transaction including i) a first unique identifier of the asset, ii) a digital signature of the user, iii) identification data of: the user, a recipient, a deadline, the first blockchain network, the second blockchain network as a destination network, asset type, asset value, a second unique identifier of the asset, iv) a randomization of a zero-knowledge asset transfer token (ZKAT) encoding the user as an owner of the asset, and v) a first zero-knowledge proof (ZKP) showing that the second unique identifier is a randomization of an existing token of the first blockchain network;
confirm that the user is an owner of the asset based on a previous asset transfer transaction associated with the user;
verify availability of the asset based on the ZKP and first blockchain network records;
determine that the recipient is a registered user of the second blockchain network;
assign the asset to the first unique identifier of an asset pledge script;
receive a pledge proof request, from the recipient prior to expiration of the deadline, the pledge proof request comprising the first unique identifier; and
respond to the pledge proof request with a signature of the first blockchain network;
receive, by a second participating node of the second blockchain network, a claim transaction including the second unique identifier of the asset, the deadline, a second ZKAT encoding the recipient as an owner of the asset, a second ZKP, and a signature of the recipient; and
add, by the second participating node of the second blockchain network, the second ZKAT, and the second unique identifier of the asset to the second blockchain network.
14 . The non-transitory computer readable medium of claim 13 ,
wherein the asset pledge transaction further comprises the first unique identifier that allows the network to identify the pledged token and sign its content.
15 . The non-transitory computer readable medium of claim 13 , wherein the first unique identifier is determined according to at least a private key of the user.
16 . The non-transitory computer readable medium of claim 13 ,
wherein the identification data of: the user, a recipient, a deadline, the first blockchain network, the second blockchain network as a destination network, asset type, asset value, a second unique identifier of the asset comprises a hiding commitment of the user, the recipient, the deadline, the first blockchain network, the second blockchain network, the asset type, and the asset value, and the second unique identifier.
17 . The non-transitory computer readable medium of claim 13 , wherein the digital signature of the user comprises an anonymous signature.