IP Library › Granted Patent US 12,229,117
Granted Patent B2
US 12,229,117 · App. 18/244,280 · Granted Feb 18, 2025

Secure distribution of digital assets within a computing environment using permissioned distributed ledgers

Inventors: Alexey Shpurov (Toronto, CA); Albert Louis Rothenstein (Toronto, CA); Adrian Chung-Hey Ma (Richmond Hill, CA); Buturab Rizvi (Vaughan, CA); Alexandra Tsourkis (Toronto, CA); Francis James Alexander Guttridge (Vaughan, CA)
Assignee: The Toronto-Dominion Bank
G06F16/2365G06Q30/0226H04L9/30H04L9/3247H04L9/3271
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,229,117
App. No.
18/244,280
Granted
Feb 18, 2025
Kind
B2
Abstract

The disclosed exemplary embodiments include computer-implemented systems, devices, and processes that securely distribute digital assets within a computing environment using permissioned distributed ledgers. For example, an apparatus may receive, from a computing system, an allocation request, a first digital signature applied to the allocation request, and a second digital signature applied to the allocation request and to the first digital signature. Based on a validation of the first and second digital signatures, the apparatus may approve the allocation request and allocate a digital asset to the first device in accordance with the approved allocation request. The apparatus may also perform operations that record a public key and asset data identifying a digital asset onto a distributed ledger, and may generate and transmit, to the first device, confirmation data indicative of the allocation of the digital asset to the first device.

Claims (75)

1. An apparatus, comprising:

a communications interface;

a memory storing instructions; and

at least one processor coupled to the communications interface and the memory, the at least one processor being configured to execute the instructions to:

receive, from a computing system via the communications interface, a request, a first digital signature applied to the request, and a second digital signature applied to the request and to the first digital signature, the request comprising a first public key of a first device, and the request being indicative of a recordation of data associated with a second device within a first element of a distributed ledger;

perform operations that approve the request based on a validation of the first and second digital signatures, and based on a determination that the first element of the distributed ledger includes a second public key of the second device and that at least one second element of the distributed ledger fails to include the second public key; and

transmit confirmation data to the first device via the communications interface, the confirmation data being indicative of a transfer of a digital asset to the first device, and being indicative of a recordation of the first public key and asset data characterizing the digital asset within a third element of the distributed ledger.

2. The apparatus of claim 1 , wherein the at least one processor is further configured to execute the instructions to perform operations that record the first public key and the asset data within the third element of the distributed ledger.

3. The apparatus of claim 2 , wherein the at least one processor is further configured to execute the instructions to transmit, via the communications interface, the first public key and the asset data to one or more peer computing systems, the one or more peer computing systems being configured to perform operations that record the first public key and the asset data within the third element of the distributed ledger.

4. The apparatus of claim 1 , wherein:

the request comprises an identifier of the first element of the distributed ledger; and

the at least one processor is further configured to execute the instructions to determine, based on the identifier, that the first element includes the second public key and to determine that the at least one second element of the distributed ledger fails to include the second public key.

5. The apparatus of claim 1 , wherein:

the request comprises an allocation request associated with a referral process involving the first device; and

the at least one processor is further configured to execute the instructions to:

load, from the memory, allocation data identifying one or more allocation criteria;

establish that the allocation request is consistent with the one or more allocation criteria based on the determination that the first element of the distributed ledger includes the second public key and the at least one second element of the distributed ledger fails to include the second public key; and

based on a validation of the first and second digital signatures, and based on the established consistency between the allocation request and the one or more allocation criteria, approve the allocation request and allocate the digital asset to the first device in accordance with the approved allocation request.

6. The apparatus of claim 5 , wherein the at least one processor is further configured to execute the instructions to obtain the asset data from a portion of the allocation data.

7. The apparatus of claim 1 , wherein:

the request is generated by an application program executed at the first device; and

the first element of the distributed ledger comprises a registration object, the registration object comprising the first public key and registration data associated with the first device, the registration data comprising at least one of a network address of the first device or an application cryptogram of the application program.

8. The apparatus of claim 7 , wherein the at least one processor is further configured to:

based on the validation of the first and second digital signatures, and based on the determination that the first element of the distributed ledger includes the second public key and that the at least one second element of the distributed ledger fails to include the second public key, generate an allocation object that includes the first public key and the asset data; and

perform operations that record the allocation object within the third element of the distributed ledger, the first public key associating the registration object and the allocation object within the first and third elements of the distributed ledger.

9. The apparatus of claim 1 , wherein:

the request further comprises a first code challenge generated by the apparatus based on at least one of a network address of the first device or an application cryptogram of an application program executed at the first device; and

the at least one processor is further configured to execute the instructions to:

obtain the first code challenge from the request and load, from the memory, a second code challenge associated with at least one of the network address or the application cryptogram;

determine that the first code challenge corresponds to the second code challenge; and

approve the request based on the determination that the first code challenge corresponds to the second code challenge, based on the validation of the first and second digital signatures, and based on the determination that the first element the distributed ledger includes the second public key and that the at least one second element of the distributed ledger fails to include the second public key.

10. The apparatus of claim 1 , wherein:

the request is generated by a first application program executed at the first device;

the first public key is associated with the first application program, and the second public key is associated with a second application program executed at the second device; and

the first device is operable by a first customer, the second device is operable by a second customer, and the recorded data associated with the second device is further indicative of a successful registration of the second customer through a referral process.

11. A computer-implemented method, comprising:

receiving, from a computing system using at least one processor, a request, a first digital signature applied to the request, and a second digital signature applied to the request and to the first digital signature, the request comprising a first public key of a first device, and the request being indicative of a recordation of data associated with a second device within a first element of a distributed ledger;

performing operations, using the at least one processor, that approve the request based on a validation of the first and second digital signatures, and based on a determination that the first element of the distributed ledger includes a second public key of the second device and that at least one second element of the distributed ledger fails to include the second public key; and

transmit confirmation data to the first device using the at least one processor, the confirmation data being indicative of a transfer of a digital asset to the first device, and bring indicative of a recordation of the first public key and asset data characterizing the digital asset within a third element of the distributed ledger.

12. An apparatus, comprising:

a communications interface;

a memory storing instructions; and

at least one processor coupled to the communications interface and to the memory, the at least one processor being configured to execute the instructions to:

receive, from a first device via the communications interface, a request and a first digital signature applied to the request, the request comprising a first public key of the first device, and the request being indicative of a recordation of data associated with a second device within a first element of a distributed ledger;

based on a validation of the first digital signature, approve the request and apply a second digital signature to the request and to the first digital signature; and

transmit, via the communications interface, the request, the first digital signature, and the second digital signature to a computing system, the computing system being configured to validate the first and second digital signatures, determine that the first element of the distributed ledger includes a second public key of the second device and that at least one second element of the distributed ledger fails to include the second public key, and generate confirmation data indicative of a transfer of a digital asset to the first device, and indicative of a recordation of the first public key and asset data characterizing the digital asset within a third element of the distributed ledger.

13. The apparatus of claim 12 , wherein the at least one processor is further configured to execute the instructions to:

validate the first digital signature using the second public key; and

apply the second digital signature to the request and to the first digital signature using a private key of the apparatus.

14. The apparatus of claim 13 , wherein:

the second digital signature is indicative of the approval of the request by the apparatus; and

the confirmation data is indicative of a further approval of the request by the computing system.

15. The apparatus of claim 12 , wherein:

the first element of the distributed ledger comprises a registration object, the registration object comprising the first public key and registration data associated with the first device, the registration data comprising at least one of a network address of the first device or an application cryptogram of an application program executed at the first device; and

the third element of the distributed ledger comprises an allocation object, the allocation object comprising the first public key and the asset data, the first public key associating the registration and allocation objects within the first and third elements of the distributed ledger.

16. The apparatus of claim 12 , wherein the at least one processor is further configured to execute the instructions to:

receive the confirmation data from the computing system via the communications interface from the computing system; and

transmit the confirmation data to the first device via the communications interface, the first device being configured to present a portion of the confirmation data within a digital interface.

17. The apparatus of claim 12 , wherein the computing system is further configured to perform operations that record the first public key and the asset data within the third element of the distributed ledger.

18. The apparatus of claim 12 , wherein:

the request further comprises a first digital token indicative of a prior authentication associated with the first device; and

the at least one processor is further configured to execute the instructions to:

obtain the first digital token from the request and load, from the memory, a second digital token associated with at least one of a network address of the first device or an application cryptogram of an application program executed at the first device;

determine that the first digital token corresponds to the second digital token; and

based on the determination that the first digital token corresponds to the second digital token, and based on the validation of the first digital signature, approve the request and apply the second digital signature to the request and the first digital signature.

19. The apparatus of claim 12 , wherein:

the request is generated by a first application program executed at the first device;

the first public key is associated with the first application program, and the second public key is associated with a second application program executed at the second device; and

the first device is operable by a first customer, the second device is operable by a second customer, and the recorded data associated with the second device is further indicative of a successful registration of the second customer through a referral process.

20. The apparatus of claim 12 , wherein:

the request comprises an allocation request associated with a referral process involving the first device; and

the at least one processor is further configured to execute the instructions to, based on the validation of the first digital signature, approve the allocation request and apply the second digital signature to the request and to the first digital signature; and

the computing system is further configured to:

establish that the allocation request is consistent with one or more allocation criteria based on the determination that the first element of the distributed ledger includes the second public key and the at least one second element of the distributed ledger fails to include the second public key; and

based on a validation of the first and second digital signatures, and based on the established consistency between the allocation request and the one or more allocation criteria, allocate a digital asset to the first device in accordance with the approved allocation request.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 11, 2023
From: SHPUROV, ALEXEY; ROTHENSTEIN, ALBERT LOUIS; MA, ADRIAN CHUNG-HEY; RIZVI, BUTURAB; TSOURKIS, ALEXANDRA; GUTTRIDGE, FRANCIS JAMES ALEXANDER
To: THE TORONTO-DOMINION BANK
Reel/Frame 064856/0133 →
Continuity (2)
Continuation 16715189 · Dec 16, 2019
Related Publication 20230418809A1 · Dec 28, 2023
References Cited (35)
US 10195513B2 · Tran · 2019 [cited by applicant]
US 11210652B2 · Agarwal · 2021 [cited by examiner]
US 11210653B2 · Arora · 2021 [cited by examiner]
US 20080010139A1 · Elmer et al. · 2008 [cited by applicant]
US 20080027797A1 · Joshi et al. · 2008 [cited by applicant]
US 20160086211A1 · Lynn · 2016 [cited by applicant]
US 20160134488A1 · Straub et al. · 2016 [cited by applicant]
US 20160292680A1 · Wilson, Jr. · 2016 [cited by examiner]
US 20170154331A1 · Voorhees · 2017 [cited by examiner]
US 20180216946A1 · Gueye · 2018 [cited by applicant]
US 20180276710A1 · Tietzen · 2018 [cited by applicant]
US 20180285996A1 · Ma · 2018 [cited by applicant]
US 20180308116A1 · Maggio · 2018 [cited by applicant]
US 20180341945A1 · Welborn · 2018 [cited by applicant]
US 20180349484A1 · Carlisle · 2018 [cited by applicant]
US 20190050884A1 · Nelsen · 2019 [cited by applicant]
US 20190052467A1 · Bettger · 2019 [cited by applicant]
US 20190057454A1 · Komenda et al. · 2019 [cited by applicant]
US 20190065610A1 · Singh · 2019 [cited by applicant]
US 20190080406A1 · Molinari · 2019 [cited by applicant]
US 20190108542A1 · Durvasula et al. · 2019 [cited by applicant]
US 20190156363A1 · Postrel · 2019 [cited by applicant]
US 20190299105A1 · Knight et al. · 2019 [cited by applicant]
US 20190379531A1 · Aleksander et al. · 2019 [cited by applicant]
US 20190385183A1 · Ryu · 2019 [cited by applicant]
US 20190392439A1 · Perullo · 2019 [cited by applicant]
US 20200334668A1 · Nicli et al. · 2020 [cited by applicant]
US 20210119785A1 · Ben-Reuven et al. · 2021 [cited by applicant]
CA 2948229A1 · 2018 [cited by applicant]
WO 2018098598A1 · 2018 [cited by applicant]
WO 2019061249A1 · 2019 [cited by applicant]
Lim et al., “Blockchain Technologies in E-commerce: Social Shopping and Loyalty Program Applications.” Researchgate (2011), https://www.researchgate.net/profile/Hoang_Nguyen228/publication/332977375_Blockchain Technolog… [cited by applicant]
Jaewon Choi, “Modeling in Intergrated Customer Loyalty Program on Blockchain Technology by Using Credit Card,” International Journal on Future Revolution in Computer Science & Communication Engineering ISSN: 2454-4248 v… [cited by applicant]
S. Bulbul et al., “Blockchain-based Framework for Customer Loyalty Program,” 2018 3rd International Conference on Computer Science and Engineering (UBMK), Sarajevo, 2018, pp. 342-346. doi: 10. 1109/UBMK.2018.8566642, ht… [cited by applicant]
Agrawal et al., “Loyalty Points on the Blockchain,” Business and Management Studies vol. 4. No. 3, Sep. 2018 ISSN: 2374-5916 E-ISSN:2374-5924, http://www.redfame.com/journal/index.php/bms/article/viewFile/3523/3732. [cited by applicant]