IP Library Granted Patent US 12,711,011
Granted Patent B2
US 12,711,011 · App. 18/956,537 · Granted Aug 18, 2026

Systems and methods for resolving chaincode execution interruption in a blockchain network

Inventors: Ahmed A. Khan (Plano, TX); Mohammed Alsadi (Redmond, WA); Joel Jimenez (Flemington, NJ); Carl Paul Coursen (Wilmington, NC)
Assignee: Verizon Patent and Licensing Inc.
G06F11/0793G06F11/0721G06F11/079
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,711,011
App. No.
18/956,537
Granted
Aug 18, 2026
Kind
B2
Abstract

A system described herein may receive a request to perform a blockchain operation that includes a set of computations; identify portions of the blockchain operation, which each include a respective subset of the set of computations; perform a first subset of computations, of the set of computations, that are associated with a first portion of the blockchain operation; identify a set of outputs that result from performing the first subset of computations; identify, prior to completing the blockchain operation, a failure condition that prevents complete performance of a second subset of computations; perform the second subset of computations using the set of outputs that result from performing the first subset of computations; and communicate with a plurality of nodes, that maintain a blockchain, to record a result of performing the first and second subsets of computations to the blockchain.

Claims (72)

1 . A device, comprising:

one or more processors configured to:

output, to a first node of a blockchain network that is associated with a first blockchain, a request to perform a blockchain operation, wherein performing the requested blockchain operation includes performing a set of computations, wherein the first node:

identifies a plurality of portions of the blockchain operation, wherein each portion includes a respective subset of the set of computations;

performs a first subset of computations, of the set of computations, wherein the first subset is associated with a first portion of the plurality of portions of the blockchain operation;

identifies a set of outputs that result from performing the first subset of computations; and

records, to a second blockchain, the set of outputs that result from performing the first subset of computations, wherein recording the set of outputs, that result from performing the first subset of computations, to the second blockchain includes participating in a consensus mechanism with one or more other nodes of the blockchain network with respect to the set of outputs that result from performing the first subset of computations;

identify, prior to completion of the set of computations of the requested blockchain operation by the first node, a failure condition associated with the first node that prevents complete performance of a second subset of computations that is associated with a second portion of the set of computations;

after identifying the failure condition, output, to a second node of the blockchain network, a request to perform the second subset of computations using the set of outputs that result from performing the first subset of computations, wherein the second node:

identifies the set of outputs recorded to the second blockchain by the first node;

performs the second subset of computations; and

communicates with the one or more other nodes of the blockchain network to record a result of performing the first and second subsets of computations to the first blockchain.

2 . The device of claim 1 , wherein the set of computations includes chaincode.

3 . The device of claim 1 , wherein the set of outputs that result from performing the first subset of computations includes a set of intermediate values with respect to the set of computations.

4 . The device of claim 1 , wherein the requested blockchain operation includes a plurality of function calls, wherein the first portion includes a first function call of the plurality of function calls and wherein the second portion includes a second function call of the plurality of function calls.

5 . The device of claim 1 , wherein identifying the failure condition includes determining that the second subset of computations has not been completed by the first node within a threshold amount of time.

6 . The device of claim 1 , wherein identifying the failure condition includes determining a network connectivity failure associated with the first node.

7 . The device of claim 1 , wherein the plurality of portions of the blockchain operation further include a third subset of computations,

wherein the first node further:

performs, prior to performing the first subset of computations, the third subset of computations;

identifies a set of outputs that result from performing the third subset of computations; and

records, to the second blockchain, the set of outputs that result from performing the third subset of computations,

wherein the second node further:

identifies that the set of outputs that result from performing the third subset of computations were recorded to the second blockchain before the set of outputs that result from performing the first subset of computations were recorded to the second blockchain; and

uses the set of outputs that result from performing the first subset of computations, in lieu of using the set of outputs that result from performing the third subset of computations, when performing the second subset of computations based on identifying that the set of outputs that result from performing the third subset of computations were recorded to the second blockchain before the set of outputs that result from performing the first subset of computations were recorded to the second blockchain.

8 . A non-transitory computer-readable medium, storing a plurality of processor-executable instructions to:

output, to a first node of a blockchain network that is associated with a first blockchain, a request to perform a blockchain operation, wherein performing the requested blockchain operation includes performing a set of computations, wherein the first node:

identifies a plurality of portions of the blockchain operation, wherein each portion includes a respective subset of the set of computations;

performs a first subset of computations, of the set of computations, wherein the first subset is associated with a first portion of the plurality of portions of the blockchain operation;

identifies a set of outputs that result from performing the first subset of computations; and

records, to a second blockchain, the set of outputs that result from performing the first subset of computations, wherein recording the set of outputs, that result from performing the first subset of computations, to the second blockchain includes participating in a consensus mechanism with one or more other nodes of the blockchain network with respect to the set of outputs that result from performing the first subset of computations;

identify, prior to completion of the set of computations of the requested blockchain operation by the first node, a failure condition associated with the first node that prevents complete performance of a second subset of computations that is associated with a second portion of the set of computations;

after identifying the failure condition, output, to a second node of the blockchain network, a request to perform the second subset of computations using the set of outputs that result from performing the first subset of computations, wherein the second node:

identifies the set of outputs recorded to the second blockchain by the first node;

performs the second subset of computations; and

communicates with the one or more other nodes of the blockchain network to record a result of performing the first and second subsets of computations to the first blockchain.

9 . The non-transitory computer-readable medium of claim 8 , wherein the set of computations includes chaincode.

10 . The non-transitory computer-readable medium of claim 8 , wherein the set of outputs that result from performing the first subset of computations includes a set of intermediate values with respect to the set of computations.

11 . The non-transitory computer-readable medium of claim 8 , wherein the requested blockchain operation includes a plurality of function calls, wherein the first portion includes a first function call of the plurality of function calls and wherein the second portion includes a second function call of the plurality of function calls.

12 . The non-transitory computer-readable medium of claim 8 , wherein identifying the failure condition includes determining that the second subset of computations has not been completed by the first node within a threshold amount of time.

13 . The non-transitory computer-readable medium of claim 8 , wherein identifying the failure condition includes determining a network connectivity failure associated with the first node.

14 . The non-transitory computer-readable medium of claim 8 , wherein the plurality of portions of the blockchain operation further include a third subset of computations,

wherein the first node further:

performs, prior to performing the first subset of computations, the third subset of computations;

identifies a set of outputs that result from performing the third subset of computations; and

records, to the second blockchain, the set of outputs that result from performing the third subset of computations,

wherein the second node further:

identifies that the set of outputs that result from performing the third subset of computations were recorded to the second blockchain before the set of outputs that result from performing the first subset of computations were recorded to the second blockchain; and

uses the set of outputs that result from performing the first subset of computations, in lieu of using the set of outputs that result from performing the third subset of computations, when performing the second subset of computations based on identifying that the set of outputs that result from performing the third subset of computations were recorded to the second blockchain before the set of outputs that result from performing the first subset of computations were recorded to the second blockchain.

15 . A method, comprising:

outputting, to a first node of a blockchain network that is associated with a first blockchain, a request to perform a blockchain operation, wherein performing the requested blockchain operation includes performing a set of computations, wherein the first node:

identifies a plurality of portions of the blockchain operation, wherein each portion includes a respective subset of the set of computations;

performs a first subset of computations, of the set of computations, wherein the first subset is associated with a first portion of the plurality of portions of the blockchain operation;

identifies a set of outputs that result from performing the first subset of computations; and

records, to a second blockchain, the set of outputs that result from performing the first subset of computations, wherein recording the set of outputs, that result from performing the first subset of computations, to the second blockchain includes participating in a consensus mechanism with one or more other nodes of the blockchain network with respect to the set of outputs that result from performing the first subset of computations;

identifying, prior to completion of the set of computations of the requested blockchain operation by the first node, a failure condition associated with the first node that prevents complete performance of a second subset of computations that is associated with a second portion of the set of computations;

after identifying the failure condition, outputting, to a second node of the blockchain network, a request to perform the second subset of computations using the set of outputs that result from performing the first subset of computations, wherein the second node:

identifies the set of outputs recorded to the second blockchain by the first node;

performs the second subset of computations; and

communicating with the one or more other nodes of the blockchain network to record a result of performing the first and second subsets of computations to the first blockchain.

16 . The method of claim 15 , wherein the set of computations includes chaincode.

17 . The method of claim 15 , wherein the set of outputs that result from performing the first subset of computations includes a set of intermediate values with respect to the set of computations.

18 . The method of claim 15 , wherein the requested blockchain operation includes a plurality of function calls, wherein the first portion includes a first function call of the plurality of function calls and wherein the second portion includes a second function call of the plurality of function calls.

19 . The method of claim 15 , wherein identifying the failure condition includes determining that the second subset of computations has not been completed by the first node within a threshold amount of time.

20 . The method of claim 15 , wherein the plurality of portions of the blockchain operation further include a third subset of computations,

wherein the first node further:

performs, prior to performing the first subset of computations, the third subset of computations;

identifies a set of outputs that result from performing the third subset of computations; and

records, to the second blockchain, the set of outputs that result from performing the third subset of computations,

wherein the second node further:

identifies that the set of outputs that result from performing the third subset of computations were recorded to the second blockchain before the set of outputs that result from performing the first subset of computations were recorded to the second blockchain; and

uses the set of outputs that result from performing the first subset of computations, in lieu of using the set of outputs that result from performing the third subset of computations, when performing the second subset of computations based on identifying that the set of outputs that result from performing the third subset of computations were recorded to the second blockchain before the set of outputs that result from performing the first subset of computations were recorded to the second blockchain.