# US 12,112,317 B2 · Method and system for optimization of data storage for distributed ledgers

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

- Number: US 12,112,317 B2
- Document ID: US12112317B2
- Status: Granted
- Kind: B2
- Application number: 18/102,255
- Filed: 2023-01-27
- Published: 2023-06-01
- Granted: 2024-10-08
- Earliest claimed: 2019-12-10
- Assignees: Mastercard International Incorporated
- Applicants: Mastercard International Incorporated
- Inventors: Ankur Mehta; Awinash Pandey; Saugandh Datta; Chandan Garg
- Web page: https://patentgrep.com/patent/US12112317B2

## CPC

- G06Q 20/3676: {Balancing accounts}
- H04L 9/3239: {involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD}
- G06Q 20/02: involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
- G06Q 20/223: {based on the use of peer-to-peer networks}
- G06Q 20/3672: {initialising or reloading thereof}
- H04L 9/0637: {Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]}
- H04L 9/3247: {involving digital signatures}
- H04L 9/3297: {involving time stamps, e.g. generation of time stamps}
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- G06Q 2220/00: Business processing using cryptography
- 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 method for optimizing blockchain storage size through use of relative values includes: receiving, by a blockchain node in a blockchain network that manages a blockchain, a plurality of blockchain data values, each including unspent transaction outputs, at least one destination address, and, for each destination address, an original currency amount; identifying a base value; modifying the original currency amount included in each blockchain data value to be a relative currency amount based on a difference between the identified base value and the original currency amount; generating a new block, the new block including a block header and the modified plurality of blockchain data values; and transmitting the generated new block to a plurality of additional nodes in the blockchain network.

## Claims

### Claim 1

A method for optimizing blockchain storage size through use of relative values, comprising:
receiving one or more blockchain data values, where each blockchain data value includes at least one or more unspent transaction outputs, at least one destination address, and, for each of the at least one destination address, an original currency amount;
identifying a base value, wherein the base value is an average currency amount based on the original currency amount included in each of the one or more blockchain data values for each of the at least one destination address;
modifying the original currency amount included in each of the one or more blockchain data values for each of the at least one destination address to be a relative currency amount based on a difference between the identified base value and the original currency amount, wherein a digital representation of the relative currency amount is at least one bit smaller than the original currency amount; and
generating a new block, where the new block includes a block header and the modified one or more blockchain data values, the block header including at least a block reference value, a timestamp, and a data reference value based on the modified one or more blockchain data values, the modified one or more blockchain data values including the at least one or more unspent transaction outputs, the at least one destination address, and, for each of the at least one destination address, the relative currency amount.

### Claim 2 (depends on 1)

The method of claim 1, wherein the base value is stored in a genesis block in the blockchain.

### Claim 3 (depends on 1)

The method of claim 1, wherein a first blockchain data value is first in the one or more blockchain data values stored in the generated new block.

### Claim 4 (depends on 1)

The method of claim 1, wherein the base value is a unique value generated for the generated new block.

### Claim 5 (depends on 1)

The method of claim 1, wherein the base value may be stored in the block header of the generated new block.

### Claim 6 (depends on 1)

The method of claim 1, wherein each of the one or more blockchain data values further includes a transaction index and each of the at least one or more unspent transaction outputs includes an unspent transaction output index; and wherein the method further comprises:
modifying each of the at least one unspent transaction output indices of the at least one or more unspent transaction outputs based on the difference between each of the at least one unspent transaction output indices and the transaction index of the associated blockchain data value.

### Claim 7 (depends on 1)

The method of claim 1, wherein the timestamp is a difference in time between a present time of a blockchain node and a relative time.

### Claim 8 (depends on 7)

The method of claim 7, wherein the relative time is stored in a genesis block in the blockchain.

### Claim 9

A system for optimizing blockchain storage size through use of relative values, comprising:
a blockchain network that manages a blockchain; and
a blockchain node in the blockchain network, the blockchain node including
a receiver receiving one or more blockchain data values, where each blockchain data value includes at least one or more unspent transaction outputs, at least one destination address, and, for each of the at least one destination address, an original currency amount,
a processor
identifying a base value, wherein the base value is an average currency amount based on the original currency amount included in each of the one or more blockchain data values for each of the at least one destination address,
modifying the original currency amount included in each of the one or more blockchain data values for each of the at least one destination address to be a relative currency amount based on a difference between the identified base value and the original currency amount, wherein a digital representation of the relative currency amount is at least one bit smaller than the original currency amount, and
generating a new block, where the new block includes a block header and the modified one or more blockchain data values, the block header including at least a block reference value, a timestamp, and a data reference value based on the modified one or more blockchain data values, the modified one or more blockchain data values including the at least one or more unspent transaction outputs, the at least one destination address, and, for each of the at least one destination address, the relative currency amount.

### Claim 10 (depends on 9)

The system of claim 9, wherein the base value is stored in a genesis block in the blockchain.

### Claim 11 (depends on 9)

The system of claim 9, wherein a first blockchain data value is first in the one or more blockchain data values stored in the generated new block.

### Claim 12 (depends on 9)

The system of claim 9, wherein the base value is a unique value generated for the generated new block.

### Claim 13 (depends on 9)

The system of claim 9, wherein the base value may be stored in the block header of the generated new block.

### Claim 14 (depends on 9)

The system of claim 9, wherein each of the one or more blockchain data values further includes a transaction index and each of the at least one or more unspent transaction outputs includes an unspent transaction output index; and wherein the processor is further configured to:
modify each of the at least one unspent transaction output indices of the at least one or more unspent transaction outputs based on the difference between each of the at least one unspent transaction output indices and the transaction index of the associated blockchain data value.

### Claim 15 (depends on 9)

The system of claim 9, wherein the timestamp is a difference in time between a present time of the blockchain node and a relative time.

### Claim 16 (depends on 15)

The system of claim 15, wherein the relative time is stored in a genesis block in the blockchain.
