# US 12,192,322 B2 · Blockchain data compression and storage

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

- Number: US 12,192,322 B2
- Document ID: US12192322B2
- Status: Granted
- Kind: B2
- Application number: 18/296,231
- Filed: 2023-04-05
- Published: 2023-08-17
- Granted: 2025-01-07
- Earliest claimed: 2020-11-12
- Assignees: Paypal, Inc.
- Applicants: Paypal, Inc.
- Inventors: Suryatej Gundavelli; Charles Gabriel Neale Dalton; Michael Jim Tien Chan
- Web page: https://patentgrep.com/patent/US12192322B2

## CPC

- H04L 9/0618: {Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation}
- H03M 7/6047: {Power optimization with respect to the encoder, decoder, storage or transmission}
- H03M 7/70: {Type of the data to be coded, other than image and sound}
- H04L 9/0643: {Hash functions, e.g. MD5, SHA, HMAC or f9 MAC}
- H04L 63/123: {received data contents, e.g. message integrity}
- H03M 7/405: {Tree adaptation}
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H03M: CODING; DECODING; CODE CONVERSION IN GENERAL (using fluidic means F15C4/00; optical analogue/digital converters G02F7/00; coding, decoding or code conversion, specially adapted for particular applications, see the relevant subclasses, e.g. G01D, G01R, G06F, G06T, G09G, G10L, G11B, G11C, H04B, H04L, H04M, H04N; ciphering or deciphering for cryptography or other purposes involving the need for secrecy G09C)

## Abstract

Methods and systems described herein improve blockchain storage operations in a variety of environments. A blockchain compression system may determine that a blockchain compression condition associated with a blockchain having a first plurality of blocks has been satisfied. In response, the system compresses the first plurality of blocks using a first hash tree into a first root hash value and stores the first plurality of blocks in a first database. The blockchain compression system generates a first new era genesis block that includes the first root hash value and a first database address of the first database at which the first plurality of blocks are stored. The blockchain compression system stores the blockchain at one or more nodes in a blockchain network. The blockchain includes the first new era genesis block and any previous new era genesis blocks. This may effectively reduce storage requirements for the blockchain, in various embodiments.

## Claims

### Claim 1

A system, comprising:
a non-transitory memory; and
one or more hardware processors coupled to the non-transitory memory and configured to execute instructions from the non-transitory memory to cause the system to perform operations comprising:
receiving a data access request for data associated with a blockchain system that is distributed across a plurality of computer nodes;
accessing a compressed blockchain associated with the blockchain system via a first computer node of the plurality of computer nodes, wherein the compressed blockchain comprises (i) a first genesis block generated based on a first plurality of blocks associated with the blockchain system and (ii) a second plurality of blocks chained to the first genesis block;
determining that the data is not stored in the second plurality of blocks;
accessing a root hash value and a database address stored in the first genesis block;
retrieving the data based on querying a database corresponding to the database address using the root hash value; and
providing the data to a device.

### Claim 2 (depends on 1)

The system of claim 1, wherein the database is associated with the first computer node.

### Claim 3 (depends on 1)

The system of claim 1, wherein the database is associated with a server different from the first computer node, and wherein the operations further comprise establishing a connection with the server via a network.

### Claim 4 (depends on 1)

The system of claim 1, wherein the operations further comprise:
prior to the receiving the data access request, determining that a blockchain compression condition associated with the blockchain system has been satisfied;
determining that a blockchain associated with the blockchain system comprises the first plurality of blocks; and
compressing the blockchain based on the first plurality of blocks.

### Claim 5 (depends on 4)

The system of claim 4, wherein the compressing the blockchain comprises:
generating the root hash value for the first plurality of blocks based on performing one or more hash operations on the first plurality of blocks;
storing the first plurality of blocks in the database; and
generating the first genesis block based on the root hash value and the database address associated with the database.

### Claim 6 (depends on 4)

The system of claim 4, wherein the operations further comprise:
subsequent to the compressing the blockchain, receiving a request to add a second block to the blockchain system; and
chaining the second block to the first genesis block within the compressed blockchain.

### Claim 7 (depends on 1)

The system of claim 1, wherein the operations further comprise:
in response to detecting a blockchain compression condition associated with the blockchain system, compressing the compressed blockchain based on the second plurality of blocks.

### Claim 8

A non-transitory machine-readable medium having stored thereon machine-readable instructions executable to cause a machine to perform operations comprising:
receiving a data access request for data associated with a blockchain system that is distributed across a plurality of computer nodes;
accessing a compressed blockchain associated with the blockchain system via a first computer node of the plurality of computer nodes, wherein the compressed blockchain comprises (i) a first genesis block generated based on a first set of blocks associated with the blockchain system and (ii) a second set of blocks that is chained to the first genesis block;
determining that the data is not stored in the second set of blocks;
accessing a root hash value and a database address stored in the first genesis block;
retrieving the data based on querying a database corresponding to the database address using the root hash value; and
providing the data to a device.

### Claim 9 (depends on 8)

The non-transitory machine-readable medium of claim 8, wherein the database is associated with the first computer node.

### Claim 10 (depends on 8)

The non-transitory machine-readable medium of claim 8, wherein the database is associated with a server different from the first computer node, and wherein the operations further comprise establishing a connection with the server via the network.

### Claim 11 (depends on 8)

The non-transitory machine-readable medium of claim 8, wherein the operations further comprise:
prior to the receiving the data access request, determining that a blockchain compression condition associated with the blockchain system has been satisfied;
determining that a blockchain associated with the blockchain system comprises the first set of blocks; and
compressing the blockchain based on the first set of blocks.

### Claim 12 (depends on 11)

The non-transitory machine-readable medium of claim 11, wherein the compressing the blockchain comprises:
generating the root hash value for the first set of blocks based on performing one or more hash operations on the first set of blocks;
storing the first set of blocks in the database; and
generating the first genesis block based on the root hash value and the database address associated with the database.

### Claim 13 (depends on 8)

The non-transitory machine-readable medium of claim 8, wherein the operations further comprise:
in response to detecting a blockchain compression condition associated with the blockchain system, compressing the compressed blockchain based on the second set of blocks.

### Claim 14

A method comprising:
receiving a request for accessing data associated with a blockchain system;
accessing a blockchain associated with the blockchain system, wherein the blockchain comprises (i) a first genesis block generated based on a first plurality of blocks associated with the blockchain system and (ii) a second plurality of blocks chained to the first genesis block;
determining that the data is not stored in the second plurality of blocks;
accessing a root hash value and a database address stored in the first genesis block;
retrieving the data based on querying a database corresponding to the database address using the root hash value; and
providing the data to a device.

### Claim 15 (depends on 14)

The method of claim 14, wherein the request is received via a first computer node associated with the blockchain system, and wherein the database is associated with the first computer node.

### Claim 16 (depends on 14)

The method of claim 14, wherein the request is received via a first computer node associated with the blockchain system, wherein the database is associated with a second computer node different from the first computer node, and wherein the method further comprises establishing a connection with the second computer node via a network.

### Claim 17 (depends on 14)

The method of claim 14, further comprising:
prior to the receiving the request, detecting a blockchain compression condition associated with the blockchain system;
determining that a blockchain associated with the blockchain system comprises the first plurality of blocks; and
compressing the blockchain based on the first plurality of blocks.

### Claim 18 (depends on 17)

The method of claim 17, wherein the compressing the blockchain comprises:
generating the root hash value for the first plurality of blocks based on performing one or more hash operations on the first plurality of blocks;
storing the first plurality of blocks in the database; and
generating the first genesis block based on the root hash value and the database address associated with the database.

### Claim 19 (depends on 17)

The method of claim 17, further comprising:
subsequent to the compressing the blockchain, receiving a second request to add a second block to the blockchain system; and
chaining the second block to the first genesis block within the blockchain.

### Claim 20 (depends on 14)

The method of claim 14, further comprising:
in response to detecting a blockchain compression condition associated with the blockchain system, compressing the blockchain based on the second plurality of blocks.
