US 11,943,237 B2
Malicious peer identification for database block sequence
Yacov Manevich, Haifa (IL); Artem Barger, Haifa (IL); Marko Vukolić, Rueschlikon (CH); Alessandro Sorniotti, Rueschlikon (CH); Angelo De Caro, Zürich (CH); and Elli Androulaki, Zürich (CH)
Assigned to International Business Machines Corporation, Armonk, NY (US)
Filed by International Business Machines Corporation, Armonk, NY (US)
Filed on May 24, 2019, as Appl. No. 16/422,958.
Prior Publication US 2020/0374301 A1, Nov. 26, 2020
This patent is subject to a terminal disclaimer.
Int. Cl. H04L 29/06 (2006.01); G06F 16/22 (2019.01); G06F 16/23 (2019.01); H04L 9/40 (2022.01)
CPC H04L 63/1416 (2013.01) [G06F 16/2255 (2019.01); G06F 16/2379 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A blockchain network, comprising:
a peripheral peer and a plurality of other peripheral peers, wherein the peripheral peer and each other peripheral peer, of the plurality of peripheral peers, are associated with a processor that, when executing one or more instructions stored in a memory, configures the processor to:
in parallel, receive a new sequence of blocks from an orderer peer of the blockchain network;
in parallel, arrange the sequence of blocks into a batch;
in parallel, identify that a number of blocks in the sequence is less than a certain threshold batch size, thereby resulting in vacant places in the batch; and
in parallel, calculate hashes of the new sequence of blocks, wherein the vacant places are filled in with hashes of zeros; and
wherein the processor associated with the peripheral peer is further configured to:
add the hashes to a Merkle tree of the peripheral peer;
request and receive indices corresponding to the vacant places and root node hashes from Merkle trees of a majority of other peripheral peers of the plurality of other peripheral peers;
identify the orderer peer as potentially malicious based on an identification that a root node hash of the received root node hashes is different than a hash calculated by the processor associated with the peripheral peer;
in response to the identification of the orderer peer as potentially malicious, request the new sequence of blocks from another peripheral peer, of the majority of peripheral peers, corresponding to the different root node hash; and
in response to receiving the new sequence of blocks, verify the orderer peer as malicious when the new sequence of blocks received from the other peripheral peer is different than the new sequence of blocks received from the orderer peer by the peripheral peer.