# US 12,117,991 B2 · High performance distributed system of record with extended transaction processing capability

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

- Number: US 12,117,991 B2
- Document ID: US12117991B2
- Status: Granted
- Kind: B2
- Application number: 18/075,721
- Filed: 2022-12-06
- Published: 2023-03-30
- Granted: 2024-10-15
- Earliest claimed: 2019-12-17
- Assignees: Akamai Technologies, Inc.
- Applicants: Akamai Technologies, Inc.
- Inventors: David C. Carver; Leen K. AlShenibr; William R. Sears; Vladimir Shtokman
- Web page: https://patentgrep.com/patent/US12117991B2

## CPC

- G06F 16/2379: {Updates performed during online database operations; commit processing}
- G06F 16/2228: {Indexing structures}
- G06F 16/27: Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F 21/64: Protecting data integrity, e.g. using checksums, certificates or signatures
- G06Q 20/065: {using e-cash}
- G06Q 20/363: {with the personal data of a user}
- G06Q 20/367: {involving electronic purses or money safes}
- G06Q 20/3825: {Use of electronic signatures}
- G06Q 20/3829: {involving key management}
- G06Q 20/389: {Keeping log of transactions for guaranteeing non-repudiation of a transaction}
- G06Q 20/401: {Transaction verification}
- G06Q 20/409: {Device specific authentication in transaction processing}
- G06Q 30/0226: Incentive systems for frequent usage, e.g. frequent flyer miles programs or point systems
- H04L 9/0891: {Revocation or update of secret information, e.g. encryption key update or rekeying}
- H04L 9/30: Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L 9/3239: {involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD}
- H04L 9/3247: {involving digital signatures}
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L 67/104: Peer-to-peer [P2P] networks
- G06Q 20/202: {Interconnection or interaction of plural electronic cash registers [ECR] or to host computer, e.g. network details, transfer of information from host to ECR or from ECR to ECR}
- G06Q 20/36: using electronic wallets or electronic money safes
- G06Q 20/405: {Establishing or using transaction specific rules}
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A set of transaction handling computing elements comprise a network core that receive and process transaction requests into an append-only immutable chain of data blocks, wherein a data block is a collection of transactions, and wherein an Unspent Transaction Output (UTXO) data structure supporting the immutable chain of data blocks is an output from a finalized transaction. Typically, the UTXO data structure consists essentially of an address and a value. In this approach, at least one UTXO data structure is configured to include information either in addition to or in lieu of the address and value, thereby defining a Transaction Output (TXO). A TXO may have a variety of types, and one type includes an attribute that encodes data. In response to receipt of a request to process a transaction, the set of transaction handling computing elements are executed to process the transaction into a block using at least the information in the TXO.

## Claims

### Claim 1

A method, comprising:
receiving and processing into an append-only immutable chain of data blocks, by a set of transaction handling computing nodes, at least first and second transactions in a set of transaction requests, wherein a data block in the immutable chain of data blocks is a collection of transactions, and wherein an Unspent Transaction Output (UTXO) data structure supporting the immutable chain of data blocks is normally output from a finalized transaction;
configuring at least one UTXO data structure as a Transaction Output (TXO) that has a data structure distinct from the UTXO data structure, wherein during processing a value associated with the TXO is available for use by the at least first and second transactions in the set;
determining whether the first and second transactions collide with one another, wherein the first and second transactions collide with one another when the value for the first transaction increases while the value for the second transaction decreases, and an operation associated with the second transaction is not commutative to an operation associated with the first transaction; and
upon determining that the first and second transactions collide with one another, failing at least one of the first and second transactions.

### Claim 2 (depends on 1)

The method as described in claim 1 further including deferring processing of the first or second transaction that has been failed as a result of determining that the first and second transactions collide with one another.

### Claim 3 (depends on 2)

The method as described in claim 2 further including processing the first or second transaction that has been failed in a new data block of the immutable chain of data blocks.

### Claim 4 (depends on 1)

The method as described in claim 1 wherein the first transaction and the second transaction comprise a related set of transactions as defined by business logic.

### Claim 5 (depends on 1)

The method as described in claim 1 wherein the first and second transactions are associated with first and second consumers that are distinct from one another.

### Claim 6 (depends on 1)

The method as described in claim 1 wherein the TXO value is associated with a merchant.

### Claim 7 (depends on 1)

The method as described in claim 1 wherein the first or second transaction is associated with a triggered action.

### Claim 8 (depends on 1)

The method as described in claim 1 wherein each of the first and second transactions are associated with business logic spanning the data block, and at least one other data block.

### Claim 9 (depends on 1)

The method as described in claim 1 wherein the append-only immutable chain of data blocks is a blockchain.

### Claim 10 (depends on 1)

The method as described in claim 1 wherein the value associated with the TXO is mutable.

### Claim 11 (depends on 1)

The method as described in claim 1 further including providing the set of transaction handling computing nodes, wherein each transaction handling computing node comprises a cluster of computing, communications and storage elements, and wherein each transaction handling computing node operates autonomously and in an untrusted manner with respect to all other transaction handling computing nodes.

### Claim 12

A computer program product in a non-transitory computer-readable medium, the computer program product comprising computer program code executable in processors of a set of one or more computing nodes, the computer program code configured to:
receive and process at least first and second transactions in a set of transaction requests into an append-only immutable chain of data blocks, wherein a data block in the immutable chain of data blocks is a collection of transactions, wherein an Unspent Transaction Output (UTXO) data structure supporting the immutable chain of data blocks is normally output from a finalized transaction, and wherein during processing a value associated with a Transaction Output (TXO) is available for use by the at least first and second transactions in the set, a TXO having a data structure distinct from the UTXO data structure;
determine whether the first and second transactions collide with one another, wherein the first and second transactions collide with one another when the value for the first transaction increases while the value for the second transaction decreases, and an operation associated with the second transaction is not commutative to an operation associated with the first transaction; and
fail at least one of the first and second transactions upon determining that the first and second transactions collide with one another.

### Claim 13 (depends on 12)

The computer program product as described in claim 12 wherein the computer program code is further configured to defer processing of the first or transaction that has been failed as a result of determining that the first and second transactions collide with one another.

### Claim 14 (depends on 13)

The computer program product as described in claim 13 wherein the computer program code is further configured to process the first or second transaction that has been failed in a new data block of the immutable chain of data blocks.

### Claim 15 (depends on 12)

The computer program product as described in claim 12 wherein the first transaction and the second transaction comprise a related set of transactions as defined by business logic.

### Claim 16 (depends on 12)

The computer program product as described in claim 12 wherein the first and second transactions are associated with first and second consumers that are distinct from one another.

### Claim 17 (depends on 12)

The computer program product as described in claim 12 wherein the TXO value is associated with a merchant.

### Claim 18 (depends on 12)

The computer program product as described in claim 12 wherein the first or second transaction is associated with a triggered action.

### Claim 19 (depends on 12)

The computer program product as described in claim 12 wherein each of the first and second transactions are associated with business logic spanning the data block, and at least one other data block.

### Claim 20 (depends on 12)

The computer program product as described in claim 12 wherein the append-only immutable chain of data blocks is a blockchain.
