KR102262618B1 - 블록체인 상에서 트랜잭션 고속 처리 방법 및 이러한 방법을 사용하는 장치 - Google Patents

블록체인 상에서 트랜잭션 고속 처리 방법 및 이러한 방법을 사용하는 장치 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
English (en)
Other versions
KR20210010764A (ko
Inventor
테겔런드 비욘
예창완
Original Assignee
주식회사 카사코리아
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 카사코리아 filed Critical 주식회사 카사코리아
Priority to KR1020190087569A priority Critical patent/KR102262618B1/ko
Priority to PCT/KR2019/017520 priority patent/WO2020159072A1/ko
Priority to TW109101809A priority patent/TW202032480A/zh
Publication of KR20210010764A publication Critical patent/KR20210010764A/ko
Application granted granted Critical
Publication of KR102262618B1 publication Critical patent/KR102262618B1/ko

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

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 블록체인 상에서 트랜잭션 고속 처리 방법 및 이러한 방법을 사용하는 장치에 관한 것이다. 블록체인 상에서 트랜잭션 고속 처리 방법은 블록체인 플랫폼이 사용자 장치로부터 요청 트랜잭션을 수신하는 단계, 블록체인 플랫폼이 캐시를 기반으로 요청 트랜잭션에 대한 처리 가능 여부를 결정하는 단계와 블록체인 플랫폼이 캐시 상에 기록된 정보를 기반으로 블록체인 상으로의 액세스 없이 요청 트랜잭션에 대한 응답 트랜잭션을 전송하는 단계를 포함할 수 있다.

Description

블록체인 상에서 트랜잭션 고속 처리 방법 및 이러한 방법을 사용하는 장치{Method for high speed transaction processing on blockchain and apparatus for using the method}
본 발명은 블록체인 상에서 트랜잭션 고속 처리 방법 및 이러한 방법을 사용하는 장치에 관한 것이다. 보다 상세하게는 블록체인 플랫폼 상에서 불필요한 부하를 발생시키기 않고, 처리가 필요한 트랜잭션을 고속으로 처리하기 위한 방법 및 장치에 관한 것이다.
블록체인은 퍼블릭 네트워크(public network) 또는 프라이빗 네트워크(private network)에서 일어나는 거래 정보가 암호화되어 해당 네트워크 구성원 간 공유되는 디지털 원장(ledger)일 수 있다.
거래 원장의 복사본이 각 네트워크 구성원에게 분산되어(distributed) 새로운 거래가 발생할 때마다 구성원들의 동의를 통해 해당 거래에 대한 인증 절차가 진행될 수 있다.
블록체인에 기반한 거래 정보는 임의로 변경이 불가능하기 때문에 거래의 신뢰성이 높아지고 정보 추적이 용이하다. 특히 금융 서비스 분야에서는 블록체인 기술을 적용하여 업무 효율성을 높이고 새로운 서비스 기반을 구축하기 위한 노력이 진행 중이다.
분산 장부 시스템을 통한 투명한 거래로 보안, 감독, 규제 비용 절감이 가능하다. 블록체인 기술은 금융 분야뿐만 아니라 물류, 유통, 나아가 정부 공공 행정 서비스에도 적용될 수 있다.
기존의 비트코인과 같은 퍼블릭 블록체인 네트워크(public blockchain network)는 참여 노드들이 동일한 권한을 가지고 블록체인 네트워크 상에서 동작할 수 있으나, 프라이빗 블록체인 네트워크(private blockchain network) 또는 허가형 블록체인 네트워크(permissioned blockchain network)의 경우, 노드 별로 차등적인 권한이 설정되어 블록체인 내에서 동작할 수 있다.
블록체인 상에 기록된 특정 정보에 액세스하고자 하는 시도가 많아질 경우, 블록체인 상의 부하가 발생될 수 있고, 부하로 인해 블록체인 상의 정보에 대한 액세스 속도가 느려질 수 있다.
따라서, 블록체인 상에 기록된 정보를 정확하게 획득하되 블록체인 상에 불필요한 부하를 발생시키지 않게 하기 위한 방법에 대한 연구가 필요하다.
본 발명은 상술한 문제점을 모두 해결하는 것을 그 목적으로 한다.
또한, 본 발명은, 블록체인 플랫폼 상에서 블록체인에 대한 불필요한 액세스를 감소시켜 블록체인 상에서 트랜잭션 처리 속도를 향상시키는 것을 목적으로 한다.
또한, 본 발명은, 블록체인 플랫폼 상에서 트랜잭션을 그룹핑하여 트랜잭션 그룹을 기준으로 트랜잭션 검증을 수행하고, 블록체인에 저장된 정보에 대한 관리를 위한 트랜잭션에 대한 전송이 불필요하게 이루어지지 않도록 하는 것을 목적으로 한다.
상기 목적을 달성하기 위한 본 발명의 대표적인 구성은 다음과 같다.
본 발명의 일 태양에 따르면, 블록체인 상에서 트랜잭션 고속 처리 방법은 블록체인 플랫폼이 사용자 장치로부터 요청 트랜잭션을 수신하는 단계, 상기 블록체인 플랫폼이 캐시를 기반으로 상기 요청 트랜잭션에 대한 처리 가능 여부를 결정하는 단계와 상기 블록체인 플랫폼이 상기 캐시 상에 기록된 정보를 기반으로 상기 블록체인 상으로의 액세스 없이 상기 요청 트랜잭션에 대한 응답 트랜잭션을 전송하는 단계를 포함할 수 있다.
본 발명의 다른 태양에 따르면, 트랜잭션 고속 처리를 위한 블록체인 플랫폼은 상기 사용자 장치로부터 요청 트랜잭션을 수신하도록 구현된 통신부와 기록된 정보를 기반으로 결정된 상기 요청 트랜잭션에 대한 처리 가능 여부를 결정하고, 상기 기록된 정보를 기반으로 상기 블록체인 상으로의 액세스 없이 상기 요청 트랜잭션에 대한 응답 트랜잭션을 전송하기 위해 구현된 캐시를 포함할 수 있다.
본 발명에 의하면, 블록체인 플랫폼 상에서 블록체인에 대한 불필요한 액세스를 감소시켜 블록체인 상에서 트랜잭션 처리 속도가 향상될 수 있다.
또한, 본 발명에 의하면, 블록체인 플랫폼 상에서 트랜잭션을 그룹핑하여 트랜잭션 그룹을 기준으로 트랜잭션 검증이 수행되고, 블록체인에 저장된 정보에 대한 관리를 위한 트랜잭션에 대한 전송이 불필요하게 이루어지지 않을 수 있다.
도 1은 본 발명의 실시예에 따른 고성능 블록체인 플랫폼을 나타낸 개념도이다.
도 2는 본 발명의 실시예에 따른 고성능 블록체인 플랫폼을 나타낸 개념도이다.
도 3은 본 발명의 실시예에 따른 고성능 블록체인 플랫폼을 나타낸 개념도이다.
도 4는 본 발명의 실시예에 따른 고성능 블록체인 플랫폼을 나타낸 개념도이다.
도 5는 본 발명의 실시예에 따른 블록체인 상의 기록에 대한 액세스 판단 동작을 나타낸 개념도이다.
도 6은 본 발명의 실시예에 따른 데이터 스트리밍부의 동작을 나타낸 개념도이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이러한 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 본 명세서에 기재되어 있는 특정 형상, 구조 및 특성은 본 발명의 정신과 범위를 벗어나지 않으면서 일 실시예로부터 다른 실시예로 변경되어 구현될 수 있다. 또한, 각각의 실시예 내의 개별 구성요소의 위치 또는 배치도 본 발명의 정신과 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 행하여 지는 것이 아니며, 본 발명의 범위는 특허청구범위의 청구항들이 청구하는 범위 및 그와 균등한 모든 범위를 포괄하는 것으로 받아들여져야 한다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 구성요소를 나타낸다.
이하에서는, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 여러 바람직한 실시예에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
이하, 본 발명의 실시예에서는 분산 원장을 블록체인의 형태로 저장하면서 대량의 거래(또는 트랜잭션)를 동시에 또는 빠른 시간 안에 이루어질 수 있도록 하기 위한 고성능 블록체인 플랫폼이 개시된다.
본 발명의 실시예에 따른 고성능 블록체인 플랫폼은 블록체인 상에 부하를 감소시키면서 거래 속도를 비약적으로 높여 수백만명 이상이 동시에 거래할 수 있는 수준의 거래량과 속도를 지원할 수 있다.
이하, 본 발명의 실시예에서는 설명의 편의상 사용자 계좌에서 금액의 입금 출금하고, 사용자 계좌를 확인하는 절차에 대해 개시한다. 하지만, 사용자 지갑 상에서 디지털 유가 증권과 같은 일정한 가치를 가지는 객체를 전송 또는 수신하고, 사용자 지갑을 확인하는 절차에 대해서도 이하 본 발명의 실시예에 따른 고성능 블록체인 플랫폼이 사용될 수 있고, 본 발명의 권리 범위에 포함될 수 있다.
즉, 사용자 계좌는 가치가 존재하는 객체를 포함하는 다양한 온라인 상의 가치 저장 수단을 포함하는 의미로 사용될 수 있고, 금액은 가치가 존재하는 객체를 포함하는 의미로 사용될 수 있다.
도 1은 본 발명의 실시예에 따른 고성능 블록체인 플랫폼을 나타낸 개념도이다.
도 1에서는 분산 원장을 블록체인의 형태로 저장하면서 대량의 거래가 동시에 빠른 시간 안에 이루어질 수 있도록 거래 속도를 비약적으로 높인 고성능 블록체인 플랫폼이 개시된다.
도 1을 참조하면, 본 발명의 실시예에 따른 고성능 블록체인 플랫폼은 렛저 API(application programming interface)(100), 캐시(cache)(110), 렛저 인보커(ledger invoker)(130), 데이터 스트리밍(data streaming)(또는 데이터 스트리밍부(data streaming unit))(120), 블록체인(blockchain)(140), 노티파이어(notifier)(150), 렛저 매니저(ledger manager)(160)를 포함할 수 있다.
렛저 API(100)는 블록체인 기반 서비스를 제공하기 위해 사용자 장치와 블록체인(또는 블록체인 플랫폼)(140)을 연결하기 위한 인터페이스일 수 있다. 사용자 장치는 렛저 API(100)를 통해 블록체인(140) 상의 정보에 액세스할 수 있다. 예를 들어, 사용자는 렛저 API(100)를 통해 입금, 출금, 거래 등을 요청하고, 요청에 대한 결과값을 수신할 수 있다.
캐시(110)는 블록체인(140) 상의 데이터를 블록체인(140) 상에 액세스 없이 빠르게 제공하기 위해 구현될 수 있다. 캐시(110)는 블록체인(140) 상에 기록된 정보(블록체인 기록 정보), 블록체인(140) 상에 기록된 정보를 변화시키는 정보(블록체인 기록 변화 정보) 등을 저장할 수 있다.
캐시(110)는 사용자가 블록체인(140) 상에 액세스를 위한 트랜잭션을 발생시키는 경우, 트랜잭션과 관련된 데이터를 저장할 수 있다. 예를 들어, 사용자 장치를 통해 사용자 계좌(또는 지갑)(또는 특정 계좌)에 일정 금액을 입금하거나, 사용자 계좌로부터 일정 금액을 출금하기 위한 트랜잭션과 같은 사용자 계좌 정보를 변화시키는 트랜잭션이 발생될 수 있다. 또는 사용자 장치를 통해 사용자 계좌(또는 지갑)에 대한 확인을 위한 트랜잭션과 같은 사용자 계좌 정보를 변화시키지 않는 트랜잭션이 발생될 수 있다. 이러한 경우, 사용자 계좌와 관련된 입금 정보/출금 정보, 사용자 계좌 잔고 정보 등이 캐시에 기록될 수 있다.
이러한 캐시(110)의 기록을 기반으로 사용자는 별도의 액세스 없이 현재 사용자 계좌에 대한 정보를 확인할 수 있다. 예를 들어, 캐시(110)에 저장된 정보에 대한 체크를 통해 블록체인(140) 상에서 추가적으로 사용자 계좌와 관련된 정보의 변화가 없다고 판단되는 경우, 블록체인(140) 상에 액세스 없이 캐시(110)에 기록된 정보를 사용하여 사용자 장치로 현재 사용자 계좌 정보를 전송할 수 있다. 즉, 사용자로부터 단순하게 변화되지 않은 블록체인(140) 상에 기록된 데이터의 읽기(read) 요청이 발생한 경우, 블록체인(140)으로의 불필요한 액세스 없이 캐시(110) 상에 기록된 데이터가 바로 사용자 장치로 전송될 수 있다.
이러한 방법을 통해 블록체인(140) 상에 데이터의 기록을 위한 불필요한 트랜잭션/합의 등이 감소되고, 블록체인(140)의 데이터 처리 속도가 향상될 수 있다. 캐시(110)의 동작은 보다 구체적으로 후술된다.
데이터 스트리밍부(120)는 렛저 API(100)를 통해 전달된 트랜잭션을 유실하지 않고, 순차적으로 렛저 인보커(130)로 전달하기 위해 구현될 수 있다. 복수의 사용자 장치로부터 발생된 복수의 트랜잭션은 타임스탬프를 포함하고, 렛저 API(100)를 통해 캐시(110) 및 데이터 스트리밍부(120)로 전달될 수 있다. 타임스탬프는 트랜잭션이 발생한 시간에 대한 정보를 포함할 수 있다. 데이터 스트리링부(120)는 큐(que)로 구현될 수 있다. 데이터 스트리밍부(120)에 누적된 복수의 트랜잭션 데이터는 렛저 인보커(130)로 전달될 수 있다.
예를 들어, 렛저 인보커(130)는 데이터 스트리밍부(120)에 저장된 복수개(예를 들어, 100 내지 1000개)의 트랜잭션을 적어도 한번에 긁어서 정리하여 블록체인(140)으로 전송할 수 있다. 본 발명의 실시예에 따르면, 데이터 스트리밍부(120)에서 복수의 트랜잭션은 그룹핑될 수 있고, 그룹핑된 트랜잭션 그룹은 하나의 트랜잭션으로 인식되어 처리될 수도 있다. 예를 들어, 1000건의 트랜잭션을 포함하는 트랜잭션 그룹은 하나의 트랜잭션으로 간주되어 트랜잭션에 대한 검증 작업이 수행될 수 있다. 트랜잭션의 그룹핑은 구체적으로 후술된다.
렛저 인보커(130)는 데이터 스트리밍부(120)로부터 수신한 트랜잭션을 기반으로 블록체인(140)의 체인코드를 실행(invoke)하도록 구현될 수 있다. 렛저 인보커(130)에 의해 다양한 종류의 체인코드(chain code)가 실행될 수 있다. 렛저 인보커(130)는 블록체인(140)의 체인코드를 실행하고, 렛저 인보커(130)를 통해 블록체인(140) 상으로 트랜잭션(또는 트랜잭션 그룹)이 전송될 수 있다. 예를 들어, 렛저 인보커(130)를 통해 블록체인(140) 상으로 트랜잭션이 전달되고, 블록의 마이닝을 통해 트랜잭션에 포함된 데이터(또는 데이터)가 블록체인(140)에 연결되는 블록 상에 기록될 수 있다.
노티파이어(150)는 블록체인(140) 상에 발생되는 변화를 인식하고, 블록체인(140) 상의 변화 정보를 다른 구성부(또는 모듈)로 전달할 수 있다. 또한, 노티파이어(150)는 블록체인(140)과 캐시(110) 간의 데이터 정합성을 체크하고 정합성의 손상시 자동으로 복구하는 역할을 담당할 수 있다. 예를 들어, 노티파이어(150)는 1) 사용자 계좌에 대한 입금/출금과 관련된 트랜잭션이 블록체인(140) 상에 기록되는 경우, 2) 후술할 렛저 매니저(160)에 의해 결산 요청과 관련된 트랜잭션(계좌 정리 요청 트랜잭션)이 블록체인(140) 상에 기록되는 경우 등과 같이 블록체인(140) 상에 발생된 변화에 대한 정보를 캐시(110), 렛저 매니저(160) 등과 같은 고성능 블록체인 플랫폼 상의 구성부로 전달할 수 있다.
렛저 매니저(160)는 블록체인(140) 상에 저장된 데이터에 대한 관리/업데이트를 위해 구현될 수 있다. 예를 들어, 렛저 매니저(160)는 블록체인(140) 상에 기록된 사용자의 계좌 잔고 정보 및 계좌 변화 정보 등을 기반으로 사용자 계좌 잔고 정보에 대한 업데이트를 요청하는 데이터 업데이트 요청 트랜잭션(예를 들어, 계좌 정리 요청 트랜잭션)을 블록체인(140) 상으로 전송할 수 있다. 블록체인(140) 상에 계좌 정리 요청 트랜잭션이 전송되는 경우, 블록체인(140) 상에 기록된 사용자의 계좌 정보 및 계좌 변화 정보 등을 기반으로 사용자의 계좌 정보를 최신으로 업데이트하여 블록체인(140) 상에 기록되는 동작이 수행될 수 있다. 렛저 매니저(160)의 구체적인 동작은 후술된다.
도 2는 본 발명의 실시예에 따른 고성능 블록체인 플랫폼을 나타낸 개념도이다.
도 2에서는 고성능 블록체인 플랫폼 상에서 데이터의 쓰기 동작에 대한 흐름이 개시된다. 특히, 블록체인 상의 데이터를 변화시키는 데이터 쓰기(또는 기록)에 관련된 데이터 쓰기 플로우가 개시된다. 블록체인 상의 데이터를 변화시키는 트랜잭션은 데이터 변화 요청 트랜잭션이라는 용어로 표현될 수 있다.
도 2를 참조하면, 이하, 본 발명의 실시예에서는 설명의 편의상 사용자 계좌 정보(또는 사용자 어카운트 정보, 사용자 지갑 정보)를 예로 들어 설명하나, 사용자 계좌 정보가 아닌 다른 다양한 정보에 대한 읽기, 쓰기, 변화 알람에 대해 본 발명이 적용될 수 있고, 이러한 실시예 또한 본 발명의 권리 범위에 포함될 수 있다.
사용자 계좌에 10,000원이 현재 입금되어 있고, 사용자 계좌에 대한 정보(10,000원)가 블록체인(240) 상에 기록된 경우가 가정된다. 이후, 사용자가 1) 3,000원 출금 요청, 2) 5,000원 입금 요청을 한 경우가 가정된다.
이러한 경우, 제1 트랜잭션(3000원 출금 요청)(제1 타임스탬프)이 발생되고, 이후, 제2 트랜잭션(5000원 입금 요청)(제2 타임스탬프)이 발생될 수 있다.
이러한 경우, 제1 트랜잭션(3000원 출금 요청)(제1 타임스탬프) 및 제2 트랜잭션(5000원 입금 요청)(제2 타임스탬프)이 캐시(210)에 저장되고, 동시에 또는 순차적으로 데이터 스트리밍부(220)로도 전송되어 저장될 수 있다.
데이터 스트리밍부(220)는 시간 순서대로 제1 트랜잭션(3000원 출금 요청)(제1 타임스탬프) 및 제2 트랜잭션(5000원 입금 요청)(제2 타임스탬프)를 저장할 수 있다.
이후, 렛저 인보커(230)는 데이터 스트리밍부(220)에 저장된 제1 트랜잭션(3000원 출금 요청)(제1 타임스탬프) 및 제2 트랜잭션(5000원 입금 요청)(제2 타임스탬프)를 수신할 수 있다. 제1 트랜잭션(3000원 출금 요청)(제1 타임스탬프) 및 제2 트랜잭션(5000원 입금 요청)(제2 타임스탬프)는 블록체인(240) 상의 블록 상에 저장될 수 있다.
블록체인(240) 상에는 1) 사용자 계좌 잔고 정보(10000원), 2) 사용자 계좌 출금 정보(3000원), 3) 사용자 계좌 입금 정보(5000원)이 기록될 수 있다.
본 발명의 실시예에 따르면, 렛저 매니저(260)의 계좌 정리 요청 트랜잭션이 전송되지 않는 경우, 사용자 계좌 잔고 정보는 업데이트되지 않을 수 있다. 사용자 계좌 잔고 정보를 변화시키는 정보인 2) 사용자 계좌 출금 정보(3000원), 3) 사용자 계좌 입금 정보(5000원)에 대해서는 미반영 정보임을 표시하는 식별자(또는 마크)가 추가되어 있을 수 있다.
이후, 렛저 매니저(260)에 의해 계좌 정리 요청 트랜잭션이 전송되는 경우, 사용자 계좌 잔고 정보는 12000원으로 업데이트되고, 사용자 계좌 잔고 정보를 변화시키는 정보인 2) 사용자 계좌 출금 정보(3000원), 3) 사용자 계좌 입금 정보(5000원)에 대해서는 반영 정보임을 표시하는 식별자(마크)가 표시될 수 있다.
즉, 사용자 계좌 잔고를 변화시키는 정보에 대해서는 별도의 식별자를 통해 계좌 정리 요청 트랜잭션에 의해 사용자 계좌 잔고로의 반영 여부가 체크될 수 있다.
도 3은 본 발명의 실시예에 따른 고성능 블록체인 플랫폼을 나타낸 개념도이다.
도 3에서는 블록체인 상의 데이터의 변화를 알리는 데이터 변화 알람 플로우가 개시된다.
도 3을 참조하면, 데이터 변화 알람 플로우는 블록체인(340) 상에 데이터 변화가 발생한 경우 발생될 수 있다. 예를 들어, 데이터 쓰기 플로우에서 제2 트랜잭션(5000원 입금 요청)(제2 타임스탬프) 및 제1 트랜잭션(3000원 출금 요청)(제1 타임스탬프) 및 제2 트랜잭션(5000원 입금 요청)(제2 타임스탬프)으로 인해 블록체인(340) 상에 입금 요청 데이터, 출금 요청 데이터가 기록된 경우, 블록체인 상에 변화가 발생될 수 있다.
이러한 경우, 노티파이어(350)는 블록체인 상의 변화를 인식하고, 블록체인 상의 변화를 알리는 정보(또는 변화에 관련된 정보)를 캐시, 렛저 매니저(360) 등과 같은 고성능 블록체인 플랫폼 상의 구성부로 전달할 수 있다. 블록체인(340) 상의 변화를 알리는 정보(또는 변화에 관련된 정보)는 블록체인 변화 알람 정보라는 용어로 표현될 수 있다.
예를 들어, 렛저 매니저(360)는 계좌 정리 요청 트랜잭션을 블록체인(340) 상으로 전송할 수 있다. 이러한 경우, 사용자 계좌는 최종값으로 정리될 수 있다. 구체적으로 블록체인(340) 상에 저장된 1) 사용자 계좌 잔고 정보(10000원), 2) 사용자 계좌 출금 정보(3000원), 3) 사용자 계좌 입금 정보(5000원)가 모두 정리되고, 블록체인(340) 상에서 사용자 계좌 잔고 정보가 12000원으로 업데이트되어 저장될 수 있다.
마찬가지로 렛저 매니저(360)에 의해 전송된 계좌 정리 요청 트랜잭션으로 인한 변화는 노티파이어(350)에 의해 렛저 매니저(360) 및 캐시(310)에 알려질 수 있다.
렛저 매니저(360)는 노티파이어(350)로부터 변화 정보를 수신하고, 다시 계좌 정리 요청 트랜잭션을 블록체인(340) 상으로 전송할 수 있다. 렛저 매니저(360)는 계좌 정리 요청 트랜잭션을 전송하고, 계좌 정리 요청 트랜잭션으로 인한 블록체인 변화 알람 정보를 노티파이어(350)로부터 수신하고, 다시 계좌 정리 요청 트랜잭션을 전송하는 방식으로 불필요한 계좌 정리 요청 트랜잭션을 계속적으로 전송하지 않을 수 있다. 따라서, 불필요한 블록체인 상의 계좌 정리 요청 트랜잭션의 전송이 방지되고 결과적으로 블록체인(340) 상의 오버로드를 감소시킬 수 있고, 블록체인(340)의 처리 속도가 향상될 수 있다.
또한 본 발명의 실시예에 따르면, 계좌 정리 요청 트랜잭션에 대한 주기가 설정되고, 렛저 매니저(360)는 설정된 주기마다 계좌 정리 요청 트랜잭션을 전송할 수도 있다.
캐시(310)는 블록체인 변화 알람 정보를 노티파이어(350)로부터 수신할 수 있고, 블록체인 변화 알람 정보의 수신 여부에 따라 사용자 장치로부터 발생된 트랜잭션에 대한 응답을 캐시 상에 기록된 정보를 기반으로 제공할지 블록체인(340) 상에 기록된 정보를 기반으로 제공할지 여부를 결정할 수 있다. 이러한 캐시(310) 기반의 응답 방법에 대해서는 후술한다.
도 4는 본 발명의 실시예에 따른 고성능 블록체인 플랫폼을 나타낸 개념도이다.
도 4에서는 블록체인 상의 데이터 읽기와 관련된 데이터 읽기 플로우가 개시된다. 데이터 읽기와 같은 블록체인 상의 데이터를 변화시키지 않는 트랜잭션은 데이터 무변화 요청 트랜잭션이라는 용어로 표현될 수 있다.
도 4를 참조하면, 예를 들어, 사용자 장치로부터 계좌 잔고에 대한 확인을 요청하는 트랜잭션(사용자 계좌 잔고 확인 트랜잭션)이 발생하는 경우, 1차적으로 캐시(410)를 통한 사용자 계좌 관련 정보에 대한 확인이 수행되고 캐시(410) 상의 사용자 계좌 잔고 정보를 사용자에게 바로 제공 가능할지에 대한 판단이 수행될 수 있다. 이후, 캐시(410) 상의 사용자 계좌 잔고 정보가 사용자에게 바로 제공 가능한 경우, 블록체인(440) 상으로의 액세스없이 캐시(410) 상의 사용자 계좌 잔고 정보를 사용자 장치로 제공할 수 있다. 반대로, 캐시(410) 상의 사용자 계좌 잔고 정보가 사용자에게 바로 제공 가능하지 않은 경우, 블록체인 상으로의 액세스를 통해 사용자 계좌 잔고 정보를 사용자 장치로 제공할 수 있다.
캐시(410) 상의 사용자 계좌 잔고 정보를 사용자에게 바로 제공 가능할지에 대한 판단은 후술된다.
만약, 캐시(410)를 통한 사용자 계좌 잔고 정보의 제공이 가능한 경우, 블록체인(440) 상에 접근하지 않고, 바로 사용자 계좌 잔고 정보가 제공될 수 있다. 반대로, 캐시(410)를 통한 사용자 계좌 잔고 정보의 제공이 가능하지 않은 경우, 블록체인(440) 상에 접근하여 블록체인(440) 상에 기록된 데이터 중 사용자 계좌 잔고 관련 정보(사용자 계좌 잔고 정보, 사용자 계좌 입금 정보, 사용자 계좌 출금 정보 등)을 기반으로 사용자 계좌 잔고를 정리하여 사용자에게 제공할 수 있다.
예를 들어, 전술한 예에서 블록체인 상에 저장된 사용자 계좌 잔고 관련 정보(사용자 계좌 잔고 정보(10000원), 사용자 계좌 출금 정보(3000원), 사용자 계좌 입금 정보(5000원))를 수집하고, 수집된 정보를 기반으로 사용자 계좌 잔고를 계산(10000원-3000원+5000원=12000원)하여 사용자 장치로 제공할 수 있다.
렛저 매니저(460)의 계좌 정리 요청 트랜잭션이 전송되지 않는 경우, 사용자의 요청에 의해 정리된 사용자 계좌 잔고가 블록체인(440) 상에 저장되지 않을 수 있다. 즉, 렛저 매니저(460)의 계좌 정리 요청 트랜잭션에 의해서만 복수의 사용자들의 복수의 사용자 계좌 잔고 각각에 대한 정리가 수행되고 최종적으로 업데이트된 복수의 사용자 각각의 복수의 사용자 계좌 잔고에 대한 정보가 블록체인(440) 상에 기록될 수 있다.
또는 본 발명의 실시예에 따르면, 렛저 매니저(460)의 계좌 정리 요청 트랜잭션이 전송되지 않는 경우에도 사용자 장치에 의해 계좌 잔고 확인 트랜잭션이 발생되는 경우, 해당 사용자의 사용자 계좌 잔고에 대해 별도의 계좌 정리가 수행되고, 사용자 계좌 잔고 정보가 업데이트되고, 사용자 계좌 출금 정보 및 사용자 계좌 입금 정보에 대해서는 반영 정보임을 표시하는 식별자(마크)가 표시될 수 있다. 즉, 특정 사용자에 대한 개별적인 계좌 잔고 확인 트랜잭션이 발생되는 경우, 해당 사용자에 대한 사용자 계좌 잔고에 대해서만 별도의 계좌 정리가 수행되어 사용자 계좌 잔고 정보로서 블록체인 상에 기록될 수도 있다.
도 5는 본 발명의 실시예에 따른 블록체인 상의 기록에 대한 액세스 판단 동작을 나타낸 개념도이다.
도 5에서는 사용자 장치에 의해 데이터 읽기 동작(또는 데이터 읽기와 관련된 트랜잭션)이 발생시 블록체인으로의 접근 없이 캐시에 대한 접근 만으로 사용자 장치로 데이터를 제공하기 위한 방법이 개시된다.
도 5를 참조하면, 캐시 상에 기록된 사용자 트랜잭션 정보 및/또는 노티파이어로부터 수신한 블록체인 변화 알람 정보를 기반으로 블록체인으로의 접근 없이 캐시에 대한 접근만으로 사용자 장치로 데이터를 제공할지 여부가 결정될 수 있다.
본 발명의 실시예에 따르면, 블록체인 플랫폼이 사용자 장치로부터 요청 트랜잭션을 수신하고, 블록체인 플랫폼이 캐시를 기반으로 요청 트랜잭션에 대한 처리 가능 여부를 결정할 수 있다. 요청 트랜잭션은 전술한 블록체인 상에서 데이터에 대한 읽기/쓰기 등을 위한 트랜잭션(예를 들어, 계좌 잔고 확인 트랜잭션, 사용자 계좌 입금/출금 관련 트랜잭션 등)일 수 있다.
가능한 경우, 블록체인 플랫폼이 캐시 상에 기록된 정보를 기반으로 상기 블록체인 상으로의 액세스 없이 요청 트랜잭션에 대한 응답 트랜잭션을 전송할 수 있다. 블록체인 플랫폼이 캐시를 기반으로 요청 트랜잭션에 대한 처리가 불가능한 경우, 요청 트랜잭션의 블록체인 상으로의 전송을 위해 요청 트랜잭션을 데이터 스트리밍부로 전송할 수 있다.
캐시는 요청 트랜잭션에 관련된 정보를 저장하고, 요청 트랜잭션은 타임 스탬프를 포함할 수 있다. 데이터 스트리밍부는 요청 트랜잭션과 다른 요청 트랜잭션을 저장하되, 다른 요청 트랜잭션은 사용자 장치 또는 다른 사용자 장치로부터 요청 트랜잭션의 수신 이전에 수신하여 블록체인 상으로 전송되기 이전의 트랜잭션을 포함할 수 있다. 전술한 바와 같이 블록체인 플랫폼이 렛저 인보커의 블록체인에 대한 인보킹을 기반으로 요청 트랜잭션과 다른 요청 트랜잭션을 블록체인 상으로 전송할 수 있다.
캐시를 기반으로 요청 트랜잭션에 대한 처리 가능 여부는 요청 트랜잭션의 특성 및 사용자 장치와 관련되어 캐시 상에 이전에 전송된 이전 요청 트랜잭션의 특성을 기반으로 결정될 수 있다. 요청 트랜잭션 및 이전 요청 트랜잭션의 특성은 데이터 무변화 요청 트랜잭션(550), 데이터 변화 요청 트랜잭션(570) 중 하나일 수 있다.
구체적으로 사용자 장치로부터 전송된 트랜잭션이 블록체인 상의 데이터를 변화시키지 않는 데이터 무변화 요청 트랜잭션(예를 들어, 계좌 확인 요청 트랜잭션(500))이고, 제공될 데이터의 최근 업데이트 이후, 블록체인 상의 데이터를 변화시키지 않는 데이터 무변화 요청 트랜잭션(550)만이 캐시(520) 상에 기록된 경우, 블록체인(540) 상으로 액세스 없이 캐시(520)가 저장된 데이터가 응답 트랜잭션(580)으로서 전송될 수 있다.
반대로, 사용자 장치로부터 전송된 트랜잭션이 블록체인(540) 상의 데이터를 변화시키지 않는 데이터 무변화 요청 트랜잭션(예를 들어, 계좌 확인 요청 트랜잭션(500))이고, 제공될 데이터의 최근 업데이트 이후, 블록체인(540) 상의 데이터를 변화시키는 적어도 하나의 데이터 변화 요청 트랜잭션(570)이 캐시(520) 상에 기록된 경우, 블록체인(540) 상으로 액세스를 통해 블록체인(540) 상에 기록된 데이터를 기반으로 응답 트랜잭션(580)이 전송될 수 있다.
예를 들어, 사용자 계좌 잔고 정보를 캐시(520)로부터 바로 제공할지 아니면 블록체인(540) 상에 기록된 데이터를 기반으로 제공할지 여부를 결정할 수 있다. 예를 들어, 캐시(520) 상에 사용자 계좌 잔고 정보가 기록된 이후에 사용자 계좌 잔고 정보를 변화시키는 사용자 계좌 출금 및/또는 사용자 계좌 입금과 관련된 트랜잭션과 관련된 정보가 저장되지 않은 경우(사용자 계좌 출금 정보 및/또는 사용자 계좌 입금 정보가 발생하지 않은 경우), 캐시(520) 상에 저장된 사용자 계좌 잔고 정보가 최신 업데이트된 계좌 정보로 판단될 수 있다. 이러한 상태에서 사용자 장치로부터 계좌 확인 요청 트랜잭션(500)이 발생된 경우, 블록체인(540) 상에 액세스하여 데이터를 읽을 필요가 없이 캐시 상에 저장된 사용자 계좌 잔고 정보가 제공될 수 있다.
반대로, 캐시(520) 상에 사용자 계좌 잔고 정보가 기록된 이후, 사용자 계좌 잔고 정보를 변화시키는 사용자 계좌 출금 정보 및/또는 사용자 계좌 입금 정보와 같은 사용자 계좌 잔고 변화 정보가 발생한 경우(또는 캐시 상에 사용자 계좌 잔고 정보를 변화시키는 사용자 계좌 출금 및/또는 사용자 계좌 입금과 관련된 트랜잭션과 관련된 정보가 저장된 경우)가 가정될 수 있다. 이러한 경우, 사용자 계좌 잔고 정보는 블록체인(540) 상에서 확인될 수 있다.
블록체인(540) 상에서 기록된 사용자 계좌 잔고 관련 정보가 추출되고, 계좌 정리 요청 트랜잭션과 같은 데이터 업데이트 트랜잭션의 전송 이후 업데이트된 최신 정보로서 블록체인(540) 상에 기록된 정보가 사용자 계좌 잔고 정보(또는 데이터 무변화 정보(590))인 경우, 블록체인(540) 상에 기록된 사용자 계좌 잔고 정보가 사용자에게 제공할 수 있다. 반대로 계좌 정리 요청 트랜잭션과 같은 데이터 업데이트 트랜잭션의 전송 이후 블록체인(540) 상에 기록된 정보가 사용자 계좌 잔고 변경 정보(또는 데이터 변화 정보(595))인 경우, 가장 최신의 사용자 계좌 잔고 정보 및 그 이후에 발생된 계좌 잔고 변경 정보가 탐색되고, 해당 사용자에 대해 별도의 계좌 정리가 수행되어 사용자 장치로 제공될 수 있다. 추출된 블록체인(540) 상의 사용자 계좌 잔고 관련 정보는 캐시 상에 다시 저장될 수 있다. 즉, 블록체인(540) 상에서도 제공 요청 데이터와 관련하여 데이터 무변화 요청 트랜잭션이 발생하였는지(또는 제공 요청 데이터와 관련되어 데이터 무변화 정보(590)가 저장되었는지) 또는 데이터 변화 요청 트랜잭션이 발생하였는지(또는 제공 요청 데이터와 관련하여 데이터 변화 정보(595)가 저장되었는지) 여부를 판단하여 블록체인 상의 데이터를 기반으로 한 응답 트랜잭션이 생성될 수 있다.
이러한 방법을 통해 사용자는 블록체인(540) 상으로 액세스 없이 캐시(520)에 대한 액세스만으로 정보에 대한 획득이 가능한 경우, 블록체인(540) 상에 불필요한 트랜잭션의 발생이 감소될 수 있고, 사용자는 보다 빠르게 원하는 정보를 정확하게 획득할 수 있다.
다른 표현으로 블록체인(540) 상의 데이터의 최종 업데이트 이후, 데이터를 변화시키지 않는 데이터 무변화 요청 트랜잭션(550)만이 캐시(520) 상에 기록되어 있는 경우, 블록체인(540) 상의 액세스 없이 캐시(520) 상으로의 액세스만으로 데이터 읽기와 관련된 요청 트랜잭션에 대한 응답 트랜잭션이 사용자 장치로 전송될 수 있다.
반대로, 블록체인(540) 상의 데이터의 최종 업데이트 이후, 적어도 하나의 데이터를 변화시키는 데이터 변화 요청 트랜잭션(570)이 캐시(520) 상에 기록되어 있는 경우, 블록체인(540) 상의 액세스를 통해 데이터 읽기와 관련된 요청 트랜잭션에 대한 응답 트랜잭션이 사용자 장치로 전송될 수 있다.
도 6은 본 발명의 실시예에 따른 데이터 스트리밍부의 동작을 나타낸 개념도이다.
도 6에서는 데이터 스트리밍부에서 트랜잭션을 그룹핑하는 동작이 개시된다.
도 6을 참조하면, 데이터 스트리밍부(600)는 처리될 트랜잭션에 대한 그룹핑을 트랜잭션 그룹(650)을 생성할 수 있다. 트랜잭션 그룹(650)에 대한 검증은 그룹 단위로 수행됨으로써 블록체인(660) 상에 처리 속도를 높일 수 있다.
복수의 사용자 장치로부터 발생된 트랜잭션은 타임스탬프를 포함하고, 타임스탬프를 기반으로 복수의 트랜잭션이 순차적으로 데이터 스트리밍부(600)에 저장될 수 있다.
본 발명의 실시예에 따르면, 트랜잭션은 개별적으로 검증되어 렛저 인보커(620)의 인보킹을 기반으로 블록체인(660) 상에 기록될 수도 있지만, 트랜잭션 그룹 단위로 그룹핑되고 검증되어 렛저 인보커(620)의 인보킹(또는 호출)을 기반으로 블록체인(660) 상에 기록될 수도 있다.
데이터 스트리밍부(600)에 저장된 복수의 트랜잭션을 포함하는 트랜잭션 그룹(650)은 다양한 방법으로 결정될 수 있다. 우선 렛저 인보커(620)의 트랜잭션을 인보킹하는 경우, 인보킹 시점에 데이터 스트리밍부(600)에 존재하는 모든 트랜잭션이 하나의 트랜잭션 그룹(650)으로 그룹핑될 수 있다. 이때 관련된 계좌별로 별도로 하위 그룹을 형성할 수도 있다. 예를 들어, 사용자A, 사용자B, 사용자C 간의 거래가 이루어진 경우, 사용자A, 사용자B, 사용자C와 관련된 트랜잭션은 하위 트랜잭션 그룹으로 별도로 설정될 수도 있다.
또는 본 발명의 실시예에 따르면, 트랜잭션의 특성에 따라 트랜잭션 그룹(650)이 형성되어 검증 절차가 진행될 수 있다. 예를 들어, 블록체인(660) 상의 데이터를 변화시키지 않는 단순 데이터 읽기를 위한 트랜잭션 그룹(이하, 데이터 무변화 트랜잭션 그룹), 블록체인 상의 데이터 변화를 발생시키는 트랜잭션 그룹과 같이 트랜잭션을 기반으로 수행되는 동작에 따라 트랜잭션 그룹(데이터 변화 트랜잭션 그룹)이 형성될 수 있다. 데이터 무변화 트랜잭션 그룹과 데이터 변화 트랜잭션 그룹에 대해서 서로 다른 검증 절차가 수행될 수 있다.
데이터 무변화 트랜잭션 그룹과 데이터 변화 트랜잭션 그룹은 기본적인 검증은 동일하게 수행되되, 데이터 변화 트랜잭션 그룹에 대해서는 데이터 변화 가능 여부에 대한 검증이 추가적으로 수행될 수 있다.
예를 들어, 데이터 변화 트랜잭션 그룹은 입금을 위한 데이터 변화인 데이터 변화(입금) 트랜잭션 그룹과 출금을 위한 데이터 변화인 데이터 변화(출금) 트랜잭션 그룹으로 구분될 수 있다.
데이터 변화(입금) 트랜잭션 그룹의 경우, 입금하는 사용자 계좌에서 입금이 가능한지 여부에 대한 검증이 필요할 수 있다. 데이터 변화인 데이터 변화(출금) 트랜잭션 그룹의 경우, 출금하는 사용자 계좌에서 출금이 가능한지 여부에 대한 검증이 필요할 수 있다.
본 발명의 실시예에 따르면, 트랜잭션의 특성에 따라 복수의 트랜잭션이 트랜잭션 그룹(650)을 형성할 수 있고, 트랜잭션 그룹(650)별로 별도의 검증 절차를 수행하여 블록 상에 기록될 수 있다. 트랜잭션 그룹(650)에 포함되는 복수의 트랜잭션이 블록체인 상에 기록되는 경우, 트랜잭션 그룹(650)이 고려되지 않고, 타임스탬프를 기반으로 저장될 수도 있다. 구체적으로 블록체인 상에 기록시에는 트랜잭션 그룹(650)이 해제되고, 트랜잭션의 타임스탬프가 고려되어 복수의 트랜잭션이 기록될 수 있다. 또는 트랜잭션 그룹(650)을 고려하여 블록 상에 기록되거나, 검증시 그룹핑된 트랜잭션 그룹(650)에 대한 식별 정보가 개별 트랜잭션에 표시될 수 있다.
이상 설명된 본 발명에 따른 실시예는 다양한 컴퓨터 구성요소를 통하여 실행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위하여 하나 이상의 소프트웨어 모듈로 변경될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항과 한정된 실시예 및 도면에 의하여 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위하여 제공된 것일 뿐, 본 발명이 상기 실시예에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정과 변경을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.

Claims (8)

  1. 블록체인 상에서 트랜잭션 고속 처리 방법은,
    블록체인 플랫폼이 사용자 장치로부터 요청 트랜잭션을 수신하는 단계;
    상기 블록체인 플랫폼이 캐시를 기반으로 상기 요청 트랜잭션에 대한 처리 가능 여부를 결정하는 단계; 및
    상기 블록체인 플랫폼이 상기 캐시 상에 기록된 정보를 기반으로 상기 블록체인 상으로의 액세스 없이 상기 요청 트랜잭션에 대한 응답 트랜잭션을 전송하는 단계를 포함하되,
    상기 캐시를 기반으로 상기 요청 트랜잭션에 대한 처리 가능 여부는 상기 요청 트랜잭션의 트랜잭션 특성 및 상기 사용자 장치와 관련되어 상기 캐시 상에 이전에 전송된 이전 요청 트랜잭션의 트랜잭션 특성을 기반으로 결정되고,
    상기 트랜잭션 특성은 데이터 무변화 요청 트랜잭션 또는 데이터 변화 요청 트랜잭션이고,
    상기 데이터 무변화 요청 트랜잭션은 계좌 확인 요청 트랜잭션을 포함하고,
    상기 데이터 변화 요청 트랜잭션은 사용자 계좌 출금 트랜잭션 및/또는 사용자 계좌 입금과 관련된 트랜잭션을 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 블록체인 플랫폼이 상기 캐시를 기반으로 상기 요청 트랜잭션에 대한 처리가 불가능한 경우, 상기 요청 트랜잭션의 상기 블록체인 상으로의 전송을 위해 상기 요청 트랜잭션을 데이터 스트리밍부로 전송하는 단계를 더 포함하되,
    상기 캐시는 상기 요청 트랜잭션에 관련된 정보를 저장하고,
    상기 요청 트랜잭션은 타임 스탬프를 포함하고,
    상기 데이터 스트리밍부는 상기 요청 트랜잭션과 다른 요청 트랜잭션을 저장하되,
    상기 다른 요청 트랜잭션은 상기 사용자 장치 또는 다른 사용자 장치로부터 상기 요청 트랜잭션의 수신 이전에 수신하여 상기 블록체인 상으로 전송되기 이전의 트랜잭션을 포함하는 것을 특징으로 하는 방법.
  3. 제2항에 있어서,
    상기 블록체인 플랫폼이 렛저 인보커의 상기 블록체인에 대한 인보킹을 기반으로 상기 요청 트랜잭션과 상기 다른 요청 트랜잭션을 상기 블록체인 상에 저장하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  4. 제3항에 있어서,
    상기 요청 트랜잭션과 상기 다른 요청 트랜잭션 각각은 상기 블록체인 상에 저장을 위해 트랜잭션 그룹에 포함되고,
    상기 트랜잭션 그룹은 상기 데이터 무변화 트랜잭션을 포함하는 데이터 무변화 트랜잭션 그룹과 상기 데이터 변화 트랜잭션을 포함하는 데이터 변화 트랜잭션 그룹을 포함하고,
    상기 블록체인 플랫폼은 상기 데이터 무변화 트랜잭션 그룹 및 상기 데이터 변화 트랜잭션 그룹 각각에 대한 검증을 수행하되, 상기 데이터 변화 트랜잭션 그룹에 대해서는 데이터 변화 가능 여부에 대한 추가적인 검증을 수행하고,
    상기 블록체인 플랫폼은 상기 트랜잭션 그룹에 포함되는 복수의 트랜잭션을 상기 블록체인 상에 기록시 상기 복수의 트랜잭션 각각의 타임스탬프를 고려하여 기록하는 것을 특징으로 하는 방법.
  5. 트랜잭션 고속 처리를 위한 블록체인 플랫폼은,
    사용자 장치로부터 요청 트랜잭션을 수신하도록 구현된 통신부; 및
    기록된 정보를 기반으로 결정된 상기 요청 트랜잭션에 대한 처리 가능 여부를 결정하고, 상기 기록된 정보를 기반으로 상기 블록체인 상으로의 액세스 없이 상기 요청 트랜잭션에 대한 응답 트랜잭션을 전송하기 위해 구현된 캐시를 포함하고,
    상기 캐시를 기반으로 상기 요청 트랜잭션에 대한 처리 가능 여부는 상기 요청 트랜잭션의 트랜잭션 특성 및 상기 사용자 장치와 관련되어 상기 캐시 상에 이전에 전송된 이전 요청 트랜잭션의 트랜잭션 특성을 기반으로 결정되고,
    상기 트랜잭션 특성은 데이터 무변화 요청 트랜잭션 또는 데이터 변화 요청 트랜잭션이고,
    상기 데이터 무변화 요청 트랜잭션은 계좌 확인 요청 트랜잭션을 포함하고,
    상기 데이터 변화 요청 트랜잭션은 사용자 계좌 출금 트랜잭션 및/또는 사용자 계좌 입금과 관련된 트랜잭션을 포함하는 것을 특징으로 하는 블록체인 플랫폼.
  6. 제5항에 있어서,
    상기 캐시를 기반으로 상기 요청 트랜잭션에 대한 처리가 불가능한 경우, 상기 요청 트랜잭션의 상기 블록체인 상으로의 전송을 위해 상기 요청 트랜잭션을 수신하도록 구현되는 데이터 스트리밍부를 더 포함하되,
    상기 캐시는 상기 요청 트랜잭션에 관련된 정보를 저장하고,
    상기 요청 트랜잭션은 타임 스탬프를 포함하고,
    상기 데이터 스트리밍부는 상기 요청 트랜잭션과 다른 요청 트랜잭션을 저장하되,
    상기 다른 요청 트랜잭션은 상기 사용자 장치 또는 다른 사용자 장치로부터 상기 요청 트랜잭션의 수신 이전에 수신하여 상기 블록체인 상으로 전송되기 이전의 트랜잭션을 포함하는 것을 특징으로 하는 블록체인 플랫폼.
  7. 제6항에 있어서,
    상기 블록체인에 대한 인보킹을 기반으로 상기 요청 트랜잭션과 상기 다른 요청 트랜잭션을 상기 블록체인 상에 저장하도록 구현되는 렛저 인보커를 더 포함하는 것을 특징으로 하는 블록체인 플랫폼.
  8. 제7항에 있어서,
    상기 요청 트랜잭션과 상기 다른 요청 트랜잭션 각각은 상기 블록체인 상에 저장을 위해 트랜잭션 그룹에 포함되고,
    상기 트랜잭션 그룹은 상기 데이터 무변화 트랜잭션을 포함하는 데이터 무변화 트랜잭션 그룹과 상기 데이터 변화 트랜잭션을 포함하는 데이터 변화 트랜잭션 그룹을 포함하고,
    상기 블록체인 플랫폼은 상기 데이터 무변화 트랜잭션 그룹 및 상기 데이터 변화 트랜잭션 그룹 각각에 대한 검증을 수행하되, 상기 데이터 변화 트랜잭션 그룹에 대해서는 데이터 변화 가능 여부에 대한 추가적인 검증을 수행하고,
    상기 블록체인 플랫폼은 상기 트랜잭션 그룹에 포함되는 복수의 트랜잭션을 상기 블록체인 상에 기록시 상기 복수의 트랜잭션 각각의 타임스탬프를 고려하여 기록하는 것을 특징으로 하는 블록체인 플랫폼.
KR1020190087569A 2019-01-28 2019-07-19 블록체인 상에서 트랜잭션 고속 처리 방법 및 이러한 방법을 사용하는 장치 KR102262618B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020190087569A KR102262618B1 (ko) 2019-07-19 2019-07-19 블록체인 상에서 트랜잭션 고속 처리 방법 및 이러한 방법을 사용하는 장치
PCT/KR2019/017520 WO2020159072A1 (ko) 2019-01-28 2019-12-11 블록체인 상에서 트랜잭션 고속 처리 방법 및 이러한 방법을 사용하는 장치
TW109101809A TW202032480A (zh) 2019-01-28 2020-01-17 區塊鏈之高速交易處理方法及使用該方法之裝置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190087569A KR102262618B1 (ko) 2019-07-19 2019-07-19 블록체인 상에서 트랜잭션 고속 처리 방법 및 이러한 방법을 사용하는 장치

Publications (2)

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

Family

ID=74239281

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190087569A KR102262618B1 (ko) 2019-01-28 2019-07-19 블록체인 상에서 트랜잭션 고속 처리 방법 및 이러한 방법을 사용하는 장치

Country Status (1)

Country Link
KR (1) KR102262618B1 (ko)

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 (ko) 2021-01-28

Similar Documents

Publication Publication Date Title
US10986177B2 (en) Systems and methods of self-forking blockchain protocol
US20210049608A1 (en) Transaction method and system based on centralized clearing and blockchain record keeping
US20210049602A1 (en) Transaction method and system based on centralized settlement and blockchain deposit certificates
EP3438903B1 (en) Hierarchical network system, and node and program used in same
CN112380149B (zh) 基于节点内存的数据处理方法、装置、设备以及介质
CN109493223B (zh) 一种记账方法及装置
EP3709568A1 (en) Deleting user data from a blockchain
CN111966538B (zh) 一种区块链数据的恢复方法和装置
CN109558453B (zh) 一种区块链数据网络化存储和移存的方法
CN111459948B (zh) 一种基于中心化块链式账本的交易完整性验证方法
CN112015822B (zh) 一种区块链数据的删除方法和装置
CN113570459A (zh) 一种区块链数据的删除方法和装置
CN111245897B (zh) 数据处理方法、装置、***、存储介质及处理器
CN115456772A (zh) 一种智能合约的创建方法和装置
CN111444216A (zh) 一种基于中心化块链式账本的数据块删除方法
US20210176077A1 (en) Integrating blockchain with off-chain services
CN111429250A (zh) 一种货押贷款场景中的数据管理方法和装置
KR102262618B1 (ko) 블록체인 상에서 트랜잭션 고속 처리 방법 및 이러한 방법을 사용하는 장치
CN111639998A (zh) 一种基于区块链保障用户押金权益的方法、设备及介质
CN110263060A (zh) 一种erp电子附件管理方法及计算机设备
CN112511651B (zh) 一种基于区块链的服务准入方法及装置
KR102283627B1 (ko) 블록체인을 기반으로 한 대출 서비스 방법 및 이러한 방법을 사용하는 장치
CN115203747A (zh) 数据账户创建方法及装置
CN115203746A (zh) 数据账户的访问授权方法及装置
TW202032480A (zh) 區塊鏈之高速交易處理方法及使用該方法之裝置

Legal Events

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