KR20210000587A - 블록체인 기반 트랜잭션 처리 방법 및 장치 - Google Patents

블록체인 기반 트랜잭션 처리 방법 및 장치 Download PDF

Info

Publication number
KR20210000587A
KR20210000587A KR1020190075913A KR20190075913A KR20210000587A KR 20210000587 A KR20210000587 A KR 20210000587A KR 1020190075913 A KR1020190075913 A KR 1020190075913A KR 20190075913 A KR20190075913 A KR 20190075913A KR 20210000587 A KR20210000587 A KR 20210000587A
Authority
KR
South Korea
Prior art keywords
processing
blockchain
transaction
transactions
actions
Prior art date
Application number
KR1020190075913A
Other languages
English (en)
Other versions
KR102217776B1 (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 KR1020190075913A priority Critical patent/KR102217776B1/ko
Publication of KR20210000587A publication Critical patent/KR20210000587A/ko
Application granted granted Critical
Publication of KR102217776B1 publication Critical patent/KR102217776B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/148Migration or transfer of sessions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • H04L67/16
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

개시된 블록체인 네트워크를 구성하는 하나의 노드에 의해 수행되는 트랜잭션 처리 방법은, 하나 이상의 트랜잭션(Transaction)에 대하여 각 트랜잭션에 포함된 복수의 액션(Action)을 블록체인 기반 서비스의 종류별로 분류하는 단계와, 상기 분류된 복수의 액션을 상기 노드에 포함된 복수의 처리 모듈 중 상기 블록체인 기반 서비스의 종류별로 대응하는 처리 모듈에서 각각 수행하여 상기 하나 이상의 트랜잭션을 병렬적으로 처리하는 단계를 포함한다.

Description

블록체인 기반 트랜잭션 처리 방법 및 장치{METHOD AND APPARATUS FOR PROCESSING TRANSACTION BASED ON BLOCK CHAIN}
본 발명은 블록체인(Block chain) 기반 트랜잭션(Transaction) 처리 방법 및 장치에 관한 것으로서, 더욱 상세하게는 블록체인 기반 서비스를 위한 액션(Action)이 포함된 트랜잭션을 처리하는 방법 및 장치에 관한 것이다.
주지하고 있는 바와 같이, 블록체인 네트워크는 수많은 블록체인 노드(Block chain node)가 P2P(Peer to Peer) 네트워크로 연결되고, 탈중앙 애플리케이션들이 전송하는 트랜잭션(Transaction)을 블록체인 노드들이 수신하며, 블록체인 노드들은 해당 트랜잭션들을 처리하여 그 결과를 블록에 저장하는 일종의 분산 원장 시스템(Distributed Ledger System)이라고 볼 수 있다. 이러한 분산 원장에 한 번 기록된 내용은 변경이 거의 불가능하다는 특징을 가진다.
종래 기술에 따르면, 블록체인 노드는 탈중앙 애플리케이션들이 요청하는 트랜잭션들을 직렬적으로 순차 처리하였다. 예를 들어, 사용자 A가 사용자 B에게 10 K토큰을 전송하는 액션을 포함하는 트랜잭션과 사용자 A가 사용자 C에게 10 K토큰을 전송하는 액션을 포함하는 트랜잭션이 있는 경우, 두 개의 트랜잭션은 반드시 직렬적으로 순차 처리되며, 사용자 A가 10 K토큰만 보유하고 있다면 두 번째 트랜잭션을 처리할 때 사용자 A는 보유한 K토큰이 없기 때문에 반드시 두 번째 트랜잭션은 실패하게 된다.
한편, 하나의 트랜잭션 내에 하나의 액션만 포함하였던 기존의 블록체인과 달리 최근의 3세대 블록체인은 하나의 트랜잭션 내에 복수의 액션을 포함하고 있다.
그런데, 이처럼 하나의 트랜잭션 내에 복수의 액션이 포함된 경우나 이러한 트랜잭션이 복수인 경우에도 전체 트랜잭션 및 액션들을 직렬적으로 순차 처리하였다.
따라서, 액션 및 트랜잭션의 수가 증가할수록 처리 시간이 비례적으로 증가하였다.
공개특허공보 제10-2019-0019004호, 공개일자 2019년 02월 26일.
본 발명의 실시예에 따르면, 하나 이상의 트랜잭션에 포함된 복수의 액션을 블록체인 기반 서비스의 종류별로 분류하여 각각의 처리 모듈에서 병렬적으로 처리할 수 있는 블록체인 기반 트랜잭션 처리 방법 및 장치를 제공한다.
본 발명의 해결하고자 하는 과제는 이상에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 해결하고자 하는 과제는 아래의 기재로부터 본 발명이 속하는 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 제 1 관점에 따른 블록체인 네트워크를 구성하는 하나의 노드에 의해 수행되는 트랜잭션 처리 방법은, 하나 이상의 트랜잭션(Transaction)에 대하여 각 트랜잭션에 포함된 복수의 액션(Action)을 블록체인 기반 서비스의 종류별로 분류하는 단계와, 상기 분류된 복수의 액션을 상기 노드에 포함된 복수의 처리 모듈 중 상기 블록체인 기반 서비스의 종류별로 대응하는 처리 모듈에서 각각 수행하여 상기 하나 이상의 트랜잭션을 병렬적으로 처리하는 단계를 포함할 수 있다.
본 발명의 제 2 관점에 따르면, 상기 블록체인 기반 트랜잭션 처리 방법에 따른 각각의 단계를 수행하는 명령어를 포함하는 컴퓨터 실행가능 프로그램이 기록된 컴퓨터 판독가능 기록매체를 제공한다.
본 발명의 제 3 관점에 따른 블록체인 네트워크를 구성하는 하나의 노드에 포함될 수 있는 블록체인 기반 트랜잭션 처리 장치는, 하나 이상의 트랜잭션을 수신하고, 상기 트랜잭션의 처리 결과를 회신하는 통신부와, 상기 하나 이상의 트랜잭션에 대하여 각 트랜잭션에 포함된 복수의 액션을 블록체인 기반 서비스의 종류별로 분류하고, 상기 분류된 복수의 액션을 복수의 처리 모듈 중 상기 블록체인 기반 서비스의 종류별로 대응하는 처리 모듈에서 각각 수행하여 상기 하나 이상의 트랜잭션을 병렬적으로 처리하며, 상기 트랜잭션의 처리 결과를 회신하도록 상기 통신부를 제어하는 제어부를 포함할 수 있다.
본 발명의 실시예에 의하면, 블록체인 네트워크에서 하나 이상의 트랜잭션에 포함된 복수의 액션을 블록체인 기반 서비스의 종류별로 분류하여 각각의 처리 모듈에서 병렬적으로 처리할 수 있다.
따라서, 액션 및 트랜잭션의 수가 증가하더라도 처리 시간이 비례적으로 증가하지 않기 때문에, 종래 기술보다 상대적으로 빠른 처리 시간을 지원하는 효과가 있다.
도 1은 본 발명의 실시예에 따른 블록체인 기반 트랜잭션 처리 장치를 포함할 수 있는 복수의 노드로 구성되는 블록체인 네트워크의 구성도이다.
도 2는 본 발명의 실시예에 따른 블록체인 기반 트랜잭션 처리 장치의 구성도이다.
도 3은 도 2에 나타낸 블록체인 기반 트랜잭션 처리 장치의 세부적인 구성도이다.
도 4는 본 발명의 실시예에 따른 블록체인 기반 트랜잭션 처리 장치에서 수행하는 트랜잭션 처리 방법을 설명하기 위한 흐름도이다.
도 5 및 도 6은 본 발명의 실시예에 따른 블록체인 기반 트랜잭션 처리 장치에 의한 트랜잭션 처리 예를 설명하기 위한 흐름도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명의 범주는 청구항에 의해 정의될 뿐이다.
본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명은 본 발명의 실시예들을 설명함에 있어 실제로 필요한 경우 외에는 생략될 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명의 실시예에 따른 블록체인 기반 트랜잭션 처리 장치(100)를 포함할 수 있는 복수의 노드(11)로 구성되는 블록체인 네트워크(10)의 구성도이고, 도 2는 본 발명의 실시예에 따른 블록체인 기반 트랜잭션 처리 장치(100)의 구성도이며, 도 3은 도 2에 나타낸 블록체인 기반 트랜잭션 처리 장치(100)의 세부적인 구성도이다.
블록체인 네트워크(10)는 P2P 분산 네트워크를 구성하는 복수의 노드(11)를 포함할 수 있고, 복수의 노드(11)는 블록체인 네트워크(10)에 연결된 모든 컴퓨팅 장치를 의미할 수 있다. 각각의 노드(11)는 블록체인 기반 트랜잭션 처리 장치(100)를 포함할 수 있으며, 블록체인 기반 트랜잭션 처리 장치(100)는 통신부(110)와 제어부(120) 및 저장부(130)를 포함할 수 있다.
이러한 블록체인 네트워크(10)는 적어도 일부의 노드(11)가 동일한 처리를 할 수 있도록 구성되기 때문에 일부의 노드가 셧 다운(Shut down)되거나 변조되더라도 시스템 전체에는 영향을 주지 않는 특징을 가진다.
노드(11)가 포함할 수 있는 블록체인 기반 트랜잭션 처리 장치(100)의 통신부(110)는 하나 이상의 트랜잭션을 수신하여 수신된 트랜잭션을 제어부(120)에 제공하고, 제어부(120)에 의한 트랜잭션의 처리 결과를 제어부(120)의 제어에 따라 회신할 수 있다. 예를 들어, 통신부(110)는 탈중앙 애플리케이션들(디앱 K, 디앱 S, 디앱 P 등)이 생성 및 요청한 트랜잭션(tx #1, tx #2, tx #3, …, tx #M)을 수신할 수 있고, 제어부(120)의 제어에 따라 트랜잭션(tx #1, tx #2, tx #3, …, tx #M)의 처리 결과를 해당 탈중앙 애플리케이션(디앱 K, 디앱 S, 디앱 P 등)에 회신할 수 있다.
블록체인 기반 트랜잭션 처리 장치(100)의 제어부(120)는 분류 모듈(121), 복수의 처리 모듈(122) 및 저장 모듈(130)을 포함할 수 있고, 저장 모듈(130)은 블록(131)을 포함할 수 있다.
분류 모듈(121)은 통신부(110)로부터 제공되는 하나 이상의 트랜잭션에 포함된 복수의 액션을 블록체인 기반 서비스의 종류별로 분류하고, 분류된 복수의 액션을 복수의 처리 모듈(122) 중 블록체인 기반 서비스의 종류별로 대응하는 처리 모듈(122)에 제공한다. 예를 들어, 분류 모듈(121)은 마이크로프로세서(Microprocessor)를 포함하여 구현될 수 있다.
복수의 처리 모듈(122)은 분류 모듈(121)에 의해 분류된 복수의 액션을 복수의 처리 모듈(122) 중 블록체인 기반 서비스의 종류별로 대응하는 처리 모듈(122)에서 처리한다. 이러한 복수의 처리 모듈(121)은 하나 이상의 트랜잭션을 병렬적으로 처리할 수 있다. 예를 들어, 처리 모듈(122) 또한 마이크로프로세서를 포함하여 구현될 수 있다.
저장 모듈(130)은 복수의 처리 모듈(122)에 의한 트랜잭션의 처리 결과를 블록(131)에 저장할 수 있다. 예를 들어, 저장 모듈(130)은 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 플래시 메모리(flash memory)와 같은 프로그램 명령어들을 저장하고 수행하도록 특별히 구성된 하드웨어 장치 등과 같이 컴퓨터 판독 가능한 기록매체일 수 있다.
도 4는 본 발명의 실시예에 따른 블록체인 기반 트랜잭션 처리 장치(100)에서 수행하는 트랜잭션 처리 방법을 설명하기 위한 흐름도이다.
도 1 내지 도 4를 참조하면, 먼저 블록체인 기반 트랜잭션 처리 장치(100)의 통신부(110)는 탈중앙 애플리케이션들(디앱 K, 디앱 S, 디앱 P 등)이 생성 및 요청한 하나 이상의 트랜잭션(tx #1, tx #2, tx #3, …, tx #M)을 수신하여 제어부(120)에 제공할 수 있다. 여기서, 디앱(DApp, Decentralized Application)은 블록체인 기술을 활용하여 중앙 서버없이 네트워크상에 정보를 분산하여 저장 및 구동하는 응용프로그램을 의미한다.
그리고, 제어부(120)의 분류 모듈(121)은 트랜잭션(tx #1, tx #2, tx #3, …, tx #M)에 포함된 복수의 액션을 블록체인 기반 서비스의 종류별로 분류하고, 분류된 복수의 액션을 복수의 처리 모듈(122) 중 블록체인 기반 서비스의 종류별로 대응하는 처리 모듈(122)에 제공한다. 예를 들어, 디앱 K에 의해 생성 및 요청된 트랜잭션(tx #1)은 복수의 처리 모듈(122) 중 처리 모듈 K에 제공될 수 있고, 디앱 S에 의해 생성 및 요청된 트랜잭션(tx #2, tx #3)은 복수의 처리 모듈(122) 중 처리 모듈 S에 제공될 수 있으며, 디앱 P에 의해 생성 및 요청된 트랜잭션(tx #4)은 복수의 처리 모듈(122) 중 처리 모듈 P에 제공될 수 있다(S310).
여기서, 분류 모듈(121)이 트랜잭션(tx #1, tx #2, tx #3, …, tx #M)에 포함된 복수의 액션을 블록체인 기반 서비스의 종류별로 구분할 수 있도록 하기 위하여, 트랜잭션의 네임 스페이스(name space)에 서비스 구분자를 기입함으로써 서비스 종류를 구분할 수 있도록 할 수 있다. 예를 들어, 서비스 구분자로는 탈중앙 애플리케이션의 이름이 이용될 수 있고, 해당 트랜잭션에 포함된 액션의 함수 이름이 네임 스페이스에 함께 기입될 수 있다.
그러면, 제어부(120)의 처리 모듈(122)은 분류 모듈(121)에 의해 분류 및 제공된 복수의 액션을 블록체인 기반 서비스의 종류별로 대응하는 처리 모듈에서 각각 수행하여 하나 이상의 트랜잭션을 병렬적으로 처리한다. 예를 들어, 디앱 K에 의해 생성 및 요청된 트랜잭션(tx #1)에 포함된 액션은 복수의 처리 모듈(122) 중 처리 모듈 K이 수행할 수 있고, 디앱 S에 의해 생성 및 요청된 트랜잭션(tx #2, tx #3)에 포함된 액션은 복수의 처리 모듈(122) 중 처리 모듈 S가 수행할 수 있으며, 디앱 P에 의해 생성 및 요청된 트랜잭션(tx #4)에 포함된 액션은 복수의 처리 모듈(122) 중 처리 모듈 P가 수행할 수 있다(S320).
이후, 처리 모듈(122)에 의한 트랜잭션의 처리 결과는 저장 모듈(130)의 블록(131)에 저장될 수 있다. 또, 처리 모듈(122)에 의한 트랜잭션의 처리 결과는 통신부(110)를 통해 블록체인 기반 서비스의 종류별로 대응하는 탈중앙 애플리케이션들(디앱 K, 디앱 S, 디앱 P 등)에게 회신될 수 있다.
한편, 블록체인 기반 트랜잭션 처리 장치(100)의 통신부(110)가 탈중앙 애플리케이션들(디앱 K, 디앱 S, 디앱 P 등)로부터 수신한 트랜잭션(tx #1, tx #2, tx #3, …, tx #M)은 하나의 트랜잭션에 한 가지 종류의 블록체인 기반 서비스가 포함될 수 있고, 하나의 트랜잭션에 복수 종류의 블록체인 기반 서비스가 포함될 수 있다. 전자의 경우는 단계 S310에서 분류 모듈(121)이 블록체인 기반 서비스의 종류에 따라 대응하는 처리 모듈(122)로 트랜잭션을 분기시킬 수 있지만, 후자의 경우는 단계 S310에서 분류 모듈(121)이 서로 다른 종류의 블록체인 기반 서비스를 포함하는 트랜잭션을 어느 한 처리 모듈(122)에 제공할 수 있다. 이처럼, 후자는 같은 트랜잭션에 포함된 복수의 액션이 2종 이상의 블록체인 기반 서비스에 해당하는 경우이고, 복수의 처리 모듈 중 어느 하나가 전체 트랜잭션의 처리 및 원자적(Atomic) 연산을 보장할 수 있다. 예를 들어, 복수의 처리 모듈(122) 중에서, 복수의 액션 중 첫 번째 액션을 수행하는 처리 모듈이 전체 트랜잭션의 처리 및 원자적 연산을 보장할 수 있다.
도 5 및 도 6은 본 발명의 실시예에 따른 블록체인 기반 트랜잭션 처리 장치에 의한 트랜잭션 처리 예를 설명하기 위한 흐름도이다. 도 5는 단계 S310에서 분류 모듈(121)이 블록체인 기반 서비스의 종류에 따라 대응하는 처리 모듈(122)로 트랜잭션을 분기시키는 경우이고, 도 6은 단계 S310에서 분류 모듈(121)이 서로 다른 종류의 블록체인 기반 서비스를 포함하는 트랜잭션을 어느 한 처리 모듈(122)에 제공하는 경우이다.
도 5를 참조하면, 통신부(110)에 의해 수신되어 분류 모듈(121)에 제공되는 각각의 트랜잭션이 한 종류의 블록체인 기반 서비스를 포함하는 실시예이다. 분류 모듈(121)은 블록체인 기반 서비스 중 K토큰 서비스에 해당하는 액션이 포함된 트랜잭션을 처리 모듈 K에 제공하고(S411), 블록체인 기반 서비스 중 S토큰 서비스에 해당하는 액션이 포함된 트랜잭션을 처리 모듈 S에 제공한다(S412). 여기서, 분류 모듈(121)은 트랜잭션의 네임 스페이스에 기입된 서비스 구분자에 기초하여 블록체인 기반 서비스를 종류별로 분류할 수 있다.
그러면, 처리 모듈 K에서 K토큰 서비스에 해당하는 액션을 수행하는 처리와 처리 모듈 S에서 S토큰 서비스에 해당하는 액션을 수행하는 처리가 병렬적으로 처리된다. 예를 들어, 처리 모듈 K에 의하여, 사용자 A가 사용자 B에게 10 K토큰을 전송하는 액션 및 사용자 B가 사용자 C에게 10 K토큰을 전송하는 액션이 순차로 수행되고(S421, S431), 처리 모듈 S에 의하여, 사용자 D가 사용자 E에게 10 S토큰을 전송하는 액션 및 사용자 E가 사용자 F에게 10 K토큰을 전송하는 액션이 순차로 수행된다(S422, S432). 즉, K토큰을 전송하는 액션이 처리 모듈 K에 의하여 수행될 때에 S토큰을 전송하는 액션이 처리 모듈 S에 의하여 병렬적으로 수행된다.
이후, 처리 모듈 K 및 처리 모듈 S에 의한 트랜잭션의 처리 결과는 제어부(120)의 제어에 따른 통신부(110)에 의하여 해당 탈중앙 애플리케이션으로 회신된다(S441, S442).
도 6을 참조하면, 통신부(110)에 의해 수신되어 분류 모듈(121)에 제공되는 트랜잭션이 복수 종류의 블록체인 기반 서비스를 포함하는 실시예이다. 분류 모듈(121)은 블록체인 기반 서비스 중 K토큰 서비스에 해당하는 액션이 포함된 트랜잭션 및 S토큰 서비스에 해당하는 액션이 포함된 모든 트랜잭션을 처리 모듈 S에 제공한다(S501). 여기서, 분류 모듈(121)은 트랜잭션의 네임 스페이스에 기입된 서비스 구분자에 기초하여 블록체인 기반 서비스를 종류별로 분류할 수 있다.
단계 S501에서 처리 모듈 K와 처리 모듈S 중 처리 모듈 K에 모든 트랜잭션을 제공하는 것은 처리 모듈 K가 전체 트랜잭션의 처리 및 원자적 연산을 보장하도록 하기 위한 것이다. 이처럼, 통신부(110)에 의해 수신된 트랜잭션에 포함된 복수의 액션 중 첫 번째 액션을 처리 모듈 K가 수행하여야 하기 때문에, 처리 모듈 K에 전체 트랜잭션의 처리 및 원자적 연산을 보장하는 역할이 부여될 수 있지만, 이에 한정되는 것은 아니다.
그러면, 처리 모듈 K는 분류 모듈(121)에 의해 제공되는 트랜잭션에 포함된 액션들에 대하여 블록체인 기반 서비스의 종류를 확인하고, S토큰 서비스에 해당하는 액션을 처리 모듈 S로 전달할 수 있다(S502). 물론, 단계 S502에 의한 액션 전달 절차는 이때에 수행하지 않고 이후에 언제든지 수행할 수 있다.
그리고, 처리 모듈 K는 K토큰 서비스에 해당하는 액션을 순차적으로 수행한다. 예를 들어, 사용자 A가 사용자 B에게 10 K토큰을 전송하는 액션 및 사용자 B가 사용자 C에게 10 K토큰을 전송하는 액션이 순차로 수행된다(S503, S504). 만약, 단계 S502에 의한 액션 전달 절차를 단계 S503 및 S504에서 수행하지 않았다면 이때에 수행할 수도 있다(S505).
단계 S502 또는 단계 S505에 의해 액션을 전달 받은 처리 모듈 S는 S토큰 서비스에 해당하는 액션을 수행한다. 예를 들어, 사용자 C가 사용자 A에게 10 S토큰을 전송하는 액션이 수행된다(S506). 도 6의 실시예에 대한 설명에서는 단계 S504 이후에 단계 S505가 수행되는 예를 설명하였으나 이는 설명의 편의 및 이해를 돕기 위한 것에 불과하다. 예컨대, 처리 모듈 K가 단계 S503 및 S504에서 K토큰 서비스에 해당하는 액션을 수행할 때에 처리 모듈 S는 S토큰 서비스에 해당하는 액션을 수행할 수 있다. 즉, K토큰을 전송하는 액션이 처리 모듈 K에 의하여 수행될 때에 S토큰을 전송하는 액션이 처리 모듈 S에 의하여 병렬적으로 수행될 수 있다.
이후, 처리 모듈 S는 단계 506에 의한 트랜잭션의 처리 결과를 처리 모듈 K에 회신하고(S507), 처리 모듈 K는 모든 액션에 대한 처리가 완료되었음이 확인(S508)되면 처리 모듈 S에 커밋(commit)을 요청하며(S509), 처리 모듈 S는 커밋 요청에 따라 기 설정되어 있던 만료 시간을 해제(S510)한 후 커밋 상태를 회신하고(S511), 처리 모듈 K 또한 기 설정되어 있던 만료 시간을 해제하는 커밋을 실행한다(S512).
이후, 처리 모듈 K에 의한 트랜잭션의 처리 결과와 처리 모듈 S에 의한 트랜잭션의 처리 결과는 제어부(120)의 제어에 따른 통신부(110)에 의하여 해당 탈중앙 애플리케이션으로 회신된다(S513).
지금까지 설명한 바와 같이 본 발명의 실시예들에 의하면, 블록체인 네트워크에서 하나 이상의 트랜잭션에 포함된 복수의 액션을 블록체인 기반 서비스의 종류별로 분류하여 각각의 처리 모듈에서 병렬적으로 처리할 수 있다.
따라서, 액션 및 트랜잭션의 수가 증가하더라도 처리 시간이 비례적으로 증가하지 않기 때문에, 종래 기술보다 상대적으로 빠른 처리 시간을 지원한다.
본 발명에 첨부된 각 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 기록매체에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 기록매체에 저장된 인스트럭션들은 흐름도의 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
본 발명의 실시예에 의하면, 블록체인 네트워크에서 하나 이상의 트랜잭션에 포함된 복수의 액션을 블록체인 기반 서비스의 종류별로 분류하여 각각의 처리 모듈에서 병렬적으로 처리하여 빠른 처리 시간을 지원한다. 이러한 본 발명은 블록체인 기반의 분산 원장 관리 기술을 포함하여 각종 블록체인 네트워크 기술분야에 이용할 수 있다.
100: 블록체인 기반 트랜잭션 처리 장치
110: 통신부
120: 제어부
130: 저장부

Claims (6)

  1. 블록체인 네트워크를 구성하는 하나의 노드에 의해 수행되는 트랜잭션 처리 방법으로서,
    하나 이상의 트랜잭션(Transaction)에 포함된 복수의 액션(Action)을 블록체인 기반 서비스의 종류별로 분류하는 단계와,
    상기 분류된 복수의 액션을 상기 노드에 포함된 복수의 처리 모듈 중 상기 블록체인 기반 서비스의 종류별로 대응하는 처리 모듈에서 각각 수행하여 상기 하나 이상의 트랜잭션을 병렬적으로 처리하는 단계를 포함하는
    블록체인 기반 트랜잭션 처리 방법.
  2. 제 1 항에 있어서,
    상기 하나 이상의 트랜잭션 중 같은 트랜잭션에 포함된 복수의 액션이 2종 이상의 상기 블록체인 기반 서비스에 해당하는 경우, 상기 복수의 처리 모듈 중 어느 하나가 전체 트랜잭션의 처리 및 원자적(Atomic) 연산을 보장하는
    블록체인 기반 트랜잭션 처리 방법.
  3. 제 2 항에 있어서,
    상기 복수의 처리 모듈 중에서, 상기 복수의 액션 중 첫 번째 액션을 수행하는 처리 모듈이 상기 전체 트랜잭션의 처리 및 원자적 연산을 보장하는
    블록체인 기반 트랜잭션 처리 방법.
  4. 제 1 항에 있어서,
    상기 복수의 액션을 블록체인 기반 서비스의 종류별로 구분하는 단계는, 상기 하나 이상의 트랜잭션의 네임 스페이스(name space)에 기입된 서비스 구분자에 기초하여 서비스 종류를 구분하는
    블록체인 기반 트랜잭션 처리 방법.
  5. 제 1 항 내지 제 4 항 중 어느 한 항의 블록체인 기반 트랜잭션 처리 방법에 따른 각각의 단계를 수행하는 명령어를 포함하는 컴퓨터 실행가능 프로그램이 기록된 컴퓨터 판독가능 기록매체.
  6. 블록체인 네트워크를 구성하는 하나의 노드에 포함될 수 있는 블록체인 기반 트랜잭션 처리 장치로서,
    하나 이상의 트랜잭션(Transaction)을 수신하고, 상기 트랜잭션의 처리 결과를 회신하는 통신부와,
    상기 하나 이상의 트랜잭션에 포함된 복수의 액션(Action)을 블록체인 기반 서비스의 종류별로 분류하고, 상기 분류된 복수의 액션을 복수의 처리 모듈 중 상기 블록체인 기반 서비스의 종류별로 대응하는 처리 모듈에서 각각 수행하여 상기 하나 이상의 트랜잭션을 병렬적으로 처리하며, 상기 트랜잭션의 처리 결과를 회신하도록 상기 통신부를 제어하는 제어부를 포함하는
    블록체인 기반 트랜잭션 처리 장치.
KR1020190075913A 2019-06-25 2019-06-25 블록체인 기반 트랜잭션 처리 방법 및 장치 KR102217776B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190075913A KR102217776B1 (ko) 2019-06-25 2019-06-25 블록체인 기반 트랜잭션 처리 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190075913A KR102217776B1 (ko) 2019-06-25 2019-06-25 블록체인 기반 트랜잭션 처리 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20210000587A true KR20210000587A (ko) 2021-01-05
KR102217776B1 KR102217776B1 (ko) 2021-02-19

Family

ID=74141081

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190075913A KR102217776B1 (ko) 2019-06-25 2019-06-25 블록체인 기반 트랜잭션 처리 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102217776B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180113145A (ko) * 2017-04-05 2018-10-15 삼성에스디에스 주식회사 블록체인 기반 실시간 거래 처리 방법 및 그 시스템
KR20180113140A (ko) * 2017-04-05 2018-10-15 삼성에스디에스 주식회사 블록체인 기반의 데이터 처리 시스템 및 그 동작 방법
KR20190019004A (ko) 2017-08-16 2019-02-26 김용태 블록체인 기반의 거래 시스템 및 그 방법
KR20190067581A (ko) * 2017-12-07 2019-06-17 한국전자통신연구원 블록체인 트랜잭션 분산 처리 장치 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180113145A (ko) * 2017-04-05 2018-10-15 삼성에스디에스 주식회사 블록체인 기반 실시간 거래 처리 방법 및 그 시스템
KR20180113140A (ko) * 2017-04-05 2018-10-15 삼성에스디에스 주식회사 블록체인 기반의 데이터 처리 시스템 및 그 동작 방법
KR20190019004A (ko) 2017-08-16 2019-02-26 김용태 블록체인 기반의 거래 시스템 및 그 방법
KR20190067581A (ko) * 2017-12-07 2019-06-17 한국전자통신연구원 블록체인 트랜잭션 분산 처리 장치 및 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"AElf - 다중 체인 병렬 컴퓨팅 블록체인 프레임워크"(2018.02.22.) *

Also Published As

Publication number Publication date
KR102217776B1 (ko) 2021-02-19

Similar Documents

Publication Publication Date Title
JP6653358B2 (ja) 複数のシステムからのデータのブロックチェーンロギング
CN107360248B (zh) 用于配置局部共识的方法和装置及计算机可读存储介质
US11055703B2 (en) Smart contract lifecycle management
US20180367365A1 (en) State control method and apparatus
JP2020017256A (ja) ブロックチェーンにおける検証を行うシステム
KR101986081B1 (ko) 블록체인에서 특정 노드들간 블록을 공유 및 검증하는 방법
CN110298190A (zh) 去中心化多方安全数据处理方法、装置及存储介质
KR102283744B1 (ko) 블록체인 블록들의 비동기 처리
US9723070B2 (en) System to improve cluster machine processing and associated methods
WO2018111295A1 (en) Blockchain monitoring and management
US20150012914A1 (en) Distributed update service
US10599675B2 (en) Hybrid data replication
JP2014513852A (ja) クラスタデータグリッドにおける拡張可能な中央集中型動的リソース分散
US10204021B2 (en) Recovery of an infected and quarantined file in a primary storage controller from a secondary storage controller
Li et al. A blockchain-based architecture for traffic signal control systems
US9588780B2 (en) Maintaining state information in a multi-component, event-driven state machine
CN104199912B (zh) 一种任务处理的方法及装置
US10585696B2 (en) Predicting transaction outcome based on artifacts in a transaction processing environment
US9917740B2 (en) Reducing internodal communications in a clustered system
US20200076904A1 (en) Handling multi-pipe connections
US9342291B1 (en) Distributed update service
KR102217776B1 (ko) 블록체인 기반 트랜잭션 처리 방법 및 장치
CN111339202B (zh) 一种数据访问方法、装置、设备及存储介质
KR20210097560A (ko) 블록체인 트랜잭션 처리 방법
WO2019116251A1 (en) Management of data written via a bus interface to a storage controller during remote copy operations

Legal Events

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