CPC G06Q 20/065 (2013.01) [G06Q 20/3825 (2013.01); G06Q 20/3829 (2013.01); G06Q 20/401 (2013.01); H04L 9/3247 (2013.01); H04L 9/3263 (2013.01); G06Q 20/36 (2013.01); G06Q 2220/00 (2013.01); H04L 2209/56 (2013.01)] | 20 Claims |
1. A non-custodial cryptocurrency platform, comprising:
at least one processor; and
memory storing computer-readable instructions that, when executed, cause the non-custodial cryptocurrency platform to:
receive an extended public key from a client device via a network;
receive a withdrawal request from the client device, the withdrawal request identifying a withdrawal amount and a withdrawal destination;
select, using payment unit information stored by the non-custodial cryptocurrency platform for a user of the client device, payment representations to satisfy the withdrawal request;
in response to the withdrawal request, generate, using the extended public key received from the client device, a consolidation address that is under direct ownership of the user, wherein the platform does not store a private key for the consolidation address;
generate at least one unsigned consolidation transaction that identifies at least one selected payment representation as an input and the generated consolidation address as an output;
generate an unsigned destination transaction that identifies the generated consolidation address as an input and the withdrawal destination as an output;
send, via the network, the unsigned destination transaction and each unsigned consolidation transaction to a signing enclave included in the client device, wherein the signing enclave stores the private key for the consolidation address;
receive, from the signing enclave via the network:
a signed destination transaction for the unsigned destination transaction sent to the signing enclave, wherein the signed destination transaction includes a signature generated by using the private key for the consolidation address; and
a signed consolidation transaction for each unsigned consolidation transaction sent to the signing enclave; and
send the signed destination transaction and each signed consolidation transaction to a cryptocurrency network.
|