IP Library Granted Patent US 12,113,914
Granted Patent B2
US 12,113,914 · App. 18/465,942 · Granted Oct 8, 2024

Systems and methods for enforcing cryptographically secure actions in public, non-permissioned blockchains using bifurcated self-executing programs comprising shared digital signature requirements

Inventors: Shishir Singh (Staten Island, NY); Jonathan Miles Collin Rosenoer (Westport, CT); Andres Wolberg-Stok (Weston, FL); Biser Dimitrov (New York, NY)
Assignee: Citibank, N.A.
H04L9/3247H04L9/0825H04L9/3255H04L9/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,113,914
App. No.
18/465,942
Granted
Oct 8, 2024
Kind
B2
Abstract

Systems and methods for a bifurcated self-executing program that wraps a first self-executing program (e.g., a first smart contract) on a blockchain within a second self-executing program (e.g., a second smart contract), in which the second self-executing program enforces the digital signature requirement. The bifurcated self-executing program comprises a single compiled self-executing program that combines the first self-executing program and the second self-executing program.

Claims (66)

1. A system for conducting cryptographically secure actions in public, non-permissioned blockchains using a layer one blockchain solution featuring bifurcated self-executing programs that are compiled together and comprise shared digital signature requirements, the system comprising:

a blockchain node for a cryptographically secure network, wherein the blockchain node comprises one or more processors; and

a non-transitory computer-readable medium having instructions recorded thereon that, when executed by the one or more processors, cause operations comprising:

receiving a first request, at a bifurcated self-executing program, to perform a first cryptographically secure blockchain action on the cryptographically secure network, wherein the first request has a first digital signature characteristic, and wherein the first digital signature characteristic comprises a variable defined in one or more lines of code of the bifurcated self-executing program, wherein the bifurcated self-executing program comprises a combination of a plurality of individual self-executing programs that cannot be altered once the bifurcated self-executing program is deployed;

in response to receiving the first request, processing the first request with a first self-executing program of the bifurcated self-executing program, wherein the first self-executing program comprises a first function subset defined in the one or more lines of code of the bifurcated self-executing program;

determining, based on the first self-executing program, whether the first digital signature characteristic corresponds to a digital signature requirement for the bifurcated self-executing program; and

in response to determining that the first digital signature characteristic corresponds to the digital signature requirement, processing the first request with a second self-executing program of the bifurcated self-executing program to perform the first cryptographically secure blockchain action, wherein the second self-executing program comprises a second function subset defined in the one or more lines of code of the bifurcated self-executing program.

2. A method for conducting cryptographically secure blockchain actions in public, non-permissioned blockchains using a layer one blockchain solution featuring bifurcated self-executing programs, the method comprising:

receiving a first request, at a bifurcated self-executing program, to perform a first blockchain action, wherein the first request has a first digital signature characteristic, wherein the bifurcated self-executing program comprises a combination of a plurality of individual self-executing programs that cannot be altered once the bifurcated self-executing program is deployed;

in response to receiving the first request, processing the first request with a first self-executing program of the bifurcated self-executing program;

determining, based on the first self-executing program, whether the first digital signature characteristic corresponds to a digital signature requirement; and

in response to determining that the first digital signature characteristic corresponds to the digital signature requirement, processing the first request with a second self-executing program of the bifurcated self-executing program to perform the first blockchain action.

3. The method of claim 2 , wherein the digital signature characteristic comprises a signature based on an accountable subgroup multi-signature (ASM) scheme.

4. The method of claim 2 , wherein the digital signature characteristic comprises a signature based on a Schnorr signature scheme.

5. The method of claim 2 , wherein the digital signature characteristic comprises a signature based on a Boneh-Lynn-Shacham (BLS) digital signature scheme.

6. The method of claim 2 , wherein determining whether the first digital signature characteristic corresponds to the digital signature requirement further comprises:

determining a first signatory corresponding to the first digital signature characteristic; and

determining whether the first signatory corresponds to an authorized signatory of a plurality of authorized signatories identified by the digital signature requirement.

7. The method of claim 2 , wherein determining whether the first digital signature characteristic corresponds to the digital signature requirement further comprises:

determining a first signature corresponding to the first digital signature characteristic; and

determining whether the first signature corresponds to an approved Schnorr signature identified by the digital signature requirement.

8. The method of claim 4 , wherein determining whether the first digital signature characteristic corresponds to the digital signature requirement further comprises:

determining a prime number;

determining a multiplicative group of integers modulo based on the prime number; and

generating a group of approved Schnorr signatures based on the multiplicative group of integers modulo.

9. The method of claim 2 , wherein determining whether the first digital signature characteristic corresponds to the digital signature requirement further comprises:

determining a first signature corresponding to the first digital signature characteristic, wherein the first signature is based on a private key; and

verifying the first signature based on a public key identified by the digital signature requirement.

10. The method of claim 2 , wherein determining whether the first digital signature characteristic corresponds to the digital signature requirement further comprises:

determining a first signature corresponding to the first digital signature characteristic, wherein the first signature is based on elements of an elliptic curve group; and

verifying the first signature using a bilinear pairing.

11. The method of claim 2 , wherein determining whether the first digital signature characteristic corresponds to the digital signature requirement further comprises:

determining a first signature corresponding to the first digital signature characteristic by:

receiving multiple signatures generated under multiple public keys for multiple messages; and

aggregating the multiple signatures into the first signature; and

determining whether the first signature corresponds to an approved signature identified by the digital signature requirement.

12. The method of claim 2 , wherein the first digital signature characteristic is based on:

receiving a first portion of a private key;

receiving a second portion of the private key; and

generating the first digital signature characteristic based on the first portion and the second portion.

13. The method of claim 2 , wherein the digital signature requirement is based on:

receiving a first contribution to a calculation of the digital signature requirement from a first user;

receiving a second contribution to the calculation of the digital signature requirement from a second user; and

calculating the digital signature requirement based on the first contribution and the second contribution.

14. The method of claim 2 , wherein the first digital signature characteristic comprises a signature that is determined based on a private key, and wherein the digital signature requirement comprises a determination of authenticity, by a signature verifying algorithm, based on a public key and the signature.

15. A non-transitory, computer-readable medium, comprising instructions that, when executed by one or more processors, cause operations comprising:

receiving a first request, at a bifurcated self-executing program, to perform a first blockchain action, wherein the first request has a first digital signature characteristic, wherein the bifurcated self-executing program comprises a combination of a plurality of individual self-executing programs that cannot be altered once the bifurcated self-executing program is deployed;

in response to receiving the first request, processing the first request with a first self-executing program of the bifurcated self-executing program;

determining, based on the first self-executing program, whether the first digital signature characteristic corresponds to a digital signature requirement; and

in response to determining that the first digital signature characteristic corresponds to the digital signature requirement, processing the first request with a second self-executing program of the bifurcated self-executing program to perform the first blockchain action.

16. The non-transitory, computer-readable medium of claim 15 , wherein determining whether the first digital signature characteristic corresponds to the digital signature requirement further comprises:

determining a first signatory corresponding to the first digital signature characteristic; and

determining whether the first signatory corresponds to an authorized signatory of a plurality of authorized signatories identified by the digital signature requirement.

17. The non-transitory, computer-readable medium of claim 15 , wherein determining whether the first digital signature characteristic corresponds to the digital signature requirement further comprises:

determining a first signature corresponding to the first digital signature characteristic; and

determining whether the first signature corresponds to an approved Schnorr signature identified by the digital signature requirement.

18. The non-transitory, computer-readable medium of claim 17 , wherein determining whether the first digital signature characteristic corresponds to the digital signature requirement further comprises:

determining a prime number;

determining a multiplicative group of integers modulo based on the prime number; and

generating a group of approved Schnorr signatures based on the multiplicative group of integers modulo.

19. The non-transitory, computer-readable medium of claim 15 , wherein determining whether the first digital signature characteristic corresponds to the digital signature requirement further comprises:

determining a first signature corresponding to the first digital signature characteristic, wherein the first signature is based on a private key; and

verifying the first signature based on a public key identified by the digital signature requirement.

20. The non-transitory, computer-readable medium of claim 15 , wherein determining whether the first digital signature characteristic corresponds to the digital signature requirement further comprises:

determining a first signature corresponding to the first digital signature characteristic, wherein the first signature is based on elements of an elliptic curve group; and

verifying the first signature using a bilinear pairing.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 12, 2023
From: ROSENOER, JONATHAN MILES COLLIN; SINGH, SHISHIR; WOLBERG-STOK, ANDRES; DIMITROV, BISER
To: CITIBANK, N.A.
Reel/Frame 064883/0566 →
Continuity (3)
Continuation 18189907 · Mar 24, 2023
Continuation In Part 18062090 · Dec 6, 2022
Related Publication 20240187256A1 · Jun 6, 2024