IP Library › Granted Patent US 11,646,903
Granted Patent B1
US 11,646,903 · App. 18/063,052 · Granted May 9, 2023

Systems and methods for generating shell-wrapped self-executing programs for conducting cryptographically secure actions

Inventor: Jonathan Miles Collin Rosenoer (Westport, CT)
Assignee: Citibank, N.A.
H04L9/50H04L9/3268
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 11,646,903
App. No.
18/063,052
Granted
May 9, 2023
Kind
B1
Abstract

Systems and methods for generating shell-wrapped self-executing programs for conducting cryptographically secure blockchain actions on public, non-permissioned blockchain networks that are cryptographically secure. For example, the shell-wrapped self-executing program may comprise a shell program and the self-executing program. The shell program may contain and output one or more validation characteristics about the self-executing program and coupled data input systems (e.g., oracles) in response to a query about accessing the self-executing program. As such, any entity (e.g., a legacy computing system and/or another self-executing program) that requests to access the self-executing program may first receive information about the validation (if any) of the self-executing program.

Claims (93)

1. A system for generating shell-wrapped self-executing programs for conducting cryptographically secure blockchain actions on public, non-permissioned blockchain networks that are cryptographically secure, the system comprising:

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

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

receiving, from a first entity, a self-executing program for publication in an encrypted format on the cryptographically secure network;

receiving a cryptographically secure validation characteristic, wherein the validation characteristic indicates an input for entities attempting to validate the self-executing program;

generating a shell program for interacting with requests to access the self-executing program, wherein the shell program encrypts the self-executing program in the encrypted format on the cryptographically secure network, and wherein the shell program outputs the validation characteristic in response to the requests;

generating a shell-wrapped self-executing program by encrypting the self-executing program in the encrypted format with the shell program; and

publishing the shell-wrapped self-executing program to the cryptographically secure network;

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

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

querying a shell program of the shell-wrapped self-executing program requesting a required validation characteristic prior to requesting that the self-executing program of the shell-wrapped self-executing program perform a first blockchain action;

receiving from the shell program of the shell-wrapped self-executing program the validation characteristic;

determining, based on the validation characteristic, whether the shell-wrapped self-executing program corresponds to the required validation characteristic for a second entity; and

in response to determining that the validation characteristic corresponds to the required validation characteristic, processing the first blockchain action with the self-executing program of the shell-wrapped self-executing program.

2. A method for generating shell-wrapped self-executing programs for conducting cryptographically secure blockchain actions on public, non-permissioned blockchain networks that are cryptographically secure, the method comprising:

receiving a self-executing program for publication in an encrypted format on a cryptographically secure network;

receiving a cryptographically secure validation characteristic, wherein the validation characteristic indicates an input for entities attempting to validate the self-executing program;

generating a shell program for interacting with requests to access the self-executing program, wherein the shell program encrypts the self-executing program in the encrypted format on the cryptographically secure network, and wherein the shell program outputs the validation characteristic in response to the requests;

generating a shell-wrapped self-executing program by encrypting the self-executing program in the encrypted format with the shell program; and

publishing the shell-wrapped self-executing program to the cryptographically secure network.

3. The method of claim 2 , wherein the validation characteristic is used by a requesting entity to validate the self-executing program according to a required validation characteristic by:

determining, based on the validation characteristic, a security certificate for the self-executing program;

determining, based on the required validation characteristic, a security certificate requirement of the requesting entity for executing a first blockchain action using the self-executing program of the shell-wrapped self-executing program; and

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

4. The method of claim 2 , wherein the validation characteristic is used by a requesting entity to validate the self-executing program according to a required validation characteristic by:

determining, based on the validation characteristic, a code origination identifier for the self-executing program;

determining, based on the required validation characteristic, a code origination identifier requirement of the requesting entity for executing a first blockchain action using the self-executing program of the shell-wrapped self-executing program; and

determining whether the code origination identifier corresponds to the code origination identifier requirement.

5. The method of claim 2 , wherein the validation characteristic is used by a requesting entity to validate the self-executing program according to a required validation characteristic by:

determining, based on the validation characteristic, a program validator for the self-executing program;

determining, based on the required validation characteristic, a program validator requirement of the requesting entity for executing a first blockchain action using the self-executing program of the shell-wrapped self-executing program; and

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

6. The method of claim 2 , wherein the validation characteristic is used by a requesting entity to validate the self-executing program according to a required validation characteristic by:

determining, based on the validation characteristic, a program validation procedure for the self-executing program;

determining, based on the required validation characteristic, a program validation procedure requirement of the requesting entity for executing a first blockchain action using the self-executing program of the shell-wrapped self-executing program; and

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

7. The method of claim 2 , wherein the validation characteristic is used by a requesting entity to validate the self-executing program according to a required validation characteristic by:

determining, based on the validation characteristic, a program testing protocol procedure for the self-executing program;

determining, based on the required validation characteristic, a program testing protocol requirement of the requesting entity for executing a first blockchain action using the self-executing program of the shell-wrapped self-executing program; and

determining whether the program testing protocol corresponds to the program testing protocol requirement.

8. The method of claim 2 , wherein the validation characteristic is used by a requesting entity to validate the self-executing program according to a required validation characteristic by:

determining, based on the validation characteristic, a notification requirement for the self-executing program, wherein the notification requirement notifies an entity of the self-executing program;

receiving a confirmation that the notification requirement has been satisfied; and

determining that the response satisfies the required validation characteristic.

9. The method of claim 2 , wherein the validation characteristic is used by a requesting entity to validate the self-executing program according to a required validation characteristic by:

determining, based on the validation characteristic, a supported protocol for the self-executing program;

determining, based on the required validation characteristic, a protocol requirement of the requesting entity for executing a first blockchain action using the self-executing program of the shell-wrapped self-executing program; and

determining whether the supported protocol corresponds to the protocol requirement.

10. The method of claim 2 , wherein the validation characteristic is used by a requesting entity to validate the self-executing program according to a required validation characteristic by:

determining, based on the validation characteristic, a digital asset type for the self-executing program;

determining, based on the required validation characteristic, a digital asset type requirement of the requesting entity for executing a first blockchain action using the self-executing program of the shell-wrapped self-executing program; and

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

11. The method of claim 2 , wherein the validation characteristic is used by a requesting entity to validate the self-executing program according to a required validation characteristic by:

determining, based on the validation characteristic, a synthetic asset support for the self-executing program;

determining, based on the required validation characteristic, a synthetic asset support requirement of the requesting entity for executing a first blockchain action using the self-executing program of the shell-wrapped self-executing program; and

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

12. The method of claim 2 , wherein the validation characteristic is used by a requesting entity to validate the self-executing program according to a required validation characteristic by:

determining, based on the validation characteristic, a ring signature for the self-executing program;

determining, based on the required validation characteristic, a ring signature requirement of the requesting entity for executing a first blockchain action using the self-executing program of the shell-wrapped self-executing program; and

determining whether the ring signature corresponds to the ring signature requirement.

13. The method of claim 2 , wherein the validation characteristic is used by a requesting entity to validate the self-executing program according to a required validation characteristic by:

determining, based on the validation characteristic, a Multi-Party Computation (MPC) signature for the self-executing program;

determining, based on the required validation characteristic, an MPC signature requirement of the requesting entity for executing a first blockchain action using the self-executing program of the shell-wrapped self-executing program; and

determining whether the MPC signature corresponds to the MPC signature requirement.

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

querying a shell program of a shell-wrapped self-executing program requesting a required validation characteristic prior to requesting that a self-executing program of the shell-wrapped self-executing program perform a first blockchain action;

receiving from the shell program of the shell-wrapped self-executing program the validation characteristic;

determining, based on the validation characteristic, whether the shell-wrapped self-executing program corresponds to a required validation characteristic of a requesting entity; and

in response to determining that the validation characteristic corresponds to the required validation characteristic, processing the first blockchain action with the self-executing program of the shell-wrapped self-executing program.

15. The non-transitory, computer-readable medium of claim 14 , wherein determining, based on the validation characteristic, whether the shell-wrapped self-executing program corresponds to the required validation characteristic further comprises:

determining, based on the validation characteristic, a security certificate for the self-executing program;

determining, based on the required validation characteristic, a security certificate requirement of the requesting entity for executing a first blockchain action using the self-executing program of the shell-wrapped self-executing program; and

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

16. The non-transitory, computer-readable medium of claim 14 , wherein determining, based on the validation characteristic, whether the shell-wrapped self-executing program corresponds to the required validation characteristic further comprises:

determining, based on the validation characteristic, a code origination identifier for the self-executing program;

determining, based on the required validation characteristic, a code origination identifier requirement of the requesting entity for executing a first blockchain action using the self-executing program of the shell-wrapped self-executing program; and

determining whether the code origination identifier corresponds to the code origination identifier requirement.

17. The non-transitory, computer-readable medium of claim 14 , wherein determining, based on the validation characteristic, whether the shell-wrapped self-executing program corresponds to the required validation characteristic further comprises:

determining, based on the validation characteristic, a program validator for the self-executing program;

determining, based on the required validation characteristic, a program validator requirement of the requesting entity for executing a first blockchain action using the self-executing program of the shell-wrapped self-executing program; and

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

18. The non-transitory, computer-readable medium of claim 14 , wherein determining, based on the validation characteristic, whether the shell-wrapped self-executing program corresponds to the required validation characteristic further comprises:

determining, based on the validation characteristic, a program validation procedure for the self-executing program;

determining, based on the required validation characteristic, a program validation procedure requirement of the requesting entity for executing a first blockchain action using the self-executing program of the shell-wrapped self-executing program; and

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

19. The non-transitory, computer-readable medium of claim 14 , wherein determining, based on the validation characteristic, whether the shell-wrapped self-executing program corresponds to the required validation characteristic further comprises:

determining, based on the validation characteristic, a program testing protocol procedure for the self-executing program;

determining, based on the required validation characteristic, a program testing protocol requirement of the requesting entity for executing a first blockchain action using the self-executing program of the shell-wrapped self-executing program; and

determining whether the program testing protocol corresponds to the program testing protocol requirement.

20. The non-transitory, computer-readable medium of claim 14 , wherein determining, based on the validation characteristic, whether the shell-wrapped self-executing program corresponds to the required validation characteristic further comprises:

determining, based on the validation characteristic, a notification requirement for the self-executing program, wherein the notification requirement notifies an entity of the self-executing program;

receiving a confirmation that the notification requirement has been satisfied; and

determining that the response satisfies the required validation characteristic.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 7, 2022
From: ROSENOER, JONATHAN MILES COLLIN
To: CITIBANK, N.A.
Reel/Frame 062018/0220 →
Cited By (3)
US 12,549,388 US 12,587,488 US 12,615,160