KR20190140687A - 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
KR20190140687A
KR20190140687A KR1020180067499A KR20180067499A KR20190140687A KR 20190140687 A KR20190140687 A KR 20190140687A KR 1020180067499 A KR1020180067499 A KR 1020180067499A KR 20180067499 A KR20180067499 A KR 20180067499A KR 20190140687 A KR20190140687 A KR 20190140687A
Authority
KR
South Korea
Prior art keywords
block
transaction
node
user terminal
generated
Prior art date
Application number
KR1020180067499A
Other languages
Korean (ko)
Other versions
KR102137641B1 (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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

The present invention relates to an integrated transaction processing system using a blockchain and a method thereof. According to the present invention, the integrated transaction processing system using a blockchain comprises: a blockchain network including a plurality of nodes generating a block for each predetermined time point, receiving and verifying a block broadcasted from the node, and distributing a verification result to the joined nodes; and a user terminal which is a node not having a right for generating a block when generating a transaction wherein the user terminal collecting the transaction generated for a predetermined time to generate a block. Accordingly, the user terminal incapable of generating the block autonomously collects and verifies a large amount of transactions to generate a first block and transmits the first block to a first node generating a block at a current time point such that a second block generated from the first node and the first block received from the user terminal are connected in a chain to be distributed together, thereby realizing batch or integrated processing. Moreover, the user terminal can entrust block generation and transaction processing such that the generated block is connected to an existing network, thereby saving a lot of network and computer resources and realizing a fast processing speed to reduce load of the network.

Description

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

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

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

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

한편, 블록체인은 퍼블릭 블록체인과 프라이빗 블록체인으로 나뉘어지며, 퍼블릭 블록체인은 비트코인이나 이더리움 등 모두에게 개방되어 누구나 참여할 수 있는 형태이고, 프라이빗 블록체인은 기관 또는 기업이 운영하며 사용하는 형태로 참여수가 제한된 만큼 상태적으로 속도가 빠른 장점이 있다. Meanwhile, 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 everyone can participate, and the private blockchain is operated and used by an institution or a company. As the number of participants is limited, it has the advantage of being fast in the state.

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

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

본 발명의 배경이 되는 기술은 대한민국 공개특허공보 제2018-0014534호(2018. 02. 09. 공개)에 개시되어 있다.The background technology of the present invention is disclosed in Korean Unexamined 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 are inserted to a first node that generates a block at the present time, thereby combining the second block generated at the first node with the received first block. It is to provide a transaction batch processing system using a block chain and a method for enabling batch processing by distributing by chaining.

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

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

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

상기 사용자 단말은, 생성된 대량의 트랜잭션을 블록에 삽입하여 제1 블록을 생성하되, 상기 트랜잭션은 자체적으로 검증을 완료한 상태에서 제1 블록에 트랜잭션을 삽입할 수 있다. The user terminal, The first block is generated by inserting the generated large number of transactions into the block, but the transaction may insert the transaction into the first block while the 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 the first block and the second block contain different hash values. Broadcast to nodes.

다음 시점에 블록을 생성할 권한을 가진 제2노드는 제3 블록을 생성하여 상기 제1 블록에 상기 제3 블록을 체인 연결시킬 수 있다. A second node having a right to create a block at a next time point 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 block chain transaction batch processing method using a transaction batch processing system, generating a first block by aggregating a plurality of transactions generated for a predetermined time in a user terminal, the user terminal Delivering the first block generated by the second node to a first node having a right to create a block at the current time point, and a first node having a right to generate a block at the current time point; And broadcasting the second generated block to the blockchain network.

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

또한 본 발명에 따르면, 퍼블릭 블록체인과 같이 대량의 트랜잭션에 대하여 모두에게 정보 공유가 가능하도록 하되, 대량의 트랜잭션이 취합된 상태로 하나의 블록에 삽입되어 배포되므로 일괄처리가 가능하고, 대량의 트랜잭션을 검증하고 배포하는 처리속도는 프라이빗 블록체인과 같이 빠르게 처리하는 것이 가능하다. In addition, according to the present invention, it is possible to share information to everyone about a large number of transactions, such as a public blockchain, but a batch processing is possible because a large number of transactions are inserted and distributed in a single block in a collected state. The speed of verifying and distributing the data can be 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 the block creation and transaction processing to insert a large amount of transactions into one block. Since blocks are created, and the generated blocks are distributed in the blockchain network, no agreed verification from multiple nodes is required, so a large amount of transactions can be processed at once and the processing speed is high, thereby 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 illustrating a large data processing method using a transaction batch processing system using a blockchain according to an embodiment of the present invention.
FIG. 4 is a diagram showing an example of block generation performed at the first node shown in FIG.
FIG. 5 is a diagram illustrating a form in which a block generated in the massive data processing method of FIG. 3 is broadcast and chained with a third block.

이하 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다. 이 과정에서 도면에 도시된 선들의 두께나 구성요소의 크기 등은 설명의 명료성과 편의상 과장되게 도시되어 있을 수 있다. Hereinafter, exemplary 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 the components shown in the drawings may be exaggerated for clarity and convenience of description.

또한 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서, 이는 사용자, 운용자의 의도 또는 관례에 따라 달라질 수 있다. 그러므로 이러한 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.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 custom. Therefore, the definitions 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).Referring to the block generation and processing method shown in FIG. 1, a block is a unit for storing data, and is divided into a body and a header, and a block is generated every 10 minutes. However, the block may generate a block only at a node capable of generating the block at a current time point among a plurality of nodes. Accordingly, the generated transaction is transmitted to a node capable of generating a block at the present point of time (S110), and the node receiving the transaction determines whether to insert the transaction into the block by obtaining agreement of other nodes in order to generate the block. (S120).

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

이를 다시 설명하면, 생성된 하나의 트랜잭션은 트랜잭션이 발생되는 시점에서 블록을 생성할 수 있는 노드에 전달되어 트랜잭션이 삽입된 블록을 생성할 수 있도록 하고, 생성된 블록은 다수의 노드에 브로드캐스팅되어 블록체인의 형태로 저장될 수 있도록 한다. In other words, a generated transaction is delivered to a node capable of generating a block at the point of time when the transaction occurs, so that the generated block can be generated, 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 delivers one transaction out of 10,000 transaction information to a node that can generate a block at the present time after closing the daily order. After receiving the transaction, the node receives the agreement of other nodes and inserts the transaction into the block. When the node reaches a certain size, the node closes the block and broadcasts it to another node.

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

도 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)를 포함한다. As shown in FIG. 2, a 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 generated transaction, the user terminal 100 stores the generated transactions according to an online transaction until a certain period or a fixed capacity is reached so that they can be collected at once. Store a large number of transactions that occurred at one time.

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

블록체인네트워크(300)는 온라인 거래가 발생될 경우 거래 내역 정보가 특정 서버에 집중되지 않고 온라인 네트워크 참여자의 컴퓨터에 분산되어 저장될 수 있도록 하는 것으로서, 거래가 발생하게 되면 각 참여자, 즉 노드에 의해 검증이 이루어지고 참여된 노드들로부터 동의를 얻게 되면 이에 대한 블록을 생성하여 각 노드에 배포되므로 장부 자체가 인터넷상에 개방되어 있고 수시로 검증이 이루어지기 때문에 해킹이 원칙적으로 불가능하다. The blockchain network 300 allows the transaction history information to be distributed and stored in the computer of the online network participants without 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 agreement is obtained from the participating nodes, a block is created and distributed to each node. Therefore, hacking is impossible in principle because the book itself is open on the Internet and verified from time to time.

도 3은 본 발명의 실시예에 따른 블록체인을 이용한 트랜잭션 일괄처리 시스템을 이용한 대량의 데이터 처리방법을 설명하기 위한 순서도이고, 도 4는 도3에 도시된 노드에서 이루어지는 블록 생성예를 도시한 도면이고, 도 5는 도3에 도시된 대량의 데이터 처리방법에서 생성된 블록을 브로드캐스팅하여 제3블록과 체인 연결된 형태를 도시한 도면이다. 3 is a flowchart illustrating 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, and FIG. 4 is a diagram illustrating an example of block generation performed at a node illustrated in FIG. FIG. 5 is a diagram illustrating a form in which a block generated in the massive data processing method of FIG. 3 is broadcast and chained with a third block.

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

먼저, 사용자 단말(100)은 발생된 트랜잭션을 취합한다(S310).First, the user terminal 100 collects the generated transactions (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 predetermined time and collected at once, or may be collected when there are a large number of instant transactions. .

여기서 대량의 트랜잭션은 1000건 이상의 트랜잭션을 의미하며, 프로세스의 적용분야나 규모에 따라서 설계 변경이 가능하다. In this case, a large number of transactions means more than 1000 transactions, and the design can be changed according to the application area or scale of the process.

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

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

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

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

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

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

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

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

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

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

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

한편, 도 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 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 having the authority to generate the block at the next time point receives the transaction and generates the transaction in the third block, as shown in FIG. 5, the second node 220 receives the first node from the first node. The third block may be chained to the second block and the first block.

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

본 발명은 도면에 도시된 실시예를 참고로 하여 설명되었으나 이는 예시적인 것에 불과하며, 당해 기술이 속하는 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호범위는 아래의 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.Although the present invention has been described with reference to the embodiments shown in the drawings, this is merely exemplary, and it will be understood by those skilled in the art that various modifications and equivalent other embodiments are possible. will be. Therefore, the true technical protection scope of the present invention will be defined 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 present time
220: a second node capable of generating a block at the next time point
300: blockchain network

Claims (10)

블록체인을 이용한 트랜잭션 일괄처리 시스템에 있어서,
특정 시점마다 블록을 생성하는 복수의 노드로 이루어지며,
상기 노드에서 브로드캐스팅한 블록을 제공받아 검증을 하고 이를 참여하고 있는 노드에 배포하는 블록체인네트워크, 그리고
트랜잭션 생성시 블록을 생성할 권한이 없는 노드로서, 일정시간 동안 생성된 트랜잭션을 취합하여 블록을 생성하는 사용자 단말을 포함하며,
상기 사용자 단말은,
블록체인네트워크로부터 블록 생성 및 트랜젝션 처리를 위임받아 대량의 트랜잭션을 하나의 블록에 삽입하여 제1 블록을 생성하며, 현재 시점에서 블록을 생성할 권한을 가진 제1 노드로 생성된 상기 제1 블록을 전달하는 트랜잭션 일괄처리 시스템.
In a transaction batch processing system using a blockchain,
It consists of a plurality of nodes that generate blocks at specific points in time,
A blockchain network that receives the block broadcasted by the node, validates it, and distributes it to participating nodes, and
A node that is not authorized to create a block when a transaction is generated, and includes a user terminal generating a block by collecting a transaction generated for a predetermined time,
The user terminal,
Delegates block creation and transaction processing from the blockchain network to generate a first block by inserting a large number of transactions into one block, and the first block created as a first node having a right to generate a block at this time. Transaction batching system to deliver.
제1항에 있어서,
상기 사용자 단말은,
생성된 트랜잭션을 일정기간 또는 일정한 용량이 될 때까지 저장한 후에 대량의 트랜잭션을 한꺼번에 취합하거나 순간 발생하는 대량의 트랜잭션을 취합하고, 취합된 트랜잭션을 하나의 블록에 삽입하여 제1 블록을 생성하는 트랜잭션 일괄처리 시스템.
The method of claim 1,
The user terminal,
A transaction that generates a first block by storing a created transaction for a certain period or until a certain capacity, and then collecting a large number of transactions at once or aggregating a large number of instantaneous transactions, and inserting the collected transactions into one block. Batch processing system.
제1항에 있어서,
상기 사용자 단말은,
생성된 대량의 트랜잭션을 블록에 삽입하여 상기 제1 블록을 생성하되, 상기 트랜잭션은 자체적으로 검증을 완료한 상태에서 상기 제1 블록에 트랜잭션을 삽입하는 트랜잭션 일괄처리 시스템.
The method of claim 1,
The user terminal,
Inserting the generated large number of transactions into a block to generate the first block, wherein the transaction inserts the transaction into the first block while the transaction has completed its own verification.
제1항에 있어서,
상기 제1 노드는,
상기 제1 노드가 생성한 제2 블록과 상기 사용자단말로부터 수신된 제1 블록을 체인 연결하며, 상기 제1 블록과 제2 블록에 각각의 해쉬값이 포함된 상태로 다른 노드에 브로드캐스팅하는 트랜잭션 일괄처리 시스템.
The method of claim 1,
The first node,
Chaining the second block generated by the first node and the first block received from the user terminal, and broadcasting to another node with each hash value included in the first block and the second block. Batch processing system.
제4항에 있어서,
다음 시점에 블록을 생성할 권한을 가진 제2 노드는 제3블록을 생성하여 상기 제1 블록에 상기 제3 블록을 체인 연결시키는 트랜잭션 일괄처리 시스템.
The method of claim 4, wherein
And a second node having a right to create a block at a next point in time generates a third block and chains the third block to the first block.
트랜잭션 일괄처리 시스템을 이용한 블록체인의 트랜잭션 일괄처리 방법에 있어서,
사용자 단말에서 일정시간 동안 생성된 대량의 트랜잭션을 취합하여 제1 블록을 생성하는 단계,
상기 사용자 단말에서 생성된 제2블록을 현재 시점에서 블록을 생성할 권한을 가진 제1 노드에 전달하는 단계, 그리고
상기 현재 시점에서 블록을 생성할 권한을 가진 제1 노드는 상기 사용자단말로부터 수신된 제1 블록과 현재 생성된 제2 블록을 체인 연결하여 블록체인네트워크에 브로드캐스팅하는 단계를 포함하는 블록체인의 트랜잭션 일괄처리 방법.
In the block chain transaction batch processing method using a transaction batch system,
Generating a first block by collecting a large amount of transactions generated for a predetermined time in the user terminal;
Delivering a second block generated at the user terminal to a first node having a right to generate a block at a current time;
A first node having a right to create a block at the current time point comprises chaining the first block received from the user terminal and the second block currently generated and broadcasting it to a blockchain network. Batch method.
제6항에 있어서,
상기 제1 블록을 생성하는 단계는,
사용자 단말에서 발생된 대량의 트랜잭션을 취합하는 단계,
취합된 트랜잭션을 사용자 단말에서 자체적으로 검증하는 단계, 그리고
검증된 트랜잭션을 블록에 삽입하여 제1 블록을 생성하는 단계를 포함하는 블록체인의 트랜잭션 일괄처리 방법.
The method of claim 6,
Generating the first block,
Collecting a large amount of transactions generated at the user terminal,
Self-verifying the aggregated transactions at the user terminal, and
Inserting the verified transaction into a block to generate a first block.
제7항에 있어서,
상기 트랜잭션을 취합하는 단계는,
생성된 트랜잭션을 일정기간 또는 일정한 용량이 될 때까지 저장한 후에 대량의 트랜잭션을 한꺼번에 취합하거나 순간 발생하는 대량의 트랜잭션을 취합하는 블록체인의 트랜잭션 일괄처리 방법.
The method of claim 7, wherein
Aggregating the transaction,
Blockchain's transaction batch processing method that collects a large number of transactions at once or collects a large amount of transactions occurring at a time after storing the created transaction for a certain period or until a certain capacity.
제6항에 있어서,
상기 제1 노드에 전달하는 단계는,
현재의 시점에서 블록을 생성할 수 있는 제1 노드가 제2 블록이 생성 완료된 시점에서 사용자 단말로부터 대량의 트랜젝션이 삽입된 제1 블록을 수신하는 블록체인의 트랜잭션 일괄처리 방법.
The method of claim 6,
Delivering to the first node,
A block chain transaction batch processing method in which a first node capable of generating a block at the present time receives a first block into which a large amount of transactions are inserted from a user terminal when a second block is generated.
제6항에 있어서,
상기 브로드캐스팅하는 단계는,
제1 노드가 생성한 제2 블록과 상기 사용자단말로부터 수신된 제1 블록을 체인 연결하여 브로드캐스팅하고, 다음 시점에 블록을 생성할 권한을 가진 제2 노드는 제3 블록을 생성하여 상기 제1 블록에 제3 블록을 체인 연결시키는 트랜잭션 일괄처리 방법.
The method of claim 6,
The broadcasting step,
The second node generated by the first node and broadcasted by chaining the first block received from the user terminal, and the second node having a right to generate the block at the next time point generates a third block to generate the first block. Transaction batch processing method of chaining 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 true KR20190140687A (en) 2019-12-20
KR102137641B1 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)

Cited By (2)

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

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170040079A (en) * 2016-05-03 2017-04-12 안규태 Block chain supporting multiple one-way functions used for verification of blocks
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)

Patent Citations (3)

* 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)
KR20170040079A (en) * 2016-05-03 2017-04-12 안규태 Block chain supporting multiple one-way functions used for verification of blocks
KR101727525B1 (en) * 2016-09-05 2017-04-17 주식회사 스케일체인 Block chain based distributed storage method and device thereof

Cited By (2)

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

Also Published As

Publication number Publication date
KR102137641B1 (en) 2020-07-27

Similar Documents

Publication Publication Date Title
Yeow et al. Decentralized consensus for edge-centric internet of things: A review, taxonomy, and research issues
CN108256859B (en) Financial product transaction consensus method, node and system based on block chain
US11250507B2 (en) Trusted tokenized transactions in a blockchain system
TWI724460B (en) Block chain-based event processing method and device, and electronic equipment
CN107180350B (en) Method, device and system for multi-party sharing transaction metadata based on block chain
US10832230B2 (en) Scalable and distributed shared ledger transaction management
EP3619668B1 (en) Performing parallel execution of transactions in a distributed ledger system
US20200193432A1 (en) Method and system for settling a blockchain transaction
US11481375B2 (en) Point-to-point distributed decentralized system
Ray et al. Fair exchange in e-commerce
Miraz et al. Application of blockchain in booking and registration systems of securities exchanges
CN110601816B (en) Lightweight node control method and device in block chain system
WO2018197487A1 (en) Method and system for creating a user identity
KR20200096722A (en) Cross-asset transaction within the blockchain network
KR20180014534A (en) Verification system and method for transaction based block chain
US10607297B2 (en) Scalable and distributed shared ledger transaction management
TWI705691B (en) Block chain-based event processing method and device, and electronic equipment
US11922526B2 (en) Net settlement of subrogation claims using a distributed ledger
KR101918446B1 (en) Double-secured Block-chain Certification System and its method
JP2018535500A (en) Temporary consensus network in resource transfer system
KR102260226B1 (en) Block chain system and method thereof
CN111639938A (en) Data processing method, device, equipment and medium
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
Cai et al. Introduction to blockchain basics

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