Method for constructing blockchain network and computer software program for implementing method

By dividing nodes into Voter and Singer in the blockchain network, and transferring to the Voter Ring virtual network when the node is cut off, the problem of the blockchain network's function stopping when the node is cut off is solved, and the continuous agreement of the network is achieved.

CN119452597APending Publication Date: 2025-02-14COUNTUP KK
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380049778.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-06-30
Filing Date
2023-05-29
Publication Date
2025-02-14

AI Technical Summary

Technical Problem

It is difficult for blockchain networks to continuously implement agreements when multiple nodes are stopped or cut off, resulting in the suspension of network functions.

Method used

By dividing nodes into Voter nodes and Singer nodes in the node management process, a ring-shaped virtual network is built, and when a node is cut off is detected, the continuity of the agreement is ensured.

Benefits of technology

Even if multiple nodes are stopped or cut off, the blockchain network can continue to implement agreements and avoid network functions being stopped.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119452597A_ABST
    Figure CN119452597A_ABST
Patent Text Reader

Abstract

Provided is a method capable of continuously executing agreement achievement (consensus achievement) without stopping a block chain even when a plurality of nodes are stopped or cut off. Provided is a method for configuring a block chain network, comprising a node management step in which a computer detects whether or not a certain number of nodes among the nodes configuring the virtual network have been cut off from the virtual network, and if the state is detected, performs node management on the nodes configuring the virtual network. A Voter Ring virtual network, which is configured only from Voter nodes, is transferred for the virtual network.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a method for constructing a blockchain network. Background Art

[0002] The blockchain network is a self-regulating decentralized system that uses multiple computers and smartphones as nodes to improve the security and reliability of the entire network. It can also be called a system that does not allow data to be tampered with or incorrect.

[0003] Here, in order to maintain the blockchain network soundly, it is preferred that the nodes joining the network are always connected to the network and operate properly, but it can be said that it is difficult to achieve this state under the current circumstances.

[0004] For example, small portable terminals such as smartphones can usually connect to WiFi and mobile networks, while network lines used by high-performance servers hosted by data centers often have significantly poor connection stability and communication performance. Therefore, it is conceivable that terminals will frequently be disconnected from the network or reconnected again.

[0005] In addition, regarding this type of small portable terminal, it is also conceivable that when executing applications that significantly consume the processing power and memory of the processor, such as playing games or viewing animations, the resources allocated to the blockchain application are exhausted and the operation is hindered.

[0006] In this situation, if a situation occurs where more than half of the nodes are disconnected from the network, the blockchain network will not be able to add new blocks, and will actually stop functioning. Summary of the invention

[0007] The present invention is proposed in view of the above-mentioned situation, and its purpose is to provide a system and method that can continuously execute agreement reaching (reaching consensus) without stopping the blockchain even when multiple nodes are stopped or disconnected.

[0008] In order to solve the above-mentioned problems, according to the main viewpoints of the present invention, the following invention is provided.

[0009] (1) A method for constructing a blockchain network, wherein:

[0010] A node management process is provided in which a computer stores information of nodes related to the agreement for adding data received via a P2P network to a blockchain, and determines nodes that need to be signed based on a consensus algorithm.

[0011] The node management process is a process in which a computer defines and divides nodes that have joined the agreement into Voter nodes that perform actions in a more stable environment and Singer nodes that perform other operations, and connects these nodes to build a ring-shaped virtual network.

[0012] The method comprises the steps of: a computer detecting whether a certain number of nodes constituting the virtual network have been disconnected from the virtual network; and when such a state is detected, migrating the virtual network to a Voter Ring virtual network consisting only of Voter nodes.

[0013] (2) Based on the method for constructing a blockchain network described in (1), it is characterized in that:

[0014] The method comprises the following steps of executing a consensus algorithm, namely, a computer executing a protocol for appending data received via a P2P network to a blockchain,

[0015] The consensus algorithm execution process is a process in which, when the virtual network is transferred to a Voter Ring virtual network composed only of Voter nodes, the agreement is reached only at the Voter nodes.

[0016] (3) Based on the method for constructing a blockchain network described in (1), it is characterized in that:

[0017] The management function process includes a block addition monitoring process, that is, the computer detects whether a certain number of nodes have been disconnected from the network by detecting whether a new block is not added at the signing time of each block,

[0018] The following transition process is provided, that is, if the above state is detected in the block addition monitoring process, a mode is entered to confirm whether the block has not been signed within a certain period of time. Even if the new block is not added to the blockchain after the period, the network is transferred to the Voter Ring composed of only Voters.

[0019] (4) The method according to (1) above, characterized in that:

[0020] The process includes a step in which a computer changes the difficulty value recorded in a block to distinguish whether the block addition is based on the Voter Ring mode or the normal block addition.

[0021] (5) The method according to (4) above, characterized in that:

[0022] Regarding the change of the difficulty value, the range of the value in the case of adding blocks based on the Voter Ring mode is set to be higher than that in the case of adding blocks normally.

[0023] (6) The method according to (4) above, characterized in that:

[0024] When the Singer node that returns to the network reaches its own signing order, if it determines that the block immediately in front of it is written through the Voter Ring, it specifies a difficulty interval higher than the difficulty of the Voter Ring so far and signs the new block, thereby promoting the return from the Voter Ring to the normal ring.

[0025] (7) The method according to (6) above, characterized in that:

[0026] All Singer nodes confirm that the difficulty exceeds the difficulty of the Voter Ring, and restore the difficulty value to the original value, cancel the Voter Ring state, and return to the normal state where all nodes participate.

[0027] (8) a computer software program for constructing and maintaining a blockchain network,

[0028] The computer is caused to execute a node management process of storing information of nodes related to the agreement for adding data received via the P2P network to the blockchain, and determining nodes that need to be signed based on a consensus algorithm,

[0029] The node management process is a process in which a computer defines and divides nodes that have joined the agreement into Voter nodes that perform actions in a more stable environment and Singer nodes that perform other operations, and connects these nodes to build a ring-shaped virtual network.

[0030] The method further comprises the step of detecting, by a computer, whether a certain number of nodes constituting the virtual network have been disconnected from the virtual network, and if such a state is detected, migrating the virtual network to a Voter Ring virtual network consisting only of Voter nodes.

[0031] (9) The computer software program according to (8), characterized in that:

[0032] The method comprises the following steps of executing a consensus algorithm, namely, causing a computer to execute an agreement for adding data received via a P2P network to a blockchain,

[0033] The consensus algorithm execution process is a process in which, when the virtual network is transferred to a Voter Ring virtual network composed only of Voter nodes, the agreement is reached only at the Voter nodes.

[0034] (10) The computer software program according to (8), characterized in that:

[0035] The management function process includes a block addition monitoring process, that is, the computer detects whether a certain number of nodes have been disconnected from the network by detecting whether a new block is not added at the signing time of each block,

[0036] The following transition process is provided, that is, if the above state is detected in the block addition monitoring process, a mode is entered to confirm whether the block has not been signed within a certain period of time. Even if the new block is not added to the blockchain after the period, the network is transferred to the Voter Ring composed of only Voters.

[0037] (11) The computer software program according to (8), characterized in that:

[0038] The process includes a step in which a computer changes the difficulty value recorded in a block to distinguish whether the block addition is based on the Voter Ring mode or the normal block addition.

[0039] (12) The computer software program according to (11), characterized in that:

[0040] Regarding the change of the difficulty value, the range of the value in the case of adding blocks based on the Voter Ring mode is set to be higher than that in the case of adding blocks normally.

[0041] (13) The computer software program according to (11), characterized in that:

[0042] When the Singer node that returns to the network reaches its own signing order, if it determines that the block immediately in front of it is written through the Voter Ring, it specifies a difficulty interval higher than the difficulty of the Voter Ring so far and signs the new block, thereby promoting the return from the Voter Ring to the normal ring.

[0043] (14) The computer software program according to (13), characterized in that:

[0044] If all Singer nodes confirm that the difficulty exceeds the difficulty of the Voter Ring, the difficulty value returns to the original value, the Voter Ring status is released, and it returns to the normal state where all nodes have joined.

[0045] In addition, features of the present invention other than those described above are disclosed in the description of the embodiments of the present invention described below and in the drawings thereof. BRIEF DESCRIPTION OF THE DRAWINGS

[0046] Figure 1 It is a system schematic configuration diagram showing one embodiment of the present invention.

[0047] Figure 2 This is a schematic diagram showing the Sealer Ring.

[0048] Figure 3 This is a schematic diagram showing the state where several sealers are stopped.

[0049] Figure 4 This is a schematic diagram that also shows a Voter Ring.

[0050] Figure 5 This is a flowchart that also shows the processing logic when a new block is generated.

[0051] Figure 6 This is a flowchart that also shows the processing logic when a new block is received.

[0052] Figure 7 This is a flowchart similarly showing the inspection process in the Sealer Ring.

[0053] Figure 8 This is a flowchart similarly showing the inspection process in the Voter Ring. DETAILED DESCRIPTION

[0054] Hereinafter, one embodiment of the present invention will be described with reference to the drawings.

[0055] (One embodiment)

[0056] Figure 1 The structure of the blockchain execution server component 1 (computer software program) according to one embodiment of the present invention is shown.

[0057] The execution server component 1 is a service program for building a blockchain network, which can execute actions on a server such as Linux (registered trademark), or can be embedded in an application and execute actions on a portable terminal. In this case, the component 1 is stored on a storage medium installed on each device, and is appropriately called and executed by the CPU of the device (not shown) on a memory (not shown) to perform actions as each structure of the present invention.

[0058] like Figure 1 As shown, the execution server component 1 has a smart contract execution unit 2, a consensus algorithm execution unit 3, a blockchain data storage function unit 4, a data synchronization function unit 5, and a P2P network construction function unit 6. Here, the smart contract execution unit 2 also provides an interface for the blockchain. The consensus algorithm execution unit 3 also provides a node management function unit 7.

[0059] The above-mentioned structural elements 2 to 7 can access the shared data 9 that stores the smart contract 10, the consensus algorithm 11, the blockchain data 12, the node information 13, and the difficulty interval 14.

[0060] Next, the detailed structure and function of each of the above-mentioned components will be described in detail through their operations.

[0061] (Functions of smart contract execution department, blockchain data storage department, data synchronization department, and P2P network construction department)

[0062] The smart contract execution unit 2 is a virtual machine that executes a specific method (update method) of the smart contract 10 stored in the shared data 9 based on external calls and data transmission to the blockchain network and returns the result.

[0063] The P2P network construction function unit 6 realizes the function of constructing a new node as a member of the P2P network of the blockchain and connecting the blockchain execution servers to each other. That is, a node for accessing the blockchain network is required in order to call and execute the method of the smart contract 10. In order to make a certain node newly join the blockchain network, one of the existing nodes needs to be set as a member of the P2P network of the blockchain.

[0064] The data synchronization function unit 5 synchronizes the latest blockchain data 12 at each node. During the synchronization, data 11 is obtained from other nodes connected via P2P, and after the correctness is verified, it is saved as shared data 9. The blockchain data storage function unit 4 saves the shared data (blockchain data 12) of the above blockchain in the storage area of ​​the server or portable terminal.

[0065] Regarding the call of the update method of the above-mentioned smart contract 10, a transaction is formed and sent from each node to the blockchain network. The transaction is transmitted to all nodes constituting the blockchain network. At this time, each node is temporarily queued as a transaction waiting to be stored in the block. It takes a certain amount of time until the transaction is stored in the block, so the update method is in principle an asynchronous process.

[0066] The execution of the update method of the smart contract 10 is equivalent to storing the call transaction of the method in the new block. The execution timing of the update method is when the block creation node creates a new block, and when other nodes other than the block creation node receive the new block and verify its correctness.

[0067] Smart contracts 10 are executed in the same manner on all nodes on the blockchain network, with the same results achieved along with the processed state updates.

[0068] Regarding the call and execution of the reference method of smart contract 10, the node's own verified smart contract code and internal state are used to immediately return the result. As mentioned above, smart contract 10 can be executed in the above manner because all nodes on the blockchain network share data 11.

[0069] In addition, the shared objects include blocks and transactions, as well as the code and internal state of smart contracts. As a result, any node can reproduce the execution of smart contracts based on the transactions stored in the blocks, and can independently verify the correctness of the internal state updates accompanying the execution. Based on this structure, the tamper-resistant characteristics of the blockchain are realized as an execution platform for smart contracts.

[0070] (Consensus Algorithm Execution Department)

[0071] Next, the consensus algorithm execution unit 3 of this embodiment is described.

[0072] The consensus algorithm 11 of this embodiment is based on Proof of Authority (PoA). This PoA is a consensus algorithm based on the consideration that only trusted nodes can sign blocks, and is a consensus algorithm in which nodes called Sealers form a ring-shaped virtual network and sign blocks in sequence at specified intervals.

[0073] In this embodiment, in order to join the network adopting this algorithm, it is necessary to obtain trust through approval (Aurhority) such as eKYC, and in this sense, it is centralized, but malicious participants can be excluded at a realistic level.

[0074] Below, an example is used to illustrate the case where a consensus algorithm 11 having such a concept is installed in the consensus algorithm execution unit 3 and the node management function unit 7 of this embodiment.

[0075] The consensus algorithm execution unit 3 executes the agreement for adding the data received via the P2P network to the blockchain. Therefore, the information 13 of the nodes related to the agreement is saved. In addition, the node management function unit 7 provided in the consensus algorithm execution unit 3 manages and determines the nodes to be signed based on the consensus algorithm 11.

[0076] Next, the operations of the consensus algorithm execution unit 3 and the node management function unit 7 are explained.

[0077] (Signatories and Voters)

[0078] The node management function unit 7 divides the nodes participating in the agreement into Singers (signatories) and Voters (voters) for management. Singers are nodes that are assumed to perform actions on portable terminals, and Voters are nodes that can be adequately endowed with network, power, and other computing resources, hosted in a data center, and perform actions on a server computer.

[0079]

Table 1

[0080]

[0081] The node management function is built for Voters and Singers Figure 2 Such a ring-shaped virtual network is constructed to sign the blocks containing transaction processing in order so that the network can execute actions. Here, Voter and Singer are called Sealer (a node that can sign "Sealing" a block and add it to the blockchain: a signatory). In this figure, blocks are signed and added to the blockchain in order, such as S1→V1→S2→V2.

[0082] (Sealer Ring Node Management)

[0083] This healthy state is called a Sealer Ring. According to this Sealer Ring, it is assumed that all Singers are cut off from the blockchain network due to a failure of the entire mobile network. In this case, Figure 3 That way only Voters are built on a stable infrastructure and can therefore continue to execute the network ( Figure 3 ).

[0084] However, if more than half of the nodes are disconnected from the network, a valid agreement cannot be reached and new blocks cannot be added to the blockchain, so the blockchain network may stop.

[0085] The node management function unit 7 of the online remaining Voter is configured to detect this state. That is, the node management function unit 7 has a block addition monitoring unit 16, which detects that no new block is added at the signing time of each block and detects this state (usually, all nodes detect the addition of new blocks and update their own blockchains).

[0086] If this state is detected in the block addition monitoring unit 16, the node management function unit 7 of the Voter enters a mode for confirming whether the block has not been signed within a certain period of time. If a new block is not added to the blockchain even after the period has passed, the network is transferred to the Voter Ring composed only of Voters.

[0087] (Logic of Voter Ring Formation)

[0088] The Voter Ring forms an agreement-making ring (Voter Ring) with only Voter nodes by excluding all Singers that are valid at this time. Figure 4 ), in which state, Voter is configured to execute the usual logic of signing and appending new blocks.

[0089] In order to form the agreement reaching ring consisting of only Voter nodes, i.e., Voter Ring, Figure 1 The difficulty interval change unit shown in 17 can change the difficulty interval recorded in the block as shown in Table 2, and can distinguish whether it is a block addition based on the Voter Ring or a normal block addition. Difficulty refers to a value within a certain range. This implementation method is determined based on the number of nodes, but it can also be determined based on other criteria.

[0090]

Table 2

[0091]

[0092] (Return logic to Sealer Ring)

[0093] Next, when the portable terminal (Singer) that was disconnected from the network returns to an online state, data synchronization is first performed to make the returning node conform to the latest blockchain status.

[0094] If synchronization is completed, the node management function unit 7 of Singer refers to the difficulty contained in the block to detect whether the current blockchain performs actions in the normal state or in the Voter Ring.

[0095] When the returning Singer reaches its own signing order, if it determines that the block immediately in front of it is written to the Voter Ring, it specifies a difficulty interval that is larger than the difficulty interval of the Voter Ring so far and signs the new block to promote the return from the Voter Ring to the normal ring.

[0096]

Table 3

[0097]

[0098] If the node management function unit 7 of all the Voters confirms that the difficulty value exceeds the difficulty of the Voter Ring, the state of the Voter Ring is released and the state is restored to the normal state in which all the nodes participate.

[0099] As a result, all Voters cancel the Voter Ring state and allow all valid Sealers to join. The mode shifts to the Sealer Ring, which is the normal mode. Furthermore, the difficulty section changer 17 returns the difficulty section to a section in the normal state.

[0100] (Processing flow when a new block is generated)

[0101] Figures 5 to 8 A flowchart showing a specific example of the transition logic between the Sealer Ring and the Voter Ring is shown.

[0102] Figure 5 It represents the decision logic of diffuculty when a new block is generated, that is, when Seler itself signs the block.

[0103] That is, when a new block is generated, the state of the previous blockchain is read, the difficulty is verified, and the network is checked to see if it is executed in the Voter Ring (steps S1-1, S1-2). Here, if it is not a Voter Ring (step S1-3), the time elapsed after the last block generation is checked (step S1-4), and if a certain time has passed, it is determined whether to switch to the Voter Ring (S1-5). If a certain time has not passed, it is not switched to the Voter Ring and is set to the normal difficulty interval (step S1-6).

[0104] On the other hand, when the node has already switched to the Voter Ring or is determined to have switched to the Voter Ring, determine whether the node itself is a Voter (step S1-7). If it is a Voter, set the difficulty interval of the Voter Ring (step S1-8). Conversely, when it is not a Voter (when the node itself is a Singer), set the difficulty interval for releasing the Voter Ring (step S1-9).

[0105] Then, the node continues to perform the process of adding new blocks in the difficulty interval determined in the above manner (step S1 - 10 ).

[0106] (Processing flow when receiving / appending new blocks)

[0107] Figure 6 Indicates the logic for adding a new block when a new block is received by the Sealer.

[0108] That is, in this logic, the following step of step S2-2 is executed as part of the process of checking the legitimacy of the received block (step S2-1) or thereafter.

[0109] First, after reading the previous blockchain status in step S2-2, check whether the network is executed in Voter Ring based on the difficulty value included in the block (step S2-3).

[0110] Furthermore, if it is determined to be a Voter Ring in step S2-4, a check in the Veter Ring is performed (step S2-5), and if it is determined not to be a Voter Ring in step S2-4, a check in the Sealer Ring is performed (step S2-6). If the check result is correct in step S-7, the block is approved and saved (step S-8), and if the check result is incorrect, an error is returned (step S2-9).

[0111] (Process flow of inspection execution in Sealer Ring)

[0112] Figure 7 Indicates the additional approval process of the above new block ( Figure 6 ) is a processing flow of the inspection execution in the Sealer Ring executed in step S2-6.

[0113] That is, in this processing, in steps S3-1 to 3-3, it is determined whether the range of difficulty is the range of SealerRing, Voter Ring, and Voter Ring release. If it is within the range of Voter Ring, it is determined whether the node itself is a Voter node (S3-4). If it is not a Voter node, an error is returned as a check result (S3-5). In the case of a Voter node, a positive check result is returned only at the timing of the last block generation or after a certain period of time (step S3-6).

[0114] On the other hand, when it is determined in step S3-3 that it is within the difficulty range for releasing the Voter Ring, if the node itself is not a Singer node (determined in step S3-6), an error is returned as a check result (step S3-7). In the case of a Singer node (determined in step S3-6), a positive check result is returned (step S3-10) only at the timing of the last block generation or when it is determined that a certain period of time has passed (S3-8, 3-9).

[0115] (Processing flow of check execution in Voter Ring)

[0116] Figure 8 Indicates the additional approval process of the above new block ( Figure 6 ) is a processing flow for executing the check in the Voter Ring executed in step S2-5.

[0117] That is, in this processing, in steps S4-1 to 4-3, it is determined whether the range of difficulty is the range of SealerRing, Voter Ring, and Voter Ring release, respectively. If it is within the range of Voter Ring (step S4-2), it is determined whether the node itself is a Voter node (step S4-4). If it is not a Voter, an error is returned as the inspection result (step S4-5). If it is a Voter node, a positive inspection result is returned (step S4-6).

[0118] On the other hand, when it is within the difficulty range for releasing the Voter Ring (step S4-3), if the node itself is not a Singer node (S4-7), an error is returned as the inspection result (step S4-8), and if it is a Singer node, a positive inspection result is returned (step S4-6).

[0119] By installing the processing of the node management function unit as described above, even if a node using a less stable network infrastructure such as a portable terminal is added, the blockchain network will not be stopped and the operations of the blockchain network can be continuously performed stably.

[0120] In addition, the present invention is not limited to the above-mentioned one embodiment, and various modifications can be made within the scope of the present invention.

[0121] Description of the label

[0122] 1…Blockchain Execution Server Components

[0123] 3…Consensus Algorithm Execution Department

[0124] 4…Blockchain data storage function

[0125] 5…Data synchronization function

[0126] 6…P Network Construction Function Department

[0127] 7…Node management function

[0128] 9…Share data

[0129] 10…Smart Contracts

[0130] 11…Consensus Algorithm

[0131] 12… Blockchain Data

[0132] 13…Node information

[0133] 14…difficulty interval

[0134] 16…Block Additional Monitoring Unit

[0135] 17…difficulty section change department

Claims

1. A method for constructing a blockchain network, characterized in that: A node management process is provided in which a computer stores information of nodes related to the agreement for adding data received via a P2P network to a blockchain, and determines nodes that need to be signed based on a consensus algorithm. The node management process is a process in which a computer defines and divides nodes that have joined the agreement into Voter nodes that perform actions in a more stable environment and Singer nodes that perform other operations, and connects these nodes to build a ring-shaped virtual network. The method comprises the steps of: a computer detecting whether a certain number of nodes constituting the virtual network have been disconnected from the virtual network; and when such a state is detected, migrating the virtual network to a Voter Ring virtual network consisting only of Voter nodes.

2. The method for constructing a blockchain network according to claim 1, characterized in that: The method comprises the following steps of executing a consensus algorithm, namely, a computer executing a protocol for appending data received via a P2P network to a blockchain, The consensus algorithm execution process is a process in which, when the virtual network is transferred to a Voter Ring virtual network composed only of Voter nodes, the agreement is reached only at the Voter nodes.

3. The method for constructing a blockchain network according to claim 1, characterized in that: The management function process includes a block addition monitoring process, that is, the computer detects whether a certain number of nodes have been disconnected from the network by detecting whether a new block is not added at the signing time of each block, The following transition process is provided, that is, if the above state is detected in the block addition monitoring process, a mode is entered to confirm whether the block has not been signed within a certain period of time. Even if the new block is not added to the blockchain after the period, the network is transferred to the Voter Ring composed of only Voters.

4. The method for constructing a blockchain network according to claim 1, characterized in that: The process includes a step in which a computer changes the difficulty value recorded in a block to distinguish whether the block is added in the VoterRing mode or is a normal block addition.

5. The method for constructing a blockchain network according to claim 4, characterized in that: Regarding the change of the difficulty value, the range of the value in the case of adding blocks based on the Voter Ring mode is set to be higher than that in the case of adding blocks normally.

6. The method for constructing a blockchain network according to claim 4, characterized in that: When the Singer node that returns to the network reaches its own signing order, if it determines that the block immediately in front of it is written through the Voter Ring, it specifies a difficulty interval higher than the difficulty of the Voter Ring so far and signs the new block, thereby promoting the return from the Voter Ring to the normal ring.

7. The method for constructing a blockchain network according to claim 6, characterized in that: All Singer nodes confirm that the difficulty exceeds the difficulty of the Voter Ring, restore the difficulty value to the original value, cancel the Voter Ring status, and return to the normal state where all nodes have joined.

8. A computer software program for constructing and maintaining a blockchain network, characterized in that: The computer is caused to execute a node management process of storing information of nodes related to the agreement for adding data received via the P2P network to the blockchain, and determining nodes that need to be signed based on a consensus algorithm, The node management process is a process in which a computer defines and divides nodes that have joined the agreement into Voter nodes that perform actions in a more stable environment and Singer nodes that perform other operations, and connects these nodes to build a ring-shaped virtual network. The method further comprises the step of detecting, by a computer, whether a certain number of nodes constituting the virtual network have been disconnected from the virtual network, and if such a state is detected, migrating the virtual network to a Voter Ring virtual network consisting only of Voter nodes.

9. The computer software program according to claim 8, characterized in that The method comprises the following steps of executing a consensus algorithm, namely, causing a computer to execute an agreement for adding data received via a P2P network to a blockchain, The consensus algorithm execution process is a process in which, when the virtual network is transferred to a Voter Ring virtual network composed only of Voter nodes, the agreement is reached only at the Voter nodes.

10. The computer software program according to claim 8, characterized in that The management function process includes a block addition monitoring process, that is, the computer detects whether a certain number of nodes have been disconnected from the network by detecting whether a new block is not added at the signing time of each block, The following transition process is provided, that is, if the above state is detected in the block addition monitoring process, a mode is entered to confirm whether the block has not been signed within a certain period of time. Even if the new block is not added to the blockchain after the period, the network is transferred to the Voter Ring composed of only Voters.

11. The computer software program according to claim 8, characterized in that The process includes a step in which a computer changes the difficulty value recorded in a block to distinguish whether the block is added in the VoterRing mode or is a normal block addition.

12. The computer software program according to claim 11, characterized in that Regarding the change of the difficulty value, the range of the value in the case of adding blocks based on the Voter Ring mode is set to be higher than that in the case of adding blocks normally.

13. The computer software program according to claim 11, characterized in that When the Singer node that returns to the network reaches its own signing order, if it determines that the block immediately in front of it is written through the Voter Ring, it specifies a difficulty interval higher than the difficulty of the Voter Ring so far and signs the new block, thereby promoting the return from the Voter Ring to the normal ring.

14. The computer software program according to claim 13, characterized in that If all Singer nodes confirm that the difficulty exceeds the difficulty of the Voter Ring, the difficulty value returns to the original value, the Voter Ring state is released, and it returns to the normal state where all nodes have joined.