KR102137641B1 - Transactional Batch Processing System and Method using Block Chain - Google Patents

Transactional Batch Processing System and Method using Block Chain Download PDF

Info

Publication number
KR102137641B1
KR102137641B1 KR1020180067499A KR20180067499A KR102137641B1 KR 102137641 B1 KR102137641 B1 KR 102137641B1 KR 1020180067499 A KR1020180067499 A KR 1020180067499A KR 20180067499 A KR20180067499 A KR 20180067499A KR 102137641 B1 KR102137641 B1 KR 102137641B1
Authority
KR
South Korea
Prior art keywords
block
transaction
node
generated
user terminal
Prior art date
Application number
KR1020180067499A
Other languages
Korean (ko)
Other versions
KR20190140687A (en
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 주식회사 호윤
Priority to KR1020180067499A priority Critical patent/KR102137641B1/en
Publication of KR20190140687A publication Critical patent/KR20190140687A/en
Application granted granted Critical
Publication of KR102137641B1 publication Critical patent/KR102137641B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • H04L2209/38

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 블록체인을 이용한 트랜잭션 일괄처리 시스템 및 방법에 대한 것이다.
본 발명에 따르면, 특정 시점마다 블록을 생성하는 복수의 노드로 이루어지며, 상기 노드에서 브로드캐스팅한 블록을 제공받아 검증을 하고 이를 참여하고 있는 노드에 배포하는 블록체인네트워크, 그리고 트랜잭션 생성시 블록을 생성할 권한이 없는 노드로서, 일정시간 동안 생성된 트랜잭션을 취합하여 블록을 생성하는 사용자 단말을 포함한다.
이와 같이 본 발명에 따르면, 블록을 생성할 수 없는 사용자단말에서 대량의 트랜잭션을 자체적으로 취합하고 검증하여 제1 블록을 생성한 다음, 현재 시점에서 블록을 생성하고 있는 제1 노드에 송신하여 제1 노드에서 생성한 제2 블록과 사용자단말로부터 수신한 제1 블록을 체인 연결하여 같이 배포하므로 배치(Batch) 처리 또는 일괄처리가 가능하고, 사용자 단말에 블록 생성, 트랜잭션 처리에 대한 위임이 가능하여, 생성한 블록을 기존 네트워크에 연결하기 때문에 많은 네트워크 및 컴퓨터 자원을 아낄 수 있으며 처리속도가 빠르므로 네트워크에 대한 부담을 적게 할 수 있다.
The present invention relates to a system and method for transaction batch processing using a blockchain.
According to the present invention, it consists of a plurality of nodes that generate blocks at a specific point in time, and receives a block broadcasted from the node, verifies and distributes it to the participating nodes, and a block chain network when creating a transaction. As a node that does not have the authority to create, it includes a user terminal that generates a block by collecting transactions generated for a certain period of time.
As described above, according to the present invention, the first terminal is generated by collecting and verifying a large amount of transactions by itself in a user terminal that cannot generate a block, and then transmitting the first block to the first node generating the block at the current time. Since the second block created by the node and the first block received from the user terminal are chained and distributed together, batch processing or batch processing is possible, and block creation and transaction processing can be delegated to the user terminal. Since the created block is connected to an existing network, a lot of network and computer resources can be saved, and the processing speed is fast, so that the burden on the network can be reduced.

Description

블록체인을 이용한 트랜잭션 일괄처리 시스템 및 방법{Transactional Batch Processing System and Method using Block Chain}Transactional Batch Processing System and Method using Block Chain

본 발명은 블록체인을 이용한 트랜잭션 일괄처리 시스템 및 그 방법 에 관한 것으로서, 더욱 상세하게는 현재의 시점에서 블록을 생성하는 제1 노드에 대량의 트랜잭션이 삽입된 제1 블록을 송신하여 제1노드에서 생성된 제2 블록과 제1 블록을 같이 체인 연결하여 배포함으로써 일괄처리가 가능하도록 하는 블록체인을 이용한 트랜잭션 일괄처리 시스템 및 그 방법에 관한 것이다.The present invention relates to a transaction batch processing system and method using a blockchain, and more specifically, to a first node that generates a block at a current time, a first block in which a large amount of transactions is inserted is transmitted to the first node. It relates to a transaction batch processing system and method using a blockchain that enables batch processing by chaining and distributing the generated second block and first block together.

블록체인은 블록에 데이터를 담아 체인 형태로 연결하는 것으로, 수많은 컴퓨터에 동시에 이를 복제해 저장하는 분산형 데이터 저장 기술이다. 공공 거래 장부라고도 부르며, 중앙 집중형 서버에 거래 기록을 보관하지 않고 거래에 참여하는 모든 사용자에게 거래 내역을 보내 주며, 거래 때마다 모든 거래 참여자들이 정보를 공유하고 이를 대조해 데이터 위조나 변조를 할 수 없도록 한다.Blockchain is a distributed data storage technology that stores data in blocks and connects them in a chain, replicating and storing them simultaneously on numerous computers. It is also called a public transaction ledger, and it keeps transaction records on a centralized server and sends transaction details to all users participating in the transaction, and every transaction participant can share information and collate against it to counterfeit or falsify data. Do not.

블록체인에 저장하는 정보는 다양하므로 전자 결제나 디지털 인증뿐만 아니라 화물 추적 시스템, P2P 대출, 원산지부터 유통까지 전 과정을 추적하거나 예술품의 진품 감정, 위조화폐 방지, 전자투표, 전자시민권 발급, 차량 공유, 부동산 등기부, 병원 간 공유되는 의료기록 관리 등 신뢰성이 요구되는 다양한 분야에 활용할 수 있다.Since the information stored in the blockchain is diverse, not only electronic payment or digital authentication, but also tracking the entire process from cargo tracking system, P2P lending, origin to distribution, or authenticity of artwork, prevention of counterfeit money, electronic voting, issuance of electronic citizenship, and sharing of vehicles , It can be used in various fields that require reliability, such as real estate registration, and management of medical records shared between hospitals.

한편, 블록체인은 퍼블릭 블록체인과 프라이빗 블록체인으로 나뉘어지며, 퍼블릭 블록체인은 비트코인이나 이더리움 등 모두에게 개방되어 누구나 참여할 수 있는 형태이고, 프라이빗 블록체인은 기관 또는 기업이 운영하며 사용하는 형태로 참여수가 제한된 만큼 상태적으로 속도가 빠른 장점이 있다. On the other hand, the blockchain is divided into a public blockchain and a private blockchain, and the public blockchain is open to everyone, such as Bitcoin or Ethereum, and anyone can participate in it.The private blockchain is operated and used by institutions or companies. As the number of participants is limited, it has the advantage of being fast in a state.

일반적인 블록체인의 처리방법을 살펴보면, 하나의 노드에서 트랜잭션이 생성되면, 이를 현재 시점에서 블록을 생성할 수 있는 노드에게 전달하고, 이를 수신한 노드는 다른 노드들로부터 합의를 받아 트랜잭션에 대한 검증을 진행한다. 검증이 완료된 트랜잭션은 생성된 불록에 저장하고 저장된 블록은 해쉬값을 포함하여 다른 노드에 배포함으로써 모든 참여자의 컴퓨터에 분산 저장될 수 있도록 한다. Looking at the general blockchain processing method, when a transaction is created in one node, it is delivered to a node that can create a block at the current time, and the node that received it receives the agreement from other nodes to verify the transaction. To proceed. The verified transaction is stored in the generated block, and the stored block is distributed to other nodes by including the hash value so that it can be distributed and stored on all participants' computers.

그러나 종래의 방법은 트랜잭션이 1만개면 트랜잭션생성->전달->검증->블록저장->블록배포의 과정이 1만번이 진행되므로 처리속도가 느린 문제점이 있었다. However, the conventional method has a problem in that the processing speed is slow because the process of transaction creation->delivery->verification->block storage->block distribution proceeds once 10,000 transactions.

본 발명의 배경이 되는 기술은 대한민국 공개특허공보 제2018-0014534호(2018. 02. 09. 공개)에 개시되어 있다.The technology that is the background of the present invention is disclosed in Korean Patent Publication No. 2018-0014534 (published Feb. 09, 2018).

본 발명이 이루고자 하는 기술적 과제는, 현재의 시점에서 블록을 생성하는 제1 노드에 대량의 트랜잭션이 삽입된 제1 블록을 송신하여 제1 노드에서 생성된 제2 블록과 수신된 제1 블록을 같이 체인 연결하여 배포함으로써 일괄처리가 가능하도록 하는 블록체인을 이용한 트랜잭션 일괄처리 시스템 및 그 방법을 제공하기 위한 것이다. The technical problem to be achieved by the present invention is to transmit a first block in which a large amount of transactions have been inserted to a first node generating a block at the current point in time, so that the second block generated in the first node and the first block received together. It is to provide a transaction batch processing system and method using a blockchain that enables batch processing by chaining and distributing.

이러한 기술적 과제를 이루기 위한 본 발명의 실시예에 따르면, 블록체인을 이용한 트랜잭션 일괄처리 시스템에 있어서, 특정 시점마다 블록을 생성하는 복수의 노드로 이루어지며, 상기 노드에서 브로드캐스팅한 블록을 제공받아 검증을 하고 이를 참여하고 있는 노드에 배포하는 블록체인네트워크, 그리고 트랜잭션 생성시 블록을 생성할 권한이 없는 노드로서, 일정시간 동안 생성된 트랜잭션을 취합하여 블록을 생성하는 사용자 단말을 포함하며, According to an embodiment of the present invention for achieving such a technical problem, in a transaction batch processing system using a blockchain, it consists of a plurality of nodes that generate blocks at a specific point in time, and is verified by receiving the broadcasted block from the node A blockchain network that does this and distributes it to participating nodes, and a node that does not have the authority to create a block when creating a transaction, and includes a user terminal that collects the generated transaction for a certain period of time and creates a block.

상기 사용자 단말은, 블록체인네트워크로부터 블록 생성 및 트랜젝션 처리를 위임받아 대량의 트랜잭션을 하나의 블록에 삽입하여 재1 블록을 생성하며, 현재 시점에서 블록을 생성할 권한을 가진 제1노드로 생성된 상기 제1 블록을 전달한다. The user terminal receives a block generation and transaction processing from a blockchain network, inserts a large amount of transactions into one block to generate a first block, and is generated as a first node that has the authority to create a block at the present time. The first block is transmitted.

상기 사용자 단말은, 생성된 트랜잭션을 일정기간 또는 일정한 용량이 될 때까지 저장한 후에 대량의 트랜잭션을 한꺼번에 취합하거나 순간 발생하는 대량의 트랜잭션을 취합하고, 취합된 트랜잭션을 하나의 블록에 삽입하여 제1 블록을 생성할 수 있다. The user terminal, after storing the generated transaction until a certain period or a certain capacity, collects a large number of transactions at once, or collects a large amount of transactions that occur instantaneously, and inserts the collected transactions into a first block. You can create blocks.

상기 사용자 단말은, 생성된 대량의 트랜잭션을 블록에 삽입하여 제1 블록을 생성하되, 상기 트랜잭션은 자체적으로 검증을 완료한 상태에서 제1 블록에 트랜잭션을 삽입할 수 있다. The user terminal generates a first block by inserting the generated large amount of transactions into the block, but the transaction can insert a transaction into the first block in a state where verification is completed by itself.

상기 제1노드는, 상기 제1노드가 생성한 제2 블록과 상기 사용자단말로부터 수신된 제1 블록을 체인 연결하며, 상기 제1 블록과 제2 블록에 각각의 해쉬값이 포함된 상태로 다른 노드에 브로드캐스팅할 수 있다. The first node chains the second block generated by the first node and the first block received from the user terminal, and has different hash values in the first block and the second block. You can broadcast to the node.

다음 시점에 블록을 생성할 권한을 가진 제2노드는 제3 블록을 생성하여 상기 제1 블록에 상기 제3 블록을 체인 연결시킬 수 있다. The second node having the authority to create a block at the next time may generate a third block and chain the third block to the first block.

본 발명의 다른 실시예에 따르면, 트랜잭션 일괄처리 시스템을 이용한 블록체인의 트랜잭션 일괄처리 방법에 있어서, 사용자 단말에서 일정시간 동안 생성된 대량의 트랜잭션을 취합하여 제1 블록을 생성하는 단계, 상기 사용자 단말에서 생성된 제1 블록을 현재 시점에서 블록을 생성할 권한을 가진 제1 노드에 전달하는 단계, 그리고 상기 현재 시점에서 블록을 생성할 권한을 가진 제1노드는 상기 사용자단말로부터 수신된 제1 블록과 현재 생성된 제2 블록을 체인 연결하여 블록체인네트워크에 브로드캐스팅하는 단계를 포함한다. According to another embodiment of the present invention, in a transaction batch processing method of a blockchain using a transaction batch processing system, a step of generating a first block by aggregating a large amount of transactions generated during a certain time in a user terminal, the user terminal The step of delivering the first block generated in the current time to a first node having the authority to create a block at the current time, and the first node having the authority to generate a block at the current time is the first block received from the user terminal. And chaining the currently generated second block to broadcast to the blockchain network.

이와 같이 본 발명에 따르면, 사용자단말에서 일정기간 또는 일정 용량이 될 때까지 저장 후 취합된 대량의 트랜잭션을 자체적으로 검증하여 제1 블록을 형성한 다음, 현재의 시점에서 블록을 생성하고 있는 제1노드에 송신하여 제1노드에서 생성된 제2 블록과 사용자단말로부터 수신된 제1 블록을 체인 연결하여 같이 배포가 되므로 배치(Batch) 처리 또는 일괄처리가 가능할 수 있다. As described above, according to the present invention, a first block is formed by self-verifying a large amount of transactions collected and stored until a certain period of time or a certain amount of capacity at the user terminal, and then generating a block at the current point in time. Since the second block generated by the first node transmitted to the node and the first block received from the user terminal are chained and distributed together, batch processing or batch processing may be possible.

또한 본 발명에 따르면, 퍼블 릭 블록체인과 같이 대량의 트랜잭션에 대하여 모두에게 정보 공유가 가능하도록 하되, 대량의 트랜잭션이 취합된 상태로 하나의 블록에 삽입되어 배포되므로 일괄처리가 가능하고, 대량의 트랜잭션을 검증하고 배포하는 처리속도는 프라이빗 블록체인과 같이 빠르게 처리하는 것이 가능하다. In addition, according to the present invention, it is possible to share information to all about a large amount of transactions, such as a public blockchain, but batch processing is possible because large amounts of transactions are inserted and distributed in one block in a aggregated state. The processing speed of verifying and distributing transactions can be processed as fast as a private blockchain.

또한, 본 발명에 따르면, 기업이 사용하는 블록체인은 정보 및 법적 책임을 기업이 가지고 있으므로, 기업의 사용자 단말로 하여금 블록 생성 및 트랜잭션 처리에 대해 위임을 하여 대량의 트랜잭션을 하나의 블록에 삽입하여 블록을 생성하고, 생성한 블록은 블록체인네트워크에 배포되기 때문에 다수의 노드로부터 합의된 검증이 필요치 않아 대량의 트랜잭션을 한꺼번에 처리할 수 있어 처리속도가 빠르므로 네트워크에 대한 부담을 줄일 수 있다. In addition, according to the present invention, since the blockchain used by the enterprise has information and legal responsibility, the user terminal of the enterprise delegates to the block creation and transaction processing to insert a large amount of transactions into one block Since blocks are generated and the generated blocks are distributed to the blockchain network, there is no need for agreed verification from multiple nodes, so large transactions can be processed all at once, so the processing speed is fast, reducing the burden on the network.

도 1은 일반적인 블록생성 처리 방법을 설명하기 위한 도면이다.
도 2는 본 발명의 실시예에 따른 블록체인을 이용한 트랜잭션 일괄처리 시스템의 구성도이다.
도 3은 본 발명의 실시예에 따른 블록체인을 이용한 트랜잭션 일괄처리 시스템을 이용한 대량의 데이터 처리방법을 설명하기 위한 순서도이다.
도 4는 도3에 도시된 제1 노드에서 이루어지는 블록 생성예를 도시한 도면이다.
도 5는 도3에 도시된 대량의 데이터 처리방법에서 생성된 블록을 브로드캐스팅하여 제3블록과 체인 연결된 형태를 도시한 도면이다.
1 is a view for explaining a general block generation processing method.
2 is a block diagram of a transaction batch processing system using a blockchain according to an embodiment of the present invention.
3 is a flow chart for explaining a method of processing a large amount of data using a transaction batch processing system using a blockchain according to an embodiment of the present invention.
FIG. 4 is a diagram illustrating an example of block generation performed in the first node illustrated in FIG. 3.
FIG. 5 is a diagram illustrating a form chained with a third block by broadcasting a block generated in the method for processing a large amount of data shown in FIG. 3.

이하 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다. 이 과정에서 도면에 도시된 선들의 두께나 구성요소의 크기 등은 설명의 명료성과 편의상 과장되게 도시되어 있을 수 있다. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In this process, the thickness of the lines or the size of components shown in the drawings may be exaggerated for clarity and convenience.

또한 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서, 이는 사용자, 운용자의 의도 또는 관례에 따라 달라질 수 있다. 그러므로 이러한 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.In addition, terms to be described later are terms defined in consideration of functions in the present invention, which may vary according to a user's or operator's intention or practice. Therefore, the definition of these terms should be made based on the contents throughout the specification.

먼저, 도 1을 통해 일반적인 블록생성 및 처리방법에 대하여 설명한다.First, a general block generation and processing method will be described with reference to FIG. 1.

도 1은 일반적인 블록생성 및 처리 방법을 설명하기 위한 도면이다. 1 is a view for explaining a general block generation and processing method.

도 1에 나타낸 블록생성 및 처리 방법을 살펴보면, 블록은 데이터를 저장하는 단위로, 바디(body)와 헤더(header)로 구분되며, 블록은 대략10분을 주기로 생성된다. 다만, 상기 블록은 다수의 노드 중에서 현재의 시점에서 블록을 생성할 수 있는 노드에서만 블록을 생성할 수 있다. 따라서, 발생된 트랜잭션은 현재 시점에서 블록을 생성할 수 있는 노드에게 송신하고(S110), 트랜잭션을 수신한 노드는 블록을 생성하기 위해서 다른 노드들의 합의를 얻어 트랜잭션을 블록에 삽입할지 여부를 판단한다(S120).Looking at the block generation and processing method shown in FIG. 1, the block is a unit for storing data, and is divided into a body and a header, and the block is generated at a period of approximately 10 minutes. However, the block can be generated only from a node capable of generating a block at a current point in time among a plurality of nodes. Accordingly, the generated transaction is transmitted to a node capable of creating a block at the current time point (S110), and the node receiving the transaction determines whether to insert the transaction into the block by obtaining the agreement of other nodes to generate the block. (S120).

합의가 완료된 트랜잭션은 블록에 삽입한 뒤, 다른 노드로 브로드캐스팅이 이루어져 각 노드에 저장될 수 있도록 하고(S130), 저장될 블록은 기 저장되어 있던 블록에 체인 연결되어 저장된다(S140). After the agreed transaction is inserted into the block, broadcast to another node is made so that it can be stored in each node (S130), and the block to be stored is chained to the previously stored block and stored (S140).

이를 다시 설명하면, 생성된 하나의 트랜잭션은 트랜잭션이 발생되는 시점에서 블록을 생성할 수 있는 노드에 전달되어 트랜잭션이 삽입된 블록을 생성할 수 있도록 하고, 생성된 블록은 다수의 노드에 브로드캐스팅되어 블록체인의 형태로 저장될 수 있도록 한다. In other words, one generated transaction is delivered to a node capable of creating a block at the time the transaction occurs, allowing the transaction to generate a block inserted, and the generated block is broadcast to multiple nodes. It can be stored in the form of a blockchain.

예를 들면, 쇼핑몰이나 카드사 등은 일일 주문 마감 후 거래정보 1만건 중 1건의 트랜잭션을 현재 시점에서 블록을 생성할 수 있는 노드에 전달한다. 트랜잭션을 받은 노드는 알고리즘을 통해 다른 노드들의 합의를 얻어 트랜잭션을 블록에 삽입하고, 일정시간, 일정 크기 도달시 블록을 마감하여 다른 노드로 브로드캐스팅을 한다. For example, a shopping mall or a card company transmits one transaction out of 10,000 transaction information to a node capable of creating a block at the current time after the daily order is closed. The node that receives the transaction obtains the agreement of other nodes through an algorithm, inserts the transaction into the block, and closes the block when it reaches a certain amount of time and broadcasts it to another node.

상기와 같은 방법으로 1만건의 트랜잭션이 처리 완료될 때까지 만번이 반복하게 되므로 노드에서 처리가 힘들어 서버가 다운되거나, 수만개의 노드가 연결되어 처리하므로 처리속도가 현저히 떨어지는 문제점이 있다. In the above method, it is difficult to process at a node because ten thousand transactions are repeated until 10,000 transactions are completed, so the server is down or tens of thousands of nodes are connected and processed.

도 2는 본 발명의 실시예에 따른 블록체인을 이용한 트랜잭션 일괄처리 시스템의 구성도이다.2 is a block diagram of a transaction batch processing system using a blockchain according to an embodiment of the present invention.

도 2에 나타낸 것처럼, 본 발명의 실시예에 따른 트랜잭션 일괄처리 시스템은 사용자 단말(100), 노드(200), 블록체인네트워크(300)를 포함한다. 2, the transaction batch processing system according to an embodiment of the present invention includes a user terminal 100, a node 200, and a blockchain network 300.

사용자 단말(100)은 온라인 거래에 따라 트랜잭션을 생성시킬 수 있는 단말기로, 개인 또는 기업에서 사용하는 단말을 칭한다. The user terminal 100 is a terminal capable of generating a transaction according to an online transaction, and refers to a terminal used by an individual or a company.

사용자 단말(100)은 발생되는 트랜잭션마다 트랜잭션이 생성되는 시점에서 블록을 생성할 수 없으므로, 온라인 거래에 따라 발생되는 트랜잭션을 일정한 기간 또는 일정한 용량에 도달할 때까지 저장하여 한꺼번에 취합할 수 있도록 하거나, 한꺼번에 발생된 대량의 트랜잭션을 저장한다. Since the user terminal 100 cannot generate a block at the time when a transaction is generated for each transaction that occurs, the transaction generated according to the online transaction can be stored and collected until a certain period or a certain capacity is reached, or collectively Stores a large amount of transactions occurring at once.

노드(200)는 개개인의 서버, 즉 참여자로서, 노드(200)는 블록 생성, 배포, 저장의 역할을 하며, 블록을 생성할 경우 해쉬함수를 포함한다. The node 200 is an individual server, that is, a participant, and the node 200 serves as a block creation, distribution, and storage, and includes a hash function when creating a block.

블록체인네트워크(300)는 온라인 거래가 발생될 경우 거래 내역 정보가 특정 서버에 집중되지 않고 온라인 네트워크 참여자의 컴퓨터에 분산되어 저장될 수 있도록 하는 것으로서, 거래가 발생하게 되면 각 참여자, 즉 노드에 의해 검증이 이루어지고 참여된 노드들로부터 동의를 얻게 되면 이에 대한 블록을 생성하여 각 노드에 배포되므로 장부 자체가 인터넷상에 개방되어 있고 수시로 검증이 이루어지기 때문에 해킹이 원칙적으로 불가능하다. The blockchain network 300 allows the transaction history information to be distributed to and stored on a computer of an online network participant instead of being concentrated on a specific server when an online transaction occurs. When a transaction occurs, verification is performed by each participant, that is, a node. If consent is obtained from the nodes that have been made and participated, hacking is impossible in principle because the block itself is generated and distributed to each node, so the ledger itself is open on the Internet and frequently verified.

도 3은 본 발명의 실시예에 따른 블록체인을 이용한 트랜잭션 일괄처리 시스템을 이용한 대량의 데이터 처리방법을 설명하기 위한 순서도이고, 도 4는 도3에 도시된 노드에서 이루어지는 블록 생성예를 도시한 도면이고, 도 5는 도3에 도시된 대량의 데이터 처리방법에서 생성된 블록을 브로드캐스팅하여 제3블록과 체인 연결된 형태를 도시한 도면이다. 3 is a flow chart for explaining a method for processing a large amount of data using a transaction batch processing system using a block chain according to an embodiment of the present invention, and FIG. 4 is a block diagram showing an example of a block generated in the node shown in FIG. And FIG. 5 is a diagram illustrating a form linked to a third block by broadcasting a block generated in the method for processing a large amount of data shown in FIG. 3.

더욱 상세하게 설명하면, 도 3은 사용자 단말(100)에서 대량의 트랜잭션이 발생되었을 경우 한꺼번에 일괄처리할 수 있는 방법에 대한 흐름도이다. In more detail, FIG. 3 is a flowchart of a method for batch processing when a large amount of transactions occur in the user terminal 100.

먼저, 사용자 단말(100)은 발생된 트랜잭션을 취합한다(S310).First, the user terminal 100 collects the generated transaction (S310).

여기서, 트랜잭션은 하나의 거래내역이 아니고 대량의 거래내역으로서, 일정 시간 동안 기준량이 될 때까지 사용자단말(100)에 저장되었다가 한꺼번에 취합하거나, 순간 발생하는 트랜잭션이 대량일 경우 취합될 수 있도록 한다. Here, the transaction is not a single transaction history, but a large amount of transaction history, which is stored in the user terminal 100 until a reference amount for a certain period of time, and then collected at once, or when a large amount of instantaneous transactions are collected. .

여기서 대량의 트랜잭션은 1000건 이상의 트랜잭션을 의미하며, 프로세스의 적용분야나 규모에 따라서 설계 변경이 가능하다. Here, a large amount of transactions means more than 1000 transactions, and design changes are possible depending on the application area or scale of the process.

다음으로 취합된 트랜잭션을 사용자 단말(100)에서 자체적으로 검증을 하고(S320), 검증이 완료되면 대량의 트랜잭션을 하나의 블록에 삽입하여 제1 블록을 생성한다(S330).Next, the collected transaction is verified by itself in the user terminal 100 (S320), and when verification is completed, a first block is generated by inserting a large amount of transactions into one block (S330).

사용자 단말(100)은 현재의 시점에서 블록을 생성할 수 없는 노드이지만, 블록 생성 및 트랜잭션 처리를 할 수 있는 역할을 위임 받아 블록을 생성한다. The user terminal 100 is a node that cannot create a block at the present time, but it is delegated a role for block generation and transaction processing to generate a block.

또한, 사용자 단말(100)은 취합한 대량의 트랜잭션을 다른 노드로부터 알고리즘을 통한 합의를 얻어내는 것이 아니라, 자체적으로 트랜잭션에 대한 검증을 실시하여 대량의 트랜잭션을 하나의 블록에 삽입할 수 있도록 한다. In addition, the user terminal 100 does not obtain a consensus through an algorithm from a large number of collected transactions from another node, but performs verification on the transaction itself to insert a large amount of transactions into one block.

한편, 생성된 제1 블록은 현재 시점에서 블록을 생성하는 제1노드(210)에게 브로드캐스팅을 한다(S340).Meanwhile, the generated first block broadcasts to the first node 210 generating the block at the current time (S340).

현재의 시점에서 블록을 생성하는 제1노드(210)는 사용자단말(100)에서 생성된 대량의 트랜잭션이 아닌 다른 노드(200)에서 송신한 트랜잭션을 수신하고, 수신된 트랜잭션을 다른 노드(200)로부터 검증을 받아 블록에 삽입하여 제2 블록을 생성할 수 있도록 한다. 따라서, 제1노드(210)는 새로운 제2 블록이 생성 완료된 상태에서 사용자단말(100)로부터 제1 블록을 수신하여 체인의 형태로 연결될 수 있도록 한다(S350). The first node 210 that generates a block at the current point in time receives a transaction sent from another node 200 other than a large amount of transaction generated by the user terminal 100, and receives the received transaction from another node 200 The second block can be generated by being inserted into the block after being verified by. Accordingly, the first node 210 receives the first block from the user terminal 100 in a state in which a new second block is generated, so that it can be connected in the form of a chain (S350).

체인의 형태로 연결된 두 개의 블록은 다수의 노드(200)에 브로드캐스팅을 함으로써 대량의 트랜잭션을 일괄 처리할 수 있도록 한다(S360).Two blocks connected in the form of a chain broadcast to a plurality of nodes 200 so that a large amount of transactions can be processed in batch (S360).

두 개의 블록을 수신한 다수의 노드(200)는 기저장된 블록에 체인연결하여 저장한다(S370).The plurality of nodes 200 that receive the two blocks are chained to the pre-stored block and stored (S370).

예를 들어 설명하면, 쇼핑몰이나, 카드사, 금융사 등 전자상거래가 이루어지는 회사들은 거래가 발생될 때마다 트랜잭션이 발생되는데, 트랜잭션이 발생되는 마감시간을 대략 새벽 4 ~ 4시 반이라고 할 경우, 마감시간 전까지 하나 이상의 대량의 트랜잭션이 발생된다.For example, in the case of e-commerce companies such as shopping malls, credit card companies, financial companies, etc., transactions occur every time a transaction occurs. If the closing time of the transaction is approximately 4 to 4:30 AM, before the deadline One or more bulk transactions occur.

다만, 사용자단말(100)은 새벽 4~4시반까지 발생된 대량의 트랜잭션 중에서 트랜잭션 하나씩만을 현재 시점에서 블록을 생성할 수 있는 제1노드(210)에 송신하지 않고, 트랜잭션을 전체를 취합한다. 취합된 대량의 트랜잭션은 서버에 저장하고 자체적으로 트랜잭션에 대한 검증이 이루어질 수 있도록 한다. However, the user terminal 100 collects the entire transaction without transmitting only one transaction among the large amount of transactions generated from 4 to 4:30 am to the first node 210 capable of generating a block at the current time. Collected large volumes of transactions are stored in the server and self-validation can be verified.

이때, 사용자단말(100)에서 자체 검증이 발생하므로 다른 노드(200)로부터 알고리즘 합의를 이끌어낼 필요가 없다. 다만, 검증된 트랜잭션에서 발생할 수도 있는 오류에 대한 책임은 사용자단말(100)에서 처리될 수 있도록 한다. At this time, since self-verification occurs in the user terminal 100, there is no need to derive an algorithm agreement from another node 200. However, the responsibility for errors that may occur in the verified transaction can be handled in the user terminal 100.

검증이 완료된 대량의 트랜잭션은 하나의 블록에 삽입하여 제1 블록을 생성하고, 생성된 제1 블록은 현재의 시점에서 블록을 생성할 수 있는 제1노드(210)에 브로드캐스팅을 한다. 다만, 현재의 시점에서 블록을 생성할 수 있는 제1노드(210)는 현재 시점에서 발생된 트랜잭션에 대하여 다른 노드들로부터 알고리즘 합의를 거쳐 제2블록라는 블록이 생성된 상태로서, 사용자 단말(100)로부터 수신된 제1 블록을 제2 블록에 체인 연결하되 각각의 블록에 해쉬값이 포함된 상태로 다른 노드에 브로드캐스팅을 한다. A large number of transactions that have been verified is inserted into one block to generate a first block, and the generated first block is broadcast to the first node 210 that can generate a block at the current time. However, the first node 210 capable of generating a block at a current time is a state in which a block called a second block is generated through an algorithm agreement from other nodes for a transaction generated at the current time, and the user terminal 100 ) Chains the first block received from the second block to the second block, but broadcasts to other nodes with each block containing a hash value.

한편, 도 4에 나타낸 것처럼, 다른 노드(200)들은 제네시스 블록이 저장된 상태이므로 체인 연결된 채로 수신된 제1블록과 제2블록은 "제네시스 블록"-"제2블록"-"제1블록"의 순서대로 블록체인을 형성하여 저장될 수 있도록 한다. On the other hand, as shown in Figure 4, since the other nodes 200 are stored in the genesis block, the first block and the second block received while being chained are of the "genesis block"-"second block"-"first block". Blockchains are formed in order so that they can be stored.

또한, 다음 시점에서 블록을 생성할 권한을 가진 제2노드(220)가 트랜잭션을 수신하여 제3 블록에 생성하였다면, 도 5에 도시된 바와 같이, 제2노드(220)는 제1노드로부터 수신되며 체인 연결된 제2블록 및 제1 블록에 제3블록을 체인 연결시킬 수 있도록 한다. In addition, if the second node 220, which has the authority to create the block at the next time point, has received the transaction and generated it in the third block, as shown in FIG. 5, the second node 220 is received from the first node. The third block can be chained to the chained second block and the first block.

따라서, 본 발명은 대량의 트랜잭션을 하나의 트랜잭션과 같이 일괄 처리되므로 수만 개에 연결된 노드에 브로드캐스팅되지만 특정 네트워크에서와 같이 빠른 처리속도를 도모할 수 있다. Therefore, in the present invention, a large amount of transactions are processed as a single transaction, and thus broadcast to nodes connected to tens of thousands, but a high processing speed can be achieved as in a specific network.

본 발명은 도면에 도시된 실시예를 참고로 하여 설명되었으나 이는 예시적인 것에 불과하며, 당해 기술이 속하는 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호범위는 아래의 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.The present invention has been described with reference to the embodiment shown in the drawings, but this is merely exemplary, and those skilled in the art to which the art belongs understand that various modifications and other equivalent embodiments are possible therefrom. will be. Therefore, the true technical protection scope of the present invention should be determined by the technical spirit of the following claims.

100 : 사용자 단말
200 : 노드
210 : 현재의 시점에서 블록을 생성할 수 있는 제1노드
220 : 다음 시점에서 블록을 생성할 수 있는 제2노드
300 : 블록체인 네트워크
100: user terminal
200: node
210: first node capable of generating a block at the current point in time
220: second node capable of generating a block at the next point
300: Blockchain network

Claims (10)

블록체인을 이용한 트랜잭션 일괄처리 시스템에 있어서,
특정 시점마다 블록을 생성하는 복수의 노드로 이루어지며,
상기 노드에서 브로드캐스팅한 블록을 제공받아 검증을 하고 이를 참여하고 있는 노드에 배포하는 블록체인네트워크, 그리고
트랜잭션 생성시 블록을 생성할 권한이 없는 노드로서, 일정시간 동안 생성된 대량의 트랜잭션을 블록에 삽입하여 제1 블록을 생성하되, 상기 트랜잭션은 자체적으로 검증을 완료한 상태에서 상기 제1 블록에 트랜잭션을 삽입하는 사용자 단말을 포함하며,
상기 사용자 단말은,
블록체인네트워크로부터 블록 생성 및 트랜젝션 처리를 위임받으며, 생성된 트랜잭션을 일정기간 또는 일정한 용량이 될 때까지 저장한 후에 대량의 트랜잭션을 한꺼번에 취합하거나 순간 발생하는 대량의 트랜잭션을 취합하고, 취합된 대량의 트랜잭션을 하나의 블록에 삽입하여 제1 블록을 생성하며, 블록을 생성할 권한을 가진 제1 노드가 제2 블록이 생성 완료된 시점에서 생성된 상기 제1 블록을 제1 노드에 전달하며,
상기 제1 노드는,
상기 제1 노드가 생성한 제2 블록과 상기 사용자단말로부터 수신된 제1 블록을 체인 연결하며, 상기 제1 블록과 제2 블록에 각각의 해쉬값이 포함된 상태로 다른 노드에 브로드캐스팅하는 트랜잭션 일괄처리 시스템.
In a transaction batch processing system using a blockchain,
It consists of a plurality of nodes that generate blocks at a specific point in time,
Blockchain network that receives the block broadcast from the node, verifies it, and distributes it to participating nodes, and
As a node that does not have the authority to create a block when creating a transaction, a first block is generated by inserting a large amount of transactions generated for a certain period of time into a block. It includes a user terminal to insert,
The user terminal,
Block generation and transaction processing is delegated from the blockchain network, and the generated transactions are stored for a certain period or a certain amount of time, and then a large number of transactions are collected at once or a large amount of transactions that occur at the moment are collected. A first block is generated by inserting a transaction into one block, and the first node having the authority to create the block delivers the first block generated at the time when the second block is completed to the first node,
The first node,
A transaction that chains the second block generated by the first node and the first block received from the user terminal, and broadcasts to the other node while each hash value is included in the first block and the second block. Batch processing system.
삭제delete 삭제delete 삭제delete 제1항에 있어서,
다음 시점에 블록을 생성할 권한을 가진 제2 노드는 제3블록을 생성하여 상기 제1 블록에 상기 제3 블록을 체인 연결시키는 트랜잭션 일괄처리 시스템.
According to claim 1,
A transaction batch processing system in which a second node, which has the authority to create a block at the next time point, creates a third block and chains the third block to the first block.
트랜잭션 일괄처리 시스템을 이용한 블록체인의 트랜잭션 일괄처리 방법에 있어서,
사용자 단말에서 일정시간 동안 생성된 대량의 트랜잭션을 취합하여 제1 블록을 생성하는 단계,
현재의 시점에서 블록을 생성할 수 있는 제1 노드가 제2 블록이 생성 완료된 시점에서 사용자 단말로부터 생성된 대량의 트랜젝션이 삽입된 제1 블록을 수신하는 단계, 그리고
상기 현재 시점에서 블록을 생성할 권한을 가진 제1 노드는 상기 사용자단말로부터 수신된 제1 블록과 현재 생성된 제2 블록을 체인 연결하여 블록체인네트워크에 브로드캐스팅하는 단계를 포함하며,
상기 제1 블록을 생성하는 단계는,
사용자 단말에서 생성된 일정기간 또는 일정한 용량이 될 때까지 저장한 후에 대량의 트랜잭션을 한꺼번에 취합하거나 순간 발생하는 대량의 트랜잭션을 취합하는 단계,
취합된 트랜잭션을 사용자 단말에서 자체적으로 검증하는 단계, 그리고
검증된 트랜잭션을 블록에 삽입하여 상기 제1 블록을 생성하는 단계를 포함하는 블록체인의 트랜잭션 일괄처리 방법.
In the transaction batch processing method of the blockchain using the transaction batch processing system,
Generating a first block by aggregating a large amount of transactions generated for a period of time at the user terminal,
A first node capable of generating a block at a current time, receiving a first block in which a large amount of transactions generated from a user terminal is inserted when the second block is completed, and
The first node having the authority to create a block at the current time includes the step of chaining the first block received from the user terminal and the currently generated second block and broadcasting it to the blockchain network.
Generating the first block,
After storing until a certain period or a certain capacity generated in the user terminal, a large amount of transactions are collected at once, or a large amount of transactions occurring at the moment are collected,
Self-verifying the collected transaction in the user terminal, and
A method of batch processing a transaction in a blockchain, comprising inserting a verified transaction into a block to generate the first block.
삭제delete 삭제delete 삭제delete 제6항에 있어서,
상기 브로드캐스팅하는 단계는,
제1 노드가 생성한 제2 블록과 상기 사용자단말로부터 수신된 제1 블록을 체인 연결하여 브로드캐스팅하고, 다음 시점에 블록을 생성할 권한을 가진 제2 노드는 제3 블록을 생성하여 상기 제1 블록에 제3 블록을 체인 연결시키는 트랜잭션 일괄처리 방법.
The method of claim 6,
The broadcasting step,
The second block generated by the first node and the first block received from the user terminal are chained and broadcast, and the second node having the authority to create the block at the next time generates a third block to generate the first block. A transaction batching method that chains a third block to a block.
KR1020180067499A 2018-06-12 2018-06-12 Transactional Batch Processing System and Method using Block Chain KR102137641B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180067499A KR102137641B1 (en) 2018-06-12 2018-06-12 Transactional Batch Processing System and Method using Block Chain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180067499A KR102137641B1 (en) 2018-06-12 2018-06-12 Transactional Batch Processing System and Method using Block Chain

Publications (2)

Publication Number Publication Date
KR20190140687A KR20190140687A (en) 2019-12-20
KR102137641B1 true KR102137641B1 (en) 2020-07-27

Family

ID=69062967

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180067499A KR102137641B1 (en) 2018-06-12 2018-06-12 Transactional Batch Processing System and Method using Block Chain

Country Status (1)

Country Link
KR (1) KR102137641B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111126978B (en) * 2019-12-28 2023-03-14 飞天诚信科技股份有限公司 Method and device for realizing rapid transaction processing on block chain
KR102507829B1 (en) * 2020-09-08 2023-03-07 서강대학교산학협력단 Batch processing method for storing continuous IoT data on the blockchain and system for storing IoT data using the method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101727525B1 (en) * 2016-09-05 2017-04-17 주식회사 스케일체인 Block chain based distributed storage method and device thereof
US20170353320A1 (en) * 2016-02-26 2017-12-07 Apple Inc. Obtaining and using time information on a secure element (se)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102050129B1 (en) * 2016-05-03 2019-11-28 안규태 Block chain supporting multiple one-way functions used for verification of blocks

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170353320A1 (en) * 2016-02-26 2017-12-07 Apple Inc. Obtaining and using time information on a secure element (se)
KR101727525B1 (en) * 2016-09-05 2017-04-17 주식회사 스케일체인 Block chain based distributed storage method and device thereof

Also Published As

Publication number Publication date
KR20190140687A (en) 2019-12-20

Similar Documents

Publication Publication Date Title
Yeow et al. Decentralized consensus for edge-centric internet of things: A review, taxonomy, and research issues
Zaghloul et al. Bitcoin and blockchain: Security and privacy
US11250507B2 (en) Trusted tokenized transactions in a blockchain system
CN108256859B (en) Financial product transaction consensus method, node and system based on block chain
US11159313B2 (en) Methods and systems for blockchain-implemented event-lock encryption
Thomas et al. A protocol for interledger payments
KR101950912B1 (en) Verification system and method for transaction based block chain
US10832230B2 (en) Scalable and distributed shared ledger transaction management
CN106982205B (en) Block chain-based digital asset processing method and device
CN107180350B (en) Method, device and system for multi-party sharing transaction metadata based on block chain
US20200193432A1 (en) Method and system for settling a blockchain transaction
US11481375B2 (en) Point-to-point distributed decentralized system
US20200127813A1 (en) Method and system for creating a user identity
Ray et al. Fair exchange in e-commerce
EP3763098A1 (en) Methods and systems for controlling access to, and integrity of, resources on a blockchain
Lycklama à Nijeholt et al. Decreg: A framework for preventing double-financing using blockchain technology
US10607297B2 (en) Scalable and distributed shared ledger transaction management
CN110892674A (en) Transaction generation method and block verification method of block chain
KR102137641B1 (en) Transactional Batch Processing System and Method using Block Chain
Muftic et al. Overview and analysis of the concept and applications of virtual currencies
KR20200086402A (en) Block chain system and method thereof
Cai et al. Introduction to blockchain basics
Bezuidenhout et al. Permissionless blockchain systems as pseudo-random number generators for decentralized consensus
CN112995167A (en) Kafka mechanism-based power utilization information acquisition method, block chain network and user side
Decker On the scalability and security of bitcoin

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant