KR102262618B1 - Method for high speed transaction processing on blockchain and apparatus for using the method - Google Patents

Method for high speed transaction processing on blockchain and apparatus for using the method Download PDF

Info

Publication number
KR102262618B1
KR102262618B1 KR1020190087569A KR20190087569A KR102262618B1 KR 102262618 B1 KR102262618 B1 KR 102262618B1 KR 1020190087569 A KR1020190087569 A KR 1020190087569A KR 20190087569 A KR20190087569 A KR 20190087569A KR 102262618 B1 KR102262618 B1 KR 102262618B1
Authority
KR
South Korea
Prior art keywords
transaction
request
data
blockchain
block chain
Prior art date
Application number
KR1020190087569A
Other languages
Korean (ko)
Other versions
KR20210010764A (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 KR1020190087569A priority Critical patent/KR102262618B1/en
Priority to PCT/KR2019/017520 priority patent/WO2020159072A1/en
Priority to TW109101809A priority patent/TW202032480A/en
Publication of KR20210010764A publication Critical patent/KR20210010764A/en
Application granted granted Critical
Publication of KR102262618B1 publication Critical patent/KR102262618B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction

Abstract

본 발명은 블록체인 상에서 트랜잭션 고속 처리 방법 및 이러한 방법을 사용하는 장치에 관한 것이다. 블록체인 상에서 트랜잭션 고속 처리 방법은 블록체인 플랫폼이 사용자 장치로부터 요청 트랜잭션을 수신하는 단계, 블록체인 플랫폼이 캐시를 기반으로 요청 트랜잭션에 대한 처리 가능 여부를 결정하는 단계와 블록체인 플랫폼이 캐시 상에 기록된 정보를 기반으로 블록체인 상으로의 액세스 없이 요청 트랜잭션에 대한 응답 트랜잭션을 전송하는 단계를 포함할 수 있다.The present invention relates to a high-speed transaction processing method on a block chain and an apparatus using such a method. The high-speed transaction processing method on the block chain includes the steps of the block chain platform receiving the requested transaction from the user device, the block chain platform determining whether the requested transaction can be processed based on the cache, and the block chain platform writing on the cache It may include transmitting a response transaction to the request transaction without access to the blockchain based on the received information.

Figure R1020190087569
Figure R1020190087569

Description

블록체인 상에서 트랜잭션 고속 처리 방법 및 이러한 방법을 사용하는 장치{Method for high speed transaction processing on blockchain and apparatus for using the method}Method for high speed transaction processing on blockchain and apparatus for using the method

본 발명은 블록체인 상에서 트랜잭션 고속 처리 방법 및 이러한 방법을 사용하는 장치에 관한 것이다. 보다 상세하게는 블록체인 플랫폼 상에서 불필요한 부하를 발생시키기 않고, 처리가 필요한 트랜잭션을 고속으로 처리하기 위한 방법 및 장치에 관한 것이다.The present invention relates to a high-speed transaction processing method on a block chain and an apparatus using such a method. More specifically, it relates to a method and apparatus for high-speed processing of transactions that require processing without generating unnecessary load on the blockchain platform.

블록체인은 퍼블릭 네트워크(public network) 또는 프라이빗 네트워크(private network)에서 일어나는 거래 정보가 암호화되어 해당 네트워크 구성원 간 공유되는 디지털 원장(ledger)일 수 있다.A blockchain may be a digital ledger in which transaction information that occurs in a public network or a private network is encrypted and shared between members of the corresponding network.

거래 원장의 복사본이 각 네트워크 구성원에게 분산되어(distributed) 새로운 거래가 발생할 때마다 구성원들의 동의를 통해 해당 거래에 대한 인증 절차가 진행될 수 있다.A copy of the transaction ledger is distributed to each network member, so that whenever a new transaction occurs, the authentication process for the transaction can proceed with the consent of the members.

블록체인에 기반한 거래 정보는 임의로 변경이 불가능하기 때문에 거래의 신뢰성이 높아지고 정보 추적이 용이하다. 특히 금융 서비스 분야에서는 블록체인 기술을 적용하여 업무 효율성을 높이고 새로운 서비스 기반을 구축하기 위한 노력이 진행 중이다.Since transaction information based on the block chain cannot be arbitrarily changed, the reliability of the transaction increases and information tracking is easy. In particular, in the field of financial services, efforts are being made to increase work efficiency and establish a new service base by applying block chain technology.

분산 장부 시스템을 통한 투명한 거래로 보안, 감독, 규제 비용 절감이 가능하다. 블록체인 기술은 금융 분야뿐만 아니라 물류, 유통, 나아가 정부 공공 행정 서비스에도 적용될 수 있다.Transparent transactions through a distributed ledger system can reduce security, supervision, and regulatory costs. Blockchain technology can be applied not only to the financial field, but also to logistics, distribution, and even government public administrative services.

기존의 비트코인과 같은 퍼블릭 블록체인 네트워크(public blockchain network)는 참여 노드들이 동일한 권한을 가지고 블록체인 네트워크 상에서 동작할 수 있으나, 프라이빗 블록체인 네트워크(private blockchain network) 또는 허가형 블록체인 네트워크(permissioned blockchain network)의 경우, 노드 별로 차등적인 권한이 설정되어 블록체인 내에서 동작할 수 있다. In an existing public blockchain network such as Bitcoin, participating nodes can operate on a blockchain network with the same authority, but a private blockchain network or a permissioned blockchain network network), differential privileges are set for each node and can be operated within the blockchain.

블록체인 상에 기록된 특정 정보에 액세스하고자 하는 시도가 많아질 경우, 블록체인 상의 부하가 발생될 수 있고, 부하로 인해 블록체인 상의 정보에 대한 액세스 속도가 느려질 수 있다.If there are many attempts to access specific information recorded on the block chain, a load on the block chain may occur, and the access speed to information on the block chain may become slow due to the load.

따라서, 블록체인 상에 기록된 정보를 정확하게 획득하되 블록체인 상에 불필요한 부하를 발생시키지 않게 하기 위한 방법에 대한 연구가 필요하다.Therefore, it is necessary to study a method to accurately obtain the information recorded on the block chain but not generate unnecessary load on the block chain.

본 발명은 상술한 문제점을 모두 해결하는 것을 그 목적으로 한다.An object of the present invention is to solve all of the above problems.

또한, 본 발명은, 블록체인 플랫폼 상에서 블록체인에 대한 불필요한 액세스를 감소시켜 블록체인 상에서 트랜잭션 처리 속도를 향상시키는 것을 목적으로 한다. Another object of the present invention is to improve the transaction processing speed on the blockchain by reducing unnecessary access to the blockchain on the blockchain platform.

또한, 본 발명은, 블록체인 플랫폼 상에서 트랜잭션을 그룹핑하여 트랜잭션 그룹을 기준으로 트랜잭션 검증을 수행하고, 블록체인에 저장된 정보에 대한 관리를 위한 트랜잭션에 대한 전송이 불필요하게 이루어지지 않도록 하는 것을 목적으로 한다.In addition, the present invention groups transactions on a blockchain platform to perform transaction verification based on the transaction group, and to prevent unnecessary transmission of transactions for managing information stored in the blockchain. .

상기 목적을 달성하기 위한 본 발명의 대표적인 구성은 다음과 같다.A representative configuration of the present invention for achieving the above object is as follows.

본 발명의 일 태양에 따르면, 블록체인 상에서 트랜잭션 고속 처리 방법은 블록체인 플랫폼이 사용자 장치로부터 요청 트랜잭션을 수신하는 단계, 상기 블록체인 플랫폼이 캐시를 기반으로 상기 요청 트랜잭션에 대한 처리 가능 여부를 결정하는 단계와 상기 블록체인 플랫폼이 상기 캐시 상에 기록된 정보를 기반으로 상기 블록체인 상으로의 액세스 없이 상기 요청 트랜잭션에 대한 응답 트랜잭션을 전송하는 단계를 포함할 수 있다.According to an aspect of the present invention, a high-speed transaction processing method on a block chain includes the steps of: receiving a request transaction from a user device by a block chain platform; and determining whether the block chain platform can process the requested transaction based on a cache and sending, by the blockchain platform, a response transaction to the request transaction without access to the blockchain based on the information recorded in the cache.

본 발명의 다른 태양에 따르면, 트랜잭션 고속 처리를 위한 블록체인 플랫폼은 상기 사용자 장치로부터 요청 트랜잭션을 수신하도록 구현된 통신부와 기록된 정보를 기반으로 결정된 상기 요청 트랜잭션에 대한 처리 가능 여부를 결정하고, 상기 기록된 정보를 기반으로 상기 블록체인 상으로의 액세스 없이 상기 요청 트랜잭션에 대한 응답 트랜잭션을 전송하기 위해 구현된 캐시를 포함할 수 있다.According to another aspect of the present invention, the blockchain platform for high-speed transaction processing determines whether the request transaction can be processed based on the recorded information and the communication unit implemented to receive the requested transaction from the user device, and a cache implemented to transmit a response transaction to the request transaction without access to the blockchain based on recorded information.

본 발명에 의하면, 블록체인 플랫폼 상에서 블록체인에 대한 불필요한 액세스를 감소시켜 블록체인 상에서 트랜잭션 처리 속도가 향상될 수 있다.According to the present invention, transaction processing speed on the blockchain can be improved by reducing unnecessary access to the blockchain on the blockchain platform.

또한, 본 발명에 의하면, 블록체인 플랫폼 상에서 트랜잭션을 그룹핑하여 트랜잭션 그룹을 기준으로 트랜잭션 검증이 수행되고, 블록체인에 저장된 정보에 대한 관리를 위한 트랜잭션에 대한 전송이 불필요하게 이루어지지 않을 수 있다.In addition, according to the present invention, transaction verification is performed based on the transaction group by grouping the transactions on the block chain platform, and the transmission of the transaction for management of information stored in the block chain may not be made unnecessary.

도 1은 본 발명의 실시예에 따른 고성능 블록체인 플랫폼을 나타낸 개념도이다.
도 2는 본 발명의 실시예에 따른 고성능 블록체인 플랫폼을 나타낸 개념도이다.
도 3은 본 발명의 실시예에 따른 고성능 블록체인 플랫폼을 나타낸 개념도이다.
도 4는 본 발명의 실시예에 따른 고성능 블록체인 플랫폼을 나타낸 개념도이다.
도 5는 본 발명의 실시예에 따른 블록체인 상의 기록에 대한 액세스 판단 동작을 나타낸 개념도이다.
도 6은 본 발명의 실시예에 따른 데이터 스트리밍부의 동작을 나타낸 개념도이다.
1 is a conceptual diagram illustrating a high-performance blockchain platform according to an embodiment of the present invention.
2 is a conceptual diagram illustrating a high-performance blockchain platform according to an embodiment of the present invention.
3 is a conceptual diagram illustrating a high-performance blockchain platform according to an embodiment of the present invention.
4 is a conceptual diagram illustrating a high-performance blockchain platform according to an embodiment of the present invention.
5 is a conceptual diagram illustrating an access determination operation for a record on a block chain according to an embodiment of the present invention.
6 is a conceptual diagram illustrating an operation of a data streaming unit according to an embodiment of the present invention.

후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이러한 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 본 명세서에 기재되어 있는 특정 형상, 구조 및 특성은 본 발명의 정신과 범위를 벗어나지 않으면서 일 실시예로부터 다른 실시예로 변경되어 구현될 수 있다. 또한, 각각의 실시예 내의 개별 구성요소의 위치 또는 배치도 본 발명의 정신과 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 행하여 지는 것이 아니며, 본 발명의 범위는 특허청구범위의 청구항들이 청구하는 범위 및 그와 균등한 모든 범위를 포괄하는 것으로 받아들여져야 한다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 구성요소를 나타낸다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS [0010] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS [0010] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS [0023] Reference is made to the accompanying drawings, which show by way of illustration specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the present invention. It should be understood that the various embodiments of the present invention are different but need not be mutually exclusive. For example, certain shapes, structures, and characteristics described herein may be implemented with changes from one embodiment to another without departing from the spirit and scope of the present invention. In addition, it should be understood that the location or arrangement of individual components within each embodiment may be changed without departing from the spirit and scope of the present invention. Accordingly, the detailed description given below is not to be taken in a limiting sense, and the scope of the present invention should be taken to cover the scope of the claims and all equivalents thereto. In the drawings, like reference numerals refer to the same or similar elements throughout the various aspects.

이하에서는, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 여러 바람직한 실시예에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.Hereinafter, various preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings in order to enable those of ordinary skill in the art to easily practice the present invention.

이하, 본 발명의 실시예에서는 분산 원장을 블록체인의 형태로 저장하면서 대량의 거래(또는 트랜잭션)를 동시에 또는 빠른 시간 안에 이루어질 수 있도록 하기 위한 고성능 블록체인 플랫폼이 개시된다. Hereinafter, in an embodiment of the present invention, a high-performance blockchain platform for storing a distributed ledger in the form of a block chain and allowing a large number of transactions (or transactions) to be made simultaneously or in a short time is disclosed.

본 발명의 실시예에 따른 고성능 블록체인 플랫폼은 블록체인 상에 부하를 감소시키면서 거래 속도를 비약적으로 높여 수백만명 이상이 동시에 거래할 수 있는 수준의 거래량과 속도를 지원할 수 있다. The high-performance blockchain platform according to an embodiment of the present invention can support a level of transaction volume and speed that can be transacted by millions or more at the same time by dramatically increasing the transaction speed while reducing the load on the blockchain.

이하, 본 발명의 실시예에서는 설명의 편의상 사용자 계좌에서 금액의 입금 출금하고, 사용자 계좌를 확인하는 절차에 대해 개시한다. 하지만, 사용자 지갑 상에서 디지털 유가 증권과 같은 일정한 가치를 가지는 객체를 전송 또는 수신하고, 사용자 지갑을 확인하는 절차에 대해서도 이하 본 발명의 실시예에 따른 고성능 블록체인 플랫폼이 사용될 수 있고, 본 발명의 권리 범위에 포함될 수 있다.Hereinafter, in an embodiment of the present invention, for convenience of explanation, a procedure for depositing and withdrawing money from a user account and confirming the user account is disclosed. However, the high-performance blockchain platform according to the embodiment of the present invention can be used below for the procedure of transmitting or receiving an object having a certain value, such as a digital security, on the user's wallet and confirming the user's wallet, and the rights of the present invention may be included in the scope.

즉, 사용자 계좌는 가치가 존재하는 객체를 포함하는 다양한 온라인 상의 가치 저장 수단을 포함하는 의미로 사용될 수 있고, 금액은 가치가 존재하는 객체를 포함하는 의미로 사용될 수 있다.That is, the user account may be used as a meaning including various online value storage means including an object with a value, and the amount may be used as a meaning including an object with a value.

도 1은 본 발명의 실시예에 따른 고성능 블록체인 플랫폼을 나타낸 개념도이다.1 is a conceptual diagram illustrating a high-performance blockchain platform according to an embodiment of the present invention.

도 1에서는 분산 원장을 블록체인의 형태로 저장하면서 대량의 거래가 동시에 빠른 시간 안에 이루어질 수 있도록 거래 속도를 비약적으로 높인 고성능 블록체인 플랫폼이 개시된다.In Figure 1, a high-performance blockchain platform that dramatically increases the transaction speed so that a large number of transactions can be made simultaneously in a short time while storing the distributed ledger in the form of a block chain is disclosed.

도 1을 참조하면, 본 발명의 실시예에 따른 고성능 블록체인 플랫폼은 렛저 API(application programming interface)(100), 캐시(cache)(110), 렛저 인보커(ledger invoker)(130), 데이터 스트리밍(data streaming)(또는 데이터 스트리밍부(data streaming unit))(120), 블록체인(blockchain)(140), 노티파이어(notifier)(150), 렛저 매니저(ledger manager)(160)를 포함할 수 있다.1 , a high-performance blockchain platform according to an embodiment of the present invention is a ledger application programming interface (API) 100, a cache 110, a ledger invoker 130, and data streaming. (data streaming) (or data streaming unit) 120, block chain (blockchain) 140, notifier (notifier) 150, ledger manager (ledger manager) (160) may include have.

렛저 API(100)는 블록체인 기반 서비스를 제공하기 위해 사용자 장치와 블록체인(또는 블록체인 플랫폼)(140)을 연결하기 위한 인터페이스일 수 있다. 사용자 장치는 렛저 API(100)를 통해 블록체인(140) 상의 정보에 액세스할 수 있다. 예를 들어, 사용자는 렛저 API(100)를 통해 입금, 출금, 거래 등을 요청하고, 요청에 대한 결과값을 수신할 수 있다.The Ledger API 100 may be an interface for connecting a user device and a blockchain (or blockchain platform) 140 to provide a blockchain-based service. A user device may access information on the blockchain 140 via the Ledger API 100 . For example, the user may request deposit, withdrawal, transaction, etc. through the ledger API 100 and receive a result value for the request.

캐시(110)는 블록체인(140) 상의 데이터를 블록체인(140) 상에 액세스 없이 빠르게 제공하기 위해 구현될 수 있다. 캐시(110)는 블록체인(140) 상에 기록된 정보(블록체인 기록 정보), 블록체인(140) 상에 기록된 정보를 변화시키는 정보(블록체인 기록 변화 정보) 등을 저장할 수 있다.The cache 110 may be implemented to quickly provide data on the blockchain 140 without access to the blockchain 140 . The cache 110 may store information recorded on the block chain 140 (block chain record information), information that changes information recorded on the block chain 140 (block chain record change information), and the like.

캐시(110)는 사용자가 블록체인(140) 상에 액세스를 위한 트랜잭션을 발생시키는 경우, 트랜잭션과 관련된 데이터를 저장할 수 있다. 예를 들어, 사용자 장치를 통해 사용자 계좌(또는 지갑)(또는 특정 계좌)에 일정 금액을 입금하거나, 사용자 계좌로부터 일정 금액을 출금하기 위한 트랜잭션과 같은 사용자 계좌 정보를 변화시키는 트랜잭션이 발생될 수 있다. 또는 사용자 장치를 통해 사용자 계좌(또는 지갑)에 대한 확인을 위한 트랜잭션과 같은 사용자 계좌 정보를 변화시키지 않는 트랜잭션이 발생될 수 있다. 이러한 경우, 사용자 계좌와 관련된 입금 정보/출금 정보, 사용자 계좌 잔고 정보 등이 캐시에 기록될 수 있다.The cache 110 may store data related to a transaction when a user generates a transaction for access on the block chain 140 . For example, a transaction that changes user account information, such as a transaction for depositing a certain amount of money into a user account (or wallet) (or a specific account) or withdrawing a certain amount from the user account, may occur through the user device. . Alternatively, a transaction that does not change user account information, such as a transaction for confirmation of a user account (or wallet), may be generated through the user device. In this case, deposit information/withdrawal information related to the user account, user account balance information, and the like may be recorded in the cache.

이러한 캐시(110)의 기록을 기반으로 사용자는 별도의 액세스 없이 현재 사용자 계좌에 대한 정보를 확인할 수 있다. 예를 들어, 캐시(110)에 저장된 정보에 대한 체크를 통해 블록체인(140) 상에서 추가적으로 사용자 계좌와 관련된 정보의 변화가 없다고 판단되는 경우, 블록체인(140) 상에 액세스 없이 캐시(110)에 기록된 정보를 사용하여 사용자 장치로 현재 사용자 계좌 정보를 전송할 수 있다. 즉, 사용자로부터 단순하게 변화되지 않은 블록체인(140) 상에 기록된 데이터의 읽기(read) 요청이 발생한 경우, 블록체인(140)으로의 불필요한 액세스 없이 캐시(110) 상에 기록된 데이터가 바로 사용자 장치로 전송될 수 있다. Based on the record of the cache 110 , the user can check information about the current user account without separate access. For example, if it is determined that there is no additional user account-related information change on the block chain 140 through checking the information stored in the cache 110, the cache 110 without access to the block chain 140 The recorded information may be used to transmit current user account information to the user device. That is, when a read request for data written on the blockchain 140 that is not simply changed from a user occurs, the data written on the cache 110 is immediately transferred without unnecessary access to the blockchain 140 . may be transmitted to the user device.

이러한 방법을 통해 블록체인(140) 상에 데이터의 기록을 위한 불필요한 트랜잭션/합의 등이 감소되고, 블록체인(140)의 데이터 처리 속도가 향상될 수 있다. 캐시(110)의 동작은 보다 구체적으로 후술된다.Through this method, unnecessary transactions/agreements for data recording on the block chain 140 can be reduced, and the data processing speed of the block chain 140 can be improved. The operation of the cache 110 will be described in more detail later.

데이터 스트리밍부(120)는 렛저 API(100)를 통해 전달된 트랜잭션을 유실하지 않고, 순차적으로 렛저 인보커(130)로 전달하기 위해 구현될 수 있다. 복수의 사용자 장치로부터 발생된 복수의 트랜잭션은 타임스탬프를 포함하고, 렛저 API(100)를 통해 캐시(110) 및 데이터 스트리밍부(120)로 전달될 수 있다. 타임스탬프는 트랜잭션이 발생한 시간에 대한 정보를 포함할 수 있다. 데이터 스트리링부(120)는 큐(que)로 구현될 수 있다. 데이터 스트리밍부(120)에 누적된 복수의 트랜잭션 데이터는 렛저 인보커(130)로 전달될 수 있다.The data streaming unit 120 may be implemented to sequentially transmit a transaction transmitted through the Ledger API 100 to the Ledger Invoker 130 without losing the transaction. A plurality of transactions generated from a plurality of user devices may include timestamps, and may be transmitted to the cache 110 and the data streaming unit 120 through the ledger API 100 . The timestamp may include information about the time when the transaction occurred. The data streaming unit 120 may be implemented as a queue. The plurality of transaction data accumulated in the data streaming unit 120 may be transmitted to the ledger invoker 130 .

예를 들어, 렛저 인보커(130)는 데이터 스트리밍부(120)에 저장된 복수개(예를 들어, 100 내지 1000개)의 트랜잭션을 적어도 한번에 긁어서 정리하여 블록체인(140)으로 전송할 수 있다. 본 발명의 실시예에 따르면, 데이터 스트리밍부(120)에서 복수의 트랜잭션은 그룹핑될 수 있고, 그룹핑된 트랜잭션 그룹은 하나의 트랜잭션으로 인식되어 처리될 수도 있다. 예를 들어, 1000건의 트랜잭션을 포함하는 트랜잭션 그룹은 하나의 트랜잭션으로 간주되어 트랜잭션에 대한 검증 작업이 수행될 수 있다. 트랜잭션의 그룹핑은 구체적으로 후술된다.For example, the Ledger Invoker 130 may scrape and organize a plurality of (eg, 100 to 1000) transactions stored in the data streaming unit 120 at least at once and transmit it to the blockchain 140 . According to an embodiment of the present invention, a plurality of transactions in the data streaming unit 120 may be grouped, and the grouped transaction group may be recognized and processed as one transaction. For example, a transaction group including 1000 transactions may be regarded as one transaction, and a transaction verification operation may be performed. Grouping of transactions will be described in detail later.

렛저 인보커(130)는 데이터 스트리밍부(120)로부터 수신한 트랜잭션을 기반으로 블록체인(140)의 체인코드를 실행(invoke)하도록 구현될 수 있다. 렛저 인보커(130)에 의해 다양한 종류의 체인코드(chain code)가 실행될 수 있다. 렛저 인보커(130)는 블록체인(140)의 체인코드를 실행하고, 렛저 인보커(130)를 통해 블록체인(140) 상으로 트랜잭션(또는 트랜잭션 그룹)이 전송될 수 있다. 예를 들어, 렛저 인보커(130)를 통해 블록체인(140) 상으로 트랜잭션이 전달되고, 블록의 마이닝을 통해 트랜잭션에 포함된 데이터(또는 데이터)가 블록체인(140)에 연결되는 블록 상에 기록될 수 있다.The ledger invoker 130 may be implemented to invoke the chaincode of the block chain 140 based on the transaction received from the data streaming unit 120 . Various types of chain codes may be executed by the ledger invoker 130 . The ledger invoker 130 executes the chaincode of the blockchain 140 , and a transaction (or transaction group) may be transmitted onto the blockchain 140 through the ledger invoker 130 . For example, a transaction is transmitted on the blockchain 140 through the Ledger Invoker 130, and the data (or data) included in the transaction through the mining of the block is on the block connected to the blockchain 140. can be recorded.

노티파이어(150)는 블록체인(140) 상에 발생되는 변화를 인식하고, 블록체인(140) 상의 변화 정보를 다른 구성부(또는 모듈)로 전달할 수 있다. 또한, 노티파이어(150)는 블록체인(140)과 캐시(110) 간의 데이터 정합성을 체크하고 정합성의 손상시 자동으로 복구하는 역할을 담당할 수 있다. 예를 들어, 노티파이어(150)는 1) 사용자 계좌에 대한 입금/출금과 관련된 트랜잭션이 블록체인(140) 상에 기록되는 경우, 2) 후술할 렛저 매니저(160)에 의해 결산 요청과 관련된 트랜잭션(계좌 정리 요청 트랜잭션)이 블록체인(140) 상에 기록되는 경우 등과 같이 블록체인(140) 상에 발생된 변화에 대한 정보를 캐시(110), 렛저 매니저(160) 등과 같은 고성능 블록체인 플랫폼 상의 구성부로 전달할 수 있다.The notifier 150 may recognize a change occurring on the block chain 140 and transmit change information on the block chain 140 to another component (or module). Also, the notifier 150 may play a role in checking the data consistency between the block chain 140 and the cache 110 and automatically recovering the data consistency when the consistency is damaged. For example, the notifier 150 may 1) when a transaction related to deposit/withdrawal to a user account is recorded on the blockchain 140, 2) a transaction related to a settlement request by the ledger manager 160, which will be described later. Information about changes that have occurred on the blockchain 140, such as when (account cleanup request transaction) is recorded on the blockchain 140, is stored on a high-performance blockchain platform such as the cache 110 and the ledger manager 160. It can be passed to the component.

렛저 매니저(160)는 블록체인(140) 상에 저장된 데이터에 대한 관리/업데이트를 위해 구현될 수 있다. 예를 들어, 렛저 매니저(160)는 블록체인(140) 상에 기록된 사용자의 계좌 잔고 정보 및 계좌 변화 정보 등을 기반으로 사용자 계좌 잔고 정보에 대한 업데이트를 요청하는 데이터 업데이트 요청 트랜잭션(예를 들어, 계좌 정리 요청 트랜잭션)을 블록체인(140) 상으로 전송할 수 있다. 블록체인(140) 상에 계좌 정리 요청 트랜잭션이 전송되는 경우, 블록체인(140) 상에 기록된 사용자의 계좌 정보 및 계좌 변화 정보 등을 기반으로 사용자의 계좌 정보를 최신으로 업데이트하여 블록체인(140) 상에 기록되는 동작이 수행될 수 있다. 렛저 매니저(160)의 구체적인 동작은 후술된다.The ledger manager 160 may be implemented for managing/updating data stored on the blockchain 140 . For example, the ledger manager 160 performs a data update request transaction requesting update of the user account balance information based on the user's account balance information and account change information recorded on the block chain 140 (for example, , account cleanup request transaction) may be transmitted on the block chain 140 . When an account reorganization request transaction is transmitted on the block chain 140, the user's account information is updated to the latest based on the user's account information and account change information recorded on the block chain 140, and the block chain 140 ) may be performed. A detailed operation of the ledger manager 160 will be described later.

도 2는 본 발명의 실시예에 따른 고성능 블록체인 플랫폼을 나타낸 개념도이다.2 is a conceptual diagram illustrating a high-performance blockchain platform according to an embodiment of the present invention.

도 2에서는 고성능 블록체인 플랫폼 상에서 데이터의 쓰기 동작에 대한 흐름이 개시된다. 특히, 블록체인 상의 데이터를 변화시키는 데이터 쓰기(또는 기록)에 관련된 데이터 쓰기 플로우가 개시된다. 블록체인 상의 데이터를 변화시키는 트랜잭션은 데이터 변화 요청 트랜잭션이라는 용어로 표현될 수 있다.In Fig. 2, a flow of data write operation on a high-performance blockchain platform is disclosed. In particular, a data write flow related to writing (or writing) data that changes data on a blockchain is disclosed. A transaction that changes data on the blockchain can be expressed in terms of a data change request transaction.

도 2를 참조하면, 이하, 본 발명의 실시예에서는 설명의 편의상 사용자 계좌 정보(또는 사용자 어카운트 정보, 사용자 지갑 정보)를 예로 들어 설명하나, 사용자 계좌 정보가 아닌 다른 다양한 정보에 대한 읽기, 쓰기, 변화 알람에 대해 본 발명이 적용될 수 있고, 이러한 실시예 또한 본 발명의 권리 범위에 포함될 수 있다. 2, in the embodiment of the present invention, for convenience of explanation, user account information (or user account information, user wallet information) will be described as an example, but reading, writing, The present invention may be applied to a change alarm, and such an embodiment may also be included in the scope of the present invention.

사용자 계좌에 10,000원이 현재 입금되어 있고, 사용자 계좌에 대한 정보(10,000원)가 블록체인(240) 상에 기록된 경우가 가정된다. 이후, 사용자가 1) 3,000원 출금 요청, 2) 5,000원 입금 요청을 한 경우가 가정된다.It is assumed that 10,000 won is currently deposited in the user account, and information about the user account (10,000 won) is recorded on the block chain 240 . Thereafter, it is assumed that the user 1) requests a withdrawal of 3,000 won, and 2) requests a deposit of 5,000 won.

이러한 경우, 제1 트랜잭션(3000원 출금 요청)(제1 타임스탬프)이 발생되고, 이후, 제2 트랜잭션(5000원 입금 요청)(제2 타임스탬프)이 발생될 수 있다.In this case, a first transaction (3000 won withdrawal request) (first timestamp) may be generated, and thereafter, a second transaction (5000 won deposit request) (second timestamp) may be generated.

이러한 경우, 제1 트랜잭션(3000원 출금 요청)(제1 타임스탬프) 및 제2 트랜잭션(5000원 입금 요청)(제2 타임스탬프)이 캐시(210)에 저장되고, 동시에 또는 순차적으로 데이터 스트리밍부(220)로도 전송되어 저장될 수 있다.In this case, the first transaction (3000 won withdrawal request) (first timestamp) and the second transaction (5000 won deposit request) (second timestamp) are stored in the cache 210, and the data streaming unit simultaneously or sequentially It may also be transmitted and stored in 220 .

데이터 스트리밍부(220)는 시간 순서대로 제1 트랜잭션(3000원 출금 요청)(제1 타임스탬프) 및 제2 트랜잭션(5000원 입금 요청)(제2 타임스탬프)를 저장할 수 있다.The data streaming unit 220 may store a first transaction (3,000 won withdrawal request) (first timestamp) and a second transaction (5,000 won deposit request) (second timestamp) in chronological order.

이후, 렛저 인보커(230)는 데이터 스트리밍부(220)에 저장된 제1 트랜잭션(3000원 출금 요청)(제1 타임스탬프) 및 제2 트랜잭션(5000원 입금 요청)(제2 타임스탬프)를 수신할 수 있다. 제1 트랜잭션(3000원 출금 요청)(제1 타임스탬프) 및 제2 트랜잭션(5000원 입금 요청)(제2 타임스탬프)는 블록체인(240) 상의 블록 상에 저장될 수 있다.Thereafter, the Ledger Invoker 230 receives the first transaction (3000 won withdrawal request) (first timestamp) and the second transaction (5000 won deposit request) (second timestamp) stored in the data streaming unit 220 . can do. The first transaction (3000 won withdrawal request) (first timestamp) and the second transaction (5000 won deposit request) (second timestamp) may be stored on a block on the blockchain 240 .

블록체인(240) 상에는 1) 사용자 계좌 잔고 정보(10000원), 2) 사용자 계좌 출금 정보(3000원), 3) 사용자 계좌 입금 정보(5000원)이 기록될 수 있다.On the block chain 240, 1) user account balance information (10,000 won), 2) user account withdrawal information (3,000 won), and 3) user account deposit information (5000 won) may be recorded.

본 발명의 실시예에 따르면, 렛저 매니저(260)의 계좌 정리 요청 트랜잭션이 전송되지 않는 경우, 사용자 계좌 잔고 정보는 업데이트되지 않을 수 있다. 사용자 계좌 잔고 정보를 변화시키는 정보인 2) 사용자 계좌 출금 정보(3000원), 3) 사용자 계좌 입금 정보(5000원)에 대해서는 미반영 정보임을 표시하는 식별자(또는 마크)가 추가되어 있을 수 있다.According to an embodiment of the present invention, when the account cleanup request transaction of the ledger manager 260 is not transmitted, the user account balance information may not be updated. An identifier (or mark) indicating non-reflected information may be added to 2) user account withdrawal information (3,000 won) and 3) user account deposit information (5,000 won), which is information that changes user account balance information.

이후, 렛저 매니저(260)에 의해 계좌 정리 요청 트랜잭션이 전송되는 경우, 사용자 계좌 잔고 정보는 12000원으로 업데이트되고, 사용자 계좌 잔고 정보를 변화시키는 정보인 2) 사용자 계좌 출금 정보(3000원), 3) 사용자 계좌 입금 정보(5000원)에 대해서는 반영 정보임을 표시하는 식별자(마크)가 표시될 수 있다.Thereafter, when the account reorganization request transaction is transmitted by the ledger manager 260, the user account balance information is updated to 12,000 won, and 2) user account withdrawal information (3,000 won), which is information that changes the user account balance information, 3 ) for the user account transfer information (5,000 won), an identifier (mark) indicating that it is reflected information may be displayed.

즉, 사용자 계좌 잔고를 변화시키는 정보에 대해서는 별도의 식별자를 통해 계좌 정리 요청 트랜잭션에 의해 사용자 계좌 잔고로의 반영 여부가 체크될 수 있다. That is, it may be checked whether information that changes the user account balance is reflected in the user account balance by the account reorganization request transaction through a separate identifier.

도 3은 본 발명의 실시예에 따른 고성능 블록체인 플랫폼을 나타낸 개념도이다.3 is a conceptual diagram illustrating a high-performance blockchain platform according to an embodiment of the present invention.

도 3에서는 블록체인 상의 데이터의 변화를 알리는 데이터 변화 알람 플로우가 개시된다.In FIG. 3, a data change alarm flow notifying a change in data on the block chain is started.

도 3을 참조하면, 데이터 변화 알람 플로우는 블록체인(340) 상에 데이터 변화가 발생한 경우 발생될 수 있다. 예를 들어, 데이터 쓰기 플로우에서 제2 트랜잭션(5000원 입금 요청)(제2 타임스탬프) 및 제1 트랜잭션(3000원 출금 요청)(제1 타임스탬프) 및 제2 트랜잭션(5000원 입금 요청)(제2 타임스탬프)으로 인해 블록체인(340) 상에 입금 요청 데이터, 출금 요청 데이터가 기록된 경우, 블록체인 상에 변화가 발생될 수 있다.Referring to FIG. 3 , a data change alarm flow may be generated when a data change occurs on the block chain 340 . For example, in the data write flow, the second transaction (5000 KRW deposit request) (2nd timestamp) and the first transaction (3000 KRW withdrawal request) (1st timestamp) and the second transaction (5000 KRW deposit request) ( When the deposit request data and the withdrawal request data are recorded on the block chain 340 due to the second timestamp), a change may occur on the block chain.

이러한 경우, 노티파이어(350)는 블록체인 상의 변화를 인식하고, 블록체인 상의 변화를 알리는 정보(또는 변화에 관련된 정보)를 캐시, 렛저 매니저(360) 등과 같은 고성능 블록체인 플랫폼 상의 구성부로 전달할 수 있다. 블록체인(340) 상의 변화를 알리는 정보(또는 변화에 관련된 정보)는 블록체인 변화 알람 정보라는 용어로 표현될 수 있다.In this case, the notifier 350 recognizes a change on the block chain, and transmits information (or information related to the change) informing the change on the block chain to components on the high-performance block chain platform such as the cache, the ledger manager 360, etc. have. Information notifying changes on the blockchain 340 (or information related to changes) may be expressed in terms of blockchain change alarm information.

예를 들어, 렛저 매니저(360)는 계좌 정리 요청 트랜잭션을 블록체인(340) 상으로 전송할 수 있다. 이러한 경우, 사용자 계좌는 최종값으로 정리될 수 있다. 구체적으로 블록체인(340) 상에 저장된 1) 사용자 계좌 잔고 정보(10000원), 2) 사용자 계좌 출금 정보(3000원), 3) 사용자 계좌 입금 정보(5000원)가 모두 정리되고, 블록체인(340) 상에서 사용자 계좌 잔고 정보가 12000원으로 업데이트되어 저장될 수 있다.For example, the ledger manager 360 may transmit an account cleanup request transaction onto the blockchain 340 . In this case, the user account may be cleared to the final value. Specifically, 1) user account balance information (10000 won), 2) user account withdrawal information (3,000 won), 3) user account deposit information (5000 won) stored on the block chain 340 are all organized, and the blockchain ( 340), the user account balance information may be updated to 12,000 won and stored.

마찬가지로 렛저 매니저(360)에 의해 전송된 계좌 정리 요청 트랜잭션으로 인한 변화는 노티파이어(350)에 의해 렛저 매니저(360) 및 캐시(310)에 알려질 수 있다.Likewise, changes due to the account cleanup request transaction sent by the ledger manager 360 may be notified by the notifier 350 to the ledger manager 360 and the cache 310 .

렛저 매니저(360)는 노티파이어(350)로부터 변화 정보를 수신하고, 다시 계좌 정리 요청 트랜잭션을 블록체인(340) 상으로 전송할 수 있다. 렛저 매니저(360)는 계좌 정리 요청 트랜잭션을 전송하고, 계좌 정리 요청 트랜잭션으로 인한 블록체인 변화 알람 정보를 노티파이어(350)로부터 수신하고, 다시 계좌 정리 요청 트랜잭션을 전송하는 방식으로 불필요한 계좌 정리 요청 트랜잭션을 계속적으로 전송하지 않을 수 있다. 따라서, 불필요한 블록체인 상의 계좌 정리 요청 트랜잭션의 전송이 방지되고 결과적으로 블록체인(340) 상의 오버로드를 감소시킬 수 있고, 블록체인(340)의 처리 속도가 향상될 수 있다.The ledger manager 360 may receive change information from the notifier 350 , and transmit an account cleanup request transaction back to the block chain 340 . The ledger manager 360 transmits an account cleanup request transaction, receives block chain change alarm information due to the account cleanup request transaction from the notifier 350, and sends an account cleanup request transaction again. may not be continuously transmitted. Accordingly, unnecessary transmission of account cleanup request transactions on the block chain can be prevented, and as a result, the overload on the block chain 340 can be reduced, and the processing speed of the block chain 340 can be improved.

또한 본 발명의 실시예에 따르면, 계좌 정리 요청 트랜잭션에 대한 주기가 설정되고, 렛저 매니저(360)는 설정된 주기마다 계좌 정리 요청 트랜잭션을 전송할 수도 있다. Also, according to an embodiment of the present invention, a cycle for the account cleanup request transaction is set, and the ledger manager 360 may transmit the account cleanup request transaction at every set cycle.

캐시(310)는 블록체인 변화 알람 정보를 노티파이어(350)로부터 수신할 수 있고, 블록체인 변화 알람 정보의 수신 여부에 따라 사용자 장치로부터 발생된 트랜잭션에 대한 응답을 캐시 상에 기록된 정보를 기반으로 제공할지 블록체인(340) 상에 기록된 정보를 기반으로 제공할지 여부를 결정할 수 있다. 이러한 캐시(310) 기반의 응답 방법에 대해서는 후술한다.The cache 310 may receive block chain change alarm information from the notifier 350, and depending on whether the block chain change alarm information is received, a response to a transaction generated from the user device based on the information recorded in the cache It is possible to determine whether to provide the information in the block chain 340 or not based on the information recorded on the block chain 340 . Such a cache 310-based response method will be described later.

도 4는 본 발명의 실시예에 따른 고성능 블록체인 플랫폼을 나타낸 개념도이다.4 is a conceptual diagram illustrating a high-performance blockchain platform according to an embodiment of the present invention.

도 4에서는 블록체인 상의 데이터 읽기와 관련된 데이터 읽기 플로우가 개시된다. 데이터 읽기와 같은 블록체인 상의 데이터를 변화시키지 않는 트랜잭션은 데이터 무변화 요청 트랜잭션이라는 용어로 표현될 수 있다.In FIG. 4, a data read flow related to data read on a block chain is disclosed. Transactions that do not change data on the blockchain, such as reading data, can be expressed in terms of data no-change request transactions.

도 4를 참조하면, 예를 들어, 사용자 장치로부터 계좌 잔고에 대한 확인을 요청하는 트랜잭션(사용자 계좌 잔고 확인 트랜잭션)이 발생하는 경우, 1차적으로 캐시(410)를 통한 사용자 계좌 관련 정보에 대한 확인이 수행되고 캐시(410) 상의 사용자 계좌 잔고 정보를 사용자에게 바로 제공 가능할지에 대한 판단이 수행될 수 있다. 이후, 캐시(410) 상의 사용자 계좌 잔고 정보가 사용자에게 바로 제공 가능한 경우, 블록체인(440) 상으로의 액세스없이 캐시(410) 상의 사용자 계좌 잔고 정보를 사용자 장치로 제공할 수 있다. 반대로, 캐시(410) 상의 사용자 계좌 잔고 정보가 사용자에게 바로 제공 가능하지 않은 경우, 블록체인 상으로의 액세스를 통해 사용자 계좌 잔고 정보를 사용자 장치로 제공할 수 있다.Referring to FIG. 4 , for example, when a transaction requesting confirmation of the account balance from the user device (user account balance confirmation transaction) occurs, the user account-related information is primarily checked through the cache 410 . After this is performed, it may be determined whether the user account balance information in the cache 410 can be directly provided to the user. Thereafter, when the user account balance information on the cache 410 can be directly provided to the user, the user account balance information on the cache 410 can be provided to the user device without access to the block chain 440 . Conversely, when the user account balance information in the cache 410 cannot be provided to the user immediately, the user account balance information may be provided to the user device through access to the block chain.

캐시(410) 상의 사용자 계좌 잔고 정보를 사용자에게 바로 제공 가능할지에 대한 판단은 후술된다.Determination of whether the user account balance information in the cache 410 can be directly provided to the user will be described later.

만약, 캐시(410)를 통한 사용자 계좌 잔고 정보의 제공이 가능한 경우, 블록체인(440) 상에 접근하지 않고, 바로 사용자 계좌 잔고 정보가 제공될 수 있다. 반대로, 캐시(410)를 통한 사용자 계좌 잔고 정보의 제공이 가능하지 않은 경우, 블록체인(440) 상에 접근하여 블록체인(440) 상에 기록된 데이터 중 사용자 계좌 잔고 관련 정보(사용자 계좌 잔고 정보, 사용자 계좌 입금 정보, 사용자 계좌 출금 정보 등)을 기반으로 사용자 계좌 잔고를 정리하여 사용자에게 제공할 수 있다. If it is possible to provide user account balance information through the cache 410 , the user account balance information may be directly provided without accessing the block chain 440 . Conversely, if it is not possible to provide user account balance information through the cache 410, access to the block chain 440 and user account balance related information (user account balance information) among the data recorded on the block chain 440 , user account deposit information, user account withdrawal information, etc.) may organize the user account balance and provide it to the user.

예를 들어, 전술한 예에서 블록체인 상에 저장된 사용자 계좌 잔고 관련 정보(사용자 계좌 잔고 정보(10000원), 사용자 계좌 출금 정보(3000원), 사용자 계좌 입금 정보(5000원))를 수집하고, 수집된 정보를 기반으로 사용자 계좌 잔고를 계산(10000원-3000원+5000원=12000원)하여 사용자 장치로 제공할 수 있다. For example, in the above example, the user account balance information (user account balance information (10000 won), user account withdrawal information (3,000 won), user account deposit information (5000 won)) stored on the block chain is collected in the above example, Based on the collected information, the user account balance may be calculated (10,000 won - 3,000 won + 5000 won = 12,000 won) and provided to the user device.

렛저 매니저(460)의 계좌 정리 요청 트랜잭션이 전송되지 않는 경우, 사용자의 요청에 의해 정리된 사용자 계좌 잔고가 블록체인(440) 상에 저장되지 않을 수 있다. 즉, 렛저 매니저(460)의 계좌 정리 요청 트랜잭션에 의해서만 복수의 사용자들의 복수의 사용자 계좌 잔고 각각에 대한 정리가 수행되고 최종적으로 업데이트된 복수의 사용자 각각의 복수의 사용자 계좌 잔고에 대한 정보가 블록체인(440) 상에 기록될 수 있다. If the transaction requesting account cleanup of the ledger manager 460 is not transmitted, the user account balance cleared by the user's request may not be stored on the block chain 440 . That is, only by the account cleanup request transaction of the ledger manager 460, each of the plurality of user account balances of the plurality of users is cleaned up, and finally the updated information on the plurality of user account balances of the plurality of users is stored in the blockchain It can be written on 440 .

또는 본 발명의 실시예에 따르면, 렛저 매니저(460)의 계좌 정리 요청 트랜잭션이 전송되지 않는 경우에도 사용자 장치에 의해 계좌 잔고 확인 트랜잭션이 발생되는 경우, 해당 사용자의 사용자 계좌 잔고에 대해 별도의 계좌 정리가 수행되고, 사용자 계좌 잔고 정보가 업데이트되고, 사용자 계좌 출금 정보 및 사용자 계좌 입금 정보에 대해서는 반영 정보임을 표시하는 식별자(마크)가 표시될 수 있다. 즉, 특정 사용자에 대한 개별적인 계좌 잔고 확인 트랜잭션이 발생되는 경우, 해당 사용자에 대한 사용자 계좌 잔고에 대해서만 별도의 계좌 정리가 수행되어 사용자 계좌 잔고 정보로서 블록체인 상에 기록될 수도 있다.Alternatively, according to an embodiment of the present invention, when an account balance check transaction is generated by the user device even when the account cleanup request transaction of the ledger manager 460 is not transmitted, separate account cleanup for the user account balance of the corresponding user is performed, the user account balance information is updated, and an identifier (mark) indicating that the user account withdrawal information and the user account deposit information are reflected information may be displayed. That is, when an individual account balance confirmation transaction for a specific user occurs, separate account cleanup is performed only on the user account balance for the corresponding user and may be recorded on the block chain as user account balance information.

도 5는 본 발명의 실시예에 따른 블록체인 상의 기록에 대한 액세스 판단 동작을 나타낸 개념도이다.5 is a conceptual diagram illustrating an access determination operation for a record on a block chain according to an embodiment of the present invention.

도 5에서는 사용자 장치에 의해 데이터 읽기 동작(또는 데이터 읽기와 관련된 트랜잭션)이 발생시 블록체인으로의 접근 없이 캐시에 대한 접근 만으로 사용자 장치로 데이터를 제공하기 위한 방법이 개시된다.In FIG. 5, when a data read operation (or a transaction related to data read) occurs by the user device, a method for providing data to the user device only by accessing the cache without access to the block chain is disclosed.

도 5를 참조하면, 캐시 상에 기록된 사용자 트랜잭션 정보 및/또는 노티파이어로부터 수신한 블록체인 변화 알람 정보를 기반으로 블록체인으로의 접근 없이 캐시에 대한 접근만으로 사용자 장치로 데이터를 제공할지 여부가 결정될 수 있다.Referring to FIG. 5, based on user transaction information recorded in the cache and/or block chain change alarm information received from the notifier, it is determined whether to provide data to the user device only by accessing the cache without access to the block chain. can be decided.

본 발명의 실시예에 따르면, 블록체인 플랫폼이 사용자 장치로부터 요청 트랜잭션을 수신하고, 블록체인 플랫폼이 캐시를 기반으로 요청 트랜잭션에 대한 처리 가능 여부를 결정할 수 있다. 요청 트랜잭션은 전술한 블록체인 상에서 데이터에 대한 읽기/쓰기 등을 위한 트랜잭션(예를 들어, 계좌 잔고 확인 트랜잭션, 사용자 계좌 입금/출금 관련 트랜잭션 등)일 수 있다.According to an embodiment of the present invention, the blockchain platform may receive the request transaction from the user device, and the blockchain platform may determine whether to process the request transaction based on the cache. The request transaction may be a transaction (eg, account balance confirmation transaction, user account deposit/withdrawal related transaction, etc.) for reading/writing data on the aforementioned block chain.

가능한 경우, 블록체인 플랫폼이 캐시 상에 기록된 정보를 기반으로 상기 블록체인 상으로의 액세스 없이 요청 트랜잭션에 대한 응답 트랜잭션을 전송할 수 있다. 블록체인 플랫폼이 캐시를 기반으로 요청 트랜잭션에 대한 처리가 불가능한 경우, 요청 트랜잭션의 블록체인 상으로의 전송을 위해 요청 트랜잭션을 데이터 스트리밍부로 전송할 수 있다.If possible, the blockchain platform may send a response transaction to the request transaction without access to the blockchain based on the information recorded in the cache. If the blockchain platform is unable to process the request transaction based on the cache, it can transmit the request transaction to the data streaming unit for transmission on the blockchain.

캐시는 요청 트랜잭션에 관련된 정보를 저장하고, 요청 트랜잭션은 타임 스탬프를 포함할 수 있다. 데이터 스트리밍부는 요청 트랜잭션과 다른 요청 트랜잭션을 저장하되, 다른 요청 트랜잭션은 사용자 장치 또는 다른 사용자 장치로부터 요청 트랜잭션의 수신 이전에 수신하여 블록체인 상으로 전송되기 이전의 트랜잭션을 포함할 수 있다. 전술한 바와 같이 블록체인 플랫폼이 렛저 인보커의 블록체인에 대한 인보킹을 기반으로 요청 트랜잭션과 다른 요청 트랜잭션을 블록체인 상으로 전송할 수 있다.The cache stores information related to the request transaction, and the request transaction may include a time stamp. The data streaming unit stores a request transaction different from the request transaction, but the other request transaction may include a transaction before receiving the request transaction from the user device or another user device and transmitting it on the block chain. As described above, the blockchain platform can transmit the request transaction and other request transaction on the blockchain based on the Ledger Invoker's invoking to the blockchain.

캐시를 기반으로 요청 트랜잭션에 대한 처리 가능 여부는 요청 트랜잭션의 특성 및 사용자 장치와 관련되어 캐시 상에 이전에 전송된 이전 요청 트랜잭션의 특성을 기반으로 결정될 수 있다. 요청 트랜잭션 및 이전 요청 트랜잭션의 특성은 데이터 무변화 요청 트랜잭션(550), 데이터 변화 요청 트랜잭션(570) 중 하나일 수 있다.Whether the request transaction can be processed based on the cache may be determined based on the characteristics of the request transaction and the characteristics of the previous request transaction previously transmitted on the cache in relation to the user device. The characteristics of the request transaction and the previous request transaction may be one of a data no change request transaction 550 and a data change request transaction 570 .

구체적으로 사용자 장치로부터 전송된 트랜잭션이 블록체인 상의 데이터를 변화시키지 않는 데이터 무변화 요청 트랜잭션(예를 들어, 계좌 확인 요청 트랜잭션(500))이고, 제공될 데이터의 최근 업데이트 이후, 블록체인 상의 데이터를 변화시키지 않는 데이터 무변화 요청 트랜잭션(550)만이 캐시(520) 상에 기록된 경우, 블록체인(540) 상으로 액세스 없이 캐시(520)가 저장된 데이터가 응답 트랜잭션(580)으로서 전송될 수 있다.Specifically, the transaction sent from the user device is a data non-change request transaction that does not change data on the block chain (eg, the account confirmation request transaction 500), and after the latest update of the data to be provided, the data on the block chain is changed If only the data no change request transaction 550 that is not requested is recorded on the cache 520 , the data stored in the cache 520 may be transmitted as the response transaction 580 without access to the block chain 540 .

반대로, 사용자 장치로부터 전송된 트랜잭션이 블록체인(540) 상의 데이터를 변화시키지 않는 데이터 무변화 요청 트랜잭션(예를 들어, 계좌 확인 요청 트랜잭션(500))이고, 제공될 데이터의 최근 업데이트 이후, 블록체인(540) 상의 데이터를 변화시키는 적어도 하나의 데이터 변화 요청 트랜잭션(570)이 캐시(520) 상에 기록된 경우, 블록체인(540) 상으로 액세스를 통해 블록체인(540) 상에 기록된 데이터를 기반으로 응답 트랜잭션(580)이 전송될 수 있다.Conversely, the transaction sent from the user device is a data no change request transaction that does not change the data on the blockchain 540 (eg, the account confirmation request transaction 500), and after the latest update of the data to be provided, the blockchain ( When at least one data change request transaction 570 that changes data on 540 is recorded on cache 520 , based on the data written on blockchain 540 through access onto blockchain 540 . A response transaction 580 may be transmitted.

예를 들어, 사용자 계좌 잔고 정보를 캐시(520)로부터 바로 제공할지 아니면 블록체인(540) 상에 기록된 데이터를 기반으로 제공할지 여부를 결정할 수 있다. 예를 들어, 캐시(520) 상에 사용자 계좌 잔고 정보가 기록된 이후에 사용자 계좌 잔고 정보를 변화시키는 사용자 계좌 출금 및/또는 사용자 계좌 입금과 관련된 트랜잭션과 관련된 정보가 저장되지 않은 경우(사용자 계좌 출금 정보 및/또는 사용자 계좌 입금 정보가 발생하지 않은 경우), 캐시(520) 상에 저장된 사용자 계좌 잔고 정보가 최신 업데이트된 계좌 정보로 판단될 수 있다. 이러한 상태에서 사용자 장치로부터 계좌 확인 요청 트랜잭션(500)이 발생된 경우, 블록체인(540) 상에 액세스하여 데이터를 읽을 필요가 없이 캐시 상에 저장된 사용자 계좌 잔고 정보가 제공될 수 있다.For example, it may be determined whether to provide user account balance information directly from the cache 520 or based on data recorded on the block chain 540 . For example, when user account balance information that changes user account balance information is not stored after the user account balance information is recorded in the cache 520 , information related to a transaction related to user account withdrawal and/or user account deposit is not stored (withdrawal from user account) information and/or user account deposit information has not been generated), the user account balance information stored in the cache 520 may be determined as the latest updated account information. In this state, when the account verification request transaction 500 is generated from the user device, the user account balance information stored in the cache can be provided without the need to access the block chain 540 to read the data.

반대로, 캐시(520) 상에 사용자 계좌 잔고 정보가 기록된 이후, 사용자 계좌 잔고 정보를 변화시키는 사용자 계좌 출금 정보 및/또는 사용자 계좌 입금 정보와 같은 사용자 계좌 잔고 변화 정보가 발생한 경우(또는 캐시 상에 사용자 계좌 잔고 정보를 변화시키는 사용자 계좌 출금 및/또는 사용자 계좌 입금과 관련된 트랜잭션과 관련된 정보가 저장된 경우)가 가정될 수 있다. 이러한 경우, 사용자 계좌 잔고 정보는 블록체인(540) 상에서 확인될 수 있다.Conversely, after the user account balance information is recorded on the cache 520 , when user account balance change information such as user account withdrawal information and/or user account deposit information that changes the user account balance information occurs (or on the cache) information related to transactions related to user account withdrawals and/or user account deposits that change user account balance information) may be assumed. In this case, the user account balance information may be confirmed on the block chain 540 .

블록체인(540) 상에서 기록된 사용자 계좌 잔고 관련 정보가 추출되고, 계좌 정리 요청 트랜잭션과 같은 데이터 업데이트 트랜잭션의 전송 이후 업데이트된 최신 정보로서 블록체인(540) 상에 기록된 정보가 사용자 계좌 잔고 정보(또는 데이터 무변화 정보(590))인 경우, 블록체인(540) 상에 기록된 사용자 계좌 잔고 정보가 사용자에게 제공할 수 있다. 반대로 계좌 정리 요청 트랜잭션과 같은 데이터 업데이트 트랜잭션의 전송 이후 블록체인(540) 상에 기록된 정보가 사용자 계좌 잔고 변경 정보(또는 데이터 변화 정보(595))인 경우, 가장 최신의 사용자 계좌 잔고 정보 및 그 이후에 발생된 계좌 잔고 변경 정보가 탐색되고, 해당 사용자에 대해 별도의 계좌 정리가 수행되어 사용자 장치로 제공될 수 있다. 추출된 블록체인(540) 상의 사용자 계좌 잔고 관련 정보는 캐시 상에 다시 저장될 수 있다. 즉, 블록체인(540) 상에서도 제공 요청 데이터와 관련하여 데이터 무변화 요청 트랜잭션이 발생하였는지(또는 제공 요청 데이터와 관련되어 데이터 무변화 정보(590)가 저장되었는지) 또는 데이터 변화 요청 트랜잭션이 발생하였는지(또는 제공 요청 데이터와 관련하여 데이터 변화 정보(595)가 저장되었는지) 여부를 판단하여 블록체인 상의 데이터를 기반으로 한 응답 트랜잭션이 생성될 수 있다.The user account balance related information recorded on the block chain 540 is extracted, and the information recorded on the block chain 540 is the user account balance information ( Alternatively, in the case of data no change information 590), the user account balance information recorded on the block chain 540 may be provided to the user. Conversely, when the information recorded on the block chain 540 after transmission of a data update transaction such as an account cleanup request transaction is user account balance change information (or data change information 595), the most recent user account balance information and its The account balance change information generated thereafter may be searched for, and a separate account arrangement may be performed for the corresponding user and provided to the user device. The extracted user account balance-related information on the blockchain 540 may be stored again in the cache. That is, whether a data change request transaction occurred in relation to the provision request data (or whether the data change information 590 was stored in relation to the provision request data) or a data change request transaction occurred (or provided) even on the block chain 540 By determining whether data change information 595 is stored in relation to the requested data), a response transaction based on the data on the block chain may be generated.

이러한 방법을 통해 사용자는 블록체인(540) 상으로 액세스 없이 캐시(520)에 대한 액세스만으로 정보에 대한 획득이 가능한 경우, 블록체인(540) 상에 불필요한 트랜잭션의 발생이 감소될 수 있고, 사용자는 보다 빠르게 원하는 정보를 정확하게 획득할 수 있다.Through this method, when the user can obtain information only by accessing the cache 520 without access to the block chain 540, the occurrence of unnecessary transactions on the block chain 540 can be reduced, and the user can Accurately obtain the desired information faster.

다른 표현으로 블록체인(540) 상의 데이터의 최종 업데이트 이후, 데이터를 변화시키지 않는 데이터 무변화 요청 트랜잭션(550)만이 캐시(520) 상에 기록되어 있는 경우, 블록체인(540) 상의 액세스 없이 캐시(520) 상으로의 액세스만으로 데이터 읽기와 관련된 요청 트랜잭션에 대한 응답 트랜잭션이 사용자 장치로 전송될 수 있다.In other words, after the last update of the data on the blockchain 540 , when only the data no change request transaction 550 that does not change the data is recorded on the cache 520 , the cache 520 without access on the blockchain 540 . ), only a response transaction to a request transaction related to reading data can be sent to the user device.

반대로, 블록체인(540) 상의 데이터의 최종 업데이트 이후, 적어도 하나의 데이터를 변화시키는 데이터 변화 요청 트랜잭션(570)이 캐시(520) 상에 기록되어 있는 경우, 블록체인(540) 상의 액세스를 통해 데이터 읽기와 관련된 요청 트랜잭션에 대한 응답 트랜잭션이 사용자 장치로 전송될 수 있다. Conversely, if a data change request transaction 570 that changes at least one data after the last update of data on the blockchain 540 is recorded on the cache 520 , the data through access on the blockchain 540 is A response transaction to the request transaction related to the read may be transmitted to the user device.

도 6은 본 발명의 실시예에 따른 데이터 스트리밍부의 동작을 나타낸 개념도이다.6 is a conceptual diagram illustrating an operation of a data streaming unit according to an embodiment of the present invention.

도 6에서는 데이터 스트리밍부에서 트랜잭션을 그룹핑하는 동작이 개시된다. In FIG. 6, an operation of grouping transactions in the data streaming unit is started.

도 6을 참조하면, 데이터 스트리밍부(600)는 처리될 트랜잭션에 대한 그룹핑을 트랜잭션 그룹(650)을 생성할 수 있다. 트랜잭션 그룹(650)에 대한 검증은 그룹 단위로 수행됨으로써 블록체인(660) 상에 처리 속도를 높일 수 있다.Referring to FIG. 6 , the data streaming unit 600 may create a transaction group 650 for grouping transactions to be processed. The verification of the transaction group 650 may be performed on a group basis, thereby increasing the processing speed on the block chain 660 .

복수의 사용자 장치로부터 발생된 트랜잭션은 타임스탬프를 포함하고, 타임스탬프를 기반으로 복수의 트랜잭션이 순차적으로 데이터 스트리밍부(600)에 저장될 수 있다.Transactions generated from a plurality of user devices may include timestamps, and the plurality of transactions may be sequentially stored in the data streaming unit 600 based on the timestamps.

본 발명의 실시예에 따르면, 트랜잭션은 개별적으로 검증되어 렛저 인보커(620)의 인보킹을 기반으로 블록체인(660) 상에 기록될 수도 있지만, 트랜잭션 그룹 단위로 그룹핑되고 검증되어 렛저 인보커(620)의 인보킹(또는 호출)을 기반으로 블록체인(660) 상에 기록될 수도 있다.According to an embodiment of the present invention, transactions may be individually verified and recorded on the blockchain 660 based on the invoking of the Ledger Invoker 620, but are grouped and verified in units of transaction groups and verified by the Ledger Invoker ( It may be recorded on the blockchain 660 based on the invoking (or calling) of 620 .

데이터 스트리밍부(600)에 저장된 복수의 트랜잭션을 포함하는 트랜잭션 그룹(650)은 다양한 방법으로 결정될 수 있다. 우선 렛저 인보커(620)의 트랜잭션을 인보킹하는 경우, 인보킹 시점에 데이터 스트리밍부(600)에 존재하는 모든 트랜잭션이 하나의 트랜잭션 그룹(650)으로 그룹핑될 수 있다. 이때 관련된 계좌별로 별도로 하위 그룹을 형성할 수도 있다. 예를 들어, 사용자A, 사용자B, 사용자C 간의 거래가 이루어진 경우, 사용자A, 사용자B, 사용자C와 관련된 트랜잭션은 하위 트랜잭션 그룹으로 별도로 설정될 수도 있다.A transaction group 650 including a plurality of transactions stored in the data streaming unit 600 may be determined in various ways. First, when a transaction of the ledger invoker 620 is invoked, all transactions existing in the data streaming unit 600 at the time of invoking may be grouped into one transaction group 650 . In this case, a subgroup may be formed separately for each related account. For example, when a transaction is made between user A, user B, and user C, the transaction related to user A, user B, and user C may be separately set as a sub-transaction group.

또는 본 발명의 실시예에 따르면, 트랜잭션의 특성에 따라 트랜잭션 그룹(650)이 형성되어 검증 절차가 진행될 수 있다. 예를 들어, 블록체인(660) 상의 데이터를 변화시키지 않는 단순 데이터 읽기를 위한 트랜잭션 그룹(이하, 데이터 무변화 트랜잭션 그룹), 블록체인 상의 데이터 변화를 발생시키는 트랜잭션 그룹과 같이 트랜잭션을 기반으로 수행되는 동작에 따라 트랜잭션 그룹(데이터 변화 트랜잭션 그룹)이 형성될 수 있다. 데이터 무변화 트랜잭션 그룹과 데이터 변화 트랜잭션 그룹에 대해서 서로 다른 검증 절차가 수행될 수 있다. Alternatively, according to an embodiment of the present invention, a transaction group 650 may be formed according to the characteristics of a transaction and a verification procedure may be performed. For example, an operation performed based on a transaction, such as a transaction group for reading simple data that does not change data on the block chain 660 (hereinafter, a data no-change transaction group), and a transaction group that generates data change on the block chain Accordingly, a transaction group (data change transaction group) may be formed. Different verification procedures may be performed for the data immutable transaction group and the data change transaction group.

데이터 무변화 트랜잭션 그룹과 데이터 변화 트랜잭션 그룹은 기본적인 검증은 동일하게 수행되되, 데이터 변화 트랜잭션 그룹에 대해서는 데이터 변화 가능 여부에 대한 검증이 추가적으로 수행될 수 있다.The data change transaction group and the data change transaction group perform the same basic verification, but for the data change transaction group, the verification of whether data can be changed may be additionally performed.

예를 들어, 데이터 변화 트랜잭션 그룹은 입금을 위한 데이터 변화인 데이터 변화(입금) 트랜잭션 그룹과 출금을 위한 데이터 변화인 데이터 변화(출금) 트랜잭션 그룹으로 구분될 수 있다.For example, the data change transaction group may be divided into a data change (deposit) transaction group that is a data change for deposit and a data change (withdraw) transaction group that is a data change (withdrawal) transaction group that is a data change for withdrawal.

데이터 변화(입금) 트랜잭션 그룹의 경우, 입금하는 사용자 계좌에서 입금이 가능한지 여부에 대한 검증이 필요할 수 있다. 데이터 변화인 데이터 변화(출금) 트랜잭션 그룹의 경우, 출금하는 사용자 계좌에서 출금이 가능한지 여부에 대한 검증이 필요할 수 있다.In the case of a data change (deposit) transaction group, it may be necessary to verify whether a deposit is possible in the depositing user account. In the case of a data change (withdrawal) transaction group that is a data change, it may be necessary to verify whether a withdrawal is possible from the user account making the withdrawal.

본 발명의 실시예에 따르면, 트랜잭션의 특성에 따라 복수의 트랜잭션이 트랜잭션 그룹(650)을 형성할 수 있고, 트랜잭션 그룹(650)별로 별도의 검증 절차를 수행하여 블록 상에 기록될 수 있다. 트랜잭션 그룹(650)에 포함되는 복수의 트랜잭션이 블록체인 상에 기록되는 경우, 트랜잭션 그룹(650)이 고려되지 않고, 타임스탬프를 기반으로 저장될 수도 있다. 구체적으로 블록체인 상에 기록시에는 트랜잭션 그룹(650)이 해제되고, 트랜잭션의 타임스탬프가 고려되어 복수의 트랜잭션이 기록될 수 있다. 또는 트랜잭션 그룹(650)을 고려하여 블록 상에 기록되거나, 검증시 그룹핑된 트랜잭션 그룹(650)에 대한 식별 정보가 개별 트랜잭션에 표시될 수 있다. According to an embodiment of the present invention, a plurality of transactions may form a transaction group 650 according to the characteristics of a transaction, and may be recorded on a block by performing a separate verification procedure for each transaction group 650 . When a plurality of transactions included in the transaction group 650 are recorded on the block chain, the transaction group 650 is not considered and may be stored based on a timestamp. Specifically, when recording on the block chain, the transaction group 650 is released, and the timestamp of the transaction is considered so that a plurality of transactions can be recorded. Alternatively, identification information for the transaction group 650 that is recorded on a block in consideration of the transaction group 650 or grouped during verification may be displayed in individual transactions.

이상 설명된 본 발명에 따른 실시예는 다양한 컴퓨터 구성요소를 통하여 실행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위하여 하나 이상의 소프트웨어 모듈로 변경될 수 있으며, 그 역도 마찬가지이다.The embodiments according to the present invention described above may be implemented in the form of program instructions that can be executed through various computer components and recorded in a computer-readable recording medium. The computer-readable recording medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the computer-readable recording medium may be specially designed and configured for the present invention, or may be known and available to those skilled in the art of computer software. Examples of computer-readable recording media include hard disks, magnetic media such as floppy disks and magnetic tapes, optical recording media such as CD-ROMs and DVDs, and magneto-optical media such as floppy disks. medium), and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. A hardware device may be converted into one or more software modules to perform processing in accordance with the present invention, and vice versa.

이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항과 한정된 실시예 및 도면에 의하여 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위하여 제공된 것일 뿐, 본 발명이 상기 실시예에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정과 변경을 꾀할 수 있다.In the above, the present invention has been described with reference to specific matters such as specific components and limited embodiments and drawings, but these are provided to help a more general understanding of the present invention, and the present invention is not limited to the above embodiments, and the present invention is not limited to the present invention. Those of ordinary skill in the art to which the invention pertains can make various modifications and changes from these descriptions.

따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention should not be limited to the above-described embodiments, and the scope of the spirit of the present invention is not limited to the scope of the scope of the present invention. will be said to belong to

Claims (8)

블록체인 상에서 트랜잭션 고속 처리 방법은,
블록체인 플랫폼이 사용자 장치로부터 요청 트랜잭션을 수신하는 단계;
상기 블록체인 플랫폼이 캐시를 기반으로 상기 요청 트랜잭션에 대한 처리 가능 여부를 결정하는 단계; 및
상기 블록체인 플랫폼이 상기 캐시 상에 기록된 정보를 기반으로 상기 블록체인 상으로의 액세스 없이 상기 요청 트랜잭션에 대한 응답 트랜잭션을 전송하는 단계를 포함하되,
상기 캐시를 기반으로 상기 요청 트랜잭션에 대한 처리 가능 여부는 상기 요청 트랜잭션의 트랜잭션 특성 및 상기 사용자 장치와 관련되어 상기 캐시 상에 이전에 전송된 이전 요청 트랜잭션의 트랜잭션 특성을 기반으로 결정되고,
상기 트랜잭션 특성은 데이터 무변화 요청 트랜잭션 또는 데이터 변화 요청 트랜잭션이고,
상기 데이터 무변화 요청 트랜잭션은 계좌 확인 요청 트랜잭션을 포함하고,
상기 데이터 변화 요청 트랜잭션은 사용자 계좌 출금 트랜잭션 및/또는 사용자 계좌 입금과 관련된 트랜잭션을 포함하는 것을 특징으로 하는 방법.
The high-speed transaction processing method on the blockchain is:
receiving, by the blockchain platform, the requested transaction from the user device;
determining, by the blockchain platform, whether to process the request transaction based on the cache; and
Transmitting, by the blockchain platform, a response transaction to the request transaction without access to the blockchain based on the information recorded in the cache,
Whether the request transaction can be processed based on the cache is determined based on a transaction characteristic of the request transaction and a transaction characteristic of a previous request transaction previously transmitted on the cache in connection with the user device;
The transaction characteristic is a data no change request transaction or a data change request transaction,
The data change request transaction includes an account confirmation request transaction,
The method of claim 1, wherein the data change request transaction includes a user account withdrawal transaction and/or a transaction related to a user account deposit.
제1항에 있어서,
상기 블록체인 플랫폼이 상기 캐시를 기반으로 상기 요청 트랜잭션에 대한 처리가 불가능한 경우, 상기 요청 트랜잭션의 상기 블록체인 상으로의 전송을 위해 상기 요청 트랜잭션을 데이터 스트리밍부로 전송하는 단계를 더 포함하되,
상기 캐시는 상기 요청 트랜잭션에 관련된 정보를 저장하고,
상기 요청 트랜잭션은 타임 스탬프를 포함하고,
상기 데이터 스트리밍부는 상기 요청 트랜잭션과 다른 요청 트랜잭션을 저장하되,
상기 다른 요청 트랜잭션은 상기 사용자 장치 또는 다른 사용자 장치로부터 상기 요청 트랜잭션의 수신 이전에 수신하여 상기 블록체인 상으로 전송되기 이전의 트랜잭션을 포함하는 것을 특징으로 하는 방법.
According to claim 1,
When the block chain platform is unable to process the requested transaction based on the cache, the method further comprising: transmitting the requested transaction to a data streaming unit for transmission of the requested transaction on the block chain;
The cache stores information related to the request transaction,
the request transaction includes a timestamp;
The data streaming unit stores a request transaction different from the request transaction,
The method of claim 1, wherein the other request transaction includes a transaction received prior to receipt of the request transaction from the user device or another user device and transmitted on the blockchain.
제2항에 있어서,
상기 블록체인 플랫폼이 렛저 인보커의 상기 블록체인에 대한 인보킹을 기반으로 상기 요청 트랜잭션과 상기 다른 요청 트랜잭션을 상기 블록체인 상에 저장하는 단계를 더 포함하는 것을 특징으로 하는 방법.
3. The method of claim 2,
The method further comprising the step of, by the blockchain platform, storing the request transaction and the other requested transaction on the blockchain based on the invoking of the ledger invoker to the blockchain.
제3항에 있어서,
상기 요청 트랜잭션과 상기 다른 요청 트랜잭션 각각은 상기 블록체인 상에 저장을 위해 트랜잭션 그룹에 포함되고,
상기 트랜잭션 그룹은 상기 데이터 무변화 트랜잭션을 포함하는 데이터 무변화 트랜잭션 그룹과 상기 데이터 변화 트랜잭션을 포함하는 데이터 변화 트랜잭션 그룹을 포함하고,
상기 블록체인 플랫폼은 상기 데이터 무변화 트랜잭션 그룹 및 상기 데이터 변화 트랜잭션 그룹 각각에 대한 검증을 수행하되, 상기 데이터 변화 트랜잭션 그룹에 대해서는 데이터 변화 가능 여부에 대한 추가적인 검증을 수행하고,
상기 블록체인 플랫폼은 상기 트랜잭션 그룹에 포함되는 복수의 트랜잭션을 상기 블록체인 상에 기록시 상기 복수의 트랜잭션 각각의 타임스탬프를 고려하여 기록하는 것을 특징으로 하는 방법.
4. The method of claim 3,
each of the request transaction and the other request transaction is included in a transaction group for storage on the blockchain;
wherein the transaction group includes a data no-change transaction group including the data no-change transaction and a data change transaction group including the data change transaction;
The blockchain platform performs verification on each of the data non-change transaction group and the data change transaction group, and performs additional verification on whether data change is possible for the data change transaction group,
The block chain platform records the plurality of transactions included in the transaction group in consideration of the timestamps of each of the plurality of transactions when recording on the block chain.
트랜잭션 고속 처리를 위한 블록체인 플랫폼은,
사용자 장치로부터 요청 트랜잭션을 수신하도록 구현된 통신부; 및
기록된 정보를 기반으로 결정된 상기 요청 트랜잭션에 대한 처리 가능 여부를 결정하고, 상기 기록된 정보를 기반으로 상기 블록체인 상으로의 액세스 없이 상기 요청 트랜잭션에 대한 응답 트랜잭션을 전송하기 위해 구현된 캐시를 포함하고,
상기 캐시를 기반으로 상기 요청 트랜잭션에 대한 처리 가능 여부는 상기 요청 트랜잭션의 트랜잭션 특성 및 상기 사용자 장치와 관련되어 상기 캐시 상에 이전에 전송된 이전 요청 트랜잭션의 트랜잭션 특성을 기반으로 결정되고,
상기 트랜잭션 특성은 데이터 무변화 요청 트랜잭션 또는 데이터 변화 요청 트랜잭션이고,
상기 데이터 무변화 요청 트랜잭션은 계좌 확인 요청 트랜잭션을 포함하고,
상기 데이터 변화 요청 트랜잭션은 사용자 계좌 출금 트랜잭션 및/또는 사용자 계좌 입금과 관련된 트랜잭션을 포함하는 것을 특징으로 하는 블록체인 플랫폼.
A blockchain platform for high-speed transaction processing,
a communication unit configured to receive a request transaction from the user device; and
and a cache implemented to determine whether processing of the request transaction determined based on recorded information is possible, and to transmit a response transaction to the request transaction without access to the block chain based on the recorded information. and,
Whether the request transaction can be processed based on the cache is determined based on a transaction characteristic of the request transaction and a transaction characteristic of a previous request transaction previously transmitted on the cache in connection with the user device;
The transaction characteristic is a data no change request transaction or a data change request transaction,
The data change request transaction includes an account confirmation request transaction,
The data change request transaction includes a user account withdrawal transaction and/or a transaction related to user account deposit.
제5항에 있어서,
상기 캐시를 기반으로 상기 요청 트랜잭션에 대한 처리가 불가능한 경우, 상기 요청 트랜잭션의 상기 블록체인 상으로의 전송을 위해 상기 요청 트랜잭션을 수신하도록 구현되는 데이터 스트리밍부를 더 포함하되,
상기 캐시는 상기 요청 트랜잭션에 관련된 정보를 저장하고,
상기 요청 트랜잭션은 타임 스탬프를 포함하고,
상기 데이터 스트리밍부는 상기 요청 트랜잭션과 다른 요청 트랜잭션을 저장하되,
상기 다른 요청 트랜잭션은 상기 사용자 장치 또는 다른 사용자 장치로부터 상기 요청 트랜잭션의 수신 이전에 수신하여 상기 블록체인 상으로 전송되기 이전의 트랜잭션을 포함하는 것을 특징으로 하는 블록체인 플랫폼.
6. The method of claim 5,
When processing of the request transaction is impossible based on the cache, further comprising a data streaming unit configured to receive the request transaction for transmission on the block chain of the request transaction,
The cache stores information related to the request transaction,
the request transaction includes a timestamp;
The data streaming unit stores a request transaction different from the request transaction,
and the other request transaction includes a transaction received prior to receipt of the request transaction from the user device or another user device and transmitted on the blockchain.
제6항에 있어서,
상기 블록체인에 대한 인보킹을 기반으로 상기 요청 트랜잭션과 상기 다른 요청 트랜잭션을 상기 블록체인 상에 저장하도록 구현되는 렛저 인보커를 더 포함하는 것을 특징으로 하는 블록체인 플랫폼.
7. The method of claim 6,
The blockchain platform according to claim 1, further comprising a ledger invoker configured to store the request transaction and the other requested transaction on the block chain based on the invoking for the block chain.
제7항에 있어서,
상기 요청 트랜잭션과 상기 다른 요청 트랜잭션 각각은 상기 블록체인 상에 저장을 위해 트랜잭션 그룹에 포함되고,
상기 트랜잭션 그룹은 상기 데이터 무변화 트랜잭션을 포함하는 데이터 무변화 트랜잭션 그룹과 상기 데이터 변화 트랜잭션을 포함하는 데이터 변화 트랜잭션 그룹을 포함하고,
상기 블록체인 플랫폼은 상기 데이터 무변화 트랜잭션 그룹 및 상기 데이터 변화 트랜잭션 그룹 각각에 대한 검증을 수행하되, 상기 데이터 변화 트랜잭션 그룹에 대해서는 데이터 변화 가능 여부에 대한 추가적인 검증을 수행하고,
상기 블록체인 플랫폼은 상기 트랜잭션 그룹에 포함되는 복수의 트랜잭션을 상기 블록체인 상에 기록시 상기 복수의 트랜잭션 각각의 타임스탬프를 고려하여 기록하는 것을 특징으로 하는 블록체인 플랫폼.
8. The method of claim 7,
each of the request transaction and the other request transaction is included in a transaction group for storage on the blockchain;
wherein the transaction group includes a data no-change transaction group including the data no-change transaction and a data change transaction group including the data change transaction;
The blockchain platform performs verification on each of the data non-change transaction group and the data change transaction group, and performs additional verification on whether data change is possible for the data change transaction group,
The block chain platform records a plurality of transactions included in the transaction group in consideration of the timestamps of each of the plurality of transactions when recording on the block chain.
KR1020190087569A 2019-01-28 2019-07-19 Method for high speed transaction processing on blockchain and apparatus for using the method KR102262618B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020190087569A KR102262618B1 (en) 2019-07-19 2019-07-19 Method for high speed transaction processing on blockchain and apparatus for using the method
PCT/KR2019/017520 WO2020159072A1 (en) 2019-01-28 2019-12-11 High speed transaction processing method on blockchain, and device using method
TW109101809A TW202032480A (en) 2019-01-28 2020-01-17 Method for high speed transaction processing on blockchain and apparatus for using the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190087569A KR102262618B1 (en) 2019-07-19 2019-07-19 Method for high speed transaction processing on blockchain and apparatus for using the method

Publications (2)

Publication Number Publication Date
KR20210010764A KR20210010764A (en) 2021-01-28
KR102262618B1 true KR102262618B1 (en) 2021-06-10

Family

ID=74239281

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190087569A KR102262618B1 (en) 2019-01-28 2019-07-19 Method for high speed transaction processing on blockchain and apparatus for using the method

Country Status (1)

Country Link
KR (1) KR102262618B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150120539A1 (en) * 2013-10-29 2015-04-30 Quisk, Inc. Hacker-Resistant Balance Monitoring

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150120539A1 (en) * 2013-10-29 2015-04-30 Quisk, Inc. Hacker-Resistant Balance Monitoring

Also Published As

Publication number Publication date
KR20210010764A (en) 2021-01-28

Similar Documents

Publication Publication Date Title
US10986177B2 (en) Systems and methods of self-forking blockchain protocol
US11042876B2 (en) Transaction method and system based on centralized settlement and blockchain deposit certificates
US20210049608A1 (en) Transaction method and system based on centralized clearing and blockchain record keeping
EP3438903B1 (en) Hierarchical network system, and node and program used in same
CN112380149B (en) Data processing method, device, equipment and medium based on node memory
CN109493223B (en) Accounting method and device
CN110032598B (en) Method and device for updating field and electronic equipment
CN111898139A (en) Data reading and writing method and device and electronic equipment
EP3709568A1 (en) Deleting user data from a blockchain
CN109558453B (en) Block chain data network storage and relocation method
CN111459948B (en) Transaction integrity verification method based on centralized block chain type account book
CN112015822B (en) Block chain data deleting method and device
CN111966538B (en) Block chain data recovery method and device
CN113570459A (en) Block chain data deleting method and device
CN111245897B (en) Data processing method, device, system, storage medium and processor
CN111444216A (en) Data block deleting method based on centralized block chain type account book
US20210176077A1 (en) Integrating blockchain with off-chain services
CN111429250A (en) Data management method and device in escort scene
KR102262618B1 (en) Method for high speed transaction processing on blockchain and apparatus for using the method
CN110263060A (en) A kind of ERP electronic accessories management method and computer equipment
CN112511651B (en) Service access method and device based on block chain
KR102283627B1 (en) Method for loan based on blockchain and apparatus for using the method
CN115203747A (en) Data account creation method and device
CN115203746A (en) Data account access authorization method and device
TW202032480A (en) Method for high speed transaction processing on blockchain and apparatus for using the method

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant