IP Library › Granted Patent US 12,192,275
Granted Patent B2
US 12,192,275 · App. 16/130,419 · Granted Jan 7, 2025

Sparse peer with transient participation

Inventors: Balaji Viswanathan (Bangalore, IN); Krishnasuri Narayanam (Bangalore, IN); Senthilnathan Natarajan (Bangalore, IN); Vinayaka Pandit (Bangalore, IN)
Assignee: International Business Machines Corporation
H04L67/1074G06Q20/223H04L9/0637H04L63/123H04L67/1093H04L67/1095H04L9/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,192,275
App. No.
16/130,419
Granted
Jan 7, 2025
Kind
B2
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 (86)

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.

2. 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.

3. 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.

4. 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.

5. 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.

6. 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.

7. 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.

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.

9. The method of claim 8 , further comprising:

selectively endorsing transactions satisfied by data of the local ledger.

10. 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.

11. The method of claim 8 , further comprising:

scaling up an end state of the transient sparse peer by incrementally expanding the data selection filters.

12. 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.

13. 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.

14. 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.

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.

16. 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.

17. 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.

18. 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.

19. 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.

20. 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.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2018
From: VISWANATHAN, BALAJI; NARAYANAM, KRISHNASURI; NATARAJAN, SENTHILNATHAN; PANDIT, VINAYAKA
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 046869/0219 →
Continuity (1)
Related Publication 20200092361A1 · Mar 19, 2020
References Cited (40)
US 9635000B1 · Muftic · 2017 [cited by applicant]
US 20110179020A1 · Ozzie · 2011 [cited by examiner]
US 20150294308A1 · Pauker et al. · 2015 [cited by applicant]
US 20170046698A1 · Haldenby et al. · 2017 [cited by applicant]
US 20170237554A1 · Jacobs et al. · 2017 [cited by applicant]
US 20170250972A1 · Ronda et al. · 2017 [cited by applicant]
US 20170373977A1 · Blackledge · 2017 [cited by applicant]
US 20180089641A1 · Chan et al. · 2018 [cited by applicant]
US 20180097779A1 · Karame et al. · 2018 [cited by applicant]
US 20180115538A1 · Blake · 2018 [cited by examiner]
US 20180144153A1 · Pead · 2018 [cited by applicant]
US 20180204191A1 · Wilson et al. · 2018 [cited by applicant]
US 20180330343A1 · Gray · 2018 [cited by applicant]
US 20180373776A1 · Madisetti et al. · 2018 [cited by applicant]
US 20190097807A1 · Mahanta · 2019 [cited by examiner]
US 20190172067A1 · Arora et al. · 2019 [cited by applicant]
US 20190180266A1 · Sidhu et al. · 2019 [cited by applicant]
US 20190188706A1 · McCurtis · 2019 [cited by applicant]
US 20190287105A1 · Fedorov et al. · 2019 [cited by applicant]
US 20200076606A1 · Burke · 2020 [cited by examiner]
US 20200082405A1 · Li et al. · 2020 [cited by applicant]
US 20200366463A1 · Falk · 2020 [cited by applicant]
US 20200410491A1 · Ronnow et al. · 2020 [cited by applicant]
US 20210233065A1 · Kramer et al. · 2021 [cited by applicant]
JP 6467540B1 · 2019 [cited by applicant]
WO 2017147696A1 · 2017 [cited by applicant]
Dietcoin: shortcutting the Bitcoin verification process for your smartphone Davide Frey*, Marc X. Makkes, Pierre-Louis Roman*, Frangois Tai'ani*, Spyros Voulgaris* Mar. 28, 2018 (Year: 2018). [cited by examiner]
Frey, Davide, et al “Dietcoin: Shortcutting the Bitcoin verification process for your smartphone” (Year: 2018). [cited by examiner]
Anonymously, Oct. 2, 2017, IPCOM, a Decentralized Architecture for Transparent and Verifiable Knowledge Manipulation in Untrusted Networks. [cited by applicant]
Anonymously, a System and Method for Meta-Trust Models and its Application to Meta-Validation of Blockchain, PCOM, Jan. 9, 2017. [cited by applicant]
Anonymously, Feb. 13, 2018, IPCOM, System and Method for Providing a Tamper-Proof and Trustless Mechanism to Validate the Usage of IT Assets. [cited by applicant]
Barger, A, Hyperledger Logic—the architecture of the permissioned ledger. 2017. [cited by applicant]
Rao, LP, et al., IPCOM, Efficient Path Characteristics Orchestration for Blockchain Applications, Sep. 8, 2017. [cited by applicant]
Zubairy, R., Deploy an asset-transfer app using Blockchain, 2017. [cited by applicant]
List of IBM Patents or Patent Applications Treated as Related, todays date. [cited by applicant]
B. Viswanathan, “A Sparse Peer With Transient Participation”, U.S. Appl. No. 16/130,611, filed Sep. 13, 2018 (a copy is not provided as this application is available to the Examiner). [cited by applicant]
B. Viswanathan, “A Sparse Peer With Transient Participation”, U.S. Appl. No. 16/130,354, filed Sep. 13, 2018 (a copy is not provided as this application is available to the Examiner). [cited by applicant]
B. Viswanathan, “A Sparse Peer With Transient Participation”, U.S. Appl. No. 16/130,489, filed Sep. 13, 2018 (a copy is not provided as this application is available to the Examiner). [cited by applicant]
Frey et al., Dietcoin: Shortcutting the Bitcoin verification process for your smartphone, Mar. 28, 2018 (2018). [cited by applicant]
Thakkar et al., Scaling Hyperledger Fabric Using Pipelined Execution and Sparse Peers, arXiv:2003.05113v2 [cs.DC] Mar. 1, 2021. [cited by applicant]
Cited By (1)
US 12,737,342