IP Library › Granted Patent US 12,267,438
Granted Patent B2
US 12,267,438 · App. 17/729,586 · Granted Apr 1, 2025

Systems and methods for facilitating secure authentication when conducting blockchain operations using cryptography-based, storage applications

Inventors: Cassandra Alexandria Heart (Wichita, KS); Peter Jihoon Kim (Oakland, CA); Ben Schreck (Oakland, CA); Olivia Thet (Oakland, CA); Jonathan Ariel Bergknoff (Richardson, TX); Ankit Chiplunkar (Oakland, CA); Ethan Leland (Oakland, CA); Trevor Aron (Oakland, CA)
Assignee: Coinbase, Inc.
H04L9/3247H04L9/50
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,267,438
App. No.
17/729,586
Granted
Apr 1, 2025
Kind
B2
Abstract

Methods and system for managing partial private keys for cryptography-based, storage applications used in blockchain operations and/or facilitating secure authentication when conducting blockchain operations using cryptography-based, storage applications. For example, the methods and system may perform a plurality of blockchain operations for digital assets stored in a first cryptography-based, storage application, wherein the first cryptography-based, storage application corresponds to a first partial private key, and wherein the first partial private key is stored on a first user device, and wherein the second partial private key is not accessible to platform service facilitating the first cryptography-based, storage application.

Claims (81)

1. A system for facilitating secure authentication when conducting blockchain operations using hybrid on-user-device and remotely-stored key shares of a secure private key, the system comprising:

one or more processors and non-transitory media storing instructions that, when executed by the one or more processors, cause operations comprising:

in response to receiving, via a user device, a first user request to perform a blockchain operation corresponding to a public key, accessing, via an application programming interface (“API”) implemented on a remote device remote from the user device, a first user account corresponding to (i) the public key and (ii) a cryptography-based, storage application accessible to the remote device through a platform application;

retrieving, from the user account, a user address and a first partial private key of a private key associated with the public key;

querying the user device for use of a second partial private key of the private key in performing the blockchain operation;

generating a digital signature based on the first and second partial private keys of the private key; and

performing the blockchain operation based on the digital signature and the user address.

2. A method for facilitating secure authentication when conducting blockchain operations using cryptography-based, storage applications, the method comprising:

receiving, from a decentralized application browser implemented on a first user device, a first user request to perform a blockchain operation corresponding to a first public key;

in response to receiving the first user request, accessing, via an application programming interface (“API”) implemented on a first remote device, a first user account corresponding to the first public key, wherein a first cryptography-based, storage application corresponding to the first user account is accessible to the first remote device;

retrieving, from the first user account, a first partial private key and a first user address;

querying the first user device for use of a second partial private key in performing the blockchain operation, wherein the second partial private key is stored on the first user device;

generating a first digital signature based on the first partial private key and the second partial private key; and

performing the blockchain operation based on the first digital signature and the first user address.

3. The method of claim 2 , wherein querying the first user device for the use of the second partial private key comprises establishing a key-signing session between the first user device and the first remote device, wherein during the key-signing session a random nonce value is generated based on the first partial private key and the second partial private key, and wherein the random nonce value is not shared with the first user device or the first remote device.

4. The method of claim 2 , wherein performing the blockchain operation based on the first digital signature and the first user address comprises:

generating a modified blockchain operation based on the first user address; and

transmitting the modified blockchain operation to the first cryptography-based, storage application.

5. The method of claim 2 , further comprising:

determining a characteristic of the first user device; and

selecting a signature scheme for the first digital signature based on the characteristic.

6. The method of claim 2 , wherein performing the blockchain operation based on the first digital signature and the first user address comprises:

determining a risk likelihood for the blockchain operation;

generating a modified blockchain operation based on the risk likelihood; and

transmitting the modified blockchain operation to the first cryptography-based, storage application, wherein the modified blockchain operation causes the first cryptography-based, storage application to transmit a warning to the first user device.

7. The method of claim 2 , wherein performing the blockchain operation based on the first digital signature and the first user address comprises:

determining a second user address corresponding to the blockchain operation;

determining that the second user address corresponds to a banned address; and

transmitting an error message for the blockchain operation to the first user device in response to determining that the second user address corresponds to the banned address.

8. The method of claim 2 , wherein performing the blockchain operation based on the first digital signature and the first user address comprises:

determining a second user address corresponding to the blockchain operation;

determining that the second user address corresponds to a banned address; and

generating a modified blockchain operation based on determining that the second user address corresponds to the banned address, wherein the modified blockchain operation comprises metadata corresponding to a read operation, and wherein the read operation is performed by a blockchain indexing service.

9. The method of claim 2 , wherein generating the first digital signature based on the first partial private key and the second partial private key comprises:

determining a first parameter comprising 32 bytes;

determining a second parameter comprising 32 bytes; and

determining a third parameter comprising 1 byte.

10. The method of claim 2 , wherein receiving the first user request to perform the blockchain operation comprises:

receiving, from a second remote device, a current state of a blockchain corresponding to the blockchain operation;

determining a characteristic of the blockchain operation based on the current state;

querying the first user device for confirmation of the blockchain operation based on the characteristic; and

receiving a second user request confirming a performance of the blockchain operation based on the characteristic.

11. The method of claim 2 , further comprising:

receiving a third user request from the first user device, wherein the third user request requests access to the second partial private key;

performing a device authentication for the third user request; and

transmitting data for the second partial private key to the first user device.

12. One or more non-transitory computer-readable media for facilitating secure authentication when conducting blockchain operations using cryptography-based, storage applications, comprising instructions that, when executed by one or more processors, causes operations comprising:

receiving, from a decentralized application browser implemented on a first user device, a first user request to perform a blockchain operation corresponding to a first public key;

in response to receiving the first user request, accessing, via an application programming interface (“API”) implemented on a first remote device, a first user account corresponding to (i) the first public key and (ii) a first cryptography-based, storage application accessible to the first remote device;

retrieving, from the first user account, a first user address and a first partial private key associated with a private key;

querying the first user device for use of a second partial private key associated with the private key in performing the blockchain operation, wherein the second partial private key is stored on the first user device;

generating a first digital signature based on the first partial private key and the second partial private key; and

performing the blockchain operation based on the first digital signature and the first user address.

13. The one or more non-transitory computer-readable media of claim 12 , wherein querying the first user device for the use of the second partial private key comprises establishing a key-signing session between the first user device and the first remote device, wherein during the key-signing session a random nonce value is generated based on the first partial private key and the second partial private key, and wherein the random nonce value is not shared with the first user device or the first remote device.

14. The one or more non-transitory computer-readable media of claim 12 , wherein performing the blockchain operation based on the first digital signature and the first user address comprises:

generating a modified blockchain operation based on the first user address; and

transmitting the modified blockchain operation to the first cryptography-based, storage application.

15. The one or more non-transitory computer-readable media of claim 12 , wherein the instructions cause further operations comprising:

determining a characteristic of the first user device; and

selecting a signature scheme for the first digital signature based on the characteristic.

16. The one or more non-transitory computer-readable media of claim 12 , wherein performing the blockchain operation based on the first digital signature and the first user address comprises:

determining a risk likelihood for the blockchain operation;

generating a modified blockchain operation based on the risk likelihood; and

transmitting the modified blockchain operation to the first cryptography-based, storage application, wherein the modified blockchain operation causes the first cryptography-based, storage application to transmit a warning to the first user device.

17. The one or more non-transitory computer-readable media of claim 12 , wherein performing the blockchain operation based on the first digital signature and the first user address comprises:

determining a second user address corresponding to the blockchain operation;

determining that the second user address corresponds to a banned address; and

transmitting an error message for the blockchain operation to the first user device in response to determining that the second user address corresponds to the banned address.

18. The one or more non-transitory computer-readable media of claim 12 , wherein performing the blockchain operation based on the first digital signature and the first user address comprises:

determining a second user address corresponding to the blockchain operation;

determining that the second user address corresponds to a banned address; and

generating a modified blockchain operation based on determining that the second user address corresponds to the banned address, wherein the modified blockchain operation comprises metadata corresponding to a read operation, and wherein the read operation is performed by a blockchain indexing service.

19. The one or more non-transitory computer-readable media of claim 12 , wherein receiving the first user request to perform the blockchain operation comprises:

receiving, from a second remote device, a current state of a blockchain corresponding to the blockchain operation;

determining a characteristic of the blockchain operation based on the current state;

querying the first user device for confirmation of the blockchain operation based on the characteristic; and

receiving a second user request confirming a performance of the blockchain operation based on the characteristic.

20. The one or more non-transitory computer-readable media of claim 12 , wherein the instructions cause further operations comprising:

receiving a third user request from the first user device, wherein the third user request requests access to the second partial private key;

performing a device authentication for the third user request; and

transmitting data for the second partial private key to the first user device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2022
From: HEART, CASSANDRA ALEXANDRIA; KIM, PETER JIHOON; SCHRECK, BEN; THET, OLIVIA; BERGKNOFF, JONATHAN ARIEL; CHIPLUNKAR, ANKIT; LELAND, ETHAN; ARON, TREVOR
To: COINBASE, INC.
Reel/Frame 060765/0544 →
Continuity (1)
Related Publication 20230344642A1 · Oct 26, 2023
References Cited (17)
US 8234302B1 · Goodwin et al. · 2012 [cited by applicant]
US 20170262639A1 · D'Souza et al. · 2017 [cited by applicant]
US 20180037298A1 · Su et al. · 2018 [cited by applicant]
US 20180213059A1 · Alsina et al. · 2018 [cited by applicant]
US 20180218454A1 · Simon et al. · 2018 [cited by applicant]
US 20180323970A1 · Maron et al. · 2018 [cited by applicant]
US 20190114182A1 · Chalakudi · 2019 [cited by examiner]
US 20190312878A1 · Brown et al. · 2019 [cited by applicant]
US 20200067907A1 · Avetisov · 2020 [cited by examiner]
US 20200366473A1 · Brooks et al. · 2020 [cited by applicant]
US 20210056541A1 · Kim · 2021 [cited by applicant]
US 20220318907A1 · Bleznak et al. · 2022 [cited by applicant]
WO WO2006059849A1 · 2006 [cited by applicant]
WO WO2018194736A1 · 2018 [cited by applicant]
Rosario Gennaro et al., “One Round Threshold ECDSA with Identifiable Abort,” 2020 (32 pages). [cited by applicant]
Non-Final Office Action issued in U.S. Appl. No. 17/729,563 on May 15, 2024. [cited by applicant]
US Non-Final Office Action on US Appl. U.S. Appl. No. 17/729,563 Dated Jul. 17, 2024 (25 pages). [cited by applicant]