KR102288161B1 - Blockchain system for distributed processing transaction asynchronously - Google Patents
Blockchain system for distributed processing transaction asynchronously Download PDFInfo
- Publication number
- KR102288161B1 KR102288161B1 KR1020200094766A KR20200094766A KR102288161B1 KR 102288161 B1 KR102288161 B1 KR 102288161B1 KR 1020200094766 A KR1020200094766 A KR 1020200094766A KR 20200094766 A KR20200094766 A KR 20200094766A KR 102288161 B1 KR102288161 B1 KR 102288161B1
- Authority
- KR
- South Korea
- Prior art keywords
- transaction
- block chain
- container
- unit
- processing
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/22—Microcontrol or microprogram arrangements
- G06F9/28—Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/18—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
- G06F11/183—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
- G06F9/3871—Asynchronous instruction pipeline, e.g. using handshake signals between stages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
Description
본 발명은 트랜잭션을 비동기로 분산 처리하는 블록체인 시스템에 관한 것으로, 더욱 상세하게는 비동기로 트랜잭션을 처리하는 블록체인 기술과 컨테이너 기술을 이용하여 신뢰성있게 트랜잭션을 처리하는 시스템에 관한 것이다.The present invention relates to a blockchain system for asynchronously distributed processing of transactions, and more particularly, to a system for reliably processing transactions using blockchain technology and container technology for processing transactions asynchronously.
클라우드 기술, 블록체인 기술 등이 등장하면서 분산된 구조의 시스템이 일반화되고 있다. 하지만, 정통적으로 트랜잭션을 처리하는 시스템은 신뢰성을 보장하기 위해 중앙 집중형 시스템으로 구성되고 있다. 최근 블록체인 기술이 등장하면서 트랜잭션 처리를 분산형 시스템으로 처리하면서도 트랜잭션 처리의 신뢰도를 보장할 수 있게 되었다. 하지만, 블록체인 기술도 트랜잭션 처리에서 가장 중요한 처리 시간이 오래 걸리고 그것으로 인하여 처리량도 낮아지는 기술적인 한계를 가지고 있다.With the advent of cloud technology and blockchain technology, systems with a distributed structure are becoming common. However, orthodox transaction processing systems are configured as centralized systems to ensure reliability. With the recent advent of blockchain technology, it has become possible to guarantee the reliability of transaction processing while processing transaction processing as a distributed system. However, blockchain technology also has a technical limitation in that it takes a long time to process, which is the most important in transaction processing, and thus the throughput is also lowered.
도 1은 종래의 트랜잭션 처리 시스템의 동작 과정을 설명하기 위한 도면이다.1 is a diagram for explaining an operation process of a conventional transaction processing system.
블록체인은 분산된 노드(node)에 스마트 컨트랙이 실행되고 실행된 결과는 합의의 알고리즘에 의해서 합의가 이루어지고, 합의된 결과는 새로운 블록에 저장되고, 새로운 블록은 이전에 생성된 블록과 체인 형태로 연결된다. 블록체인의 메케니즘을 볼 때 도 1에 도시된 바와 같이, 결국 스마트 컨트랙이 blocking과 같은 대기로 인해서 시간이 많이 걸리면, 블록의 생성이 지연되면서 처리 시간이 증가하고, 순차적으로 블록이 연결되는 구조로 인하여 처리량이 급감할 수 밖에 없다. 또한, 컴퓨팅을 많이 소모하는 스마트 컨트랙이 실행되면, 블록체인 노드의 리소스가 부족하여 스마트 컨트랙의 처리 시간이 증가하고, 블록 생성 시간이 늘어나 처리량이 떨어지게 된다. 아울러, 트랜잭션 처리 시 트랜잭션 처리 요청과 그 응답을 대기하는 과정에서 blocking이 발생할 수 밖에 없다. 이런 대기시간 만큼 블록 생성이 늦어지면, 그만큼 트랜잭션 처리량이 급감하는 문제가 발생하게 된다.In a blockchain, smart contracts are executed on distributed nodes, and the execution results are agreed upon by the consensus algorithm, and the consensus results are stored in a new block, and the new block is transferred to the previously created block and chain. connected in the form When looking at the mechanism of the block chain, as shown in Figure 1, eventually, if the smart contract takes a lot of time due to waiting such as blocking, the block generation is delayed, the processing time increases, and the blocks are sequentially connected. Due to the structure, the throughput is inevitably reduced. In addition, when a smart contract that consumes a lot of computing is executed, the processing time of the smart contract increases due to insufficient resources of the blockchain node, and the processing time decreases as the block generation time increases. In addition, blocking inevitably occurs in the process of waiting for a transaction processing request and its response during transaction processing. If block generation is delayed by this waiting time, the problem of a sharp drop in transaction throughput occurs.
본 발명이 이루고자 하는 기술적 과제는, 비동기로 트랜잭션을 처리하는 블록체인 기술과 컨테이너 기술을 이용하여 신뢰성있게 트랜잭션을 처리하는 트랜잭션을 비동기로 분산 처리하는 블록체인 시스템을 제공하는 데 있다.The technical problem to be achieved by the present invention is to provide a blockchain system that asynchronously distributes and processes a transaction that reliably processes a transaction using a block chain technology that processes a transaction asynchronously and a container technology.
상기의 기술적 과제를 달성하기 위한 본 발명에 따른 트랜잭션을 비동기로 분산 처리하는 블록체인 시스템은, 블록체인 기술을 기반으로 스마트 컨트랙을 등록 및 실행시키고, 스마트 컨트랙으로 블록체인에 자산을 등록 및 관리하는 블록체인부; 스마트 컨트랙 및 트랜잭션에 대한 정보를 저장하는 블록체인 저장부; 및 블록체인에 새로운 블록이 생성되면, 처리하여야 하는 트랜잭션을 추출하고, 추출된 트랜잭션의 종류가 트랜잭션 처리 요청 또는 트랜잭션 처리 취소이면 추출된 트랜잭션을 컨테이너 실행부에 전달하고, 추출된 트랜잭션의 종류가 트랜잭션 처리 접수 또는 트랜잭션 처리 결과이면 추출된 트랜잭션을 트랜잭션 요청부에 전달하는 블록체인 스캔부;를 포함하는 블록체인 노드; 클라이언트로부터 전달받은 트랜잭션을 상기 블록체인부에 전달하여 처리 요청을 하는 상기 트랜잭션 요청부; 상기 블록체인 스캔부로부터 전달받은 트랜잭션을 처리할 컨테이너 모듈을 선택하고, 선택된 상기 컨테이너 모듈이 회신하는 인증 데이터와 함께 상기 블록체인부를 통해 트랜잭션 처리 접수를 상기 블록체인 저장부에 저장하며, 선택된 상기 컨테이너 모듈로부터 처리 회신을 받으면 상기 블록체인부를 통해 트랜잭션 처리 결과를 상기 블록체인 저장부에 저장하는 상기 컨테이너 실행부; 및 상기 컨테이너 실행부로부터 전달받은 트랜잭션이 처리할 수 있는 트랜잭션인지 여부를 인증하고 인증 데이터를 상기 컨테이너 실행부로 제공하고, 인증에 성공하면 트랜잭션을 트랜잭션 처리모듈로 전달하는 트랜잭션 인증모듈; 및 상기 트랜잭션 인증모듈로부터 전달받은 트랜잭션을 처리하고 그 결과를 상기 컨테이너 실행부에 전달하는 상기 트랜잭션 처리모듈;을 포함하는 상기 컨테이너 모듈;을 포함한다.A blockchain system that asynchronously distributes and processes transactions according to the present invention to achieve the above technical problem, registers and executes smart contracts based on blockchain technology, registers assets in the blockchain with smart contracts, and Blockchain unit to manage; a block chain storage unit that stores information about smart contracts and transactions; And when a new block is created in the blockchain, the transaction to be processed is extracted, and if the type of the extracted transaction is a transaction processing request or transaction processing cancellation, the extracted transaction is transferred to the container execution unit, and the type of the extracted transaction is the transaction A block chain node comprising; a block chain scan unit that transmits the extracted transaction to the transaction request unit if the processing is accepted or the result of the transaction processing; the transaction request unit that transmits the transaction received from the client to the block chain unit to request processing; Selects a container module to process the transaction received from the block chain scan unit, stores the transaction processing receipt through the block chain unit together with authentication data returned by the selected container module in the block chain storage unit, and the selected container the container execution unit for storing a transaction processing result in the block chain storage unit through the block chain unit when receiving a processing reply from the module; and a transaction authentication module that authenticates whether the transaction received from the container execution unit is a transaction that can be processed, provides authentication data to the container execution unit, and transmits the transaction to the transaction processing module if authentication is successful. and the container module including; and the transaction processing module that processes the transaction received from the transaction authentication module and transmits the result to the container execution unit.
트랜잭션을 처리하는 컨테이너를 상기 블록체인부를 통해 블록체인의 디지털 자산으로 등록하는 컨테이너 관리부;를 더 포함할 수 있다.It may further include; a container management unit that registers a container that processes a transaction as a digital asset of the block chain through the block chain unit.
상기 트랜잭션은, 트랜잭션을 구분할 수 있는 식별 정보인 트랜잭션 ID, 트랜잭션을 처리할 블록체인 노드의 ID와 트랜잭션 처리 접수나 트랜잭션 처리 결과를 전달할 블록체인 노드의 ID들로 이루어지는 블록체인 노드 ID 리스트, 트랜잭션을 처리할 컨테이너를 구분할 수 있는 식별 정보인 컨테이너 ID, 및 트랜잭션의 처리 요청이나 취소 요청을 접수할 수 있는 유효 시간인 트랜잭션 유효시간을 포함하며, 상기 트랜잭션의 종류가 상기 트랜잭션 처리 요청 또는 상기 트랜잭션 처리 취소이면, 상기 트랜잭션은, 트랜잭션 처리 데이터를 더 포함하고, 상기 트랜잭션의 종류가 상기 트랜잭션 처리 접수이면, 상기 트랜잭션은, 인증 데이터를 더 포함하며, 상기 트랜잭션의 종류가 상기 트랜잭션 처리 결과이면, 상기 트랜잭션은, 처리 결과를 더 포함할 수 있다.The transaction includes a transaction ID, which is identification information that can distinguish a transaction, an ID of a block chain node to process a transaction, a list of block chain node IDs including IDs of a block chain node to receive transaction processing or to transmit a transaction processing result, and a transaction. It includes a container ID, which is identification information for identifying a container to be processed, and a transaction validity time, which is an effective time for receiving a transaction processing request or cancellation request, wherein the type of the transaction is the transaction processing request or the transaction processing cancellation request. , the transaction further includes transaction processing data, if the type of the transaction is the transaction processing acceptance, the transaction further includes authentication data, and if the type of the transaction is the transaction processing result, the transaction is , the processing result may be further included.
상기 트랜잭션 요청부는, 분산된 블록체인 노드들 중에서 트랜잭션을 처리할 블록체인 노드를 지정하고, 클라이언트로부터 전달받은 트랜잭션을 상기 블록체인부에 전달할 때, 지정된 블록체인 노드에 대응되는 블록체인 노드 ID도 함께 전달할 수 있다.The transaction request unit designates a block chain node to process a transaction among distributed block chain nodes, and when transmitting the transaction received from the client to the block chain unit, the block chain node ID corresponding to the specified block chain node is also included. can transmit
상기 트랜잭션 요청부는, 분산된 블록체인 노드들 중에서 장애가 발생한 블록체인 노드를 제외하고, 남은 블록체인 노드들 중에서 트랜잭션을 처리할 블록체인 노드를 지정할 수 있다.The transaction request unit may designate a block chain node to process a transaction from among the remaining block chain nodes, except for a block chain node in which a failure occurs among distributed block chain nodes.
상기 트랜잭션 요청부는, 장애가 발생한 블록체인 노드에 대응되는 블록체인 노드 ID를 상기 블록체인 노드 ID 리스트에 추가하고, 장애가 발생한 블록체인 노드가 트랜잭션 처리 접수나 처리 결과를 정상적으로 회신하는지를 모니터링하여 장애가 발생한 블록체인 노드의 장애 복구 여부를 확인할 수 있다.The transaction request unit adds the block chain node ID corresponding to the failed block chain node to the block chain node ID list, and monitors whether the block chain node with the failure receives the transaction processing or returns normally to the failed block chain You can check whether the node has recovered from failure.
상기 블록체인 스캔부는, 트랜잭션을 처리할 컨테이너를 지정하기 위해, 추출된 트랜잭션을 상기 컨테이너 실행부에 전달할 때, 컨테이너 ID도 함께 전달하며, 상기 컨테이너 실행부는, 상기 블록체인 스캔부로부터 전달받은 컨테이너 ID에 대응되는 컨테이너를 상기 블록체인 스캔부로부터 전달받은 트랜잭션을 처리할 컨테이너 모듈로 선택할 수 있다.The block chain scan unit transmits the extracted transaction to the container execution unit as well as the container ID to designate a container to process the transaction, and the container execution unit transmits the container ID received from the block chain scanning unit A container corresponding to can be selected as a container module to process the transaction received from the block chain scan unit.
본 발명에 따른 트랜잭션을 비동기로 분산 처리하는 블록체인 시스템에 의하면, 트랜잭션을 비동기로 처리하고, 컨테이너로 분산 처리하여 트랜잭션 처리 시간이 대폭 감소되며, 이에 따라 트랜잭션 처리용량은 비례하여 급증한다.According to the blockchain system for asynchronously distributed processing of transactions according to the present invention, transaction processing time is greatly reduced by processing transactions asynchronously and distributed processing with containers, and thus transaction processing capacity increases proportionally.
도 1은 종래의 트랜잭션 처리 시스템의 동작 과정을 설명하기 위한 도면이다.
도 2는 본 발명의 바람직한 실시예에 따른 트랜잭션을 비동기로 분산 처리하는 블록체인 시스템을 설명하기 위한 블록도이다.
도 3은 본 발명의 바람직한 실시예에 따른 트랜잭션 처리 시스템의 동작 과정을 설명하기 위한 도면이다.
도 4는 본 발명의 바람직한 실시예에 따른 트랜잭션 데이터의 구조를 설명하기 위한 도면이다.
도 5는 도 2에 도시한 블록체인 스캔부의 동작 과정을 설명하기 위한 흐름도이다.1 is a diagram for explaining an operation process of a conventional transaction processing system.
2 is a block diagram for explaining a blockchain system that asynchronously distributes and processes transactions according to a preferred embodiment of the present invention.
3 is a diagram for explaining an operation process of a transaction processing system according to a preferred embodiment of the present invention.
4 is a diagram for explaining the structure of transaction data according to a preferred embodiment of the present invention.
5 is a flowchart for explaining the operation process of the block chain scan unit shown in FIG.
이하에서 첨부한 도면을 참조하여 본 발명에 따른 트랜잭션을 비동기로 분산 처리하는 블록체인 시스템의 바람직한 실시예에 대해 상세하게 설명한다.Hereinafter, a preferred embodiment of a blockchain system for asynchronously distributed processing a transaction according to the present invention will be described in detail with reference to the accompanying drawings.
먼저, 도 2 내지 도 4을 참조하여 본 발명의 바람직한 실시예에 따른 트랜잭션을 비동기로 분산 처리하는 블록체인 시스템에 대하여 설명한다.First, a block chain system for asynchronously distributed processing a transaction according to a preferred embodiment of the present invention will be described with reference to FIGS. 2 to 4 .
도 2는 본 발명의 바람직한 실시예에 따른 트랜잭션을 비동기로 분산 처리하는 블록체인 시스템을 설명하기 위한 블록도이고, 도 3은 본 발명의 바람직한 실시예에 따른 트랜잭션 처리 시스템의 동작 과정을 설명하기 위한 도면이며, 도 4는 본 발명의 바람직한 실시예에 따른 트랜잭션 데이터의 구조를 설명하기 위한 도면이다.2 is a block diagram for explaining a block chain system for asynchronously distributed processing a transaction according to a preferred embodiment of the present invention, and FIG. 3 is a block diagram for explaining the operation process of the transaction processing system according to a preferred embodiment of the present invention 4 is a diagram for explaining the structure of transaction data according to a preferred embodiment of the present invention.
도 2 및 도 3을 참조하면, 본 발명의 바람직한 실시예에 따른 트랜잭션을 비동기로 분산 처리하는 블록체인 시스템(10)(이하 '블록체인 시스템'이라 한다)은 도 3에 도시된 바와 같이, 비동기로 트랜잭션을 처리하는 블록체인 기술과 컨테이너 기술을 이용하여 신뢰성있게 트랜잭션을 처리한다.2 and 3, a block chain system 10 (hereinafter referred to as a 'blockchain system') for asynchronously distributed processing a transaction according to a preferred embodiment of the present invention is asynchronous, as shown in FIG. It processes transactions reliably using blockchain technology and container technology that process transactions with
이를 위해, 블록체인 시스템(10)은 도 2에 도시된 바와 같이, 복수의 블록체인 노드(100), 트랜잭션 요청부(200), 컨테이너 관리부(300), 컨테이너 실행부(400), 및 복수의 컨테이너 모듈(500)을 포함할 수 있다.To this end, as shown in FIG. 2 , the
블록체인 노드(100)는 블록체인부(110), 블록체인 저장부(120), 및 블록체인 스캔부(130)를 포함할 수 있다.The
블록체인부(110)는 블록체인 기술을 기반으로 스마트 컨트랙을 등록 및 실행시키고, 스마트 컨트랙으로 블록체인에 자산을 등록 및 관리한다.The
블록체인 저장부(120)는 스마트 컨트랙, 디지털 자산, 트랜잭션 등에 대한 정보를 저장한다.The block
블록체인 스캔부(130)는 블록체인에 새로운 블록이 생성되면, 처리하여야 하는 트랜잭션을 추출한다. 그리고, 블록체인 스캔부(130)는 추출된 트랜잭션의 종류가 트랜잭션 처리 요청 또는 트랜잭션 처리 취소이면 추출된 트랜잭션을 컨테이너 실행부(400)에 전달하고, 추출된 트랜잭션의 종류가 트랜잭션 처리 접수 또는 트랜잭션 처리 결과이면 추출된 트랜잭션을 트랜잭션 요청부(200)에 전달한다.When a new block is created in the block chain, the block
여기서, 도 4를 참조하면, 트랜잭션은 트랜잭션 ID, 블록체인 노드 ID 리스트, 컨테이너 ID, 및 트랜잭션 유효시간을 포함할 수 있다. 트랜잭션 ID는 트랜잭션을 구분할 수 있는 식별 정보이다. 블록체인 노드 ID 리스트는 트랜잭션을 처리할 블록체인 노드의 ID와 트랜잭션 처리 접수나 트랜잭션 처리 결과를 전달할 블록체인 노드의 ID들로 이루어진다. 컨테이너 ID는 트랜잭션을 처리할 컨테이너를 구분할 수 있는 식별 정보이다. 트랜잭션 유효시간은 트랜잭션의 처리 요청이나 취소 요청을 접수할 수 있는 유효 시간이다.Here, referring to FIG. 4 , a transaction may include a transaction ID, a list of blockchain node IDs, a container ID, and a transaction validity time. A transaction ID is identification information that can distinguish a transaction. The blockchain node ID list consists of the ID of the blockchain node that will process the transaction and the ID of the blockchain node that will receive the transaction processing or transmit the transaction processing result. A container ID is identification information that can identify a container to process a transaction. The transaction validity time is the effective time for receiving a transaction processing request or cancellation request.
이때, 트랜잭션의 종류가 트랜잭션 처리 요청 또는 트랜잭션 처리 취소이면, 트랜잭션은 도 4의 (a)에 도시된 바와 같이, 트랜잭션 처리에 필요한 데이터인 트랜잭션 처리 데이터를 더 포함할 수 있다. 그리고, 트랜잭션의 종류가 트랜잭션 처리 접수이면, 트랜잭션은 도 4의 (b)에 도시된 바와 같이, 트랜잭션을 처리하는 컨테이너 모듈(500)의 트랜잭션 인증모듈(510)에서 인증 처리한 것을 검증할 수 있는 데이터인 인증 데이터를 더 포함할 수 있다. 그리고, 트랜잭션의 종류가 트랜잭션 처리 결과이면, 트랜잭션은 도 4의 (c)에 도시된 바와 같이, 처리 결과를 더 포함할 수 있다.In this case, if the type of transaction is a transaction processing request or transaction processing cancellation, the transaction may further include transaction processing data, which is data required for transaction processing, as shown in FIG. 4A . And, if the type of transaction is transaction processing acceptance, the transaction can verify that authentication processing has been performed by the
한편, 블록체인 스캔부(130)는 트랜잭션을 처리할 컨테이너를 지정하기 위해, 추출된 트랜잭션을 컨테이너 실행부(400)에 전달할 때, 컨테이너 ID도 함께 전달할 수 있다. 그러면, 컨테이너 실행부(400)는 블록체인 스캔부(130)로부터 전달받은 컨테이너 ID에 대응되는 컨테이너를 블록체인 스캔부(130)로부터 전달받은 트랜잭션을 처리할 컨테이너 모듈로 선택할 수 있다.Meanwhile, the block
트랜잭션 요청부(200)는 클라이언트(101)로부터 전달받은 트랜잭션을 블록체인부(110)에 전달하여 처리 요청을 한다.The
이때, 트랜잭션 요청부(200)는 분산된 블록체인 노드(100)들 중에서 트랜잭션을 처리할 블록체인 노드(100)를 지정하고, 클라이언트(101)로부터 전달받은 트랜잭션을 블록체인부(110)에 전달할 때, 지정된 블록체인 노드(100)에 대응되는 블록체인 노드 ID도 함께 전달할 수 있다.At this time, the
여기서, 트랜잭션 요청부(200)는 분산된 블록체인 노드(100)들 중에서 장애가 발생한 블록체인 노드(100)를 제외하고, 남은 블록체인 노드(100)들 중에서 트랜잭션을 처리할 블록체인 노드(100)를 지정할 수 있다.Here, the
이 경우, 트랜잭션 요청부(200)는 장애가 발생한 블록체인 노드(100)에 대응되는 블록체인 노드 ID를 블록체인 노드 ID 리스트에 추가하고, 장애가 발생한 블록체인 노드(100)가 트랜잭션 처리 접수나 처리 결과를 정상적으로 회신하는지를 모니터링하여 장애가 발생한 블록체인 노드(100)의 장애 복구 여부를 확인할 수 있다.In this case, the
즉, 트랜잭션 요청부(200)는 블록체인 노드(100)의 상태나 부하 분산 정책에 따라 트랜잭션을 처리할 블록체인 노드(100)의 ID와 트랜잭션 처리 접수/처리 결과를 회신할 블록체인 노드(100)의 ID 리스트를 선택하고, 요청할 트랜잭션 종류에 맞추어 트랜잭션을 처리할 컨테이너 ID도 선택하여 트랜잭션 데이터를 구성한다. 트랜잭션 요청부(200)에서 트랜잭션 데이터를 블록체인부(110)에 전달하면, 블록체인부(110)에서는 스마트 컨트랙이 실행되어, 블록체인 저장부(120)에 저장된다. 블록체인 저장부(120)에 저장된 트랜잭션 데이터는 전체 블록체인 노드(100)의 블록체인 저장부(120)에 전파된다.That is, the
아울러, 트랜잭션 요청부(200)는 트랜잭션 처리 요청/취소 요청의 트랜잭션 유효시간 안에 블록체인 스캔부(130)로부터 트랜잭션 처리 접수 회신이 오지 않으면, 선택한 블록체인 노드 ID를 트랜잭션 처리할 수 있는 블록체인 노드 ID 리스트에서 제외하고, 블록체인 노드가 비정상 상태로 모니터링이 필요한 장애 블록체인 노드 ID 리스트에 추가한다. 트랜잭션 요청부(200)는 트랜잭션 처리 접수/처리 결과를 회신할 블록체인 노드의 ID 리스트를 구성할 때 장애 블록체인 노드 ID를 포함하여 구성하여, 장애 블록체인 노드가 정상으로 복구되는지 모니터링한다. 장애 블록체인 노드로 부터 트랜잭션 처리 접수/처리 결과가 정상적으로 회신을 받으면, 트랜잭션 처리할 수 있는 블록체인 노드 ID 리스트에 추가한다.In addition, if the
컨테이너 관리부(300)는 트랜잭션을 처리하는 컨테이너 모듈(500)을 블록체인부(110)를 통해 블록체인의 디지털 자산으로 등록하여, 컨테이너 모듈(500)의 생성, 변경, 수정 등에 대한 이력을 블록체인에 기록 및 관리할 수 있다.The
컨테이너 실행부(400)는 블록체인 스캔부(130)로부터 전달받은 트랜잭션을 처리할 컨테이너 모듈(500)을 선택하고, 선택된 컨테이너 모듈(500)이 회신하는 인증 데이터와 함께 블록체인부(110)를 통해 트랜잭션 처리 접수를 블록체인 저장부(120)에 저장하며, 선택된 컨테이너 모듈(500)로부터 처리 회신을 받으면 블록체인부(110)를 통해 트랜잭션 처리 결과를 블록체인 저장부(120)에 저장한다.The
한편, 블록체인 스캔부(130)로부터 컨테이너 ID도 함께 전달이 되면, 컨테이너 실행부(400)는 블록체인 스캔부(130)로부터 전달받은 컨테이너 ID에 대응되는 컨테이너를 블록체인 스캔부(130)로부터 전달받은 트랜잭션을 처리할 컨테이너 모듈로 선택할 수 있다.On the other hand, when the container ID is also transmitted from the block
컨테이너 모듈(500)은 트랜잭션 인증모듈(510), 및 트랜잭션 처리모듈(520)을 포함할 수 있다.The
트랜잭션 인증모듈(510)은 컨테이너 실행부(400)로부터 전달받은 트랜잭션이 처리할 수 있는 트랜잭션인지 여부를 인증하고 인증 데이터를 컨테이너 실행부(400)로 제공하고, 인증에 성공하면 트랜잭션을 트랜잭션 처리모듈(520)로 전달한다.The
트랜잭션 처리모듈(520)은 트랜잭션 인증모듈(510)로부터 전달받은 트랜잭션을 처리하고 그 결과를 컨테이너 실행부(400)에 전달한다.The
즉, 컨테이너 모듈(500)은 트랜잭션 인증모듈(510)과 트랜잭션 처리모듈(520)이 하나의 컨테이너로 묶여서 파일로 만들어지며, 컨테이너 모듈(500) 전체를 블록체인 저장부(120)에 저장하면, 블록체인 저장부(120)의 저장공간이 많이 소요됨에 따라서 블록체인부(110)의 성능을 하락할 수 있다. 따라서, 컨테이너 관리부(300)에 파일 형태로 저장되고, 블록체인 저장부(120)에는 컨테이너 ID, 컨테이너 파일의 해쉬값, 버전, 사이즈 등과 같이 컨테이너를 구분할 수 있는 값이 저장된다.That is, in the
그러면, 도 5를 참조하여 본 발명의 바람직한 실시예에 따른 블록체인 스캔부의 동작 과정에 대하여 보다 자세히 설명한다.Then, the operation process of the block chain scan unit according to the preferred embodiment of the present invention will be described in more detail with reference to FIG. 5 .
도 5는 도 2에 도시한 블록체인 스캔부의 동작 과정을 설명하기 위한 흐름도이다5 is a flowchart for explaining the operation process of the block chain scan unit shown in FIG.
도 5를 참조하면, 블록체인 스캔부(130)는 블록체인 저장부(120)에 새로운 블록이 생성되는지 스캔한다(S110).Referring to FIG. 5 , the block
블록체인 저장부(120)에 새로운 블록이 생성되면(S120-Y), 블록체인 스캔부(130)는 블록을 스캔해서 해당 블록체인 노드(100)의 ID에 해당하는 트랜잭션을 추출한다(S130).When a new block is created in the block chain storage unit 120 (S120-Y), the block
블록을 스캔해서 해당 블록체인 노드(100)의 ID로 할당된 트랜잭션 처리 요청/처리 취소가 있으면(S140-좌측), 블록체인 스캔부(130)는 트랜잭션 유효시간을 추출하여 현재 시간이 유효시간 안에 있는지 확인하고, 유효시간 안에 있으면(S150-Y), 컨테이너 실행부(400)에 트랜잭션 데이터를 전달한다(S160). 그러면, 컨테이너 실행부(400)는 전달받은 트랜잭션 데이터에서 컨테이너 ID를 추출하여 컨테이너 ID에 해당하는 컨테이너 모듈(500)이 있는지 확인하고, 없으면 컨테이너 관리부(300)에 컨테이너 모듈(500)을 요청한다. 컨테이너 관리부(300)로부터 컨테이너 모듈(500)을 받으면, 블록체인부(110)을 통해서 받은 컨테이너 모듈(500)이 블록체인에 등록된 컨테이너인지 컨테이어의 ID, 컨테이너 파일의 해쉬값, 버전, 사이즈 등의 정보를 비교하여 확인한다. 컨테이너 실행부(400)는 트랜잭션 데이터를 컨테이너 모듈(500)에 전달하면 컨테이너 모듈(500)의 컨테이너 인증모듈(510)이 트랜잭션 데이터를 인증하고 인증 데이터를 컨테이너 실행부(400)에 회신한다.If there is a transaction processing request/process cancellation assigned to the ID of the
이후, 컨테이너 실행부(400)는 블록체인부(110)을 통해서 트랜잭션 처리 접수를 블록체인 저장부(120)에 저장한다(S170). 그리고, 트랜잭션 처리모듈(520)이 트랜잭션을 처리하고 그 처리 결과를 컨테이너 실행부(400)에 회신하면, 컨테이너 실행부(400)는 블록체인부(110)을 통해서 트랜잭션 처리 결과를 블록체인 저장부(120)에 저장한다(S180).Thereafter, the
아울러, 블록을 스캔해서 해당 블록체인 노드(100)의 ID로 할당된 트랜잭션 처리 접수/처리 결과가 있으면(S140-우측), 블록체인 스캔부(130)는 트랜잭션 요청부(200)에 전달하여 트랜잭션 처리 요청/취소 요청이 완료된다(S190).In addition, if there is a transaction processing acceptance/processing result assigned to the ID of the
위와 같이, 본 발명에 따른 블록체인 시스템(10)에 따르면, 트랜잭션 처리 요청은 블록체인의 스마트 컨트랙을 적용하여 블록체인에 기록하고, 트랜잭션 처리 요청을 컨테이너에 전달하는 것은 블록을 스캔하는 블록체인 스캔부에서 처리하는 비동기 방식을 적용하여 blocking이 되는 부분을 제거하였고, 또한, 트랜잭션 처리 결과는 블록체인의 스마트 컨트랙을 실행하여 블록체인에 기록하고, 트랜잭션 처리 결과를 클라이언트에 전달하는 기능은 블록체인 스캔부가 처리하는 비동기 방식을 적용하여 트랜잭션 처리 결과를 클라이언트에 전달하는 과정에서 발생할 수 있는 blocking이 되는 부분도 제거하였다.As described above, according to the
또한, 트랜잭션 처리시에 신뢰성 확보에 꼭 필요한 부분을 블록체인의 스마트 컨트랙으로 처리하여 블록체인 노드의 리소스 사용을 최소화 하고, 트랜잭션 처리 시 컴퓨팅이 많이 필요한 부분은 독립된 모듈로 컨테이너화하여 분산 처리하여 블록체인 노드의 컴퓨팅 자원을 사용하지 않도록 하여 블록체인 노드의 컴퓨팅 자원이 부족하여 트랜젝션 처리가 늦어지는 것을 방지한다.In addition, it minimizes the resource use of blockchain nodes by processing the parts necessary for securing reliability during transaction processing with the smart contract of the blockchain. By not using the computing resources of the chain nodes, it prevents the transaction processing from being delayed due to the lack of computing resources of the blockchain nodes.
이와 같이 트랜잭션을 비동기로 처리하고, 컨테이너로 분산 처리하여 트랜잭션 처리 시간이 대폭 감소되며, 이에 따라 트랜잭션 처리용량은 비례하여 급증한다.In this way, the transaction processing time is greatly reduced by processing the transaction asynchronously and distributed processing by the container, and thus the transaction processing capacity increases proportionally.
또한, 블록체인의 스마트 컨트랙은 트랜잭션의 요청, 컨테이너가 트랜잭션을 처리한 결과를 블록체인에 기록하여, 트랜잭션을 추적 및 관리할 수 있도록 하여 신뢰성을 보장한다. 트랜잭션을 처리하는 모듈은 컨테이너화하여 블록체인의 디지털 자산으로 등록하여, 생성, 변경, 수정에 대한 이력을 블록체인에 기록 및 관리한다. 컨테이너의 이력정보가 블록체인 기술을 통해서 등록 관리되므로 컨테이너의 위변조를 원천적으로 방지할 수 있다.In addition, the smart contract of the block chain records the request of the transaction and the result of the container processing the transaction on the block chain so that the transaction can be tracked and managed, thereby guaranteeing reliability. The module that processes the transaction is containerized and registered as a digital asset of the blockchain, and records and manages the history of creation, change, and modification in the blockchain. Since container history information is registered and managed through blockchain technology, it is possible to fundamentally prevent forgery of containers.
컨테이너 모듈은 트랜잭션을 처리하는 모듈과 컨테이너를 인증할 수 있는 모듈이 결합되어 컨테이너화된다. 트랜잭션이 처리를 하기 위해서 컨테이너 모듈이 실행될 때 마다 컨테이너 인증모듈이 먼저 실행되어서 인증을 수행하고, 정상적으로 인증이 된다는 것을 확인할 수 있는 인증 데이터를 리턴하고 그 인증 데이터를 블록체인에 기록하여 디지털 자산으로 등록된 컨테이너인지 확인할 수 있다.The container module is containerized by combining the module that processes the transaction and the module that can authenticate the container. In order to process a transaction, whenever the container module is executed, the container authentication module is executed first to perform authentication, returns authentication data that can confirm that authentication is normally performed, and records the authentication data in the block chain and registers it as a digital asset. You can check if the container has been
블록체인에 등록된 트랜잭션에는 트랜잭션을 처리할 컨테이너 정보와 컨테이너가 실행되어야 할 블록체인 노드에 대한 정보가 있어, 그 정보를 기반으로 특정 블록체인 노드에서 해당하는 컨테이너에게 할당되어 트랜잭션을 처리하고 그 처리결과는 블록체인에 등록되는 효과적인 부하 분산 기능을 제공한다.Transactions registered in the block chain contain information about the container to process the transaction and the block chain node where the container should be executed. The result provides an effective load balancing function that is registered on the blockchain.
본 발명으로 트랜잭션을 비동기로 처리시에 문제점이 발생할 수 있다. 특정 블록체인 노드가 문제가 있어 그 블록체인 노드로 블록이 전파되지 않아서 그 노드의 블록체인 스캔부가 블록을 스캔하지 못하는 경우에 발생한다. 첫번째로 시나리오는 그 블록체인 노드로 요청을 받은 트랜잭션이 처리되지 못하고 블록체인에 누적되는 문제와 두번째 시니리오는 트랜잭션이 컨테이너를 통해서 처리되고 그 트랜잭션 처리 결과가 블록체인에 기록되었으나 그 블록체인 노드의 블록체인 스캔부가 블록을 스캔하지 못하여 트랜잭션을 요청한 클라이언트에 처리 결과를 전달할 수 없는 상황이다.According to the present invention, a problem may occur when processing a transaction asynchronously. Occurs when there is a problem with a specific blockchain node and the block is not propagated to that blockchain node, so the node's blockchain scan unit cannot scan the block. The first scenario is the problem that the transaction requested by the block chain node is not processed and accumulates in the block chain. The second scenario is that the transaction is processed through a container and the transaction processing result is recorded in the block chain, but the block It is a situation in which the processing result cannot be delivered to the client who requested the transaction because the chain scan unit cannot scan the block.
위의 첫번째 시나리오 문제를 해결하기 위해서 트랜잭션의 유효기간을 트랜잭션 데이터에 포함하여 등록한다. 특정 블록체인 노드의 문제가 발생하여 블록이 전파되지 않다가 한번에 여러 블록이 전파가 되어서 블록체인 스캔부가 블록을 스캔할 경우, 요청을 받은 트랜잭션의 유효기간이 초과한 트랜잭션은 처리하지 않고 통과시킴으로 해결할 수 있다. 트랜잭션 처리를 요청하는 트랜잭션 요청부는 트랜잭션 유효기간 안에 트랜잭션이 처리되지 않으면, 요청한 블록체인 노드의 문제가 있다고 판단하고 다른 블록체인 노드에 트랜잭션 처리 요청을 블록체인에 등록하여 트랜잭션을 처리할 수 있다.To solve the above first scenario problem, the transaction validity period is included in the transaction data and registered. If a block is not propagated due to a problem with a specific block chain node, but several blocks are propagated at once and the block chain scan unit scans the block, it can be solved by passing the transaction that has exceeded the validity period of the requested transaction without processing it. can If the transaction is not processed within the transaction validity period, the transaction requesting unit requesting transaction processing determines that there is a problem with the requested blockchain node, and can process the transaction by registering the transaction processing request to another blockchain node in the blockchain.
그리고, 두번째 시나리오에 문제점을 해결할 수 있는 방안은 트랜잭션 처리 결과에 대해서는 다른 블록체인 노드의 블록체인 스캔부가 읽었을 경우에도 처리 결과를 전달할 수 있도록, 트랜잭션 요청시 트랜잭션 결과를 전달하는 블록체인 노드를 추가로 등록하는 방법으로 해결할 수 있다. 또한, 첫번째 시니라오에 의해서 트랜잭션 요청부가 그 블록체인 노드가 장애가 발생한 것으로 판단되어, 트랜잭션 처리할 수 있는 블록체인 노드 리스트에서 제외한 후에, 트랜잭션 요청부가 그 블록체인 노드에 블록이 정상적으로 전파가 되는지 확인하기 위한 방안으로 트랜잭션 결과를 전달하는 블록체인 노드 리스트에 그 블록체인 노드를 추가하여 트랜잭션 결과를 전송하는지를 확인하는 방법으로 사용할 수 있다.And, a solution to the problem in the second scenario is to add a blockchain node that delivers the transaction result when a transaction is requested so that the processing result can be delivered even when the blockchain scan unit of another blockchain node reads the transaction processing result. This can be solved by registering. Also, according to the first scenario, after the transaction requester determines that the block chain node has failed and removes it from the list of block chain nodes that can process the transaction, check whether the block is normally propagated to the block chain node by the transaction request unit. As a measure for this, it can be used as a method to check whether the transaction result is transmitted by adding the block chain node to the list of block chain nodes that deliver the transaction result.
이상에서 본 발명의 바람직한 실시예에 대하여 상세하게 설명하였지만 본 발명은 상술한 특정의 바람직한 실시예에 한정되지 아니하며, 다음의 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 된다.Although preferred embodiments of the present invention have been described in detail above, the present invention is not limited to the specific preferred embodiments described above, and the technical field to which the present invention belongs without departing from the gist of the present invention as claimed in the following claims Anyone with ordinary skill in the art can make various modifications, of course, such changes are within the scope of the claims.
10 : 트랜잭션을 비동기로 분산 처리하는 블록체인 시스템,
101 : 클라이언트
100 : 블록체인 노드,
110 : 블록체인부, 120 : 블록체인 저장부,
130 : 블록체인 스캔부,
200 : 트랜잭션 요청부,
300 : 컨테이너 관리부,
400 : 컨테이너 실행부,
500 : 컨테이너 모듈,
510 : 트랜잭션 인증모듈, 520 : 트랜잭션 처리모듈10: A blockchain system that distributes and processes transactions asynchronously;
101: client
100: blockchain node,
110: block chain unit, 120: block chain storage unit,
130: block chain scan unit,
200: transaction request unit;
300: container management unit,
400: container execution unit;
500: container module;
510: transaction authentication module, 520: transaction processing module
Claims (7)
클라이언트로부터 전달받은 트랜잭션을 상기 블록체인부에 전달하여 처리 요청을 하는 상기 트랜잭션 요청부;
상기 블록체인 스캔부로부터 전달받은 트랜잭션을 처리할 컨테이너 모듈을 선택하고, 선택된 상기 컨테이너 모듈이 회신하는 인증 데이터와 함께 상기 블록체인부를 통해 트랜잭션 처리 접수를 상기 블록체인 저장부에 저장하며, 선택된 상기 컨테이너 모듈로부터 처리 회신을 받으면 상기 블록체인부를 통해 트랜잭션 처리 결과를 상기 블록체인 저장부에 저장하는 상기 컨테이너 실행부; 및
상기 컨테이너 실행부로부터 전달받은 트랜잭션이 처리할 수 있는 트랜잭션인지 여부를 인증하고 인증 데이터를 상기 컨테이너 실행부로 제공하고, 인증에 성공하면 트랜잭션을 트랜잭션 처리모듈로 전달하는 트랜잭션 인증모듈; 및 상기 트랜잭션 인증모듈로부터 전달받은 트랜잭션을 처리하고 그 결과를 상기 컨테이너 실행부에 전달하는 상기 트랜잭션 처리모듈;을 포함하는 상기 컨테이너 모듈;
를 포함하고,
트랜잭션을 처리하는 컨테이너를 상기 블록체인부를 통해 블록체인의 디지털 자산으로 등록하는 컨테이너 관리부;
를 더 포함하는 트랜잭션을 비동기로 분산 처리하는 블록체인 시스템.A block chain unit that registers and executes smart contracts based on block chain technology, and registers and manages assets in the block chain with smart contracts; a block chain storage unit that stores information about smart contracts and transactions; And when a new block is created in the block chain, the transaction to be processed is extracted, and if the type of the extracted transaction is a transaction processing request or transaction processing cancellation, the extracted transaction is transmitted to the container execution unit, and the type of the extracted transaction is the transaction A block chain node comprising; a block chain scan unit that transmits the extracted transaction to the transaction request unit if the processing is accepted or the result of the transaction processing;
the transaction request unit that transmits the transaction received from the client to the block chain unit to request processing;
Selects a container module to process the transaction received from the block chain scan unit, stores the transaction processing receipt through the block chain unit together with authentication data returned by the selected container module to the block chain storage unit, and the selected container the container execution unit for storing a transaction processing result in the block chain storage unit through the block chain unit when receiving a processing reply from the module; and
a transaction authentication module that authenticates whether the transaction received from the container execution unit is a transaction that can be processed, provides authentication data to the container execution unit, and transmits the transaction to the transaction processing module if authentication is successful; and the transaction processing module for processing the transaction received from the transaction authentication module and transmitting the result to the container execution unit;
including,
a container management unit that registers a container that processes a transaction as a digital asset of a block chain through the block chain unit;
A blockchain system that asynchronously distributes and processes transactions that further include
상기 트랜잭션은, 트랜잭션을 구분할 수 있는 식별 정보인 트랜잭션 ID, 트랜잭션을 처리할 블록체인 노드의 ID와 트랜잭션 처리 접수나 트랜잭션 처리 결과를 전달할 블록체인 노드의 ID들로 이루어지는 블록체인 노드 ID 리스트, 트랜잭션을 처리할 컨테이너를 구분할 수 있는 식별 정보인 컨테이너 ID, 및 트랜잭션의 처리 요청이나 취소 요청을 접수할 수 있는 유효 시간인 트랜잭션 유효시간을 포함하며,
상기 트랜잭션의 종류가 상기 트랜잭션 처리 요청 또는 상기 트랜잭션 처리 취소이면, 상기 트랜잭션은, 트랜잭션 처리 데이터를 더 포함하고,
상기 트랜잭션의 종류가 상기 트랜잭션 처리 접수이면, 상기 트랜잭션은, 인증 데이터를 더 포함하며,
상기 트랜잭션의 종류가 상기 트랜잭션 처리 결과이면, 상기 트랜잭션은, 처리 결과를 더 포함하는,
트랜잭션을 비동기로 분산 처리하는 블록체인 시스템.In claim 1,
The transaction includes a transaction ID, which is identification information that can distinguish a transaction, an ID of a block chain node to process a transaction, a list of block chain node IDs including IDs of a block chain node to receive transaction processing or to transmit a transaction processing result, and a transaction. It includes a container ID, which is identification information that can identify a container to be processed, and a transaction validity time, which is an effective time for receiving a transaction processing request or cancellation request,
If the type of the transaction is the transaction processing request or the transaction processing cancellation, the transaction further includes transaction processing data,
If the type of the transaction is the transaction processing acceptance, the transaction further includes authentication data,
If the type of the transaction is the transaction processing result, the transaction further includes a processing result,
A blockchain system that asynchronously distributes and processes transactions.
상기 트랜잭션 요청부는,
분산된 블록체인 노드들 중에서 트랜잭션을 처리할 블록체인 노드를 지정하고, 클라이언트로부터 전달받은 트랜잭션을 상기 블록체인부에 전달할 때, 지정된 블록체인 노드에 대응되는 블록체인 노드 ID도 함께 전달하는,
트랜잭션을 비동기로 분산 처리하는 블록체인 시스템.In claim 3,
The transaction request unit,
Designates a blockchain node to process a transaction among distributed blockchain nodes, and delivers the blockchain node ID corresponding to the designated blockchain node when transferring the transaction received from the client to the blockchain unit.
A blockchain system that asynchronously distributes and processes transactions.
상기 트랜잭션 요청부는,
분산된 블록체인 노드들 중에서 장애가 발생한 블록체인 노드를 제외하고, 남은 블록체인 노드들 중에서 트랜잭션을 처리할 블록체인 노드를 지정하는,
트랜잭션을 비동기로 분산 처리하는 블록체인 시스템.In claim 4,
The transaction request unit,
Excluding the failed blockchain node among distributed blockchain nodes, and designating the blockchain node to process the transaction among the remaining blockchain nodes.
A blockchain system that asynchronously distributes and processes transactions.
상기 트랜잭션 요청부는,
장애가 발생한 블록체인 노드에 대응되는 블록체인 노드 ID를 상기 블록체인 노드 ID 리스트에 추가하고, 장애가 발생한 블록체인 노드가 트랜잭션 처리 접수나 처리 결과를 정상적으로 회신하는지를 모니터링하여 장애가 발생한 블록체인 노드의 장애 복구 여부를 확인하는,
트랜잭션을 비동기로 분산 처리하는 블록체인 시스템.In claim 5,
The transaction request unit,
Add the block chain node ID corresponding to the failed block chain node to the block chain node ID list, and monitor whether the failed block chain node accepts transaction processing or returns the processing result normally to recover from failure of the failed block chain node to check,
A blockchain system that asynchronously distributes and processes transactions.
상기 블록체인 스캔부는,
트랜잭션을 처리할 컨테이너를 지정하기 위해, 추출된 트랜잭션을 상기 컨테이너 실행부에 전달할 때, 컨테이너 ID도 함께 전달하며,
상기 컨테이너 실행부는,
상기 블록체인 스캔부로부터 전달받은 컨테이너 ID에 대응되는 컨테이너를 상기 블록체인 스캔부로부터 전달받은 트랜잭션을 처리할 컨테이너 모듈로 선택하는,
트랜잭션을 비동기로 분산 처리하는 블록체인 시스템.
In claim 3,
The blockchain scan unit,
When passing the extracted transaction to the container execution unit in order to designate a container to process the transaction, the container ID is also passed,
The container execution unit,
selecting a container corresponding to the container ID received from the block chain scan unit as a container module to process the transaction received from the block chain scan unit,
A blockchain system that asynchronously distributes and processes transactions.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200094766A KR102288161B1 (en) | 2020-07-29 | 2020-07-29 | Blockchain system for distributed processing transaction asynchronously |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200094766A KR102288161B1 (en) | 2020-07-29 | 2020-07-29 | Blockchain system for distributed processing transaction asynchronously |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102288161B1 true KR102288161B1 (en) | 2021-08-10 |
Family
ID=77316070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200094766A KR102288161B1 (en) | 2020-07-29 | 2020-07-29 | Blockchain system for distributed processing transaction asynchronously |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102288161B1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101986081B1 (en) * | 2018-12-24 | 2019-06-05 | (주)소프트제국 | Method for sharing and verifing a block between specific nodes in a blockchain |
KR20190082046A (en) | 2017-12-29 | 2019-07-09 | 주식회사 코인플러그 | Method for paying based on blockchain and payment server using the same |
KR20200026366A (en) * | 2018-08-30 | 2020-03-11 | 에이치닥 테크놀로지 아게 | Smart Contract System in a virtual environment and processing method thereof |
-
2020
- 2020-07-29 KR KR1020200094766A patent/KR102288161B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190082046A (en) | 2017-12-29 | 2019-07-09 | 주식회사 코인플러그 | Method for paying based on blockchain and payment server using the same |
KR20200026366A (en) * | 2018-08-30 | 2020-03-11 | 에이치닥 테크놀로지 아게 | Smart Contract System in a virtual environment and processing method thereof |
KR101986081B1 (en) * | 2018-12-24 | 2019-06-05 | (주)소프트제국 | Method for sharing and verifing a block between specific nodes in a blockchain |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11966916B2 (en) | Resource transfer method and apparatus, storage medium, and computer device | |
US11074661B2 (en) | Transaction processing method, apparatus, and electronic device using a blockchain having nonce records | |
US20180189100A1 (en) | Distributed computing system | |
WO2021018088A1 (en) | Trusted authentication method, network device, system and storage medium | |
US11481771B2 (en) | One way functions in a resource transfer system | |
JP2022532464A (en) | Blockchain transaction manager | |
CN110222116B (en) | Control method and device for transaction data storage and storage medium | |
US20220350658A1 (en) | Transfer costs in a resource transfer system | |
US20020056079A1 (en) | Storage media storing data related to smart card, smart card system and smart card application loading method | |
CN110599174B (en) | Block chain information processing method and related equipment | |
US11151122B2 (en) | Distributed ledger data linkage management | |
Hao et al. | FastPay: A secure fast payment method for edge-IoT platforms using blockchain | |
US7441115B2 (en) | Method for verifying a digital signature | |
JP2018535500A (en) | Temporary consensus network in resource transfer system | |
KR102288161B1 (en) | Blockchain system for distributed processing transaction asynchronously | |
US20210365433A1 (en) | Method and apparatus for managing data based on blockchain | |
US11483158B2 (en) | Distributed ledger device, distributed ledger system, and distributed ledger management method | |
CN113095935A (en) | Transaction order processing method and device, computer equipment and storage medium | |
US11568399B2 (en) | Distributed ledger management system, distributed ledger management method, and node | |
US11520802B2 (en) | Systems and methods for data format conversion | |
CN113987598A (en) | Block migration method and device | |
US20230237476A1 (en) | Electronic wallet, server for executing the same, and method for atomic exchange of blockchain tokens using the server | |
US20240144268A1 (en) | Control method, non-transitory computer-readable storage medium for storing control program, and information processing apparatus | |
JP7252462B2 (en) | Image sorting device, image sorting program and image sorting method | |
US20230188348A1 (en) | Service management system, token issuing server, and method for token issuing server |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |