IP Library Granted Patent US 12,615,160
Granted Patent B2
US 12,615,160 · App. 18/820,107 · Granted Apr 28, 2026

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,615,160
App. No.
18/820,107
Granted
Apr 28, 2026
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 (76)

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 blockchain action, wherein the first request has a first origination, and 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 origination corresponds to an origination requirement; and

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

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 origination, and 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 origination corresponds to an origination requirement; and

in response to determining that the first origination corresponds to the origination 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 determining, based on the first self-executing program, whether the first origination corresponds to the origination requirement further comprising:

determining an entity that issued the first request; and

determining the first origination based on the entity.

4 . The method of claim 2 , wherein determining, based on the first self-executing program, whether the first origination corresponds to the origination requirement further comprising:

determining a vetted entity; and

determining the origination requirement based on the vetted entity.

5 . The method of claim 2 , wherein determining, based on the first self-executing program, whether the first origination corresponds to the origination requirement further comprising:

determining an address that issued the first request; and

determining the first origination based on the address.

6 . The method of claim 2 , wherein determining, based on the first self-executing program, whether the first origination corresponds to the origination requirement further comprising:

determining a unique identifier that issued the first request; and

determining the first origination based on the unique identifier.

7 . The method of claim 2 , further comprising:

determining a notification requirement for the first request, wherein the notification requirement notifies an entity of the first request; and

receiving a confirmation that the notification requirement has been satisfied.

8 . The method of claim 2 , further comprising:

determining a first processing characteristic corresponding to the first request; and

determining, based on the first self-executing program, whether the first processing characteristic corresponds to a predetermined processing characteristic.

9 . The method of claim 8 , wherein determining whether the first processing characteristic corresponds to the predetermined processing characteristic comprises:

determining, based on the first processing characteristic, a security certificate for the first request;

determining, based on the predetermined processing characteristic, a security certificate requirement for the bifurcated self-executing program; and

determining whether the security certificate corresponds to the security certificate requirement.

10 . The method of claim 8 , wherein determining whether the first processing characteristic corresponds to the predetermined processing characteristic comprises:

determining, based on the first processing characteristic, a request validator for the first request;

determining, based on the predetermined processing characteristic, a request validator requirement for the bifurcated self-executing program; and

determining whether the request validator corresponds to the request validator requirement.

11 . The method of claim 8 , wherein determining whether the first processing characteristic corresponds to the predetermined processing characteristic comprises:

determining, based on the first processing characteristic, a request validation procedure for the first request;

determining, based on the predetermined processing characteristic, a request validation procedure requirement for the bifurcated self-executing program; and

determining whether the request validation procedure corresponds to the request validation procedure requirement.

12 . The method of claim 8 , wherein determining whether the first processing characteristic corresponds to the predetermined processing characteristic comprises:

determining, based on the first processing characteristic, a request testing protocol procedure for the first request;

determining, based on the predetermined processing characteristic, a request testing protocol requirement for the bifurcated self-executing program; and

determining whether the request testing protocol procedure corresponds to the request testing protocol requirement.

13 . The method of claim 8 , wherein determining whether the first processing characteristic corresponds to the predetermined processing characteristic comprises:

determining, based on the first processing characteristic, a supported protocol for the first request;

determining, based on the predetermined processing characteristic, a protocol requirement for the bifurcated self-executing program; and

determining whether the supported protocol corresponds to the protocol requirement.

14 . The method of claim 8 , wherein determining whether the first processing characteristic corresponds to the predetermined processing characteristic comprises:

determining, based on the first processing characteristic, a digital asset type for the first request;

determining, based on the predetermined processing characteristic, a digital asset type requirement for the bifurcated self-executing program; and

determining whether the digital asset type corresponds to the digital asset type requirement.

15 . The method of claim 8 , wherein determining whether the first processing characteristic corresponds to the predetermined processing characteristic comprises:

determining, based on the first processing characteristic, a synthetic asset support for the first request;

determining, based on the predetermined processing characteristic, a synthetic asset support requirement for the bifurcated self-executing program; and

determining whether the synthetic asset support corresponds to the synthetic asset support requirement.

16 . The method of claim 8 , wherein the bifurcated self-executing program is generated based on:

receiving a first uncompiled version of the first self-executing program;

receiving a second uncompiled version of the second self-executing program; and

compiling the first uncompiled version of the first self-executing program and the second uncompiled version of the second self-executing program to generate the bifurcated self-executing program.

17 . 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 origination, and 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 origination corresponds to an origination requirement; and

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

18 . The non-transitory, computer-readable medium of claim 17 , wherein determining, based on the first self-executing program, whether the first origination corresponds to the origination requirement further comprising:

determining an entity that issued the first request; and

determining the first origination based on the entity.

19 . The non-transitory, computer-readable medium of claim 17 , wherein determining, based on the first self-executing program, whether the first origination corresponds to the origination requirement further comprising:

determining a vetted entity; and

determining the origination requirement based on the vetted entity.

20 . The non-transitory, computer-readable medium of claim 17 , wherein determining, based on the first self-executing program, whether the first origination corresponds to the origination requirement further comprising:

determining an address that issued the first request; and

determining the first origination based on the address.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 27, 2026
From: ROSENOER, JONATHAN MILES COLLIN; WOLBERG-STOK, ANDRES; SINGH, SHISHIR; DIMITROV, BISER
To: CITIBANK, N.A.
Reel/Frame 074215/0332 →
Continuity (4)
Continuation 18465942 · Sep 12, 2023
Continuation 18189907 · Mar 24, 2023
Continuation In Part 18062090 · Dec 6, 2022
Related Publication 20240430102A1 · Dec 26, 2024
References Cited (47)
US 6341349B1 · Takaragi · 2002 [cited by examiner]
US 7664260B2 · Futa · 2010 [cited by examiner]
US 7861252B2 · Uszok · 2010 [cited by examiner]
US 8380817B2 · Okada · 2013 [cited by examiner]
US 8387020B1 · MacLachlan · 2013 [cited by examiner]
US 10547455B1 · Yavuz · 2020 [cited by examiner]
US 10620988B2 · Lauderdale · 2020 [cited by examiner]
US 11133942B1 · Griffin · 2021 [cited by examiner]
US 11410136B2 · Cook · 2022 [cited by examiner]
US 11416226B2 · Wright · 2022 [cited by examiner]
US 11546162B2 · Covaci · 2023 [cited by examiner]
US 11646903B1 · Rosenoer · 2023 [cited by examiner]
US 11687792B2 · Johnson · 2023 [cited by examiner]
US 11755746B1 · Rosenoer · 2023 [cited by examiner]
US 11803847B2 · Kamalsky · 2023 [cited by examiner]
US 11971881B1 · Surendran · 2024 [cited by examiner]
US 11991299B1 · Rosenoer · 2024 [cited by examiner]
US 20030007178A1 · Jeyachandran · 2003 [cited by examiner]
US 20040098454A1 · Trapp · 2004 [cited by examiner]
US 20050204348A1 · Horning · 2005 [cited by examiner]
US 20060029221A1 · Ibrahim · 2006 [cited by examiner]
US 20060095918A1 · Hirose · 2006 [cited by examiner]
US 20100313189A1 · Beretta · 2010 [cited by examiner]
US 20120198228A1 · Oberheide · 2012 [cited by examiner]
US 20140258998A1 · Adl-Tabatabai · 2014 [cited by examiner]
US 20150193744A1 · Adleman · 2015 [cited by examiner]
US 20160358169A1 · Androulaki · 2016 [cited by examiner]
US 20180343114A1 · Ben-Ari · 2018 [cited by examiner]
US 20190188706A1 · McCurtis · 2019 [cited by examiner]
US 20200005912A1 · Saliman · 2020 [cited by examiner]
US 20200074470A1 · Deshpande · 2020 [cited by examiner]
US 20200250168A1 · Xu · 2020 [cited by examiner]
US 20200272619A1 · Alferov · 2020 [cited by examiner]
US 20200349054A1 · Dai · 2020 [cited by examiner]
US 20210049288A1 · Li · 2021 [cited by examiner]
US 20210133182A1 · Anderson · 2021 [cited by examiner]
US 20210232662A1 · Corning · 2021 [cited by examiner]
US 20210264547A1 · Li · 2021 [cited by examiner]
US 20220012967A1 · McFarland, Jr. · 2022 [cited by examiner]
US 20220334804A1 · Hallman, Jr. · 2022 [cited by examiner]
US 20220334818A1 · McFarland, Jr. · 2022 [cited by examiner]
US 20220398149A1 · McFarland, Jr · 2022 [cited by examiner]
US 20230035321A1 · Vijayaraghavan · 2023 [cited by examiner]
US 20230168944A1 · Karlin · 2023 [cited by examiner]
US 20230206364A1 · Davis · 2023 [cited by examiner]
US 20240113900A1 · Johar · 2024 [cited by examiner]
US 20250259176A1 · Douglas · 2025 [cited by examiner]