# US 12,192,275 B2 · Sparse peer with transient participation

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

- Number: US 12,192,275 B2
- Document ID: US12192275B2
- Status: Granted
- Kind: B2
- Application number: 16/130,419
- Filed: 2018-09-13
- Published: 2020-03-19
- Granted: 2025-01-07
- Earliest claimed: 2018-09-13
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Balaji Viswanathan; Krishnasuri Narayanam; Senthilnathan Natarajan; Vinayaka Pandit
- Web page: https://patentgrep.com/patent/US12192275B2

## CPC

- H04L 67/1074: for supporting data block transmission mechanisms (file transfer H04L67/06)
- G06F 21/575: {Secure boot}
- G06F 21/64: Protecting data integrity, e.g. using checksums, certificates or signatures
- G06Q 20/065: {using e-cash}
- G06Q 20/22: Payment schemes or models
- G06Q 20/223: {based on the use of peer-to-peer networks}
- G06Q 20/3829: {involving key management}
- G06Q 20/389: {Keeping log of transactions for guaranteeing non-repudiation of a transaction}
- H04L 9/0637: {Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]}
- H04L 9/3239: {involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD}
- H04L 63/123: {received data contents, e.g. message integrity}
- H04L 67/1093: {Some peer nodes performing special functions}
- H04L 67/1095: Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
- G06Q 2220/00: Business processing using cryptography
- 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)
- 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

## Abstract

An example operation may include one or more of connecting, by a sparse peer, to a blockchain network of a plurality of peers controlled by orderers, selecting, by the sparse peer, a subset of data to be replicated, specifying, by the sparse peer, data selection filters based on the selected subset of the data, providing, by the sparse peer, the selection filters to the plurality of the peers, receiving, by the sparse peer, blocks matching the selection filters over a gossip protocol from the plurality of the peers, constructing, by the sparse peer, a local ledger of the sparse peer from the received blocks, and bootstrapping the sparse peer based on the local ledger.

## Claims

### Claim 1

A transient sparse peer in a blockchain network, the transient sparse peer comprising:
a memory storing one or more instructions; and
a processor that, when executing the one or more instructions, is configured to perform the operations of:
identifying a task to be performed by the transient sparse peer, wherein the task requires a time to bootstrap into the blockchain network that is less than a time required to bootstrap into the blockchain network a full peer having a complete blockchain ledger showing a full state of a blockchain;
in response to the task to be performed by transient sparse peer being identified,
connecting the transient sparse peer to a plurality of peers in the blockchain network, the plurality of peers comprising the complete blockchain ledger showing the full state of the blockchain;
identifying a latest state of assets related to a subset of transactions needed for the subset of transactions to be endorsed by an endorser peer of the plurality of peers in the blockchain network;
selecting a subset of data to be replicated based on the latest state;
specifying data selection filters required for the transient sparse peer to perform the task based on the subset of the data that has been selected, wherein a number of the data selection filters specified for the transient sparse peer is less than a full set of data selection filters required to process all data blocks by the full peer;
providing the data selection filters to the plurality of peers;
receiving blocks that match the data selection filters over a gossip protocol from the plurality of peers;
constructing a local ledger of the transient sparse peer from the blocks that have been received, the local ledger comprising a partial ledger showing a partial state of the blockchain, including the blocks that have received, wherein the partial state of the blockchain enables the transient sparse peer to bootstrap into the blockchain network more quickly than a full peer;
identifying that the transient sparse peer is current based on the partial state of the blockchain; and
bootstrapping the transient sparse peer based on the transient sparse peer being identified; and
in response to the task of the transient sparse peer being completed, converting the transient sparse peer back into the full peer by,
increasing the number of data selection filters used required by the transient sparse peer to the full set of data selection filters, and
scaling up the partial state of the blockchain to the full state of the blockchain using the full set of data selection filters.

### Claim 2 (depends on 1)

The transient sparse peer of claim 1, wherein the processor is further configured to perform the operations of:
selectively endorsing transactions that can be satisfied by data of the local ledger.

### Claim 3 (depends on 2)

The transient sparse peer of claim 2, wherein the processor is further configured to perform the operations of:
applying the data selection filters based on a set of indices; and
select transactions that satisfy the data selection filters.

### Claim 4 (depends on 1)

The transient sparse peer of claim 1, wherein the processor is further configured to perform the operations of:
scaling up an end state of the transient sparse peer based on an incremental expansion of the data selection filters.

### Claim 5 (depends on 1)

The transient sparse peer of claim 1, wherein the processor is further configured to perform the operations of:
holding the data selection filters based on a verifiable resource configuration created by the processor; and
communicating, to the plurality of peers, an intent to receive data that matches the data selection filters.

### Claim 6 (depends on 1)

The transient sparse peer of claim 1, wherein the processor is further configured to perform the operations of:
identifying when the local ledger is up-to-date and the transient sparse peer is ready to be bootstrapped.

### Claim 7 (depends on 1)

The transient sparse peer of claim 1, wherein the processor is further configured to perform the operations of:
updating the local ledger when the blocks that match the data selection filters required for the transient sparse peer to perform the task are received.

### Claim 8

A method implemented by a transient sparse peer in a blockchain network, the method comprising:
identifying a task to be performed by the transient sparse peer, wherein the task requires a time to bootstrap into the blockchain network that is less than a time required to bootstrap into the blockchain network a full peer having a complete blockchain ledger showing a full state of a blockchain;
in response to the task to be performed by transient sparse peer being identified,
connecting the transient sparse peer to a plurality of peers in the blockchain network, the plurality of peers comprising the complete blockchain ledger showing the full state of the blockchain;
identifying a latest state of assets related to a subset of transactions needed for the subset of transactions to be endorsed by an endorser peer of the plurality of peers in the blockchain network;
selecting a subset of data to be replicated based on the latest state;
specifying data selection filters required for the transient sparse peer to perform the task based on the subset of the data that has been selected, wherein a number of the data selection filters specified for the transient sparse peer is less than a full set of data selection filters required to process all data blocks by the full peer;
providing the data selection filters to the plurality of peers;
receiving blocks matching the data selection filters over a gossip protocol from the plurality of peers;
constructing a local ledger of the transient sparse peer from the blocks that have been received, the local ledger comprising a partial ledger showing a partial state of the blockchain, including the blocks that have received, wherein the partial state of the blockchain enables the transient sparse peer to bootstrap into the blockchain network more quickly than a full peer;
identifying that the transient sparse peer is current based on the partial state of the blockchain;
bootstrapping the transient sparse peer based on the transient sparse peer being identified;
in response to the task of the transient sparse peer being completed, converting the transient sparse peer back into the full peer by,
increasing the number of data selection filters used required by the transient sparse peer to the full set of data selection filters, and
scaling up the partial state of the blockchain to the full state of the blockchain using the full set of data selection filters.

### Claim 9 (depends on 8)

The method of claim 8, further comprising:
selectively endorsing transactions satisfied by data of the local ledger.

### Claim 10 (depends on 9)

The method of claim 9, further comprising:
applying the data selection filters based on a set of indices; and
selecting transactions that satisfy the data selection filters.

### Claim 11 (depends on 8)

The method of claim 8, further comprising:
scaling up an end state of the transient sparse peer by incrementally expanding the data selection filters.

### Claim 12 (depends on 8)

The method of claim 8, further comprising:
creating a verifiable resource configuration;
holding the data selection filters based on the verifiable resource configuration; and
communicating, to the plurality of peers, an intent to receive data matching the data selection filters.

### Claim 13 (depends on 8)

The method of claim 8, further comprising:
identifying when the local ledger is up-to-date and the transient sparse peer is ready to be bootstrapped.

### Claim 14 (depends on 8)

The method of claim 8, further comprising:
updating the local ledger when the blocks that match the data selection filters required for the transient sparse peer to perform the task are received.

### Claim 15

A non-transitory computer-readable medium storing one or more instructions that, when executed by a processor of a transient sparse peer in a blockchain network, cause the processor to perform:
identifying a task to be performed by the transient sparse peer, wherein the task requires a time to bootstrap into the blockchain network that is less than a time required to bootstrap into the blockchain network a full peer having a complete blockchain ledger showing a full state of a blockchain;
in response to the task to be performed by transient sparse peer being identified,
connecting the transient sparse peer to a plurality of peers in the blockchain network, the plurality of peers comprising the complete blockchain ledger showing the full state of the blockchain;
identifying a latest state of assets related to a subset of transactions needed for the subset of transactions to be endorsed by an endorser peer of the plurality of peers in the blockchain network;
selecting a subset of data to be replicated based on the latest state;
specifying data selection filters required for the transient sparse peer to perform the task based on the subset of the data that has been selected, wherein a number of the data selection filters specified for the transient sparse peer is less than a full set of data selection filters required to process all data blocks by the full peer;
providing the data selection filters to the plurality of peers;
receiving blocks that match the data selection filters over a gossip protocol from the plurality of peers;
constructing a local ledger of the transient sparse peer from the blocks that have been received, the local ledger comprising a partial ledger showing a partial state of the blockchain, including the blocks that have received, wherein the partial state of the blockchain enables the transient sparse peer to bootstrap into the blockchain network more quickly than a full peer;
identifying that the transient sparse peer is current based on the partial state of the blockchain; and
bootstrapping the transient sparse peer based on the transient sparse peer being identified; and
in response to the task of the transient sparse peer being completed, converting the transient sparse peer back into the full peer by,
increasing the number of data selection filters used required by the transient sparse peer to the full set of data selection filters, and
scaling up the partial state of the blockchain to the full state of the blockchain using the full set of data selection filters.

### Claim 16 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the one or more instructions further cause the processor to perform:
endorsing transactions that can be satisfied by data of the local ledger.

### Claim 17 (depends on 16)

The non-transitory computer-readable medium of claim 16, wherein the one or more instructions further cause the processor to perform:
maintaining a set of indexes to apply the data selection filters and to select transactions that satisfy the data selection filters.

### Claim 18 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the one or more instructions further cause the processor to perform:
incrementally expanding the data selection filters to scale up an end state of the transient sparse peer.

### Claim 19 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the one or more instructions further cause the processor to perform:
creating a verifiable resource configuration to hold the data selection filters and to communicate to the plurality of peers an intent to receive data matching the data selection filters.

### Claim 20 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the one or more instructions further cause the processor to perform:
updating the local ledger when the blocks that match the data selection filters required for the transient sparse peer to perform the task are received.
