# US 2021/0243010 A1 · Workflow Management Via Distributed Ledgers and Smart Contracts

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2021/0243010 A1
- Document ID: US20210243010A1
- Status: Published application
- Kind: A1
- Application number: 17/235,039
- Filed: 2021-04-20
- Published: 2021-08-05
- Earliest claimed: 2019-08-23
- Assignees: Capital One Services, LLC
- Applicants: Capital One Services, LLC
- Inventors: Jayaraman Ganeshmani; Jacob Creech
- Web page: https://patentgrep.com/patent/US20210243010A1

## CPC

- H04L 9/0637: {Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]}
- H04L 9/3239: {involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD}
- H04L 9/006: {involving public key infrastructure [PKI] trust models (network architecture or network communication protocol for supporting authentication of entities using certificates in a packet data network H04L63/0823)}
- H04L 9/14: using a plurality of keys or algorithms
- H04L 9/3242: {involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC}
- H04L 9/3247: {involving digital signatures}
- H04L 9/3297: {involving time stamps, e.g. generation of time stamps}
- H04L 9/0866: {involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics}
- H04L 9/3278: {using physically unclonable functions [PUF]}
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- H04L 2209/04: Masking or blinding
- H04L 2209/12: Details relating to cryptographic hardware or logic circuitry
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Systems and methods as described herein may include creating and monitoring workflows in a blockchain network. A workflow may be implemented by using a smart contract or the steps in the workflow may be recorded in a distributed ledger in a blockchain network. Completion of a workflow step may be verified by identifying a blockchain transaction executed by the workflow step performer assigned to the workflow step. The blockchain transaction is associated with encryption keys of the workflow step performer assigned to the workflow step. The completion of the execution of a workflow may be verified by determining whether the status of the last workflow step is complete, and identifying a blockchain transaction associated with encryption keys of the workflow step performer assigned to the last workflow step.

## Claims

### Claim 1

A method, comprising:
identifying, by a computing device and from a node in a blockchain network, a blockchain transaction comprising an indication of a failure to complete a workflow step from a plurality of workflow steps of a task;
identifying, by the computing device and from the plurality of workflow steps, a last completed workflow step of the task;
determining, by the computing device and from the plurality of workflow steps, one or more next workflow steps, wherein the last completed workflow step is a prerequisite to the one or more next workflow steps; and
causing, by the computing device, performance of the one or more next workflow steps.

### Claim 2 (depends on 1)

The method of claim 1, wherein:
each workflow step, of the plurality of workflow steps, is assigned to at least one workflow step performer; and
causing performance of the one or more next workflow steps comprises:
determining workflow step performers assigned to the one or more next workflow steps; and
sending, to the workflow step performers, a message to begin activities associated with the one or more next workflow steps.

### Claim 3 (depends on 1)

The method of claim 1, wherein the blockchain transaction is associated with error hashes of at least one workflow step performer assigned to the workflow step.

### Claim 4 (depends on 1)

The method of claim 1, wherein each workflow step, of the plurality of workflow steps, is assigned to at least one workflow step performer and each workflow step comprises a status indicating whether said workflow step is complete.

### Claim 5 (depends on 4)

The method of claim 4, further comprising:
identifying, by the computing device and from a second node in a blockchain network, a plurality of blockchain transactions, wherein each blockchain transaction from the plurality of blockchain transactions comprises an indication of completion of a corresponding workflow step from the plurality of workflow steps, is executed by the at least one workflow step performer assigned to the corresponding workflow step, and is associated with encryption keys of the at least one workflow step performer assigned to the corresponding workflow step; and
updating, by the computing device and for each identified blockchain transaction in the plurality of blockchain transaction, the status of the corresponding workflow step to indicate that the corresponding workflow step is complete.

### Claim 6 (depends on 4)

The method of claim 4, further comprising:
determining, by the computing device and based on a status of a current workflow step, of the plurality of workflow steps, indicating that the current workflow step is complete:, one or more next workflow steps, wherein the current workflow step is a prerequisite to the one or more next workflow steps; and
causing, by the computing device, performance of the one or more next workflow steps.

### Claim 7 (depends on 4)

The method of claim 4, further comprising determining, by the computing device, a completion of the task based on identification of a second blockchain transaction, wherein the second blockchain transaction comprises an indication that a last workflow step, from the plurality of workflow steps, is complete, a determination that the second blockchain transaction is executed by the at least one workflow step performer assigned to the last workflow step, and a determination that the second blockchain transaction is associated with encryption keys of the at least one workflow step performer assigned to the last workflow step.

### Claim 8 (depends on 7)

The method of claim 7, wherein the determining of the completion of the execution of the task is further based on determining, by the computing device, whether each of the plurality of workflow steps is complete.

### Claim 9 (depends on 7)

The method of claim 7, further comprising verifying, by the computing device, the encryption keys of the at least one workflow step performer assigned to the last workflow step by verifying that a public key of the at least one workflow step performer decrypts second first blockchain transaction.

### Claim 10

An apparatus, comprising:
one or more processors; and
memory storing instructions that, when executed by the one or more processors, cause the apparatus to:
identify, from a node in a blockchain network, a blockchain transaction comprising an indication of a failure to complete a workflow step from a plurality of workflow steps of a task;
identify, from the plurality of workflow steps, a last completed workflow step of the task;
determine, from the plurality of workflow steps, one or more next workflow steps, wherein the last completed workflow step is a prerequisite to the one or more next workflow steps; and
cause performance of the one or more next workflow steps.

### Claim 11 (depends on 10)

The apparatus of claim 10, wherein:
each workflow step, of the plurality of workflow steps, is assigned to at least one workflow step performer; and
the instructions, when executed by the one or more processors, further cause the apparatus to cause performance of the one or more next workflow steps by causing the apparatus to:
determine workflow step performers assigned to the one or more next workflow steps; and
send, to the workflow step performers, a message to begin activities associated with the one or more next workflow steps.

### Claim 12 (depends on 10)

The apparatus of claim 10, wherein the blockchain transaction is associated with error hashes of at least one workflow step performer assigned to the workflow step.

### Claim 13 (depends on 10)

The apparatus of claim 10, wherein:
each workflow step, of the plurality of workflow steps, is assigned to at least one workflow step performer and each workflow step comprises a status indicating whether said workflow step is complete; and
the instructions, when executed by the one or more processors, further cause the apparatus to:
identify, from a second node in a blockchain network, a plurality of blockchain transactions, wherein each blockchain transaction from the plurality of blockchain transactions comprises an indication of completion of a corresponding workflow step from the plurality of workflow steps, is executed by the at least one workflow step performer assigned to the corresponding workflow step, and is associated with encryption keys of the at least one workflow step performer assigned to the corresponding workflow step; and
update, for each identified blockchain transaction in the plurality of blockchain transaction, the status of the corresponding workflow step to indicate that the corresponding workflow step is complete.

### Claim 14 (depends on 13)

The apparatus of claim 13, wherein the instructions that, when executed by the one or more processors, further cause the apparatus to:
determine, based on a status of a current workflow step, of the plurality of workflow steps, indicating that the current workflow step is complete, one or more next workflow steps, wherein the current workflow step is a prerequisite to the one or more next workflow steps; and
cause performance of the one or more next workflow steps.

### Claim 15 (depends on 13)

The apparatus of claim 13, wherein the instructions that, when executed by the one or more processors, further cause the apparatus to determine a completion of the task based on:
identification of a second blockchain transaction, wherein the second blockchain transaction comprises an indication that a last workflow step, from the plurality of workflow steps, is complete;
a determination that the second blockchain transaction is executed by the at least one workflow step performer assigned to the last workflow step;
a determination that the second blockchain transaction is associated with encryption keys of the at least one workflow step performer assigned to the last workflow step; and
a determination that each of the plurality of workflow steps is complete.

### Claim 16

A non-transitory machine-readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to perform steps comprising:
identifying, from a node in a blockchain network, a blockchain transaction comprising an indication of a failure to complete a workflow step from a plurality of workflow steps of a task;
identifying, from the plurality of workflow steps, a last completed workflow step of the task;
determining, from the plurality of workflow steps, one or more next workflow steps, wherein the last completed workflow step is a prerequisite to the one or more next workflow steps; and
causing performance of the one or more next workflow steps.

### Claim 17 (depends on 16)

The non-transitory machine-readable medium of claim 16, wherein:
each workflow step, of the plurality of workflow steps, is assigned to at least one workflow step performer; and
the instructions, when executed by the one or more processors, cause the one or more processors to cause performance of the one or more next workflow steps by:
determining workflow step performers assigned to the one or more next workflow steps; and
sending, to the workflow step performers, a message to begin activities associated with the one or more next workflow steps.

### Claim 18 (depends on 16)

The non-transitory machine-readable medium of claim 16, wherein the blockchain transaction is associated with error hashes of at least one workflow step performer assigned to the workflow step.

### Claim 19 (depends on 16)

The non-transitory machine-readable medium of claim 16, wherein:
each workflow step, of the plurality of workflow steps, is assigned to at least one workflow step performer and each workflow step comprises a status indicating whether said workflow step is complete; and
the instructions, when executed by the one or more processors, further cause the one or more processors to perform steps comprising:
identifying, from a second node in a blockchain network, a plurality of blockchain transactions, wherein each blockchain transaction from the plurality of blockchain transactions comprises an indication of completion of a corresponding workflow step from the plurality of workflow steps, is executed by the at least one workflow step performer assigned to the corresponding workflow step, and is associated with encryption keys of the at least one workflow step performer assigned to the corresponding workflow step; and
updating, for each identified blockchain transaction in the plurality of blockchain transaction, the status of the corresponding workflow step to indicate that the corresponding workflow step is complete.

### Claim 20 (depends on 19)

The non-transitory machine-readable medium of claim 19, wherein the instructions that, when executed by the one or more processors, further cause the one or more processors to perform steps comprising:
determining, based on a status of a current workflow step, of the plurality of workflow steps, indicating that the current workflow step is complete, one or more next workflow steps, wherein the current workflow step is a prerequisite to the one or more next workflow steps; and
causing performance of the one or more next workflow steps.
