WO2021101312A1 - Method for processing transactions of blockchain network - Google Patents

Method for processing transactions of blockchain network Download PDF

Info

Publication number
WO2021101312A1
WO2021101312A1 PCT/KR2020/016459 KR2020016459W WO2021101312A1 WO 2021101312 A1 WO2021101312 A1 WO 2021101312A1 KR 2020016459 W KR2020016459 W KR 2020016459W WO 2021101312 A1 WO2021101312 A1 WO 2021101312A1
Authority
WO
WIPO (PCT)
Prior art keywords
transaction
node
response
primary
nodes
Prior art date
Application number
PCT/KR2020/016459
Other languages
French (fr)
Korean (ko)
Inventor
진승범
Original Assignee
주식회사 피플카
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 피플카 filed Critical 주식회사 피플카
Publication of WO2021101312A1 publication Critical patent/WO2021101312A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 

Definitions

  • the present invention relates to a transaction method of a blockchain network, and more particularly, to an improved transaction processing method in which a transaction processing method having transaction information is different according to the reliability and processing speed of a node.
  • Blockchain technology is a technology that distributes and stores transaction information on a network without storing transaction information in a specific institution or central server, and records and manages all participants in one block.
  • the hash and nonce of the block are included, and if these blocks are connected continuously, a block chain is formed.
  • Such blockchain technology is positioned as one of the flows of important information technology due to the reliability of the transaction proof, but it requires the work of replicating the proof of the transaction to several nodes, so there is a delay until the transaction is completed by copying and storing the transaction data. Severe is appearing as a technical problem.
  • the node 12 when a transaction is transmitted from the client terminal 10 to the node 12, the node 12 generates a block including the transmitted transaction, and constructs a block chain with the generated block. To other nodes (14). The node 12 that has transmitted the block to the other node 14 receives a transaction response from the other node 14 and then transmits a transaction processing completion response to the client terminal 10. Similarly, the node 14 transmits a block to another node 16, receives a transaction response from another node 16, and transmits a transaction processing completion response.
  • the next node receives the block containing the transaction and transmits it to another node.
  • the processing speed of the nodes constituting the blockchain is not uniform. In addition, some nodes are always connected, while others are intermittently connected.
  • the present invention has been devised to solve the above problems, and an object of the present invention is to provide an improved transaction processing method that prevents delay in transaction processing while maintaining the reliability of a blockchain.
  • a transaction transmission process comprising transmitting a transaction processing completion response to a client node irrespective of whether or not a transaction response is received from the secondary node;
  • the primary node and the secondary node are characterized in that they are determined according to the reliability and transmission speed of the node.
  • the present invention it is possible to prevent transaction delay by prioritizing the transaction processing according to the reliability and processing speed of the node.
  • FIG. 1 schematically shows a conventional transaction processing method.
  • FIG. 2 shows a block chain network that performs a transaction processing method according to the present invention.
  • FIG. 3 is a flowchart showing a transaction processing method according to the present invention.
  • FIG. 4 schematically shows a transaction processing process for a secondary node in a transaction processing process according to the present invention.
  • nodes participating in the blockchain are divided into groups, priority is given between these groups, and when the propagation of the transaction to the nearest priority nodes is completed, a transaction requesting response is given to the client to respond to the client. It is about a technology that completes the processing and at the same time continues propagating the transaction between nodes.
  • Nodes participating in the blockchain are divided into Primary Node Group and Secondary Node Group. Based on one node, it is divided into Primary Node Group and Secondary Node Group according to the trust relationship with the corresponding node, and the transaction processing method is different depending on which group the other node belongs to.
  • the Node is a server of a financial company such as a bank, a government agency, or a government office
  • these nodes are classified as Primary Node Group because they have good performance and can expect a quick response to processing. It is classified as a Secondary Node Group because it is not known whether it is running or a quick response is not expected.
  • Confirmed Transaction if the transaction is propagated and a response is received when the response is received
  • Deferred Transaction a response is transmitted before the transaction is propagated, and the transaction is propagated. Divide and process.
  • FIG. 2 shows a block chain network that performs a transaction processing method according to the present invention.
  • the blockchain network to which the present invention is applied includes primary nodes 22 and 24 and secondary nodes 26.
  • the primary nodes 22 and 24 and the secondary node 26 are nodes constituting the blockchain, that is, nodes that store transaction information, and each node 22, 24, 26 responds to the transmission of transactions and completion of transaction processing. Perform.
  • the primary nodes 22 and 24 and the secondary node 26 are pre-designated by a person or related system prior to the transaction step.
  • the secondary node 26 does not store classification information because it is not reliable. This is because if the information of the primary nodes 22 and 24 stored in the secondary node 26 is changed by an unauthorized person, the classification system itself will be damaged. In addition, since the information stored in the secondary node 26 is considered to be unreliable, the primary nodes 22 and 24 do not receive and store transaction information from the secondary node 26. The secondary node 26 may transmit transaction information only to other secondary nodes.
  • the client terminal 20 transmits a transaction to the first primary node 22.
  • the first primary node 22 transmits the transaction to the second primary node 24 and, upon receiving the transaction response from the second primary node 24, transmits a transaction processing completion response to the client terminal 20.
  • the second primary node 24 transmits a transaction processing completion response to the client terminal 20 before transmitting the transaction to the secondary node 26, and then transmits the transaction to the secondary node 26.
  • the second primary node 24 transmits the transaction to the secondary node 26 and transmits a transaction processing completion response to the client terminal 20 regardless of whether or not a transaction response from the secondary node 26 is received. .
  • a transaction processing completion response is received after receiving a transaction response from the second primary node 24. Is transmitted to the client terminal 20.
  • the transaction processing completion response is transmitted to the client terminal 20 regardless of whether or not a transaction response is received from the secondary node 926.
  • the transaction transmission to the secondary node 26 may be performed before or after transmitting the transaction processing completion response to the client terminal 20.
  • the reason why the transaction processing methods in the primary nodes 22 and 24 and the secondary node 26 are different is because there is a difference in reliability and processing speed of each node.
  • the primary nodes 22 and 24 are highly reliable, that is, they are always connected to the blockchain and have high processing speed.
  • the secondary node 26 has low reliability, that is, it is not always connected to the blockchain and has a slow processing speed.
  • the transaction In the case of transmitting a transaction to the primary nodes (22, 24) with high reliability and high processing speed among nodes constituting the blockchain network by this transaction processing method, the transaction is transmitted and a response to the transaction is received.
  • the transaction processing completion response is transmitted afterwards and the transaction is transmitted to the secondary node 26, which has low reliability and slow processing speed, the transaction processing completion response is transmitted regardless of whether or not the transaction is transmitted, and then the transaction is transmitted. The delay is improved.
  • the processing is regarded as successful. If the storage results of the primary nodes 22 and 24 and the secondary node 26 are different for one contract, it is determined based only on the storage results of the primary nodes 22 and 24 and the storage results of the secondary node 26 Is excluded.
  • FIG. 3 is a flowchart showing a transaction processing method according to the present invention.
  • the nodes constituting the blockchain are classified into a primary node and a secondary node (S302).
  • Classification of the primary node and the secondary node depends on the reliability and processing speed of the node.
  • the primary node is always connected to the blockchain network, so it has high reliability and high processing speed.
  • the secondary node is not always connected to the blockchain network, so it has low reliability and slow processing speed.
  • the classification criteria for primary and secondary nodes are determined based on physical and administrative reliability (IDC center, management organization, existence of Trusted Anchor, etc.). Therefore, there cannot be a node that does not belong to any group.
  • the transaction When transmitting a transaction to the primary node, the transaction is first transmitted to the primary node, and after receiving a response to the transaction, a transaction processing completion response is transmitted to the client terminal (Confirmed transaction) (S306).
  • a transaction processing completion response is first transmitted to the client terminal, and the transaction is transmitted to the secondary node afterwards.
  • a transaction is transmitted to the secondary node and a transaction processing completion response is transmitted to the client terminal regardless of a response to the transaction (Deferred transaction) (S308).
  • FIG. 4 schematically shows a transaction processing process for a secondary node in a transaction processing process according to the present invention.
  • the transaction processing completion response can be transmitted to the client regardless of the success of transmission of transaction information to all other nodes. Since information is transmitted after that, the response speed of transaction processing can be remarkably improved. For example, if implemented as the following pseudo code, a response can be sent to the client after the first execution of the loop is successful.
  • the timing of the response transmission from the pseudocode to the client is not determined and may be changed according to the technical implementation of the invention.
  • the terms or words used in this specification and claims should not be construed as being limited to a conventional or dictionary meaning, and the inventor In order to describe its own invention in the best way, it should be interpreted as a meaning and concept consistent with the technical idea of the present invention based on the principle that the concept of terms can be appropriately defined.

Abstract

Disclosed is a method for processing transactions of a blockchain network that processes transactions differently depending on node reliability and processing speed. The method for processing transactions of a blockchain network comprises: a step of classifying, on the basis of reliability, nodes participating in the blockchain into two types, a primary node and a secondary node; and a transaction transmitting step in which a node that has received a transaction transmits the transaction to another node, wherein when the node transmits the transaction to the primary node, after receiving a transaction response from the primary node, the node transmits a transaction processing completion response to a client node, and when the node transmits the transaction to the secondary node, the node transmits the transaction processing completion response to the client node irrespective of whether or not a transaction response is received from the secondary node.

Description

블록체인 네트워크의 트랜잭션 처리 방법Blockchain network transaction processing method
본 발명은 블록체인 네트워크의 트랜잭션 방법에 관한 것으로서 더욱 상세하게는 노드의 신뢰성 및 처리 속도에 따라 거래 정보를 가지는 트랜잭션의 처리 방식을 다르게 하는 개선된 트랜잭션 처리 방법에 관한 것이다.The present invention relates to a transaction method of a blockchain network, and more particularly, to an improved transaction processing method in which a transaction processing method having transaction information is different according to the reliability and processing speed of a node.
블록체인(block chain) 기술은 거래 정보를 특정 기관이나 중앙 서버 등에 저장하지 않고 네트워크상에 분산하여 저장하고 참여자 모두가 공동으로 기록, 관리하는 기술로 하나의 블록에는 지나온 10분간의 거래내역과 직전 블록의 해시, 난스(nonce)가 포함되어 있으며, 이 블록들을 계속 연결시키면 블록체인이 형성되는 구조이다.Blockchain technology is a technology that distributes and stores transaction information on a network without storing transaction information in a specific institution or central server, and records and manages all participants in one block. The hash and nonce of the block are included, and if these blocks are connected continuously, a block chain is formed.
이러한 블록체인 기술은 거래 증명의 신뢰성으로 인하여 중요한 정보 기술의 흐름 중의 하나로 자리 잡고 있으나, 거래의 증명을 여러 노드에 복제하는 작업을 필요로 하므로 거래 자료가 복제, 저장되어 거래가 완료되는 시점까지 지연이 심하다는 것이 기술적 문제점으로 나타나고 있다.Such blockchain technology is positioned as one of the flows of important information technology due to the reliability of the transaction proof, but it requires the work of replicating the proof of the transaction to several nodes, so there is a delay until the transaction is completed by copying and storing the transaction data. Severe is appearing as a technical problem.
도 1은 종래의 트랜잭션 처리 방법을 보인다.1 shows a conventional transaction processing method.
도 1을 참조하면, 클라이언트 단말(10)로부터 노드(12)로 트랜잭션(transaction)이 전송되면, 해당 노드(12)는 전송된 트랜잭션을 포함하는 블록을 생성하고, 생성된 블록을 블록체인을 구성하는 다른 노드(14)들에 전송한다. 다른 노드(14)로 블록을 전송한 노드(12)는 다른 노드(14)로부터 트랜잭션 응답을 수신한 후 클라이언트 단말(10)로 거래 처리 완료 응답을 전송한다. 마찬가지로 노드(14)는 또 다른 노드(16)으로 블록을 전송하고 또 다른 노드(16)으로부터 트랜잭션 응답을 수신한 후 거래 처리 완료 응답을 전송한다.Referring to FIG. 1, when a transaction is transmitted from the client terminal 10 to the node 12, the node 12 generates a block including the transmitted transaction, and constructs a block chain with the generated block. To other nodes (14). The node 12 that has transmitted the block to the other node 14 receives a transaction response from the other node 14 and then transmits a transaction processing completion response to the client terminal 10. Similarly, the node 14 transmits a block to another node 16, receives a transaction response from another node 16, and transmits a transaction processing completion response.
노드들은 P2P 방식으로 연결되어 있으므로, 다음 노드가 트랜잭션을 포함하는 블록을 받아서 또 다른 노드로 전송하게 된다.Since the nodes are connected in a P2P method, the next node receives the block containing the transaction and transmits it to another node.
블록체인은 P2P 기반이기 때문에 블록체인을 구성하는 노드들의 처리 속도는 일률적이지 않다. 또한, 항상 연결되어 있는 노드가 있는가 하면 간헐적으로 연결되는 노드가 있다. Since the blockchain is based on P2P, the processing speed of the nodes constituting the blockchain is not uniform. In addition, some nodes are always connected, while others are intermittently connected.
이에 따라, 각 노드(12, 14, 16)가 클라이언트 단말(10)로 거래 처리 완료 응답을 제공하는 데 있어서 차이가 있고 이러한 차이로 인해 거래 처리에 지연이 발생한다.Accordingly, there is a difference in each node 12, 14, 16 in providing a transaction processing completion response to the client terminal 10, and this difference causes a delay in transaction processing.
클라이언트 단말(10) 측면에서는 거래 처리 완료 응답을 전송 받지 못하면 해당 거래가 끝났는지 알 방법이 없다.On the client terminal 10 side, if the transaction processing completion response is not transmitted, there is no way to know whether the transaction has ended.
하나의 거래가 완료되려면, 거래의 정보를 저장하는 노드(12, 14, 16)들이 모두 거래 정보에 대한 저장을 완료하여야 거래가 완료된다. 따라서 하나의 거래가 완료될 때 소요되는 시간은 저장 속도가 가장 느린 노드의 처리 시간보다 길 수 밖에 없다. In order to complete a transaction, all nodes 12, 14, and 16 storing transaction information must complete storage of transaction information to complete the transaction. Therefore, the time it takes to complete a transaction is inevitably longer than the processing time of the node with the slowest storage speed.
예를 들어, 노드가 10개이고 그 중 9개는 처리 시간이 1초인 반면, 나머지 1개는 처리시간이 10초라면, 해당 거래는 10초가 지나야 완료될 것이고, 10초가 걸리는 노드의 성능 저하 때문에 약 9초의 거래의 지연이 발생하게 된다. For example, if there are 10 nodes and 9 of them have a processing time of 1 second, while the other 1 has a processing time of 10 seconds, the transaction will be completed after 10 seconds. There will be a 9 second transaction delay.
또 다른 예로, 만약 하나의 거래가 완료되는데 10,000개의 노드가 거래 정보 저장을 완료하여야 한다고 가정하면 10,000개의 노드 중에는 해당 노드가 꺼져 있는 경우도 있고, 거래의 게시자가 10,000개의 노드가 거래 정보의 저장을 완료하였는지 검사하는 물리적인 시간까지 더해지기 때문에 거래의 지연이 발생한다.As another example, if one transaction is completed and 10,000 nodes have to complete the storage of transaction information, some of the 10,000 nodes may have the corresponding node turned off, and the publisher of the transaction completes the storage of transaction information with 10,000 nodes. Transaction delay occurs because the physical time to check whether it has been done is added.
본 발명은 상기의 문제점을 해결하기 위하여 고안된 것으로서, 블록체인의 신뢰성을 유지하면서 거래 처리의 지연을 방지하는 개선된 트랜잭션 처리 방법을 제공하는 것을 그 목적으로 한다.The present invention has been devised to solve the above problems, and an object of the present invention is to provide an improved transaction processing method that prevents delay in transaction processing while maintaining the reliability of a blockchain.
상기의 목적을 달성하는 본 발명에 따른 블록체인 네트워크의 트랜잭션 처리 방법은The transaction processing method of the blockchain network according to the present invention to achieve the above object
블록체인에 참여한 노드들을 신뢰성에 따라 프라이머리 노드와 세컨더리 노드의 두 종류로 분류하는 과정; 및The process of classifying nodes participating in the blockchain into two types of primary nodes and secondary nodes according to their reliability; And
트랜잭션을 전송받은 노드가 해당 트랜잭션을 다른 노드로 전송함에 있어서 상기 프라이머리 노드로 전송할 경우에는 상기 프라이머리 노드로부터 트랜잭션 응답을 수신한 후 클라이언트 노드로 거래 처리 완료 응답을 전송하고, 상기 세컨더리 노드로 전송하는 경우에는 상기 세컨더리 노드로부터의 트랜잭션 응답 수신 여부와 관계없이 클라이언트 노드로 거래 처리 완료 응답을 전송하는 것을 특징으로 하는 트랜잭션 전송 과정;When the node receiving the transaction transmits the transaction to the primary node when transmitting the transaction to another node, after receiving the transaction response from the primary node, it transmits a transaction processing completion response to the client node, and transmits the transaction processing completion response to the secondary node. In this case, a transaction transmission process comprising transmitting a transaction processing completion response to a client node irrespective of whether or not a transaction response is received from the secondary node;
을 포함하는 것을 특징으로 한다.It characterized in that it comprises a.
여기서, 프라이머리 노드와 세컨더리 노드는 노드의 신뢰성 및 전송 속도에 따라 결정되는 것을 특징으로 한다.Here, the primary node and the secondary node are characterized in that they are determined according to the reliability and transmission speed of the node.
본 발명에 따르면, 노드의 신뢰성 및 처리 속도에 따라 우선순위를 두어 트랙잭션 처리를 수행함으로써 거래 지연을 방지할 수 있다는 효과를 갖는다.According to the present invention, it is possible to prevent transaction delay by prioritizing the transaction processing according to the reliability and processing speed of the node.
도 1은 종래의 트랜잭션 처리 방법을 도식적으로 보인다.1 schematically shows a conventional transaction processing method.
도 2는 본 발명에 따른 트랜잭션 처리 방법을 수행하는 블록체인 네트워크를 도시한다.2 shows a block chain network that performs a transaction processing method according to the present invention.
도 3은 본 발명에 따른 트랜잭션 처리 방법을 보이는 흐름도이다.3 is a flowchart showing a transaction processing method according to the present invention.
도 4는 본 발명에 따른 트랜잭션의 처리 과정에 있어서 세컨더리 노드에 대한 트랜잭션 처리 과정을 도식적으로 보인다.4 schematically shows a transaction processing process for a secondary node in a transaction processing process according to the present invention.
이하, 첨부된 도면을 참조하여 본 발명의 구성 및 동작을 상세히 설명하기로 한다.Hereinafter, the configuration and operation of the present invention will be described in detail with reference to the accompanying drawings.
본 발명에서는 블록체인에 참여하는 노드들을 그룹으로 나누고 이 그룹들 간에 우선순위를 두고, 가장 가까운 우선순위 노드들에 대한 거래의 전파가 끝나면 거래를 요청한 클라이언트에게 거래 처리 완료 응답을 주어서 클라이언트에 대한 응답 처리를 완료하고, 동시에 거래에 대한 노드들 간 전파를 계속하는 기술에 대한 것이다. In the present invention, nodes participating in the blockchain are divided into groups, priority is given between these groups, and when the propagation of the transaction to the nearest priority nodes is completed, a transaction requesting response is given to the client to respond to the client. It is about a technology that completes the processing and at the same time continues propagating the transaction between nodes.
블록체인에 참여하는 Node들을 Primary Node Group과 Secondary Node Group으로 나눈다. 하나의 Node 중심으로 해당 Node와의 신뢰관계에 따라 Primary Node Group과 Secondary Node Group으로 나누고, 상대방 Node가 어떠한 그룹에 속해 있느냐에 따라 Transaction 처리의 방법을 달리 하는 것이다.Nodes participating in the blockchain are divided into Primary Node Group and Secondary Node Group. Based on one node, it is divided into Primary Node Group and Secondary Node Group according to the trust relationship with the corresponding node, and the transaction processing method is different depending on which group the other node belongs to.
예를 들어, Node가 은행 등의 금융회사나, 정부기관 혹은 관공서의 서버이면, 이러한 Node들은 성능도 좋고 처리에 대한 빠른 응답도 기대할 수 있으므로 Primary Node Group으로 분류하고, 개인소유의 PC일 경우 항상 기동되고 있는 지도 알 수 없고, 빠른 응답도 기대할 수 없으므로 Secondary Node Group으로 분류한다.For example, if the Node is a server of a financial company such as a bank, a government agency, or a government office, these nodes are classified as Primary Node Group because they have good performance and can expect a quick response to processing. It is classified as a Secondary Node Group because it is not known whether it is running or a quick response is not expected.
이러한 분류에 따라 처리하는 Transaction의 종류를 Confirmed Transaction(거래를 전파하고, 그 전파에 대한 응답을 받으면 응답하는 경우)와 Deferred Transaction(거래를 전파하기 전에 응답을 전송하고, 거래를 전파하는 경우)로 나누어서 처리한다.The types of transactions processed according to these classifications are Confirmed Transaction (if the transaction is propagated and a response is received when the response is received) and Deferred Transaction (a response is transmitted before the transaction is propagated, and the transaction is propagated). Divide and process.
도 2는 본 발명에 따른 트랜잭션 처리 방법을 수행하는 블록체인 네트워크를 도시한다.2 shows a block chain network that performs a transaction processing method according to the present invention.
도 2를 참조하면, 본 발명이 적용되는 블록체인 네트워크에는 프라이머리 노드(22, 24)와 세컨더리 노드(26)가 포함된다.Referring to FIG. 2, the blockchain network to which the present invention is applied includes primary nodes 22 and 24 and secondary nodes 26.
프라이머리 노드(22, 24) 및 세컨더리 노드(26)는 블록체인을 구성하는 노드 즉, 거래 정보를 저장하는 노드이며, 각각의 노드(22, 24, 26)는 트랜잭션의 전송 및 거래 처리 완료 응답을 수행한다.The primary nodes 22 and 24 and the secondary node 26 are nodes constituting the blockchain, that is, nodes that store transaction information, and each node 22, 24, 26 responds to the transmission of transactions and completion of transaction processing. Perform.
프라이머리 노드(22, 24) 및 세컨더리 노드(26)는 트랜잭션 단계 이전에 사람이나 관련 시스템 의해서 미리 지정된다.The primary nodes 22 and 24 and the secondary node 26 are pre-designated by a person or related system prior to the transaction step.
세컨더리 노드(26)는 신뢰할 수 없기 때문에 분류 정보를 저장하지 않는다. 만약, 세컨더리 노드(26)에 저장된 프라이머리 노드(22, 24)의 정보가 허가받지 않은 누군가에 의해서 변경된다면 분류 체계 자체가 손상될 것이기 때문이다. 또한 세컨더리 노드(26)에 저장된 정보도 신뢰할 수 없다고 보기 때문에 프라이머리 노드(22, 24)가 세컨더리 노드(26)로부터 거래 정보를 수신받아 저장하지도 않는다. 세컨더리 노드(26)는 다른 세컨더리 노드에만 거래 정보를 전송할 수 있다.The secondary node 26 does not store classification information because it is not reliable. This is because if the information of the primary nodes 22 and 24 stored in the secondary node 26 is changed by an unauthorized person, the classification system itself will be damaged. In addition, since the information stored in the secondary node 26 is considered to be unreliable, the primary nodes 22 and 24 do not receive and store transaction information from the secondary node 26. The secondary node 26 may transmit transaction information only to other secondary nodes.
먼저, 클라이언트 단말(20)은 트랜잭션을 제1프라이머리 노드(22)에 전송한다. First, the client terminal 20 transmits a transaction to the first primary node 22.
제1프라이머리 노드(22)는 트랜잭션을 제2프라이머리 노드(24)로 전송하고 제2프라이머리 노드(24)로부터 트랜잭션 응답을 수신하면 클라이언트 단말(20)로 거래 처리 완료 응답을 전송한다.The first primary node 22 transmits the transaction to the second primary node 24 and, upon receiving the transaction response from the second primary node 24, transmits a transaction processing completion response to the client terminal 20.
제2프라이머리 노드(24)는 트랜잭션을 세컨더리 노드(26)로 전송하기 전에 거래 처리 완료 응답을 클라이언트 단말(20)로 전송하고 이후에 트랜잭션을 세컨더리 노드(26)로 전송한다. 다른 방법으로 제2프라이머리 노드(24)는 트랜잭션을 세컨더리 노드(26)로 전송하고 세컨드리 노드(26)로부터의 트랜잭션 응답 수신 여부에 상관없이 거래 처리 완료 응답을 클라이언트 단말(20)로 전송한다. The second primary node 24 transmits a transaction processing completion response to the client terminal 20 before transmitting the transaction to the secondary node 26, and then transmits the transaction to the secondary node 26. Alternatively, the second primary node 24 transmits the transaction to the secondary node 26 and transmits a transaction processing completion response to the client terminal 20 regardless of whether or not a transaction response from the secondary node 26 is received. .
여기서, 프라이머리 노드(22, 24) 및 세컨더리 노드(26)에서의 트랜잭션 처리 방식에 차이가 있다.Here, there are differences in transaction processing methods in the primary nodes 22 and 24 and the secondary node 26.
먼저, 제2프라이머리 노드(24)로 트랜잭션을 전송하는 경우에는, 트랜잭션을 제2프라이머리(24)로 전송한 후에 제2프라이머리 노드(24)로부터 트랜잭션 응답을 수신한 후에 거래 처리 완료 응답을 클라이언트 단말(20)로 전송한다.First, in the case of transmitting a transaction to the second primary node 24, after transmitting the transaction to the second primary node 24, a transaction processing completion response is received after receiving a transaction response from the second primary node 24. Is transmitted to the client terminal 20.
한편, 세컨더리 노드(26)로 트랜잭션을 전송하는 경우에는, 세컨더리 노드926)로부터 트랜잭션 응답 수신 여부에 관계없이 거래 처리 완료 응답을 클라이언트 단말(20)로 전송한다. 세컨더리 노드(26)로 트랜잭션 전송은 거래 처리 완료 응답을 클라이언트 단말(20)로 전송하기 전 혹은 후에 수행될 수 있다. On the other hand, in the case of transmitting a transaction to the secondary node 26, the transaction processing completion response is transmitted to the client terminal 20 regardless of whether or not a transaction response is received from the secondary node 926. The transaction transmission to the secondary node 26 may be performed before or after transmitting the transaction processing completion response to the client terminal 20.
이와 같이 프라이머리 노드(22, 24) 및 세컨더리 노드(26)에서의 트랜잭션 처리 방법을 다르게 하는 것은 각 노드의 신뢰성 및 처리 속도에 차이가 있기 때문이다.As described above, the reason why the transaction processing methods in the primary nodes 22 and 24 and the secondary node 26 are different is because there is a difference in reliability and processing speed of each node.
프라이머리 노드(22, 24)는 신뢰성이 높고 즉, 항상 블록체인에 연결되어 있고 처리 속도가 빠르다.The primary nodes 22 and 24 are highly reliable, that is, they are always connected to the blockchain and have high processing speed.
세컨더리 노드(26)는 신뢰성이 낮고 즉, 항상 블록체인에 연결되어 있지 않고 처리 속도가 느리다.The secondary node 26 has low reliability, that is, it is not always connected to the blockchain and has a slow processing speed.
이와 같은 트랜잭션 처리 방법에 의해 블록 체인 네트워크를 구성하는 노드들 중에서 신뢰성이 높고 처리 속도가 빠른 프라이머리 노드(22, 24)들에 트랜잭션을 전송할 경우에는 트랜잭션을 전송하고 해당 트랜잭션에 대한 응답을 수신한 이후에 거래 처리 완료 응답을 전송하고, 신뢰성이 낮고 처리 속도가 느린 세컨더리 노드(26)에 트랜잭션을 전송할 경우에는 트랜잭션의 전송 여부에 상관없이 거래 처리 완료 응답을 전송하고 이후에 트랜잭션을 전송함으로써 트랜잭션의 지연이 개선된다. In the case of transmitting a transaction to the primary nodes (22, 24) with high reliability and high processing speed among nodes constituting the blockchain network by this transaction processing method, the transaction is transmitted and a response to the transaction is received. When the transaction processing completion response is transmitted afterwards and the transaction is transmitted to the secondary node 26, which has low reliability and slow processing speed, the transaction processing completion response is transmitted regardless of whether or not the transaction is transmitted, and then the transaction is transmitted. The delay is improved.
세컨더리 노드(26)의 처리 결과와는 상관 없이 프라이머리 노드(22, 24)로부터 거래 처리 완료 응답을 수신하면 처리 성공으로 간주한다. 만약 하나의 계약에 대하여 프라이머리 노드(22, 24)와 세컨더리 노드(26)의 저장결과가 다를 경우, 프라이머리 노드(22, 24)의 저장결과만을 가지고 판단하고 세컨더리 노드(26)의 저장결과는 배제한다.Regardless of the processing result of the secondary node 26, if a transaction processing completion response is received from the primary nodes 22 and 24, the processing is regarded as successful. If the storage results of the primary nodes 22 and 24 and the secondary node 26 are different for one contract, it is determined based only on the storage results of the primary nodes 22 and 24 and the storage results of the secondary node 26 Is excluded.
도 3은 본 발명에 따른 트랜잭션 처리 방법을 보이는 흐름도이다.3 is a flowchart showing a transaction processing method according to the present invention.
먼저, 블록체인을 구성하는 노드들을 프라이머리 노드와 세컨더리 노드로 분류한다(S302).First, the nodes constituting the blockchain are classified into a primary node and a secondary node (S302).
프라이머리 노드 및 세컨더리 노드의 분류는 노드의 신뢰성 및 처리 속도에 따른다. 프라이머리 노드는 항상 블록체인 네트워크에 연결되어 있어 신뢰성이 높고 처리 속도가 빠르다. 세컨더리 노드는 항상 블록체인 네트워크에 연결되어 있지 않아 신뢰성이 낮고 처리 속도가 느리다.Classification of the primary node and the secondary node depends on the reliability and processing speed of the node. The primary node is always connected to the blockchain network, so it has high reliability and high processing speed. The secondary node is not always connected to the blockchain network, so it has low reliability and slow processing speed.
프라이머리 노드와 세컨더리 노드에 대한 분별 기준은 물리적, 관리적인 신뢰성(IDC 센터, 관리 조직, Trusted Anchor의 존재 등)을 가지고 판단한다. 따라서 어느 그룹에도 속하지 않은 노드는 존재할 수 없다.The classification criteria for primary and secondary nodes are determined based on physical and administrative reliability (IDC center, management organization, existence of Trusted Anchor, etc.). Therefore, there cannot be a node that does not belong to any group.
프라이머리 노드로의 전송인지 혹은 세컨더리 노드로의 전송인지를 판단한다(S304).It is determined whether the transmission is to the primary node or the secondary node (S304).
프라이머리 노드 그룹에 대한 전송이 완료된 후 세컨더리 노드 그룹으로 전송한다.After the transmission for the primary node group is completed, it is transmitted to the secondary node group.
프라이머리 노드로 트랜잭션을 전송하는 경우에는 먼저 트랜잭션을 프라이머리 노드로 전송하고 해당 트랜잭션에 대한 응답을 수신한 이후에 거래 처리 완료 응답을 클라이언트 단말로 전송한다(Confirmed transaction)(S306).When transmitting a transaction to the primary node, the transaction is first transmitted to the primary node, and after receiving a response to the transaction, a transaction processing completion response is transmitted to the client terminal (Confirmed transaction) (S306).
한편, 세컨더리 노드로 트랜잭션을 전송하는 경우에는 예를 들어, 트랜잭션을 전송하기 전에 먼저 거래 처리 완료 응답을 클라이언트 단말로 전송하고 이후에 세컨더리 노드로 트랜잭션을 전송한다. 다른 방법으로는 세컨더리 노드로 트랜잭션을 전송하고 해당 트랜잭션에 대한 응답에 관계없이 거래 처리 완료 응답을 클라이언트 단말로 전송한다(Deferred transaction)(S308).On the other hand, in the case of transmitting a transaction to the secondary node, for example, before transmitting the transaction, a transaction processing completion response is first transmitted to the client terminal, and the transaction is transmitted to the secondary node afterwards. Alternatively, a transaction is transmitted to the secondary node and a transaction processing completion response is transmitted to the client terminal regardless of a response to the transaction (Deferred transaction) (S308).
도 4는 본 발명에 따른 트랜잭션의 처리 과정에 있어서 세컨더리 노드에 대한 트랜잭션 처리 과정을 도식적으로 보인다.4 schematically shows a transaction processing process for a secondary node in a transaction processing process according to the present invention.
도 4의 (a)는 Secondary Node로 Deferred Transaction Request를 전송하고 나서 Confirmed Transaction Response를 전송하는 것이고 두 번째 Diagram은 Deferred Transaction Request를 전송하기 이전에 Confirmed Transaction Response를 전송하는 것이다. 본 발명에 있어서 실제 기술적인 구현은 이 두 가지 방법이 다 사용될 수 있고, Deferred Transaction Response의 수신 여부와 상관 없이 Confirmed Transaction이 완료된다는 것은 두 경우가 다 동일하다.4(a) shows the transmission of the Deferred Transaction Request to the Secondary Node and then the Confirmed Transaction Response, and the second Diagram is the Transmission of the Confirmed Transaction Response before the Deferred Transaction Request is transmitted. In the present invention, both of these methods can be used in the actual technical implementation, and both cases are the same that the Confirmed Transaction is completed regardless of whether or not a Deferred Transaction Response is received.
또한 성능 측면에서 하나의 Primary Node에서 또 다른 다른 하나의 Primary Node간의 거래 전송만 성공하면, 다른 모든 Node에 대한 거래 정보의 전송 성공 여부와 상관없이 Client에 거래 처리 완료 응답을 전송할 수 있게 되며, 거래 정보의 전송은 그 이후에 이루어지므로 Transaction 처리의 응답 속도를 획기적으로 향상시킬 수 있다. 예를 들어, 다음 의사 코드와 같이 구현되었을 경우 루프의 첫 번째 실행이 성공한 후 client에 응답을 보낼 수 있다.In addition, in terms of performance, as long as the transaction transmission between one primary node and another primary node is successful, the transaction processing completion response can be transmitted to the client regardless of the success of transmission of transaction information to all other nodes. Since information is transmitted after that, the response speed of transaction processing can be remarkably improved. For example, if implemented as the following pseudo code, a response can be sent to the client after the first execution of the loop is successful.
WHILE ( index < n)WHILE (index <n)
BEGINBEGIN
send request to primaryNode[index]send request to primaryNode[index]
receive response from primaryNode[index]receive response from primaryNode[index]
IF ( index == 0 AND response == SUCCESS) THENIF (index == 0 AND response == SUCCESS) THEN
BEGINBEGIN
send response to clientsend response to client
ENDEND
index = index +1index = index +1
ENDEND
의사코드에서 client로의 응답전송 시점은 정해진 것이 아니고 발명의 기술적 구현에 따라 바뀔 수 있다.본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다.The timing of the response transmission from the pseudocode to the client is not determined and may be changed according to the technical implementation of the invention. The terms or words used in this specification and claims should not be construed as being limited to a conventional or dictionary meaning, and the inventor In order to describe its own invention in the best way, it should be interpreted as a meaning and concept consistent with the technical idea of the present invention based on the principle that the concept of terms can be appropriately defined.
따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들은 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.Therefore, the embodiments described in the present specification and the configurations shown in the drawings are only the most preferred embodiments of the present invention, and do not represent all the technical ideas of the present invention. It should be understood that there may be equivalents and variations.

Claims (2)

  1. 블록체인 네트워크의 트랜잭션 처리 방법에 있어서, In the transaction processing method of the blockchain network,
    블록체인에 참여한 노드들이 서버인지에 관련되는 신뢰성에 따라 프라이머리 노드 그룹(Primary Node Group)과 세컨더리 노드 그룹(Secondary Node Group)의 두 종류로 상기 블록체인에 참여한 노드들을 시스템에 의해 지정하는 과정; 및The process of designating the nodes participating in the blockchain into two types of a primary node group and a secondary node group by the system according to the reliability related to whether the nodes participating in the blockchain are servers; And
    트랜잭션을 전송받은 노드가 해당 트랜잭션을 다른 노드로 전송함에 있어서 상기 트랜잭션을 전송받은 노드가 상기 프라이머리 노드 그룹 내의 상기 다른 노드로 상기 트랜잭션을 전송할 경우에는 상기 프라이머리 노드 그룹 내의 상기 다른 노드로부터 트랜잭션 응답을 수신한 후 클라이언트 노드로 거래 처리 완료 응답을 전송하고, 상기 트랜잭션을 전송받은 노드가 상기 세컨더리 노드 그룹 내의 상기 다른 노드로 상기 트랜잭션을 전송하는 경우에는 상기 세컨더리 노드 그룹 내의 상기 다른 노드로부터의 트랜잭션 응답 수신 여부와 관계없이 상기 프라이머리 노드 그룹 내의 상기 트랜잭션을 전송받은 노드에서 상기 클라이언트 노드로 거래 처리 완료 응답을 전송하는 트랜잭션 전송 과정;을When the node receiving the transaction transmits the transaction to another node, and the node receiving the transaction transmits the transaction to the other node in the primary node group, a transaction response from the other node in the primary node group After receiving, transmits a transaction processing completion response to a client node, and when the node receiving the transaction transmits the transaction to the other node in the secondary node group, a transaction response from the other node in the secondary node group A transaction transmission process of transmitting a transaction processing completion response from the node receiving the transaction in the primary node group to the client node regardless of whether or not the transaction is received;
    포함하는 블록체인 네트워크의 트랜잭션 처리 방법.Transaction processing method of the containing blockchain network.
  2. 제1항에 있어서,The method of claim 1,
    상기 프라이머리 노드 그룹 내의 노드들은 상기 서버이며, 상기 세컨더리 노드 그룹 내의 노드들은 개인소유의 PC인 것을 특징으로 하는 블록체인 네트워크의 트랜잭션 처리 방법.The nodes in the primary node group are the servers, and the nodes in the secondary node group are personal computers.
PCT/KR2020/016459 2019-11-20 2020-11-20 Method for processing transactions of blockchain network WO2021101312A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190149535A KR102258987B1 (en) 2019-11-20 2019-11-20 Method for processing transaction of blockchain network
KR10-2019-0149535 2019-11-20

Publications (1)

Publication Number Publication Date
WO2021101312A1 true WO2021101312A1 (en) 2021-05-27

Family

ID=75981372

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2020/016459 WO2021101312A1 (en) 2019-11-20 2020-11-20 Method for processing transactions of blockchain network

Country Status (2)

Country Link
KR (1) KR102258987B1 (en)
WO (1) WO2021101312A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150094181A (en) * 2014-02-10 2015-08-19 단국대학교 산학협력단 Method for control of speculative execution based on node performance and device therefor
WO2018154713A1 (en) * 2017-02-24 2018-08-30 日本電気株式会社 Information verification system, information verification device, method and program
KR20190119921A (en) * 2018-04-13 2019-10-23 주식회사 골든블로코 The block-chain system including POPS(Proof of Power specification and Stake) consensus algorithm and block generation method in the block-chain system
KR20190128814A (en) * 2018-05-09 2019-11-19 삼성에스디에스 주식회사 Method and apparatus for prcocessing transaction based on bllockchain and system tehereof

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101950912B1 (en) 2016-08-01 2019-02-21 서강대학교산학협력단 Verification system and method for transaction based block chain
KR20190093012A (en) 2018-01-31 2019-08-08 지송학 The method for block generation and validation in block-chain system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150094181A (en) * 2014-02-10 2015-08-19 단국대학교 산학협력단 Method for control of speculative execution based on node performance and device therefor
WO2018154713A1 (en) * 2017-02-24 2018-08-30 日本電気株式会社 Information verification system, information verification device, method and program
KR20190119921A (en) * 2018-04-13 2019-10-23 주식회사 골든블로코 The block-chain system including POPS(Proof of Power specification and Stake) consensus algorithm and block generation method in the block-chain system
KR20190128814A (en) * 2018-05-09 2019-11-19 삼성에스디에스 주식회사 Method and apparatus for prcocessing transaction based on bllockchain and system tehereof

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SEO KWANG YUL: "The Reason Why Three-step is Needed of Tendermint Consensus", BLOG AT WORDPRESS.COM, 15 August 2019 (2019-08-15), XP055813765, Retrieved from the Internet <URL:https://kwangyulseo.com/2019/08/15> *

Also Published As

Publication number Publication date
KR102258987B1 (en) 2021-05-31
KR20210061695A (en) 2021-05-28

Similar Documents

Publication Publication Date Title
US10880095B2 (en) Electronic apparatus, method for electronic apparatus and information processing system
WO2018043865A2 (en) Blockchain-based file management/search system and file management/search method
WO2020138532A1 (en) Dynamic blind voting-based blockchain consensus method for internet of things environment
SE7900729L (en) PROCEDURE FOR DATA EXCHANGE BETWEEN SEVERAL PROCESSORS
US20050144288A1 (en) Technique for intercepting data in a peer-to-peer network
US20160358164A1 (en) Method and system for digital currency transaction signature and digital currency transaction device thereof
CN111682942B (en) Binary weighted Byzantine fault-tolerant consensus method applied to license chain
CN111064755B (en) Data protection method and device, computer equipment and storage medium
CN109936620B (en) Block chain-based storage method, device, system and storage medium
CN105262737A (en) Method for resisting DDOS attacks based on channel hopping mode
CN115797070B (en) Block chain transaction method, device and system based on man-in-the-middle account incentive
WO2021101312A1 (en) Method for processing transactions of blockchain network
GB2588138A (en) Methods and devices for secure symbiotic mining
WO2020158973A1 (en) Hypothesis acceptance protocol-2 mode blockchain consensus system and method
WO2023149660A1 (en) Group signature-based federated learning method and system, and recording medium for performing same
WO2020101190A1 (en) Blockchain-based contract terminal and method using location information
CN110351273B (en) Method, device and system for network tracking long chain attack
CN116501799A (en) Cross-chain transaction grouping parallel processing method under multi-chain scene
WO2023197467A1 (en) System enabling data interconnection between secure multi-party computation and federated learning
CN108833418B (en) Method, device and system for defending attack
WO2019139237A1 (en) System for block chain participation control through transaction value estimation
WO2022215862A1 (en) Method for determining on-chain governance of blockchain system
WO2020242190A1 (en) Method for verifying activity information by means of blockchain
CN115913749B (en) Block chain DDoS detection method based on decentralization federation learning
WO2021020792A1 (en) Dag-awtc ledger system using bft verification consensus mechanism

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20888990

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20888990

Country of ref document: EP

Kind code of ref document: A1