KR20180113140A - 블록체인 기반의 데이터 처리 시스템 및 그 동작 방법 - Google Patents

블록체인 기반의 데이터 처리 시스템 및 그 동작 방법 Download PDF

Info

Publication number
KR20180113140A
KR20180113140A KR1020170109266A KR20170109266A KR20180113140A KR 20180113140 A KR20180113140 A KR 20180113140A KR 1020170109266 A KR1020170109266 A KR 1020170109266A KR 20170109266 A KR20170109266 A KR 20170109266A KR 20180113140 A KR20180113140 A KR 20180113140A
Authority
KR
South Korea
Prior art keywords
block
block chain
chain
transaction
node
Prior art date
Application number
KR1020170109266A
Other languages
English (en)
Other versions
KR102382127B1 (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 US15/933,680 priority Critical patent/US11095432B2/en
Priority to SG10201802603QA priority patent/SG10201802603QA/en
Priority to CN201810299757.3A priority patent/CN108694665B/zh
Publication of KR20180113140A publication Critical patent/KR20180113140A/ko
Application granted granted Critical
Publication of KR102382127B1 publication Critical patent/KR102382127B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

블록체인 어플리케이션의 성능을 향상시키기 위해 고안된 블록체인 기반의 데이터 처리 시스템이 제공된다. 본 발명의 일 실시예에 따른 블록체인 기반의 데이터 처리 시스템은, 퍼미션 기반 블록체인 네트워크(permission based blockchain network)를 구성하고, 블록체인 데이터를 분산하여 관리하는 복수의 블록체인 노드 및 상기 블록체인 네트워크를 관리하는 블록체인 관리 장치를 포함하되, 상기 복수의 블록체인 노드는, 블록을 생성하고, 상기 생성된 블록을 상기 블록체인 네트워크 상의 다른 블록체인 노드로 전파하는 블록 생성 노드를 포함하고, 상기 블록체인 관리 장치는, 현재 블록 높이에 해당하는 블록을 기준으로, 기 설정된 개수의 블록이 포함된 단위 구간 상에 해당 블록 생성 노드가 생성한 블록이 존재하는 경우, 신규 블록을 생성할 수 없도록 제어하는 블록 생성 순서 제어부를 포함할 수 있다.

Description

블록체인 기반의 데이터 처리 시스템 및 그 동작 방법{System for processing data based on blockchain and Operating method thereof}
본 발명은 블록체인 기반의 데이터 처리 시스템에 관한 것이다. 보다 자세하게는, 고속의 데이터 처리를 통해, 블록체인 기반 어플리케이션의 성능을 향상시킬 수 있는 시스템 및 그 시스템의 동작 방법에 관한 것이다.
블록체인(blockchain)은 지속적으로 증가하는 데이터를 특정 단위의 블록에 기록하고, P2P(peer-to-peer) 네트워크를 구성하는 각각의 노드는 상기 블록을 체인처럼 연결하여 관리하는 데이터 관리 기술 또는 상기 블록이 체인처럼 연결된 데이터 그 자체를 의미하며, 상기 체인처럼 연결된 데이터는 중앙 시스템 없이 각각의 노드에서 분산 원장(distributed ledger) 형태로 운영된다.
블록체인 네트워크를 구성하는 각각의 노드는 도 1에 도시된 구조는 갖는 블록들을 관리한다. 각 블록에는 이전 블록에 대한 해시 값이 기록되며, 상기 해시 값을 통해 이전 블록이 참조될 수 있다. 따라서, 블록이 쌓일수록 블록 내에 기록된 트랜잭션 데이터의 위변조는 어려워지고, 각 블록에 기록된 데이터의 신뢰도는 향상될 수 있다.
블록체인 네트워크를 구성하는 각각의 노드는 동일한 내용의 분산 원장을 유지함으로써 트랜잭션 데이터의 정합성 및 무결성을 유지한다. 각 노드 간 보유한 분산 원장의 내용이 상이할 경우에는 가장 길게 연결된 체인의 내용을 신뢰하게 된다. 이와 같은 이유로 특정 노드가 신규 블록을 다른 노드들보다 지속적으로 먼저 생성하여 가장 긴 체인을 유지한다면 트랜잭션 데이터를 임의로 변조하는 것이 가능하게 되므로, 이를 방지하기 위해 합의 알고리즘(consensus algorithm)이 적용된다.
비트코인 계열의 블록체인은 작업 증명(proof of work; PoW) 방식을 채택하고 있는데, 이는 목표 해시 값이 만족되는 넌스(nonce)를 구하는 연산을 강제함으로써 특정 노드의 블록 생성 독점을 방지하는 방법이다.
그러나, 작업 증명 등의 합의 알고리즘이 이용되는 경우, 다수의 노드에서 동시다발적으로 블록이 생성되더라도 최종적으로 단 하나의 블록만이 블록체인 상의 분산 원장에 포함되므로, 블록체인 기반 시스템의 전체 처리량은 하나의 블록에 담기는 거래의 양으로 제한되는 문제가 있다.
예를 들어, 비트코인의 경우, 평균 10분에 한 개의 블록이 생성되며, 한 블록의 크기는 1MB로 제한되므로, 초당 7건 내외로 처리량 수준이 제한된다.
한국공개특허 제2016-0150278호 (2016.12.29 공개)
본 발명이 해결하고자 하는 기술적 과제는, 고속의 데이터 처리 성능을 제공하는 블록체인 기반 데이터 처리 시스템을 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는, 상기 블록체인 기반 데이터 처리 시스템을 이용하여, 인스턴트 트랜잭션(instant transaction)을 처리하는 방법을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 블록체인 기반의 데이터 처리 시스템은, 퍼미션 기반 블록체인 네트워크(permission based blockchain network)를 구성하고, 블록체인 데이터를 분산하여 관리하는 복수의 블록체인 노드 및 상기 블록체인 네트워크를 관리하는 블록체인 관리 장치를 포함하되, 상기 복수의 블록체인 노드는, 블록을 생성하고, 상기 생성된 블록을 상기 블록체인 네트워크 상의 다른 블록체인 노드로 전파하는 블록 생성 노드를 포함하고, 상기 블록체인 관리 장치는, 현재 블록 높이에 해당하는 블록을 기준으로, 기 설정된 개수의 블록이 포함된 단위 구간 상에 해당 블록 생성 노드가 생성한 블록이 존재하는 경우, 신규 블록을 생성할 수 없도록 제어하는 블록 생성 순서 제어부를 포함할 수 있다.
일 실시예에서, 각각의 블록체인 노드가 상기 퍼미션 기반 블록체인 네트워크에 참여할 때, 제1 퍼미션을 기준으로 상기 각각의 블록체인 노드의 퍼미션에 대한 제1 검증이 수행되고, 상기 각각의 블록체인 노드가 신규 블록을 수신할 때, 제2 퍼미션을 기준으로 상기 신규 블록을 생성한 블록 생성 노드의 퍼미션에 대한 제2 검증이 수행될 수 있다.
일 실시예에서, 상기 블록 생성 순서 제어부는, 0 내지 1 범위의 값을 갖는 제어 파라미터를 설정하여, 상기 블록 생성 노드의 블록 생성을 제어하되, 상기 기 설정된 개수는, 상기 제어 파라미터에 설정된 값 및 상기 블록 생성 노드의 개수를 기초로 결정될 수 있다.
일 실시예에서, 상기 블록체인 관리 장치는, 블록 생성 난이도를 조절하여, 블록 생성 주기를 가변적으로 제어하는 블록 생성 주기 제어부를 더 포함할 수 있다.
일 실시예에서, 상기 블록체인 관리 장치는, 상기 생성된 블록의 크기를 가변적으로 제어하는 블록 크기 제어부를 더 포함할 수 있다.
상술한 기술적 과제를 해결하기 위한 본 발명의 다른 실시예에 따른 블록체인 기반의 데이터 처리 시스템은, 제1 블록체인 네트워크(blockchain network)를 구성하고, 제1 블록체인 데이터를 분산하여 관리하는 복수의 제1 블록체인 노드, 제2 블록체인 네트워크를 구성하고, 제2 블록체인 데이터를 분산하여 관리하는 복수의 제2 블록체인 노드 및 사용자의 전자 지갑 생성 요청에 응답하여, 상기 사용자의 가상 화폐를 보관하는 제1 전자 지갑 및 제2 전자 지갑을 생성하되, 상기 사용자가 보유한 가상 화폐의 잔고는 상기 제1 전자 지갑에 보관된 가상 화폐와 상기 제2 전자 지갑에 보관된 가상 화폐의 합인 것인, 전자 지갑 관리부와 상기 사용자의 트랜잭션 처리 요청에 응답하여, 상기 제1 전자 지갑 또는 상기 제2 전자 지갑 중 적어도 하나의 전자 지갑에 보관된 가상 화폐에 대한 트랜잭션을 처리하는 트랜잭션 처리부를 포함하는 사용자 단말을 포함하되, 상기 제1 전자 지갑에 대한 트랜잭션은 상기 제1 블록체인 네트워크에 기초하여 처리되고, 상기 제2 전자 지갑에 대한 트랜잭션은 상기 제2 블록체인 네트워크에 기초하여 처리될 수 있다.
상술한 기술적 과제를 해결하기 위한 본 발명의 또 다른 실시예에 따른 블록체인 기반의 인스턴트 트랜잭션 처리 방법은, 복수의 블록체인 노드를 포함하는 블록체인 기반의 트랜잭션 처리 시스템에서 수행되는 인스턴트 트랜잭션(instant transaction) 처리 방법에 있어서, 상기 복수의 블록체인 노드 중 제1 블록체인 노드가, 제1 사용자를 송신자로 하고 제2 사용자를 수신자로 하는 처리 대상 트랜잭션의 처리 요청을 수신하는 단계, 상기 처리 대상 트랜잭션의 처리 요청에 응답하여, 상기 제1 블록체인 노드가, 상기 처리 대상 트랜잭션의 유효성을 검증하는 단계, 상기 처리 대상 트랜잭션이 유효한 경우, 상기 제1 블록체인 노드가, 상기 제2 사용자의 단말로 상기 검증된 처리 대상 트랜잭션에 대한 처리 완료를 통지하는 단계, 상기 제1 블록체인 노드가, 상기 검증된 처리 대상 트랜잭션을 상기 복수의 블록체인 노드 중에서 신규 블록을 생성한 블록 생성 노드로 전달하는 단계 및 상기 블록 생성 노드가, 상기 검증된 처리 대상 트랜잭션을 상기 신규 블록에 기록하고, 상기 신규 블록을 블록체인 데이터를 분산 관리하는 복수의 블록 체인 노드로 전파하는 단계를 포함할 수 있다.
상술한 본 발명에 따르면, 퍼미션 기반의 블록체인 네트워크를 이용하고, 블록의 크기 및/또는 생성 주기가 가변적으로 제어될 수 있다. 이에 따라, 블록체인 기반 데이터 처리 시스템 또는 상기 데이터 처리 시스템에 기반한 블록체인 어플리케이션의 응답 속도 및 처리량이 크게 향상될 수 있다.
또한, 계층적으로 구성된 전자 지갑 각각에 대응되는 복수의 블록체인 네트워크를 이용하여, 병렬적인 블록 생성이 수행될 수 있다. 이에 따라, 트랜잭션 처리 또한 병렬적으로 수행될 수 있는 바, 블록체인 기반 데이터 처리 시스템의 응답 속도 및 처리량이 더욱 향상될 수 있다.
또한, 퍼미션 기반 블록체인 네트워크를 기반으로 가상 화폐의 거래 당사자 간에 인스턴트 트랜잭션 서비스가 제공될 수 있다. 이에 따라, 블록체인 어플리케이션 서비스를 이용하는 사용자들의 만족도가 제고될 수 있다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 블록체인 네트워크를 구성하는 각 노드에 의해 유지되는 블록체인 데이터의 구조를 설명하기 위한 도면이다.
도 2는 작업 증명 방식의 합의 알고리즘 및 상기 합의 알고리즘에 따른 성능 저하 문제를 설명하기 위한 도면이다.
도 3은 본 발명의 제1 실시예에 따른 블록체인 기반의 데이터 처리 시스템의 구성도이다.
도 4는 본 발명의 제2 실시예에 따른 블록체인 기반의 데이터 처리 시스템의 구성도이다.
도 5 및 도 6은 본 발명의 제3 실시예에 따른 블록체인 기반의 데이터 처리 시스템을 설명하기 위한 도면이다.
도 7은 블록체인 기반의 데이터 처리 시스템의 일 구성 요소인 블록체인 관리 장치를 나타내는 블록도이다.
도 8은 블록체인 관리 장치의 일 구성 요소인 블록 생성 순서 제어부를 설명하기 위한 도면이다.
도 9는 블록체인 기반의 데이터 처리 시스템의 일 구성 요소인 블록체인 관리 장치의 하드웨어 구성도이다.
도 10은 블록체인 기반의 데이터 처리 시스템의 일 구성 요소인 사용자 단말을 나타내는 블록도이다.
도 11은 본 발명의 다른 실시예에 따른 블록체인 기반의 인스턴트 트랜잭션 처리 방법을 설명하기 위한 도면이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
명세서에서 사용되는 "포함한다 (comprises)" 및/또는 "포함하는 (comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
본 명세서에 대한 설명에 앞서, 본 명세서에서 사용되는 몇몇 용어들에 대하여 명확하게 하기로 한다.
본 명세서에서, 블록체인 데이터란 블록체인 네트워크를 구성하는 각각의 노드가 유지하는 데이터로, 적어도 하나의 블록이 체인 형태로 연결된 데이터를 의미한다. 각 블록에 기록된 데이터가 트랜잭션 데이터인 경우, 상기 블록체인 데이터는 분산 원장을 의미하는 것일 수 있다. 다만, 각 블록에 기록되는 데이터는 어떠한 종류라도 무방하다. 상기 블록체인 데이터의 구조는 도 1을 참조하도록 한다.
본 명세서에서, 블록체인 네트워크란, 블록체인 알고리즘에 따라 동작하는 복수의 노드에 의해 구성되는 P2P 구조의 네트워크를 의미한다.
본 명세서에서, 블록체인 노드란, 블록체인 네트워크를 구성하고 블록체인 알고리즘에 따라 블록체인 데이터를 유지하고 관리하는 주체를 의미한다. 상기 블록체인 노드는 단일 컴퓨팅 장치로 구현될 수 있으나, 가상 머신(virtual machine) 등으로 구현되는 경우, 단일 컴퓨팅 장치에 복수의 노드가 존재할 수도 있다.
본 명세서에서, 블록 생성 노드란, 블록체인 네트워크를 구성하는 블록체인 노드 중 채굴(mining)을 통해 블록을 생성하는 노드를 의미한다.
본 명세서에서, 퍼미션(permission)은 인증(authentication)과 인가(authorization)을 포함하는 포괄적인 개념으로 이해될 수 있다.
본 발명의 몇몇 실시예에 대한 설명에 앞서, 이해의 편의를 제공하기 위해, 도 2를 참조하여 작업 증명 방식의 합의 알고리즘 및 그에 따른 성능 저하 문제를 간략하게 설명하도록 한다. 이하, 블록체인 데이터에 기록되는 데이터의 유형은 다른 언급이 없는 한 트랜잭션 데이터인 것으로 가정한다. 단, 본 발명의 범위가 데이터의 유형에 국한되는 것은 아니다.
도 2를 참조하면, 블록체인 네트워크에 참여하는 각 블록체인 노드는 인증되지 않은 불특정 노드이기 때문에, 블록 생성에 대한 정당성을 입증하여야 한다. 작업 증명 알고리즘은 상기 정당성을 입증하기 위한 합의 알고리즘 중 하나로 구체적인 동작은 다음과 같다. 각각의 블록체인 노드는 무작위로 해시 값을 대입하고, 주어진 목표 해시 값을 만족시키는 넌스를 찾는 과정에서 그에 상응하는 컴퓨팅 비용을 제공하게 되며, 상기 컴퓨팅 비용에 근거하여 해당 블록체인 노드의 정당성이 입증된다.
목표 해시 값을 만족시키는 넌스를 찾았을 때, 블록의 생성이 이루어진다. 예를 들어, 블록체인 노드 D가 상기 넌스 값을 찾았을 때, 블록 3'이 생성되고(①), 블록 3' 의 크기가 허용하는 만큼 트랜잭션 데이터가 기록될 수 있다.
블록체인 네트워크에서, 신규 블록의 생성은 동시다발적으로 발생할 수 있다. 예를 들어, 블록 3'이 블록 3과 동시에 발생하여 도 2에 도시된 바와 같이 블록체인 노드 D가 관리하는 블록체인 데이터에 분기가 형성될 수 있다.
블록체인 데이터 상에 형성된 분기에 따른 문제는 이후 신규 블록이 추가됨에 따라 해소될 수 있다. 예를 들어, 블록체인 노드 E가 블록 4를 생성하고, 블록 4가 네트워크 상의 다른 블록체인 노드에 전파되면(②, ③), 블록체인 노드 D는 길이가 긴 체인을 기준으로 블록체인 데이터를 갱신함으로써, 형성된 분기는 소멸될 수 있다(④).
그러나, 위와 같은 과정에서, 블록 3'은 버려지기 때문에, 블록체인 노드 D의 컴퓨팅 파워는 무의미하게 소모된 것이 되고, 블록 3'에 기록된 트랜잭션 데이터 또한 확정은 지연되게 된다. 즉, 작업 증명 방식을 이용하는 경우, 복수의 블록이 동시다발적으로 생성되더라도 최종적으로 1개의 블록만이 유의미한 블록으로 인정되기 때문에, 시스템의 처리량은 크게 저하된다. 또한, 버려지는 블록에 기록된 트랜잭션의 확정이 지연되기 때문에, 트랜잭션 처리 시간은 증가되고, 블록체인 노드의 컴퓨팅 자원이 무의미하게 낭비되는 문제가 있다.
이하, 본 발명의 몇몇 실시예들에 대하여 첨부된 도면에 따라 상세하게 설명한다.
도 3 내지 도 6은 본 발명의 몇몇 실시예에 따른 블록체인 기반 데이터 처리 시스템을 설명하기 위한 도면이다.
블록체인 기반 데이터 처리 시스템은 블록체인 어플리케이션(e.g. 전자 지갑)에 의해 발생되는 데이터를 고속으로 처리하는 시스템이다. 예를 들어, 상기 데이터 처리 시스템은 전자 지갑이 탑재된 사용자 단말 간에 발생되는 트랜잭션 데이터를 고속으로 처리하는 시스템일 수 있으나, 이에 국한되는 것은 아니다. 다만, 설명의 편의를 위해, 이하 본 발명의 몇몇 실시예에 따른 블록체인 기반 데이터 처리 시스템은 상기 트랜잭션 데이터 처리 시스템인 것으로 가정하여 설명하도록 한다.
먼저, 도 3은 본 발명의 제1 실시예에 따른 블록체인 기반 데이터 처리 시스템의 구성도이다.
제1 실시예에 따른 블록체인 기반 데이터 처리 시스템은 복수의 블록체인 노드로 구성된 블록체인 네트워크(200), 블록체인 관리 장치(100) 및 사용자 단말(300)을 포함하도록 구성될 수 있다. 단, 이는 본 발명의 목적을 달성하기 위한 바람직한 실시예일뿐이며, 필요에 따라 일부 구성 요소가 추가되거나 삭제될 수 있음은 물론이다. 또한, 도 3에 도시된 블록체인 기반의 데이터 처리 시스템의 각각의 구성 요소들은 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 적어도 하나의 구성 요소가 실제 물리적 환경에서는 서로 통합되는 형태로 구현될 수도 있음에 유의한다. 예를 들어, 블록체인 관리 장치(100) 및 또는 사용자 단말(300)은 블록체인 네트워크(200)를 구성하는 블록체인 노드 중 하나로 구현될 수도 있다. 이하, 본 시스템의 구성 요소에 대하여 설명하도록 한다.
상기 제1 실시예에서, 블록체인 네트워크(200)는 복수의 블록체인 노드로 구성된 P2P 구조의 네트워크이다. 블록체인 네트워크(200)를 구성하는 블록체인 노드는 블록체인 알고리즘에 기초하여 블록 생성, 전파, 검증, 기록 등의 동작을 수행한다. 또한, 각각의 블록체인 노드는 동일한 블록체인 데이터를 유지한다.
본 발명의 실시예에 따르면, 블록체인 네트워크(200)는 퍼미션(permission) 기반 블록체인 네트워크일 수 있다. 즉, 블록체인 네트워크(200)는 허가된 블록체인 노드만이 참여하는 네트워크일 수 있다. 여기서, 상기 퍼미션 기반 블록체인 네트워크는 당해 기술 분야에서 사설 블록체인 네트워크(private blockchain network) 등의 용어와 혼용되어 사용될 수 있으나, 동일한 의미를 지칭할 수 있다. 본 실시예에 따르면, 불특정 노드의 참여가 배제되기 때문에, 블록 생성에 소요되는 과도한 작업 증명이 요구될 필요가 없다. 따라서, 불필요한 컴퓨팅 자원 및 시간 낭비가 최소화될 수 있고, 이에 따라 블록체인 네트워크를 이용하는 전체 시스템 성능이 향상될 수 있다.
본 발명의 실시예에 따르면, 퍼미션 기반으로 블록체인 네트워크를 구성하기 위해 블록체인 어플리케이션 서비스의 사용자 영역, 블록체인 노드 영역 및 블록 생성 노드 영역 각각에 대하여 퍼미션 검증이 수행될 수 있다. 이하, 각각의 영역에서 수행되는 퍼미션 검증 방법에 대하여 간략하게 설명한다.
블록체인 어플리케이션 서비스의 사용자 영역의 경우, 서비스 사용자에 대한 인증 및/또는 권한 관리가 수행될 수 있다. 예를 들어, API 레벨에서 ACL(access control list)을 통해 접근 제어가 수행되거나, 트랜잭션 요청에 이용되는 사용자의 전자 서명을 이용하여 해당 사용자에 대한 퍼미션 검증이 수행될 수 있다.
블록체인 노드 영역의 경우, 각 블록체인 노드가 블록체인 네트워크 참여하기 위해 기동하는 시점에 각 노드에 기 저장된 퍼미션 정보(e.g. 환경 설정 파일에 기록된 퍼미션 정보)를 이용하여 검증이 수행될 수 있다. 여기서, 상기 퍼미션 정보는 실시예에 따라 블록체인 관리 장치(100)에 의해 제어되거나 주기적으로 갱신되는 정보일 수 있다. 또는, 각 블록체인 노드가 다른 블록체인 노드가 P2P 통신을 셋업하는 단계에서 노드 간 상호 퍼미션 검증이 수행될 수도 있다. 이때, 상호 퍼미션 검증은 예를 들어 블록체인 데이터 상에 저장된 퍼미션 정보(e.g. 허가된 블록체인 노드 정보가 포함된 화이트 리스트 등)를 이용하여 수행될 수 있다. 상기 블록체인 데이터 상에 퍼미션 정보가 저장되는 경우, 퍼미션 정보의 위변조가 예방되는 효과가 있을 수 있다. 상기 퍼미션 정보는 예를 들어 블록 체인 관리 장치(100)에 의해 설정되는 정보일 수 있다.
블록 생성 노드 영역의 경우, 신규 블록에 대한 퍼미션 검증이 수행될 수 있다. 예를 들어, 각 블록체인 노드는 퍼미션이 검증된 블록 생성 노드가 생성한 신규 블록만을 블록체인 데이터에 추가할 수 있다. 이때, 상기 퍼미션의 검증은 상기 블록체인 노드 영역에서 설명한 바와 동일하게 수행될 수 있다. 또는, 블록 생성 노드가 신규 블록 생성 시 상기 신규 블록에 자신의 전자 서명을 기록하도록 강제하고, 다른 블록체인 노드는 상기 전자 서명을 검증함으로써 퍼미션 검증이 수행될 수도 있다.
본 발명의 실시예에 따르면, 블록 생성 노드의 선의 여부가 블록체인 네트워크의 신뢰성에 큰 영향을 미치므로, 블록체인 노드의 퍼미션 검증 기준인 제1 퍼미션보다 블록 생성 노드의 퍼미션 검증 기준인 제2 퍼미션이 더 높은 퍼미션으로 설정될 수 있다.
상기 제1 실시예에서, 블록체인 관리 장치(100)는 블록체인 네트워크를 구성하는 각각의 블록체인 노드의 동작을 제어 또는 관리하는 컴퓨팅 장치이다. 여기서, 상기 컴퓨팅 장치는, 노트북, 데스크톱(desktop), 랩탑(laptop) 등이 될 수 있으나, 이에 국한되는 것은 아니며 연산 수단 및 통신 수단이 구비된 모든 종류의 장치를 포함할 수 있다.
본 발명의 실시예에 따르면, 블록체인 관리 장치(100)는 블록체인 기반 데이터 처리 시스템의 처리량을 향상시키기 위해 블록 크기, 블록 생성 주기 등을 가변적으로 제어할 수 있다. 예를 들어, 블록체인 관리 장치(100)는 각 블록에 기록되는 트랜잭션의 개수를 늘리기 위해 블록의 크기를 더 큰 값으로 설정할 수 있다. 다른 예를 들어, 블록체인 관리 장치(100)는 블록 생성 속도를 빠르게 하기 위해, 블록 생성 주기가 더 작은 값이 되도록 제어할 수 있다. 이에 대한 설명은 도 7을 참조하여 후술하도록 한다.
또한, 블록체인 관리 장치(100)는 각 블록 생성 노드가 공평하게 블록을 생성할 수 있도록 블록 생성 순서를 제어할 수 있다. 이에 대한 설명은 도 7 및 도 8을 참조하여 후술하도록 한다.
또한, 블록체인 관리 장치(100)는 블록체인 데이터 상의 분기 발생 여부, 각 블록체인 노드의 상태, 블록체인 네트워크 상에 전파되는 신규 블록 등의 블록체인 네트워크 관리에 이용되는 각종 정보를 수집할 수 있다. 예를 들어, 블록체인 관리 장치(100)는 블록체인 네트워크를 구성하는 블록체인 노드 중 하나인 모니터링 노드로부터 상기 각종 정보를 수집할 수 있다. 상기 모니터링 노드는 블록체인 네트워크 상에서 각 블록체인 노드의 동작을 모니터링하는 특수한 유형의 노드로 이해될 수 있다. 모니터링 노드는 예를 들어 블록체인 네트워크 상에서 주고 받는 각종 정보를 인터셉트(intercept)하여 블록체인 관리 장치(100)로 전달할 수 있으나, 모니터링 노드의 동작 방식은 어떠한 방식이 되더라도 무방하다.
상기 제1 실시예에서, 사용자 단말(300)은 블록체인 어플리케이션 서비스를 제공받는 사용자가 이용하는 단말로, 전자 지갑과 같은 블록체인 어플리케이션이 탑재된 컴퓨팅 장치이다. 여기서, 상기 컴퓨팅 장치는 노트북, 데스크톱(desktop), 랩탑(laptop), 스마트폰(smartphone) 등이 될 수 있으나, 이에 국한되는 것은 아니며 연산 수단 및 통신 수단이 구비된 모든 종류의 장치를 포함할 수 있다.
사용자는 사용자 단말(300)에 탑재된 전자 지갑을 이용하여 다른 사용자와 가상 화폐를 거래할 수 있고, 사용자 단말(300)은 사용자의 가상 화폐 거래 요청에 의해 발생된 트랜잭션 데이터를 블록체인 네트워크(200)를 통해 처리할 수 있다.
본 발명의 실시예에 따르면, 퍼미션 기반으로 블록체인 네트워크(200)의 신뢰성이 담보됨에 따라, 사용자 단말(300) 간에 인스턴트 트랜잭션(instant transaction)이 수행될 수 있다. 예를 들어, 제1 사용자 단말의 전자 지갑으로부터 제2 사용자 단말의 전자 지갑으로 가상 화폐를 송금하는 트랜잭션 데이터가 발생된 경우, 상기 트랜잭션 데이터가 신규 블록에 기록되어 전파되기 전에, 트랜잭션 처리가 완료되어 가상 화폐 송금 처리가 완료될 수 있다. 본 실시예에 따르면, 트랜잭션 처리에 대한 응답 속도가 향상되어, 블록체인 어플리케이션 서비스를 이용하는 사용자의 만족도가 제고될 수 있다. 본 실시예에 대한 자세한 설명은 도 11을 참조하여 후술하도록 한다.
본 발명의 몇몇 실시예에 따른 블록체인 기반 데이터 처리 시스템에서, 각각의 구성 요소는 네트워크를 통해 통신할 수 있다. 여기서, 상기 네트워크는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 이동 통신망(mobile radio communication network), Wibro(Wireless Broadband Internet) 등과 같은 모든 종류의 유/무선 네트워크로 구현될 수 있다.
지금까지 도 3을 참조하여 본 발명의 제1 실시예에 따른 블록체인 기반의 데이터 처리 시스템에 대하여 설명하였다. 다음으로, 도 4를 참조하여 본 발명의 제2 실시예에 따른 블록체인 기반의 데이터 처리 시스템에 대하여 설명하도록 한다.
도 4는 본 발명의 제2 실시예에 따른 블록체인 기반 데이터 처리 시스템의 구성도이다.
도 4를 참조하면, 상기 제2 실시예에 따른 블록체인 기반 데이터 처리 시스템은 외부의 분산 스토리지 시스템(400)을 더 포함하도록 구성될 수 있다. 도 4에서, 분산 스토리지 시스템(400)은 복수의 스토리지 노드(410, 430 등)을 포함하고, 샤딩(sharding) 기법을 이용한 분산 데이터베이스로 구현된 것을 예로 도시하였으나, 어떠한 방식으로 구현되더라도 무방하다.
상기 제2 실시예에서, 블록체인 네트워크를 구성하는 적어도 하나의 블록체인 노드는 분산 스토리지 시스템(400)에 블록체인 데이터를 보관할 수 있다. 도 4에는 블록체인 노드 A 내지 노드 C(210 내지 230)의 블록체인 데이터가 분산 스토리지 시스템(400)에 보관된 것이 예로써 도시되었다. 본 실시예에 따르면, 각각의 블록체인 노드가 겪을 수 있는 물리적 공간 제약 문제가 해소될 수 있다.
또한, 상기 제2 실시예에 따르면, 블록체인 데이터가 파일 시스템 기반으로 각 블록체인 노드에 저장되는 것이 아니라, 분산 스토리지 시스템(400)에 구축된 데이터베이스에 분산 저장됨으로써 시스템의 전반적인 데이터 처리 성능이 향상될 수 있다. 예를 들어, 데이터베이스가 제공하는 강력한 인덱스 기능을 활용함으로써, 데이터 입출력 속도가 향상될 수 있고, 이에 따라 시스템 성능이 향상될 수 있다. 데이터베이스의 인덱스는 예를 들어 전자 지갑 별 잔고(e.g. UTXO)에 바로 접근할 수 있도록 구축될 수 있다. 이외에도, 시스템의 데이터 접근 패턴에 따라 다양한 방식으로 인덱스가 구축될 수 있다.
지금까지, 도 4를 참조하여, 본 발명의 제2 실시예에 따른 블록체인 기반 데이터 처리 시스템에 대하여 설명하였다. 다음으로, 도 5 및 도 6을 참조하여, 본 발명의 제3 실시예에 따른 블록체인 기반 데이터 처리 시스템에 대하여 설명하도록 한다.
도 5는 본 발명의 제3 실시예에 따른 블록체인 기반 데이터 처리 시스템의 구성도이다. 설명의 편의를 위해, 블록체인 관리 장치(100)의 도시는 생략되었다.
도 5를 참조하면, 상기 제3 실시예에 따른 블록체인 기반 데이터 처리 시스템에서, 블록체인 네트워크(200)는 제1 내지 제n 블록체인 네트워크(200a 내지 200n)으로 분할될 수 있다. 분할된 복수의 블록체인 네트워크(200a 내지 200n)를 활용함으로써, 블록 생성이 병렬로 처리될 수 있고, 이에 따라 시스템 전반의 처리량이 크게 증대될 수 있다.
구체적으로 살펴보면, 사용자 단말(300)에 탑재된 전자 지갑(310)은 내부적으로 통합 전자 지갑(310)과 제1 내지 제n 전자 지갑(310a 내지 310n)으로 구성될 수 있다. 이에 따라, 사용자가 보유한 가상 화폐의 총 잔고는 제1 내지 제n 전자 지갑에 보관된 가상 화폐의 합으로 결정될 수 있다. 또한, 제1 내지 제n 전자 지갑(310a 내지 310n)은 각각 제1 내지 제n 블록체인 네트워크(200a 내지 200n)와 연동되어 병렬적으로 트랜잭션 처리가 수행될 수 있다. 따라서, 트랜잭션 데이터 처리량이 크게 향상될 수 있다.
본 발명의 실시예에 따르면, 도 6에 도시된 바와 같이, 제1 내지 제n 전자 지갑(310a 내지 310n)은 동일한 공개 키(311)에 기반할 수 있다. 본 실시예에 따르면, 하나의 공개 키(311)를 이용하여 각 블록체인 네트워크(200a 내지 200n)에 기록된 트랜잭션 데이터가 조회될 수 있다는 장점이 있고, 트랜잭션 데이터 관리의 용이성이 증대될 수 있다.
또한, 본 발명의 실시예에 따르면, 사용자에 의해 요청된 트랜잭션은 소정의 기준에 따라 제1 내지 제n 전자 지갑(310a 내지 310n) 중 적어도 하나의 전자 지갑에서 처리될 수 있다. 상기 소정의 기준은 트랜잭션 처리의 병렬성이 떨어지는 문제를 해결하기 위해 다양한 방식으로 설정될 수 있다. 즉, 특정 전자 지갑의 가상 화폐 잔고가 먼저 소진되면, 상기 특정 전자 지갑과 연동된 블록체인 네트워크에서 트랜잭션 처리가 수행될 수 없어, 트랜잭션 처리의 병렬성이 떨어지므로, 이를 해결하기 위해 다양한 방식으로 설정될 수 있다.
일 예로, 상기 트랜잭션은 가상 화폐의 잔고가 가장 많은 전자 지갑에서 처리될 수 있다. 다른 예로, 상기 트랜잭션은 복수의 트랜잭션으로 분할되어 각 전자 지갑(310a 내지 310n)에 보관된 가상 화폐가 균등하게 차감되도록 수행될 수 있다. 실시예에 따라, 각 전자 지갑(310a 내지 310n)에 보관된 가상 화폐의 잔고 차이가 임계 값 이상이 되면, 잔고가 균등해지도록 조정될 수도 있다.
본 발명의 실시예에 따르면, 특정 블록체인 네트워크(200a 내지 200n)가 기 설정된 조건(e.g. 스토리지 용량 한계 도달)을 만족하면, 블록체인 데이터를 외부 스토리지로 이관하고, 새로운 블록체인 데이터가 생성될 수 있다. 예를 들어, 제1 블록체인 네트워크(200a)가 기 설정된 조건을 만족하면, 제1 블록체인 데이터에 기록된 복수의 트랜잭션 데이터 중 각 사용자가 보유한 가상 화폐 잔고 데이터를 기초로 제네시스 블록(genesis block)이 생성되고, 상기 제1 블록체인 데이터는 외부의 저장소로 이관될 수 있다. 이후, 신규 트랜잭션은 상기 제네시스 블록에 따라 생성됨으로써 새로운 제2 블록체인 데이터가 생성되고, 기존 트랜잭션 조회는 상기 외부의 저장소에 보관된 상기 제1 블록체인 데이터를 통해 수행될 수 있다. 본 실시예에 따르면, 지속적으로 증가되는 블록체인 데이터가 효과적으로 관리될 수 있다.
지금까지, 도 5 및 도 6을 참조하여, 본 발명의 제3 실시예에 따른 블록체인 기반 데이터 처리 시스템에 대하여 설명하였다. 이하에서는, 도 7 내지 도 10을 참조하여, 본 발명의 몇몇 실시예에 따른 블록체인 기반 데이터 처리 시스템의 구성 요소인 블록체인 관리 장치(100) 및 사용자 단말(300)에 대하여 부연 설명하도록 한다.
먼저, 본 발명의 실시예에 따른 블록체인 관리 장치(100)의 구성 및 동작에 대하여 도 7 내지 도 9를 참조하여 설명한다.
도 7은 블록체인 관리 장치(100)를 나타내는 블록도이다.
도 7을 참조하면, 블록체인 관리 장치(100)는 블록 생성 주기 제어부(110), 블록 생성 순서 제어부(130) 및 블록 크기 제어부(150)를 포함할 수 있다. 다만, 도 7에는 본 발명의 실시예와 관련 있는 구성 요소들만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 7에 도시된 구성 요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다. 또한, 도 7에 도시된 블록체인 관리 장치(100)의 각각의 구성 요소들은 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 적어도 하나의 구성 요소가 실제 물리적 환경에서는 서로 통합되는 형태로 구현될 수도 있음에 유의한다.
각 구성 요소를 살펴보면, 블록 생성 주기 제어부(110)는 블록체인 네트워크를 구성하는 블록체인 노드의 블록 생성 주기를 가변적으로 제어한다. 블록 생성을 위해 작업 증명 알고리즘을 이용하는 경우, 블록 생성에 소요되는 평균 시간(average time)은 하기의 수학식 1과 같이 계산될 수 있다. 하기의 수학식 1에서, 난이도(difficulty)는 목표 값에 부합하는 넌스 값을 찾기 위한 난이도를 가리키며, 해시레이트(hash rate)는 초당 수행되는 해시 연산의 수로 블록 생성 노드의 컴퓨팅 파워를 가리키는 것으로 이해될 수 있다.
Figure pat00001
상기 수학식 1이 참조하여, 블록 생성 주기 제어부(110)는 블록 생성의 난이도를 높이거나 낮춤으로써 블록 생성 주기를 제어할 수 있다.
본 발명의 실시예에 따르면, 블록 생성 주기 제어부(110)는 소정의 기간 동안 블록체인 데이터 상의 분기 발생 빈도를 기초로 블록 생성 주기를 가변적으로 제어할 수 있다. 예를 들어, 소정의 기간 동안의 분기 발생 빈도가 기 설정된 임계 값을 초과하는 경우, 블록 생성 주기 제어부(110)는 블록 생성 난이도를 높임으로써 블록 생성 주기가 길어지도록 제어할 수 있다. 여기서, 상기 분기 발생 빈도는, 블록체인 네트워크를 구성하는 특수 노드인 모니터링 노드로부터 수신된 분기 발생 여부에 대한 정보를 기초로 산출될 수 있다. 또한, 도 7에는 도시되어 있지 않으나, 블록체인 관리 장치(100)는 상기 분기 발생 여부에 대한 정보를 상기 모니터링 노드로부터 수신하는 모니터링부(미도시)를 더 포함할 수 있다.
다음으로, 블록 생성 순서 제어부(130)는 블록 생성 노드 간에 공평하게 블록이 생성될 수 있도록 제어한다. 구체적으로, 블록 생성 순서 제어부(130)는 현재 블록 높이에 해당하는 블록을 기준으로, 기 설정된 개수의 블록이 포함된 단위 구간 상에 해당 블록 생성 노드가 생성한 블록이 존재하는 경우, 신규 블록을 생성할 수 없도록 제어한다. 이해의 편의를 제공하기 위해, 블록 생성 순서 제어부(130)에 대하여 도 8을 참조하여 부연 설명하도록 한다.
도 8은 상기 기 설정된 개수가 "3"인 경우, 블록 생성이 제어되는 예를 도시하고 있다.
도 8을 참조하면, 블록 생성 노드 A(201)의 블록체인 데이터에서 현재 블록 높이에 해당하는 블록은 블록 5이고, 상기 블록 5를 기준으로 단위 구간 상에 포함된 블록들은 블록 3 내지 블록 5인 것을 알 수 있다. 그러면, 3개의 블록이 포함된 단위 구간 상에 블록 생성 노드 A(201)가 생성한 블록은 존재하지 않으므로, 블록 생성 노드 A(201)에 의해 생성된 신규 블록 6은 블록체인 데이터 상에 추가될 수 있다.
이와 반대로, 블록 생성 노드 B(203)의 경우를 살펴보면, 단위 구간 상에 블록 생성 노드 B(203)이 생성한 블록 3이 존재하므로, 블록 생성 노드 B(203)에 의해 생성된 신규 블록 6은 블록체인 데이터 상에 추가될 수 없고 거부된다.
본 발명의 실시예에 따르면, 단위 구간에 포함된 블록의 개수는 블록 생성 노드의 개수가 증가할수록 큰 값으로 갱신될 수 있다. 본 발명의 일 구현예에 따르면, 0 내지 1 범위의 값을 갖는 소정의 제어 파라미터를 이용하여 본 실시예가 구현될 수 있다. 구체적으로, 블록 생성 순서 제어부(130)가 상기 제어 파라미터를 설정하면, 상기 단위 구간에 포함된 블록의 개수는 블록 생성 노드의 수에서 1을 제한 값과 상기 제어 파라미터의 곱의 내림 또는 올림 값으로 결정될 수 있다. 본 구현예에 따르면, 상기 제어 파라미터의 값이 1로 설정되면, 모든 블록 생성 노드가 순차적으로 1개의 블록을 생성하도록 제어될 수 있으며, 상기 제어 파라미터의 값이 0으로 설정되면, 블록 생성 순서에 대한 제어가 수행되지 않으므로, 각 블록 생성 노드는 연속적으로 블록을 생성할 수 있다. 참고로, 상기 제어 파라미터의 값이 1로 설정되고, 특정 블록 생성 노드에 장애가 발생하는 경우, 블록 생성이 무한 대기 상태에 빠질 수 있으므로, 상기 제어 파라미터의 값은 해당 시스템의 규모 및 자원 상황, 블록 생성 노드의 개수 등을 종합적으로 고려하여 설정되는 것이 바람직할 수 있다.
또한, 본 발명의 실시예에 따르면, 상기 제어 파라미터는 블록 생성 노드의 개수에 따라 변동되는 변동 값일 수 있다. 예를 들어, 블록 생성 노드의 개수가 많아질수록 상기 제어 파라미터의 값은 작은 값으로 갱신될 수 있다.
또한, 본 발명의 실시예에 따르면, 블록 생성 순서 제어부(130)는 블록 생성 노드의 개수가 기 설정된 임계 값 이하인 경우에 한하여 블록 생성 순서를 제어할 수도 있다. 예를 들어, 전술한 구현예에서, 블록 생성 노드의 개수가 임계 값을 초과하면 제어 파라미터를 0으로 설정할 수 있다. 블록 생성 노드의 개수가 충분히 많은 경우에는 블록 생성 순서를 제어하지 않더라도 공평하게 블록을 생성할 확률이 높기 때문이다.
또한, 본 발명의 실시예에 따르면, 블록 생성 순서 제어부(130)는 블록 생성 노드 간의 컴퓨팅 성능 차이를 기초로 블록 생성 순서를 제어할 수도 있다. 예를 들어, 블록 생성 노드의 컴퓨팅 성능이 비슷한 경우에는, 단위 구간에 포함된 블록의 개수 또는 제어 파라미터를 큰 값으로 설정하거나, 블록 생성 순서에 대한 제어를 수행하지 않을 수 있다. 컴퓨팅 성능이 비슷하다면, 별도의 제어가 없더라도 공평하게 블록이 생성될 확률이 높기 때문이다.
다시 도 7을 참조하면, 블록 크기 제어부(150)는 블록의 크기를 가변적으로 제어한다. 구체적으로, 블록 크기 제어부(150)는 현재 시점 이후로 생성된 신규 블록의 크기를 가변적으로 제어할 수 있다. 블록 크기 제어부(150)가 블록의 크기를 큰 값으로 설정하는 경우, 각 블록에 기록되는 트랜잭션 데이터의 개수가 증가되므로 블록체인 기반의 데이터 처리 시스템의 처리량이 향상될 수 있다.
본 발명의 실시예에 따르면, 블록 크기 제어부(150)는 네트워크의 가용 대역폭에 기초하여 블록 크기를 가변적으로 설정할 수 있다. 예를 들어, 블록 크기 제어부(150)는 상기 가용 대역폭이 임계 값 이하인 경우, 블록 크기를 작은 값으로 설정할 수 있다. 가용 대역폭이 충분하지 않은 경우, 블록 크기를 크게 하면, 블록 전파에 따른 전송 지연으로 전체적인 시스템의 성능이 저하될 수 있기 때문이다.
지금까지 설명한, 도 7의 각 구성 요소는 소프트웨어(Software) 또는, FPGA(Field Programmable Gate Array)나 ASIC(Application-Specific Integrated Circuit)과 같은 하드웨어(Hardware)를 의미할 수 있다. 그렇지만, 상기 구성 요소들은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 어드레싱(Addressing)할 수 있는 저장 매체에 있도록 구성될 수도 있고, 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 상기 구성 요소들 안에서 제공되는 기능은 더 세분화된 구성 요소에 의하여 구현될 수 있으며, 복수의 구성 요소들을 합하여 특정한 기능을 수행하는 하나의 구성 요소로 구현될 수도 있다.
다음으로, 도 8을 참조하여, 블록체인 기반 데이터 처리 시스템의 일 구성 요소인 블록체인 관리 장치(100))의 하드웨어 구성도에 대하여 설명하도록 한다.
도 8을 참조하면, 블록체인 관리 장치(100)는 하나 이상의 프로세서(101), 버스(105), 네트워크 인터페이스(107), 프로세서(101)에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리(103)와, 블록체인 기반의 데이터 처리 소프트웨어(109a)를 저장하는 스토리지(109)를 포함할 수 있다. 다만, 도 8에는 본 발명의 실시예와 관련 있는 구성 요소들만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 8에 도시된 구성 요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.
프로세서(101)는 블록체인 관리 장치(100)의 각 구성의 전반적인 동작을 제어한다. 프로세서(101)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서를 포함하여 구성될 수 있다. 또한, 프로세서(101)는 본 발명의 실시예들에 따른 방법을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 블록체인 관리 장치(100)는 하나 이상의 프로세서를 구비할 수 있다.
메모리(103)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(103)는 본 발명의 실시예들에 따른 인스턴트 트랜잭션 처리 방법을 실행하기 위하여 스토리지(109)로부터 하나 이상의 프로그램(109a)을 로드할 수 있다. 도 8에서 메모리(103)의 예시로 RAM이 도시되었다.
버스(105)는 블록체인 관리 장치(100)의 구성 요소 간 통신 기능을 제공한다. 버스(105)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.
네트워크 인터페이스(107)는 블록체인 관리 장치(100)의 유무선 인터넷 통신을 지원한다. 또한, 네트워크 인터페이스(107)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 네트워크 인터페이스(107)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.
스토리지(109)는 상기 하나 이상의 프로그램(109a)을 비임시적으로 저장할 수 있다. 도 8에서 상기 하나 이상의 프로그램(109a)의 예시로 블록체인 기반의 데이터 처리 소프트웨어(109a)가 도시되었다.
스토리지(109)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
블록체인 관리 소프트웨어(109a)는 본 발명의 실시예에 따라 블록체인 기반의 데이터 처리 시스템의 동작을 제어 및/또는 관리할 수 있다.
구체적으로, 블록체인 기반의 데이터 처리 소프트웨어(109a)는 메모리(103)에 로드되어, 하나 이상의 프로세서(101)에 의해, 블록 생성 주기를 제어하는 일련의 인스트럭션(instruction), 블록 생성 순서를 제어하는 일련의 인스트럭션, 블록 크기를 제어하는 일련의 인스트럭션 등을 실행할 수 있다.
지금까지, 도 7 내지 도 9을 참조하여, 본 발명의 실시예에 따른 블록체인 기반 데이터 처리 시스템의 일 구성 요소인 블록체인 관리 장치(100)에 대하여 설명하였다. 다음으로, 도 10을 참조하여, 상기 블록체인 기반 데이터 처리 시스템의 다른 일 구성 요소인 사용자 단말(300)에 대하여 설명하도록 한다.
도 10은 사용자 단말(300)을 나타내는 블록도이다.
도 10을 참조하면, 사용자 단말(300)은 전자 지갑(310), 전자 지갑 관리부(330) 및 트랜잭션 처리부(350)를 포함할 수 있다. 다만, 도 10에는 본 발명의 실시예와 관련 있는 구성 요소들만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 10에 도시된 구성 요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다. 또한, 도 10에 도시된 블록체인 관리 장치(100)의 각각의 구성 요소들은 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 적어도 하나의 구성 요소가 실제 물리적 환경에서는 서로 통합되는 형태로 구현될 수도 있음에 유의한다.
각 구성 요소에 대하여 살펴보면, 전자 지갑(310)은 사용자의 가상 화폐를 관리한다. 본 발명의 실시예에 따르면, 전자 지갑(310)은 계층적인 구조로 구성될 수 있다. 이에 대한 설명은 도 5를 참조하여 전술한 바 더 이상의 설명은 생략하도록 한다.
전자 지갑 관리부(330)는 사용자의 요청에 응답하여 전자 지갑(310)을 생성하거나 관리한다. 구체적으로, 전자 지갑 관리부(330)는 사용자의 전자 지갑 생성 요청에 응답하여, 도 5에 도시된 계층적 구조의 전자 지갑(310)을 생성할 수 있다.
트랜잭션 처리부(350)는 사용자의 트랜잭션 처리 요청에 응답하여 전자 지갑(310)에 보관된 가상 화폐에 대한 트랜잭션을 처리할 수 있다. 구체적으로, 트랜잭션 처리부(350)는 전자 지갑(310)과 연동된 블록체인 네트워크를 통해서 가상 화폐를 송금하는 사용자의 트랜잭션을 처리할 수 있다.
지금까지 설명한, 도 10의 각 구성 요소는 소프트웨어(Software) 또는, FPGA(Field Programmable Gate Array)나 ASIC(Application-Specific Integrated Circuit)과 같은 하드웨어(Hardware)를 의미할 수 있다. 그렇지만, 상기 구성 요소들은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 어드레싱(Addressing)할 수 있는 저장 매체에 있도록 구성될 수도 있고, 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 상기 구성 요소들 안에서 제공되는 기능은 더 세분화된 구성 요소에 의하여 구현될 수 있으며, 복수의 구성 요소들을 합하여 특정한 기능을 수행하는 하나의 구성 요소로 구현될 수도 있다.
지금까지, 도 10을 참조하여, 본 발명의 실시예에 따른 블록체인 기반 데이터 처리 시스템의 일 구성 요소인 사용자 단말(300)에 대하여 설명하였다. 다음으로, 도 11을 참조하여, 본 발명의 몇몇 실시예에 따른 블록체인 기반 데이터 처리 시스템에서 수행될 수 있는 인스턴트 트랜잭션 처리 방법에 대하여 설명하도록 한다.
이하에서 후술할, 본 발명의 실시예에 따른 인스턴트 트랜잭션 처리 방법의 각 단계는, 컴퓨팅 장치에 의해 수행될 수 있다. 예를 들어, 상기 컴퓨팅 장치는 블록체인 기반 데이터 처리 시스템을 구성하는 적어도 하나의 컴퓨팅 장치일 수 있다. 다만, 설명의 편의를 위해, 상기 인스턴트 트랜잭션 처리 방법에 포함되는 각 단계의 동작 주체는 그 기재가 생략될 수도 있다. 또한, 인스턴트 트랜잭션 처리 방법의 각 단계는 상기 적어도 하나의 컴퓨팅 장치에 탑재된 프로세서에 의해 수행되는 오퍼레이션으로 구현될 수 있다.
도 11은 본 발명의 실시예에 따른 블록체인 기반의 인스턴트 트랜잭션 처리 방법을 설명하기 위한 도면이다. 구체적으로, 도 11은 송신자인 제1 사용자가 수신자인 제2 사용자에게 가상 화폐(e.g. 포인트)를 송금하는 트랜잭션의 처리 과정을 도시하고 있다.
도 11을 참조하면, 복수의 블록체인 노드 중 제1 블록체인 노드가, 제1 사용자를 송신자로 하고 제2 사용자를 수신자로 하는 처리 대상 트랜잭션의 처리 요청을 수신한다(S10). 여기서, 상기 제1 블록체인 노드는 사용자 단말일 수 있으나, 사용자 단말이 블록체인 네트워크를 구성하지 않는 경우에는 상기 사용자 단말로부터 트랜잭션 처리 요청을 수신하는 블록체인 노드일 수 있다.
다음으로, 상기 처리 대상 트랜잭션의 처리 요청에 응답하여, 상기 제1 블록체인 노드가, 상기 처리 대상 트랜잭션의 유효성을 검증한다(S20). 예를 들어, 송신자의 퍼미션 검증, 잔고 검증 등을 통해 상기 처리 대상 트랜잭션의 유효성이 검증될 수 있다. 본 단계(S20)에서 검증이 성공되면, 상기 처리 대상 트랜잭션은 임시 풀(temporary pool)에 기록될 수 있다. 상기 임시 풀은 블록에 트랜잭션 데이터가 기록되기 전에 임시로 트랜잭션 데이터가 보관되는 장소로 이해될 수 있다. 이는, 당해 기술 분야의 통상의 기술자에게 자명한 사항인 바 더 이상의 설명은 생략하도록 한다.
다음으로, 상기 처리 대상 트랜잭션이 유효한 경우, 상기 제1 블록체인 노드는, 수신자인 제2 사용자의 단말로 상기 검증된 처리 대상 트랜잭션에 대한 처리 완료를 바로 통지한다(S30). 그러면, 상기 제2 사용자의 단말에서 트랜잭션이 즉시 처리되어 가상 화폐 송금 처리가 완료될 수 있다.
다음으로, 상기 제1 블록체인 노드가, 상기 검증된 처리 대상 트랜잭션을 상기 복수의 블록체인 노드 중에서 신규 블록을 생성한 블록 생성 노드로 전달하고(S40), 상기 블록 생성 노드가 상기 검증된 처리 대상 트랜잭션을 상기 신규 블록에 기록하며(S50), 상기 신규 블록을 다른 블록 체인 노드로 전파한다(S60). 최종적으로, 상기 처리 대상 트랜잭션에 대한 데이터가 블록에 기록되고 블록체인 데이터 상에 추가되면, 특정 블록 체인 노드가 상기 제2 사용자의 단말로 처리 대상 트랜잭션의 확정을 통지한다(S70).
상술한 인스턴트 트랜잭션 처리 방법에 따르면, 처리 대상 트랜잭션이 블록체인 데이터 상의 특정 블록에 기록되기 전에 거래 당사자의 단말에서 트랜잭션이 즉시 처리될 수 있다. 이에 따라, 트랜잭션 처리의 응답 속도가 크게 향상될 수 있고, 블록체인 기반 서비스 사용자의 만족도가 제고될 수 있다. 본 실시예에서, 인스턴트 트랜잭션 처리의 신뢰성은 퍼미션 기반 블록체인 네트워크로 구현된 블록체인 네트워크(200)에 의해 담보되는 것으로 이해될 수 있다.
한편, 상술한 인스턴트 트랜잭션 처리 방법에 따르면, 신규 블록에 트랜잭션 데이터가 기록되기 전에 트랜잭션 처리가 완료되므로, 가상 화폐의 수신자인 제2 사용자가 제3 사용자에게 가상 화폐를 송금하는 경우 트랜잭션 유효성 검증 단계(S20)에서 오류가 발생될 수 있다. 구체적으로, 블록체인 데이터 상에 상기 제2 사용자가 수신한 가상 화폐가 기록되기 전인 경우, 잔고 부족으로 상기 제2 사용자가 요청한 트랜잭션이 유효하지 않은 트랜잭션으로 결정되는 문제가 발생될 수 있다.
위와 같은 문제를 해결하기 위하여, 본 발명의 실시예에 따르면, 블록체인 데이터에 기록된 가상 화폐 잔고 외에도 트랜잭션 유효성 검증 단계(S20)에서 임시 풀에 기록된 사용자의 가상 화폐 잔고까지 고려하여 트랜잭션에 대한 유효성 검증이 수행될 수 있다.
즉, 위와 같은 상황에서, 블록체인 데이터 상에 기록된 상기 제2 사용자의 가상 화폐 잔고와 임시 풀에 기록된 상기 제2 사용자의 가상 화폐 잔고의 총 합을 기초로, 상기 제2 사용자가 요청한 트랜잭션의 유효성이 검증될 수 있다.
지금까지, 도 11을 참조하여, 본 발명의 실시예에 따른 인스턴트 트랜잭션 처리 방법에 대하여 설명하였다.
지금까지 도 3 내지 도 11을 참조하여 설명된 본 발명의 개념은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.
도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시 된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 더욱이, 위에 설명한 실시예들에서 다양한 구성들의 분리는 그러한 분리가 반드시 필요한 것으로 이해되어서는 안 되고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키지 될 수 있음을 이해하여야 한다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다.

Claims (18)

  1. 퍼미션 기반 블록체인 네트워크(permission based blockchain network)를 구성하고, 블록체인 데이터를 분산하여 관리하는 복수의 블록체인 노드; 및
    상기 블록체인 네트워크를 관리하는 블록체인 관리 장치를 포함하되,
    상기 복수의 블록체인 노드는,
    블록을 생성하고, 상기 생성된 블록을 상기 블록체인 네트워크 상의 다른 블록체인 노드로 전파하는 블록 생성 노드를 포함하고,
    상기 블록체인 관리 장치는,
    현재 블록 높이에 해당하는 블록을 기준으로, 기 설정된 개수의 블록이 포함된 단위 구간 상에 해당 블록 생성 노드가 생성한 블록이 존재하는 경우, 신규 블록을 생성할 수 없도록 제어하는 블록 생성 순서 제어부를 포함하는 것을 특징으로 하는,
    블록체인 기반의 데이터 처리 시스템.
  2. 제1 항에 있어서,
    각각의 블록체인 노드가 상기 퍼미션 기반 블록체인 네트워크에 참여할 때, 제1 퍼미션을 기준으로 상기 각각의 블록체인 노드의 퍼미션에 대한 제1 검증이 수행되고,
    상기 각각의 블록체인 노드가 신규 블록을 수신할 때, 제2 퍼미션을 기준으로 상기 신규 블록을 생성한 블록 생성 노드의 퍼미션에 대한 제2 검증이 수행되는 것을 특징으로 하는,
    블록체인 기반의 데이터 처리 시스템.
  3. 제2 항에 있어서,
    상기 제2 퍼미션은,
    상기 제1 퍼미션보다 높은 퍼미션인 것을 특징으로 하는,
    블록체인 기반의 데이터 처리 시스템.
  4. 제1 항에 있어서,
    상기 퍼미션 기반 블록체인 네트워크를 구성하는 각각의 블록체인 노드에 대한 검증은, 상기 블록체인 데이터에 기록된 상기 각각의 블록체인 노드에 대한 퍼미션 정보를 이용하여 수행되는 것을 특징으로 하는,
    블록체인 기반의 데이터 처리 시스템.
  5. 제1 항에 있어서,
    상기 기 설정된 개수는,
    상기 블록 생성 노드의 개수가 증가할수록 큰 값으로 갱신되는 것을 특징으로 하는,
    블록체인 기반의 데이터 처리 시스템.
  6. 제1 항에 있어서,
    상기 블록 생성 순서 제어부는,
    상기 블록 생성 노드의 개수가 기 설정된 임계 값 이하인 경우에 한하여, 블록 생성 순서에 대한 제어를 수행하는 것을 특징으로 하는,
    블록체인 기반의 데이터 처리 시스템.
  7. 제1 항에 있어서,
    상기 블록 생성 순서 제어부는,
    0 내지 1 범위의 값을 갖는 제어 파라미터를 설정하여, 상기 블록 생성 노드의 블록 생성을 제어하되,
    상기 기 설정된 개수는,
    상기 제어 파라미터에 설정된 값 및 상기 블록 생성 노드의 개수를 기초로 결정되는 것을 특징으로 하는,
    블록체인 기반의 데이터 처리 시스템.
  8. 제1 항에 있어서,
    상기 블록체인 관리 장치는,
    블록 생성 난이도를 조절하여, 블록 생성 주기를 가변적으로 제어하는 블록 생성 주기 제어부를 더 포함하는 것을 특징으로 하는,
    블록체인 기반의 데이터 처리 시스템.
  9. 제8 항에 있어서,
    상기 블록 생성 주기 제어부는,
    기 설정된 기간 동안 상기 블록체인 데이터 상의 분기 발생 빈도를 기초로 상기 블록 생성 주기를 가변적으로 제어하는 것을 특징으로 하는,
    블록체인 기반의 데이터 처리 시스템.
  10. 제9 항에 있어서,
    상기 퍼미션 기반 블록체인 네트워크는,
    상기 블록체인 데이터 상의 분기 발생 여부를 모니터링하는 모니터링 노드를 더 포함하고,
    상기 블록체인 관리 장치는,
    상기 모니터링 노드로부터, 상기 분기 발생 여부에 대한 정보를 수신하는 모니터링부를 더 포함하되,
    상기 분기 발생 빈도는,
    상기 분기 발생 여부에 대한 정보를 기초로 산출되는 것을 특징으로 하는,
    블록체인 기반의 데이터 처리 시스템.
  11. 제1 항에 있어서,
    상기 블록체인 관리 장치는,
    상기 생성된 블록의 크기를 가변적으로 제어하는 블록 크기 제어부를 더 포함하는 것을 특징으로 하는,
    블록체인 기반의 데이터 처리 시스템.
  12. 제1 항에 있어서,
    상기 블록체인 데이터는 분산형 데이터베이스를 구성하는 복수의 외부 스토리지 노드에 보관되고,
    상기 복수의 블록체인 노드는,
    상기 복수의 외부 스토리지 노드에 접근하여, 상기 블록체인 데이터를 관리하는 것을 특징으로 하는,
    블록체인 기반의 데이터 처리 시스템.
  13. 제1 블록체인 네트워크(blockchain network)를 구성하고, 제1 블록체인 데이터를 분산하여 관리하는 복수의 제1 블록체인 노드;
    제2 블록체인 네트워크를 구성하고, 제2 블록체인 데이터를 분산하여 관리하는 복수의 제2 블록체인 노드; 및
    사용자의 전자 지갑 생성 요청에 응답하여, 상기 사용자의 가상 화폐를 보관하는 제1 전자 지갑 및 제2 전자 지갑을 생성하되, 상기 사용자가 보유한 가상 화폐의 잔고는 상기 제1 전자 지갑에 보관된 가상 화폐와 상기 제2 전자 지갑에 보관된 가상 화폐의 합인 것인, 전자 지갑 관리부와
    상기 사용자의 트랜잭션 처리 요청에 응답하여, 상기 제1 전자 지갑 또는 상기 제2 전자 지갑 중 적어도 하나의 전자 지갑에 보관된 가상 화폐에 대한 트랜잭션을 처리하는 트랜잭션 처리부를 포함하는 사용자 단말을 포함하되,
    상기 제1 전자 지갑에 대한 트랜잭션은 상기 제1 블록체인 네트워크에 기초하여 처리되고, 상기 제2 전자 지갑에 대한 트랜잭션은 상기 제2 블록체인 네트워크에 기초하여 처리되는 것을 특징으로 하는,
    블록체인 기반의 데이터 처리 시스템.
  14. 제13 항에 있어서,
    상기 제1 전자 지갑에 대한 상기 사용자의 제1 공개 키와 상기 제2 전자 지갑에 대한 상기 사용자의 제2 공개 키는 동일한 키인 것을 특징으로 하는,
    블록체인 기반의 데이터 처리 시스템.
  15. 제13 항에 있어서,
    상기 제1 블록체인 네트워크가 기 설정된 조건을 만족하는 경우, 상기 제1 블록체인 데이터에 기록된 복수의 트랜잭션 데이터 중 각 사용자가 보유한 가상 화폐 잔고 데이터로 초기화된 제3 블록체인 데이터가 생성되고, 상기 제1 블록체인 데이터는 외부의 저장소로 이관되는 것을 특징으로 하는,
    블록체인 기반의 데이터 처리 시스템.
  16. 복수의 블록체인 노드를 포함하는 블록체인 기반의 트랜잭션 처리 시스템에서 수행되는 인스턴트 트랜잭션(instant transaction) 처리 방법에 있어서,
    상기 복수의 블록체인 노드 중 제1 블록체인 노드가, 제1 사용자를 송신자로 하고 제2 사용자를 수신자로 하는 처리 대상 트랜잭션의 처리 요청을 수신하는 단계;
    상기 처리 대상 트랜잭션의 처리 요청에 응답하여, 상기 제1 블록체인 노드가, 상기 처리 대상 트랜잭션의 유효성을 검증하는 단계;
    상기 처리 대상 트랜잭션이 유효한 경우, 상기 제1 블록체인 노드가, 상기 제2 사용자의 단말로 상기 검증된 처리 대상 트랜잭션에 대한 처리 완료를 통지하는 단계;
    상기 제1 블록체인 노드가, 상기 검증된 처리 대상 트랜잭션을 상기 복수의 블록체인 노드 중에서 신규 블록을 생성한 블록 생성 노드로 전달하는 단계; 및
    상기 블록 생성 노드가, 상기 검증된 처리 대상 트랜잭션을 상기 신규 블록에 기록하고, 상기 신규 블록을 블록체인 데이터를 분산 관리하는 복수의 블록체인 노드로 전파하는 단계를 포함하는 것을 특징으로 하는,
    인스턴트 트랜잭션 처리 방법.
  17. 제16 항에 있어서,
    상기 복수의 블록체인 노드가 구성하는 블록체인 네트워크는,
    퍼미션이 검증된 블록체인 노드가 참여하는 퍼미션 기반 블록체인 네트워크인 것을 특징으로 하는,
    인스턴트 트랜잭션 처리 방법.
  18. 제16 항에 있어서,
    상기 처리 대상 트랜잭션은 제1 처리 대상 트랜잭션이고,
    상기 검증된 제1 처리 대상 트랜잭션은 상기 신규 블록에 기록되기 전에 임시 풀에 기록되며,
    상기 복수의 블록체인 노드 중 제2 블록체인 노드가, 제2 사용자를 송신자로 하고 제3 사용자를 수신자로 하는 제2 처리 대상 트랜잭션의 처리 요청을 수신하는 단계; 및
    상기 제2 처리 대상 트랜잭션의 처리 요청에 응답하여, 상기 제2 블록체인 노드가, 상기 제2 처리 대상 트랜잭션의 유효성을 검증하는 단계를 더 포함하되,
    상기 제2 처리 대상 트랜잭션의 유효성을 검증하는 단계는,
    상기 블록체인 데이터에 기록된 상기 제2 사용자에 대한 트랜잭션 데이터 및 상기 임시 풀에 기록된 상기 제2 사용자에 대한 트랜잭션 데이터를 기초로, 상기 제2 처리 대상 트랜잭션의 유효성을 검증하는 단계를 포함하는 것을 특징으로 하는,
    인스턴트 트랜잭션 처리 방법.
KR1020170109266A 2017-04-05 2017-08-29 블록체인 기반의 데이터 처리 시스템 및 그 동작 방법 KR102382127B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US15/933,680 US11095432B2 (en) 2017-04-05 2018-03-23 System for processing data based on blockchain and operating method thereof
SG10201802603QA SG10201802603QA (en) 2017-04-05 2018-03-28 System for processing data based on blockchain and Operating method thereof
CN201810299757.3A CN108694665B (zh) 2017-04-05 2018-04-04 区块链管理装置、数据处理系统及即时交易处理方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20170044318 2017-04-05
KR1020170044318 2017-04-05

Publications (2)

Publication Number Publication Date
KR20180113140A true KR20180113140A (ko) 2018-10-15
KR102382127B1 KR102382127B1 (ko) 2022-04-04

Family

ID=63866026

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170109266A KR102382127B1 (ko) 2017-04-05 2017-08-29 블록체인 기반의 데이터 처리 시스템 및 그 동작 방법

Country Status (2)

Country Link
KR (1) KR102382127B1 (ko)
SG (1) SG10201802603QA (ko)

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101950856B1 (ko) * 2018-11-20 2019-02-22 주식회사 윅스콘 블록체인을 이용한 정보 관리 시스템 및 방법
KR101975822B1 (ko) * 2018-10-26 2019-05-08 (주)리그시스템 프라이빗 블록체인 네트워크 시스템 및 경량화된 고성능 블록체인 기반 합의 방법
CN109785130A (zh) * 2018-12-17 2019-05-21 金蝶软件(中国)有限公司 区块链随机共识方法、装置、计算机设备和存储介质
KR102036618B1 (ko) * 2019-01-31 2019-10-28 주식회사그린존시큐리티 디바이스의 무결성을 검증하는 무결성 검증 체인 및 이를 이용한 디바이스의 무결성 검증 방법
KR20190128826A (ko) * 2018-05-09 2019-11-19 삼성에스디에스 주식회사 블록체인 기반 시스템에서의 블록 생성 방법
KR102081159B1 (ko) 2018-11-08 2020-02-25 엔에이치엔 주식회사 블록체인 시스템 및 블록체인 시스템에서 복수의 노드들이 메시지를 검증 및 전파하는 방법
KR102090223B1 (ko) * 2019-06-07 2020-03-17 쉬프트정보통신 주식회사 데이터 위변조방지를 위한 블록체인이 적용된 ui/ux 개발시스템 및 이를 이용한 데이터 위변조검증방법
CN110910883A (zh) * 2019-12-03 2020-03-24 杭州龙纪科技有限公司 一种基于智能音箱获取区块链高度的方法
WO2020085825A1 (ko) * 2018-10-24 2020-04-30 삼성전자 주식회사 트랜잭션을 관리하기 위한 방법, 디바이스, 컴퓨터 판독가능 매체, 및 시스템
KR20200048440A (ko) * 2018-10-30 2020-05-08 삼성에스디에스 주식회사 블록체인 기반 조회 서비스 제공 시스템 및 그 방법
KR20200052134A (ko) 2018-11-06 2020-05-14 주식회사 팀그릿 서비스 품질지원 블록체인 생성 방법 및 그 장치
KR102111544B1 (ko) * 2019-07-02 2020-05-15 (주)팍스넷 확장성을 갖춘 dag 기반 블록체인
KR20200056579A (ko) * 2018-11-15 2020-05-25 엔에이치엔 주식회사 복수의 노드들의 분산 네트워크로 구성된 블록체인 시스템에서 서브 블록체인을 구성하는 방법 및 블록체인 시스템
KR102121147B1 (ko) * 2019-01-25 2020-06-12 주식회사 카사코리아 블록체인 상에서 외부 노드를 통한 트랜잭션 처리 방법 및 이러한 방법을 수행하는 장치
KR20200070776A (ko) * 2018-12-10 2020-06-18 한국전자통신연구원 블록체인 시스템의 블록 생성 방법 및 장치
KR20200083145A (ko) 2018-12-28 2020-07-08 연세대학교 산학협력단 블록체인 네트워크의 합의 방해요인 제거를 위한 장애 허용 합의 방법
KR20200087418A (ko) * 2019-01-11 2020-07-21 (주)헬스허브 블록체인 기반의 보안이 강화된 암호화폐 시스템
CN111461468A (zh) * 2019-01-02 2020-07-28 中国移动通信有限公司研究院 数据处理方法及装置、数据节点及存储介质
KR20200093089A (ko) * 2019-01-04 2020-08-05 주식회사 커먼컴퓨터 블록체인 기반의 작업 요청 및 결과물의 거래 방법 및 시스템
KR102139549B1 (ko) * 2019-04-26 2020-08-11 에스지에이비엘씨 주식회사 피어의 클러스터에 의한 분할 연산 기반 블록체인망 시스템 및 분할 연산 방법
KR20200097107A (ko) * 2019-02-07 2020-08-18 아주대학교산학협력단 블록체인에 저장되는 데이터를 관리하는 방법 및 서버
KR102150210B1 (ko) * 2019-09-16 2020-09-01 (주) 모로보기 블록체인 네트워크
KR20200132546A (ko) * 2019-05-17 2020-11-25 군산대학교산학협력단 클라우드 컴퓨팅 및 블록체인 기반의 스마트 홈 시스템
WO2020242190A1 (ko) * 2019-05-31 2020-12-03 주식회사 엠티에스컴퍼니 블록체인에 의한 행위정보 증명 방법
KR20200142389A (ko) * 2019-06-12 2020-12-22 주식회사 위즈블 블록체인 실시간 생태계 운영 방법 및 시스템
KR20210000587A (ko) * 2019-06-25 2021-01-05 에스케이텔레콤 주식회사 블록체인 기반 트랜잭션 처리 방법 및 장치
KR20210019922A (ko) * 2019-08-13 2021-02-23 광주과학기술원 부호-암호 화폐 시스템
JP2021057887A (ja) * 2019-09-29 2021-04-08 工藤 健司 データ構造
CN112788106A (zh) * 2020-12-28 2021-05-11 深圳前海益链网络科技有限公司 一种应用于区块链的区块生成控制方法及相关装置
CN112801782A (zh) * 2020-12-31 2021-05-14 北京知帆科技有限公司 一种区块链信息监控方法、装置及电子设备
KR20220168415A (ko) * 2021-06-16 2022-12-23 계명대학교 산학협력단 외부 저장 매체를 이용한 임베딩 블록 체인 방법 및 시스템

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016161073A1 (en) * 2015-03-31 2016-10-06 Nasdaq, Inc. Systems and methods of blockchain transaction recordation
KR101680540B1 (ko) * 2015-06-18 2016-11-30 주식회사 코인플러그 블록체인을 기반으로 하는 금융기관 제증명서류 위변조 검증시스템 및 방법
KR20160150278A (ko) 2016-06-15 2016-12-29 주식회사 코인플러그 블록체인을 기반으로 하는 금융기관 제증명서류 위변조 검증시스템 및 방법
KR101701131B1 (ko) * 2016-04-28 2017-02-13 주식회사 라피 이종간 블록체인 연결을 이용한 데이터 기록/검증 방법 및 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016161073A1 (en) * 2015-03-31 2016-10-06 Nasdaq, Inc. Systems and methods of blockchain transaction recordation
KR101680540B1 (ko) * 2015-06-18 2016-11-30 주식회사 코인플러그 블록체인을 기반으로 하는 금융기관 제증명서류 위변조 검증시스템 및 방법
KR101701131B1 (ko) * 2016-04-28 2017-02-13 주식회사 라피 이종간 블록체인 연결을 이용한 데이터 기록/검증 방법 및 시스템
KR20160150278A (ko) 2016-06-15 2016-12-29 주식회사 코인플러그 블록체인을 기반으로 하는 금융기관 제증명서류 위변조 검증시스템 및 방법

Cited By (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190128826A (ko) * 2018-05-09 2019-11-19 삼성에스디에스 주식회사 블록체인 기반 시스템에서의 블록 생성 방법
WO2020085825A1 (ko) * 2018-10-24 2020-04-30 삼성전자 주식회사 트랜잭션을 관리하기 위한 방법, 디바이스, 컴퓨터 판독가능 매체, 및 시스템
US11750700B2 (en) 2018-10-24 2023-09-05 Samsung Electronics Co., Ltd. Method, device, computer-readable medium, and system for managing transactions
KR101975822B1 (ko) * 2018-10-26 2019-05-08 (주)리그시스템 프라이빗 블록체인 네트워크 시스템 및 경량화된 고성능 블록체인 기반 합의 방법
KR20200048440A (ko) * 2018-10-30 2020-05-08 삼성에스디에스 주식회사 블록체인 기반 조회 서비스 제공 시스템 및 그 방법
KR20200052134A (ko) 2018-11-06 2020-05-14 주식회사 팀그릿 서비스 품질지원 블록체인 생성 방법 및 그 장치
KR102081159B1 (ko) 2018-11-08 2020-02-25 엔에이치엔 주식회사 블록체인 시스템 및 블록체인 시스템에서 복수의 노드들이 메시지를 검증 및 전파하는 방법
KR20200056579A (ko) * 2018-11-15 2020-05-25 엔에이치엔 주식회사 복수의 노드들의 분산 네트워크로 구성된 블록체인 시스템에서 서브 블록체인을 구성하는 방법 및 블록체인 시스템
KR101950856B1 (ko) * 2018-11-20 2019-02-22 주식회사 윅스콘 블록체인을 이용한 정보 관리 시스템 및 방법
KR20200070776A (ko) * 2018-12-10 2020-06-18 한국전자통신연구원 블록체인 시스템의 블록 생성 방법 및 장치
CN109785130A (zh) * 2018-12-17 2019-05-21 金蝶软件(中国)有限公司 区块链随机共识方法、装置、计算机设备和存储介质
KR20200083145A (ko) 2018-12-28 2020-07-08 연세대학교 산학협력단 블록체인 네트워크의 합의 방해요인 제거를 위한 장애 허용 합의 방법
CN111461468B (zh) * 2019-01-02 2023-10-31 中国移动通信有限公司研究院 数据处理方法及装置、数据节点及存储介质
CN111461468A (zh) * 2019-01-02 2020-07-28 中国移动通信有限公司研究院 数据处理方法及装置、数据节点及存储介质
KR20200093089A (ko) * 2019-01-04 2020-08-05 주식회사 커먼컴퓨터 블록체인 기반의 작업 요청 및 결과물의 거래 방법 및 시스템
KR20200087418A (ko) * 2019-01-11 2020-07-21 (주)헬스허브 블록체인 기반의 보안이 강화된 암호화폐 시스템
WO2020153580A1 (ko) * 2019-01-25 2020-07-30 주식회사 카사코리아 블록체인 상에서 외부 노드를 통한 트랜잭션 처리 방법 및 이러한 방법을 수행하는 장치
KR102121147B1 (ko) * 2019-01-25 2020-06-12 주식회사 카사코리아 블록체인 상에서 외부 노드를 통한 트랜잭션 처리 방법 및 이러한 방법을 수행하는 장치
KR102036618B1 (ko) * 2019-01-31 2019-10-28 주식회사그린존시큐리티 디바이스의 무결성을 검증하는 무결성 검증 체인 및 이를 이용한 디바이스의 무결성 검증 방법
WO2020159053A1 (ko) * 2019-01-31 2020-08-06 주식회사그린존시큐리티 디바이스의 무결성을 검증하는 무결성 검증 체인 및 이를 이용한 디바이스의 무결성 검증 방법
KR20200097107A (ko) * 2019-02-07 2020-08-18 아주대학교산학협력단 블록체인에 저장되는 데이터를 관리하는 방법 및 서버
KR102139549B1 (ko) * 2019-04-26 2020-08-11 에스지에이비엘씨 주식회사 피어의 클러스터에 의한 분할 연산 기반 블록체인망 시스템 및 분할 연산 방법
KR20200132546A (ko) * 2019-05-17 2020-11-25 군산대학교산학협력단 클라우드 컴퓨팅 및 블록체인 기반의 스마트 홈 시스템
CN113811910A (zh) * 2019-05-31 2021-12-17 Mts株式会社 基于区块链的行为信息证明方法
WO2020242190A1 (ko) * 2019-05-31 2020-12-03 주식회사 엠티에스컴퍼니 블록체인에 의한 행위정보 증명 방법
KR20200137654A (ko) * 2019-05-31 2020-12-09 주식회사 엠티에스컴퍼니 블록체인에 의한 행위정보 증명 방법
KR102090223B1 (ko) * 2019-06-07 2020-03-17 쉬프트정보통신 주식회사 데이터 위변조방지를 위한 블록체인이 적용된 ui/ux 개발시스템 및 이를 이용한 데이터 위변조검증방법
KR20200142389A (ko) * 2019-06-12 2020-12-22 주식회사 위즈블 블록체인 실시간 생태계 운영 방법 및 시스템
KR20210000587A (ko) * 2019-06-25 2021-01-05 에스케이텔레콤 주식회사 블록체인 기반 트랜잭션 처리 방법 및 장치
KR102111544B1 (ko) * 2019-07-02 2020-05-15 (주)팍스넷 확장성을 갖춘 dag 기반 블록체인
KR20210019922A (ko) * 2019-08-13 2021-02-23 광주과학기술원 부호-암호 화폐 시스템
KR102150210B1 (ko) * 2019-09-16 2020-09-01 (주) 모로보기 블록체인 네트워크
JP2021057887A (ja) * 2019-09-29 2021-04-08 工藤 健司 データ構造
CN110910883B (zh) * 2019-12-03 2022-08-30 杭州龙纪科技有限公司 一种基于智能音箱获取区块链高度的方法
CN110910883A (zh) * 2019-12-03 2020-03-24 杭州龙纪科技有限公司 一种基于智能音箱获取区块链高度的方法
CN112788106A (zh) * 2020-12-28 2021-05-11 深圳前海益链网络科技有限公司 一种应用于区块链的区块生成控制方法及相关装置
CN112801782A (zh) * 2020-12-31 2021-05-14 北京知帆科技有限公司 一种区块链信息监控方法、装置及电子设备
KR20220168415A (ko) * 2021-06-16 2022-12-23 계명대학교 산학협력단 외부 저장 매체를 이용한 임베딩 블록 체인 방법 및 시스템

Also Published As

Publication number Publication date
KR102382127B1 (ko) 2022-04-04
SG10201802603QA (en) 2018-11-29

Similar Documents

Publication Publication Date Title
KR20180113140A (ko) 블록체인 기반의 데이터 처리 시스템 및 그 동작 방법
US11095432B2 (en) System for processing data based on blockchain and operating method thereof
EP3639469B1 (en) Systems and methods for addressing security-related vulnerabilities arising in relation to off-blockchain channels in the event of failures in a network
WO2020192743A1 (zh) 权限管理方法、权限验证方法和相关装置
US10762479B2 (en) Method and system for processing blockchain-based real-time transaction
Cao et al. Performance analysis and comparison of PoW, PoS and DAG based blockchains
EP3610436B1 (en) Rapid distributed consensus on blockchain
KR102237219B1 (ko) 분산 시스템 내의 네트워크 노드들 간의 합의 달성
CN110915166B (zh) 区块链
US20180293557A1 (en) Method of charging electronic currency automatically based on blockchain and system thereof
KR20180113145A (ko) 블록체인 기반 실시간 거래 처리 방법 및 그 시스템
KR101827373B1 (ko) 채굴 제한을 위한 합의 알고리즘을 포함하는 블록윈도우 모듈 및 관리 서버 그리고 가상화폐 거래 시스템 및 방법
CN111541552B (zh) 区块链一体机及其节点自动加入方法、装置
KR102407187B1 (ko) 블록체인 기반 전자 화폐 자동 충전 방법 및 그 시스템
CN111144866B (zh) 数据转移方法、装置、节点设备及存储介质
CN102316152A (zh) 分布式服务授权管理
KR20220148397A (ko) 비-랜덤 합의체 증명 기반 블록 체인 네트워크를 이용하여 구축되는 뉴럴 합의체 증명 기반 블록 체인 네트워크 플랫폼 시스템
KR20210066348A (ko) 뉴럴 블록 클러스터 기반의 안전한 블록 체인을 구축하는 장치 및 그 동작 방법
KR20200144214A (ko) 네트워크 상에서 합의된 데이터를 전송하는 방법 및 네트워크 상에서 합의된 데이터를 전송하기 위한 전자기기
KR20210077133A (ko) 블록 체인 네트워크 동작 프로그램
Shrivastava et al. Secure Storage and Data Sharing Scheme Using Private Blockchain-Based HDFS Data Storage for Cloud Computing
WO2024050869A1 (zh) 基于去中心化信任的公有云下tee状态连续性保护方法
KR20220148396A (ko) 비-랜덤 합의체 증명 기반 블록 체인 네트워크를 랜덤 합의체 증명 기반 블록 체인 네트워크로 이용하는 뉴럴 합의체 노드 장치 및 그 동작 방법
KR20220094013A (ko) 블록 체인의 뉴럴 블록 클러스터 기반의 스마트 컨트랙트 가시화 응용 플랫폼 제공 장치 및 그 동작 방법
KR20210077177A (ko) 뉴럴 블록 클러스터 기반의 안전한 블록 체인 네트워크 시스템의 동작방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant