IP Library Granted Patent US 12,549,376
Granted Patent B2
US 12,549,376 · App. 17/457,650 · Granted Feb 10, 2026

Compressible blockchains

Inventors: Francis McNamee (Newry, GB); Paula May Tomaszko (Belfast, GB); Andrew Jack Bell (Belfast, GB); Robert Kerr (Cambridge, GB)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
H04L9/3239H04L9/50
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,549,376
App. No.
17/457,650
Granted
Feb 10, 2026
Kind
B2
Abstract

A node in a blockchain network may invoke a process comprising receiving one or more operations for inclusion in a block, receiving a previous Merkle root created from previously determined account dispositions from a previous block, resolving the one or more operations based on the previous account dispositions to determine one or more current account dispositions, creating a current Merkle root for the one or more current account dispositions, and hashing current data for the current block, the data comprising the current Merkel root and the previous Merkle root to generate an account disposition block.

Claims (34)

1 . A system in a blockchain network comprising:

a memory; and

a processor in communication with the memory, the processor being configured to perform processes comprising:

receiving one or more operations for inclusion in a block, wherein the one or more operations were included in a group of committed blocks on the blockchain network that are selected to be compressed;

receiving a previous Merkle root created from previously determined account balances from a previous block, wherein the previous block immediately precedes the group of committed blocks;

resolving the one or more operations based on the previous account balances to determine one or more current account balances after the group of committed blocks;

creating a current Merkle root for the one or more current account balances, wherein the current Merkle root is a hash of each account number and each account balance on the blockchain network;

hashing unspent outputs and the account balances after the group of committed blocks to generate a compression block, compression block data comprising Merkle root for the one or more current account balances and the previous Merkle root summarizing one or more current account balances resulting from the operations in the group of committed blocks; and

replacing the group of committed blocks in a ledger for the blockchain network with the compression block, wherein there are one or more non-compression blocks in the blockchain network before the group.

2 . The system of claim 1 , wherein the compression block data further includes unspent operation outputs from the group of blocks.

3 . The system of claim 1 , wherein the current data further includes a timestamp and one or more operations.

4 . The system of claim 1 , wherein the current Merkle root for the one or more current account balances is performed with the current account balances ordered by natural ordering.

5 . The system of claim 1 , wherein the hashing is performed using secure hash algorithm (SHA)-256.

6 . A method comprising:

receiving one or more operations for inclusion in a block in a blockchain network, wherein the one or more operations were included in a group of committed blocks on the blockchain network that are selected to be compressed;

receiving a previous Merkle root created from previously determined account balances from a previous block, wherein the previous block immediately precedes the group of committed blocks;

resolving the one or more operations based on the previous account balances to determine one or more current account balances after the group of committed blocks;

creating a current Merkle root for the one or more current account balances, wherein the current Merkle root is a hash of each account number and each account balance on the blockchain network;

hashing unspent outputs and the account balances after the group of committed blocks to generate a compression block, compression block data comprising Merkle root for the one or more current account balances and the previous Merkle root summarizing one or more current account balances resulting from the operations in the group of committed blocks; and

replacing the group of committed blocks in a ledger for the blockchain network with the compression block, wherein there are one or more non-compression blocks in the blockchain network before the group.

7 . The method of claim 6 , wherein the compression block data further includes unspent operation outputs from the group of blocks.

8 . The method of claim 6 , wherein the current data further includes a timestamp and one or more operations.

9 . The method of claim 6 , wherein the current Merkle root for the one or more current account balances is performed with the current account balances ordered by natural ordering.

10 . The method of claim 6 , wherein the hashing is performed using SHA256.

11 . A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processor to perform a method, the method comprising:

receiving one or more operations for inclusion in a block of a blockchain network, wherein the one or more operations were included in a group of committed blocks on the blockchain network that are selected to be compressed;

receiving a previous Merkle root created from previously determined account balances from a previous block, wherein the previous block immediately precedes the group of committed blocks;

resolving the one or more operations based on the previous account balances to determine one or more current account balances after the group of committed blocks;

creating a current Merkle root for the one or more current account balances, wherein the current Merkle root is a hash of each account number and each account balance on the blockchain network;

hashing unspent outputs and the account balances after the group of committed blocks to generate a compression block, compression block data comprising Merkle root for the one or more current balances and the previous Merkle root summarizing one or more current account balances resulting from the operations in the group of committed blocks; and

replacing the group of committed blocks in a ledger for the blockchain network with the compression block, wherein there are one or more non-compression blocks in the blockchain network before the group.

12 . The computer program product of claim 11 , wherein the compression block data further includes unspent operation outputs from the group of blocks.

13 . The computer program product of claim 11 , wherein the current data further includes a timestamp and one or more operations.

14 . The computer program product of claim 11 , wherein the current Merkle root for the one or more current account balances is performed with the current account balances ordered by natural ordering.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 3, 2021
From: MCNAMEE, FRANCIS; TOMASZKO, PAULA MAY; BELL, ANDREW JACK; KERR, ROBERT
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 058288/0171 →
Continuity (1)
Related Publication 20230179424A1 · Jun 8, 2023
References Cited (26)
US 10445302B2 · Childress · 2019 [cited by examiner]
US 10938548B2 · Mercuri · 2021 [cited by applicant]
US 10949118B2 · Yang · 2021 [cited by applicant]
US 11036395B2 · Karame · 2021 [cited by applicant]
US 11558179B2 · Fitzgerald · 2023 [cited by examiner]
US 20170337534A1 · Goeringer · 2017 [cited by applicant]
US 20180204192A1 · Whaley · 2018 [cited by applicant]
US 20180218027A1 · Cronie · 2018 [cited by examiner]
US 20180293577A1 · Kim · 2018 [cited by examiner]
US 20190146946A1 · Zhang · 2019 [cited by examiner]
US 20200125661A1 · Albright · 2020 [cited by applicant]
US 20200143372A1 · Liu · 2020 [cited by examiner]
US 20200204349A1 · Sardesai · 2020 [cited by examiner]
US 20200204378A1 · Yang · 2020 [cited by examiner]
US 20220116223A1 · Zamani · 2022 [cited by examiner]
US 20220150050A1 · Gundavelli · 2022 [cited by examiner]
US 20220407728A1 · Snow · 2022 [cited by examiner]
WO 2023099357A1 · 2023 [cited by applicant]
D. Vujičić, D. Jagodić and S. Ran [cited by examiner]
T. Kim, S. Lee, Y. Kwon, J. Noh, S. Kim and S. Cho, “SELCOM: Selective Compression Scheme for Lightweight Nodes in Blockchain System,” in IEEE Access, vol. 8, pp. 225613-225626, 2020, doi: 10.1109/ACCESS.2020.3044991 (Y… [cited by examiner]
Anonymous, “Data Management in a Block Chain or Across Multiple Block Chains,” IP.com No. PCOM000252405D, Jan. 8, 2018, 5 pages. <https://ip.com/IPCOM/000252405>. [cited by applicant]
Chen et al., “Bitcoin Blockchain Compression Algorithm for Blank Node Synchronization,” 11th International Conference on Wireless Communications and Signal Processing (WCSP), IEEE 2019, 6 pages. [cited by applicant]
Mersalek et al., “Tackling Data Inefficiency: Compressing the Bitcoin Blockchain,” Institute of Applied Information Processing and Communications, Jun. 8, 2019, 20 pages. <https://pure.tugraz.at/ws/portalfiles/portal/25… [cited by applicant]
Bruce, J.D., “The Mini Blockchain Scheme,” Jul. 2014, 13 pages. [cited by applicant]
International Search Report and Written Opinion for Application PCT/EP2022/083345, Feb. 23, 2023, 16 pages. [cited by applicant]
Puddu et al., “uchain: How to Forget without Hard Forks,” IACR, International Association For Cryptologic Research, Feb. 10, 2017, 21 pages, vol. 20170214:155656. [cited by applicant]