# US 12,762,544 B2 · Methods, data structures, and systems for ordered data logging

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

- Number: US 12,762,544 B2
- Document ID: US12762544B2
- Status: Granted
- Kind: B2
- Application number: 17/799,566
- Filed: 2021-02-19
- Published: 2023-03-16
- Granted: 2026-10-13
- Earliest claimed: 2020-02-19
- Assignees: nChain Licensing AG
- Applicants: nChain Licensing AG
- Inventors: Andrew James Mee; Ricky Charles Rand; Jack Davies
- Web page: https://patentgrep.com/patent/US12762544B2

## CPC

- G06Q 20/3678: {e-cash details, e.g. blinded, divisible or detecting double spending}
- G06Q 20/223: {based on the use of peer-to-peer networks}
- 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

## Abstract

In one aspect, the present disclosure proposes methods, devices, systems, and data structures for implementing an ordered, append-only data logging system. In particular a method comprises creating a transaction of a first type comprising an input associated with a transaction output from a latest transaction in the set of transactions. Then creating a transaction of a second type. Finally submitting both the transaction of the second type and the transaction of the first type to the blockchain.

## Claims

### Claim 1

A non-transitory computer readable medium comprising a computer implemented data structure associated with a blockchain, wherein the data structure comprises:
a first chain of transactions comprising a plurality of transactions including a first blockchain transaction, wherein the plurality of transactions is at an ancestor limit, wherein the first blockchain transaction comprises:
at least one input associated with an output from a latest transaction in the first chain of transactions, thereby establishing a spending relationship, and
an output comprising a data payload including a first reference to a second blockchain transaction, wherein the first reference is an invariant reference and/or comprises a transaction id of the second blockchain transaction, and
a second chain of transactions, comprising:
a second blockchain transaction, wherein the second blockchain transaction is an initial transaction in the second chain of transactions, and comprises:
an output comprising a data payload including a second reference to a transaction in the first chain of transactions that is previous to the latest transaction,
wherein the first blockchain transaction and the second blockchain transaction are not linked by a spending relationship, thereby creating a break in a spending-dependent chain of transactions to overcome an ancestor limit of the blockchain, and
the first chain of transactions and the second chain of transactions are connected, such that the first reference enables forward traversal through the first and second chains of transactions; and the second reference enables backward traversal through the first and second chains of transactions.

### Claim 2 (depends on 1)

The computer implemented data structure of claim 1, wherein the first reference is based on an invariant feature of the second blockchain transaction.

### Claim 3 (depends on 1)

The computer implemented data structure of claim 1, wherein the second blockchain transaction comprises at least one input and the first reference is based on at least one of the at least one input to the second blockchain transaction.

### Claim 4 (depends on 1)

The computer implemented data structure of claim 1, wherein the data payload based on the second reference is stored in an output of the second blockchain transaction.

### Claim 5 (depends on 1)

The computer implemented data structure of claim 1, wherein the second reference comprises a transaction id of the first blockchain transaction.

### Claim 6 (depends on 1)

The computer implemented data structure of claim 1, wherein the second reference is an invariant reference.

### Claim 7 (depends on 6)

The computer implemented data structure of claim 6, wherein the second reference is based on an invariant feature of the first blockchain transaction.

### Claim 8 (depends on 1)

The computer implemented data structure of claim 1, wherein the first blockchain transaction comprises at least one input and the second reference is based on at least one of the at least one input of the first blockchain transaction.

### Claim 9 (depends on 3)

The computer implemented data structure of claim 3, wherein the reference comprising the at least one input takes the form of a transaction outpoint.

### Claim 10

A computer implemented method associated with a first chain of transactions in a blockchain system, wherein the first chain of transactions comprises a plurality of transactions including a first blockchain transaction, wherein the plurality of transactions is at an ancestor limit, the method comprising the steps:
creating a second blockchain transaction to be an initial transaction in a second chain of transactions,
creating the first blockchain transaction comprising:
at least one input associated with an output from a latest transaction in the first chain of transactions, thereby establishing a spending relationship, and
an output comprising a data payload including a first reference to the second blockchain transaction, wherein the first reference is an invariant reference and/or comprises a transaction id of the second blockchain transaction,
submitting the second blockchain transaction to the blockchain, and
submitting the first blockchain transaction to the blockchain;
wherein the second blockchain transaction comprises an output comprising a data payload including a second reference to a transaction in the first chain of transactions that is previous to the latest transaction,
wherein the first blockchain transaction and the second blockchain transaction are not linked by a spending relationship, thereby creating a break in a spending-dependent chain of transactions to overcome an ancestor limit of the blockchain, and
the first chain of transactions and the second chain of transactions are connected, such that
the first reference enables forward traversal through the first and second chains of transactions; and the second reference enables backward traversal through the first and second chains of transactions.

### Claim 11 (depends on 10)

The computer implemented method of claim 10, wherein the first reference is based on an invariant feature of the second blockchain transaction.

### Claim 12 (depends on 11)

The computer implemented method of claim 11, wherein the second blockchain transaction comprises at least one input and the first reference is based on at least one of the at least one input of the second blockchain transaction.

### Claim 13 (depends on 10)

The computer implemented method of claim 10, wherein the second reference is a reference to an initial transaction in the first chain of transactions.

### Claim 14 (depends on 13)

The computer implemented method of claim 13, wherein the reference to the initial transaction comprises a transaction id of the initial transaction.

### Claim 15 (depends on 10)

The computer implemented method of claim 10, wherein the second reference is an invariant reference.

### Claim 16 (depends on 15)

The computer implemented method of claim 15, wherein the second reference is based on an invariant feature of the first blockchain transaction.

### Claim 17 (depends on 10)

The computer implemented method of claim 10, wherein the second reference comprises a transaction id of the first blockchain transaction.

### Claim 18 (depends on 15)

The computer implemented method of claim 15, wherein the second reference is based on at least one of the at least one input of the first blockchain transaction.

### Claim 19 (depends on 10)

The computer implemented method of claim 10, wherein the first reference based on at least one of the at least one input takes the form of a transaction outpoint.

### Claim 20

A computing device comprising a processor and memory, the memory including executable instructions that, as a result of execution by the processor, causes the computing device to perform a computer-implemented method associated with a first chain of transactions in a blockchain system, wherein the first chain of transactions comprises a plurality of transactions including a first blockchain transaction, wherein the plurality of transactions is at an ancestor limit, the computer-implemented method comprising the steps:
creating a second blockchain transaction to be an initial transaction in a second chain of transactions,
creating the first blockchain transaction comprising:
at least one input associated with an output from a latest transaction in the first chain of transactions, thereby establishing a spending relationship, and
an output comprising a data payload including a first reference to the second blockchain transaction, wherein the first reference is an invariant reference and/or comprises a transaction id of the second blockchain transaction,
submitting the second blockchain transaction to the blockchain, and
submitting the first blockchain transaction to the blockchain,
wherein the second blockchain transaction comprises an output comprising a data payload including a second reference to a transaction in the first chain of transactions that is previous to the latest transaction,
wherein the first blockchain transaction and the second blockchain transaction are not linked by a spending relationship, thereby creating a break in a spending-dependent chain of transactions to overcome an ancestor limit of the blockchain, and
the first chain of transactions and the second chain of transactions are connected, such that
the first reference enables forward traversal through the first and second chains of transactions; and the second reference enables backward traversal through the first and second chains of transactions.

### Claim 21

A non-transitory computer-readable storage medium having stored thereon executable instructions that, as a result of being executed by a processor of a computer, cause the computer to perform a method associated with a first chain of transactions in a blockchain system, wherein the first chain of transactions comprises a plurality of transactions including a first blockchain transaction, wherein the plurality of transactions is at an ancestor limit, the method comprising the steps:
creating a second blockchain transaction to be an initial transaction in a second chain of transactions,
creating the first blockchain transaction comprising:
at least one input associated with an output from a latest transaction in the first chain of transactions, thereby establishing a spending relationship, and
an output comprising a data payload including a first reference to the second blockchain transaction, wherein the first reference is an invariant reference and/or comprises a transaction id of the second blockchain transaction,
submitting the second blockchain transaction to the blockchain, and
submitting the first blockchain transaction to the blockchain,
wherein the second blockchain transaction comprises an output comprising data payload including a second reference to a transaction in the first chain of transactions that is previous to the latest transaction,
wherein the first blockchain transaction and the second blockchain transaction are not linked by a spending relationship, thereby creating a break in a spending-dependent chain of transactions to overcome an ancestor limit of the blockchain, and
the first chain of transactions and the second chain of transactions are connected, such that the first reference enables forward traversal through the first and second chains of transactions; and the second reference enables backward traversal through the first and second chains of transactions.
