IP Library Granted Patent US 12681953
Granted Patent B2
US 12681953 · App. 18/483,842 · Granted Jul 14, 2026

Apparatus and method for synchronizing block in blockchain network

Inventors: Young-Chang Kim (Daejeon, KR); Jong-Choul Yim (Daejeon, KR); Jin-Tae Oh (Daejeon, KR); Chang-Hyun Lee (Daejeon, KR)
Assignee: Electronics and Telecommunications Research Institute
G06F16/275G06F11/1448
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 12681953
App. No.
18/483,842
Granted
Jul 14, 2026
Kind
B2
Abstract

Disclosed herein is an apparatus and method for synchronizing a block in a blockchain network. The apparatus synchronizes node information of existing participating nodes connected to a blockchain network by joining the blockchain network, determines synchronization target blocks by calculating the current section of a blockchain using an agreed-upon block received from the existing participating nodes, receives a block header of each section and the segment hash table of a snapshot that are verification data for verifying synchronization target data for the synchronization target blocks from participating nodes that are not connected as peers, among the existing participating nodes, generates a snapshot by receiving snapshot segments and the blocks of the current section, which are the synchronization target data, from participating nodes connected as peers, among the existing participating nodes, verifies the snapshot generated from the snapshot segments, and synchronizes the verified snapshot.

Claims (45)

1 . An apparatus for synchronizing a block in a blockchain network, comprising:

one or more processors; and

memory for storing at least one program executed by the one or more processors,

wherein the at least one program

synchronizes node information of existing participating nodes connected to the blockchain network by joining the blockchain network,

determines synchronization target blocks by calculating a current section of a blockchain using an agreed-upon block received from the existing participating nodes, wherein each section includes a predetermined number of blocks,

receives a block header of each section and a segment hash table of a snapshot that are verification data for verifying synchronization target data for the synchronization target blocks from participating nodes that are not connected as peers, among the existing participating nodes, and verifies continuity between sections by comparing a previous block header hash stored in a start block of each section with a hash value of a last block header of a previous section,

generates a snapshot by compressing blocks of the current section, and receiving snapshot segments and blocks of the current section, which are the synchronization target data, from participating nodes connected as peers, among the existing participating nodes,

verifies the snapshot generated from the snapshot segments, and

synchronizes the verified snapshot;

wherein

when a number of missing sections does not exceed a preset value, a partial synchronization mode is set for partial synchronization, and

when the partial synchronization mode is set, the at least one program requests blocks to receive from the participating nodes connected as peers based on any one of a previously stored last snapshot and a previously stored last block, and

when the number of missing sections exceeds the preset value, full synchronization is performed.

2 . The apparatus of claim 1 , wherein:

the section is set to include a preset number of blocks in order of block numbers depending on a size preset in the blockchain, and

the snapshot is generated for each section in the blockchain, thereby including block information corresponding to the section.

3 . The apparatus of claim 2 , wherein the at least one program verifies signature information of a block header of the agreed-upon block using the node information.

4 . The apparatus of claim 2 , wherein the at least one program calculates the current section of the blockchain using a block number of the agreed-upon block.

5 . The apparatus of claim 3 , wherein the at least one program verifies for each section whether a hash value of a previous block header stored in a start block of the section is equal to a hash value of a block header of a last block of a previous section using the block header of each section, thereby verifying continuity of the agreed-upon block.

6 . The apparatus of claim 5 , wherein, when a full synchronization mode is set, the at least one program calculates a number of snapshot segments and requests the snapshot segments and missing blocks of the current section from the participating nodes connected as peers.

7 . The apparatus of claim 5 , wherein the existing participating nodes partition the snapshot into segments having a preset size, calculate hash values for the segments, and store the hash values in the segment hash table.

8 . The apparatus of claim 7 , wherein the at least one program calculates a hash value for the snapshot using the segments and verifies the hash value using the segment hash table.

9 . The apparatus of claim 8 , wherein the at least one program stores the snapshot in a state database for storing information about nodes receiving the agreed-upon block and a block store for storing the agreed-upon block in order to synchronize a blockchain state when connected to the blockchain network, thereby synchronizing the snapshot.

10 . A method for synchronizing a block in a blockchain network, performed by an apparatus for synchronizing a block in the blockchain network, comprising:

synchronizing node information of existing participating nodes connected to the blockchain network by joining the blockchain network;

determining synchronization target blocks by calculating a current section of a blockchain using an agreed-upon block received from the existing participating nodes, wherein each section includes a predetermined number of blocks;

receiving a block header of each section and a segment hash table of a snapshot that are verification data for verifying synchronization target data for the synchronization target blocks from participating nodes that are not connected as peers, among the existing participating nodes, and verifying continuity between sections by comparing a previous block header hash stored in a start block of each section with a hash value of a last block header of a previous section;

generating a snapshot by compressing blocks of the current section, and receiving snapshot segments and blocks of the current section, which are the synchronization target data, from participating nodes connected as peers, among the existing participating nodes;

verifying the snapshot generated from the snapshot segments; and

synchronizing the verified snapshot;

wherein

when a number of missing sections does not exceed a preset value, a partial synchronization mode is set for partial synchronization, and

receiving the block header of each section and the segment hash table of the snapshot comprises requesting blocks to receive from the participating nodes connected as peers based on any one of a previously stored last snapshot and a previously stored last block when a partial synchronization mode is set, and

when the number of missing sections exceeds the preset value, full synchronization is performed.

11 . The method of claim 10 , wherein:

the section is set to include a preset number of blocks in order of block numbers depending on a size preset in the blockchain, and

the snapshot is generated for each section in the blockchain, thereby including block information corresponding to the section.

12 . The method of claim 11 , wherein synchronizing the node information comprises verifying signature information of a block header of the agreed-upon block using the node information.

13 . The method of claim 12 , wherein determining the synchronization target blocks comprises calculating the current section of the blockchain using a block number of the agreed-upon block.

14 . The method of claim 13 , wherein receiving the block header of each section and the segment hash table of the snapshot comprises verifying for each section whether a hash value of a previous block header stored in a start block of the section is equal to a hash value of a block header of a last block of a previous section using the block header of each section, thereby verifying continuity of the agreed-upon block.

15 . The method of claim 14 , wherein receiving the block header of each section and the segment hash table of the snapshot comprises calculating a number of snapshot segments and requesting the snapshot segments and missing blocks of the current section from the participating nodes connected as peers when a full synchronization mode is set.

16 . The method of claim 14 , wherein the existing participating nodes partition the snapshot into segments having a preset size, calculate hash values for the segments, and store the hash values in the segment hash table.

17 . The method of claim 16 , wherein synchronizing the verified snapshot comprises calculating a hash value for the snapshot using the segments and verifying the hash value using the segment hash table.

18 . The method of claim 17 , wherein synchronizing the verified snapshot comprises storing the snapshot in a state database for storing information about nodes receiving the agreed-upon block and a block store for storing the agreed-upon block in order to synchronize a blockchain state when connected to the blockchain network, thereby synchronizing the snapshot.