KR102354776B1 - 트랜잭션 데이터를 처리를 위해 블록체인 시스템에 제공하기 위한 방법 및 디바이스 - Google Patents

트랜잭션 데이터를 처리를 위해 블록체인 시스템에 제공하기 위한 방법 및 디바이스 Download PDF

Info

Publication number
KR102354776B1
KR102354776B1 KR1020197028331A KR20197028331A KR102354776B1 KR 102354776 B1 KR102354776 B1 KR 102354776B1 KR 1020197028331 A KR1020197028331 A KR 1020197028331A KR 20197028331 A KR20197028331 A KR 20197028331A KR 102354776 B1 KR102354776 B1 KR 102354776B1
Authority
KR
South Korea
Prior art keywords
transaction data
blockchain system
data
blockchain
computer
Prior art date
Application number
KR1020197028331A
Other languages
English (en)
Other versions
KR20200107769A (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 어드밴스드 뉴 테크놀로지스 씨오., 엘티디.
Publication of KR20200107769A publication Critical patent/KR20200107769A/ko
Application granted granted Critical
Publication of KR102354776B1 publication Critical patent/KR102354776B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • 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/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • 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
    • 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
    • G06Q20/3827Use of message hashing
    • 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/389Keeping log of transactions for guaranteeing non-repudiation of a transaction
    • 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
    • G06Q30/00Commerce
    • G06Q30/04Billing or invoicing
    • 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • 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
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • 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
    • G06Q2220/00Business processing using cryptography
    • H04L2209/38

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Development Economics (AREA)
  • Databases & Information Systems (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본원에는 트랜잭션 데이터를 처리를 위해 블록체인 시스템에 제공하기 위한, 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램을 포함하는 방법, 디바이스 및 장치가 개시된다. 하나의 방법은 컴퓨터 시스템에서의 트랜잭션 데이터 - 트랜잭션 데이터는 단일 트랜잭션 데이터 또는 다중 트랜잭션 데이터 중 적어도 하나를 포함함 - 를 모니터링하는 단계; 및 모니터링에 기초하여, 트랜잭션 데이터를 블록체인 시스템에 비동기적으로 업로드하는 단계를 포함한다.

Description

트랜잭션 데이터를 처리를 위해 블록체인 시스템에 제공하기 위한 방법 및 디바이스
본 명세서는 일반적으로 컴퓨터 기술에 관한 것으로, 보다 상세하게는 트랜잭션(transaction) 데이터를 처리를 위해 블록체인 시스템에 제공하기 위한 방법 및 디바이스에 관한 것이다.
분산 원장 시스템(distributed ledger system)(DLS) 또는 합의 시스템(consensus system)이라고도 알려진 블록체인 시스템은 참여 중인 엔터티(entities)가 데이터를 안전하고 불변적으로 저장할 수 있게 할 수 있다. 블록체인 시스템은 임의의 특정 사용 사례를 참조하지 않고 임의의 DLS를 포함할 수 있으며, 퍼블릭(public), 프라이빗(private) 및 컨소시엄(consortium) 블록체인 네트워크에 사용될 수 있다. 퍼블릭 블록체인 네트워크는 모든 엔터티가 시스템을 사용하여 합의 프로세스에 참여하도록 개방되어 있다. 프라이빗 블록체인 네트워크는 중앙에서 판독 및 기입 허가를 제어하는 특정 엔터티에 제공된다. 컨소시엄 블록체인 네트워크는 합의 프로세스를 제어하는 선택된 엔터티의 그룹에 제공되고, 액세스 제어 계층을 포함한다.
블록체인 시스템은 하나 이상의 블록체인을 유지한다. 블록체인은 트랜잭션과 같은 데이터를 저장하기 위한 데이터 구조로서, 악의적인 당사자가 데이터를 함부로 변경하고 조작하는 것을 방지할 수 있다.
블록체인 시스템에 기초한 트랜잭션 데이터의 통상적인 기록시, 트랜잭션 데이터는 기록을 위해 블록체인 시스템에 동기적으로 실시간으로 제공된다. 예를 들어, 트랜잭션 데이터 시스템은 트랜잭션 데이터를 얻는 즉시, 블록체인 시스템의 상태를 체크하지 않고, 데이터를 블록체인 시스템에 업로드한다. 이와 같이, 때로는 블록체인 시스템이 과부하일 수 있거나 심지어 정지(stall)될 수도 있다. 본 발명의 배경이 되는 기술은 '중국 특허공개공보 CN 106503994 A (2017.03.15.)'에 개시되어 있다.
일 실시예에서, 트랜잭션 데이터를 처리를 위해 블록체인 시스템에 제공하기 위한 컴퓨터에 의해 구현되는 방법은: 컴퓨터 시스템에서의 트랜잭션 데이터 - 트랜잭션 데이터는 단일 트랜잭션 데이터 또는 다중 트랜잭션 데이터 중 적어도 하나를 포함함 - 를 모니터링하는 단계; 및 모니터링에 기초하여, 트랜잭션 데이터를 블록체인 시스템에 비동기적으로 업로드하는 단계를 포함한다.
다른 실시예에서, 트랜잭션 데이터를 처리를 위해 블록체인 시스템에 제공하기 위한 디바이스가 제공되며, 디바이스는: 하나 이상의 프로세서; 및 하나 이상의 프로세서에 연결된 하나 이상의 컴퓨터 판독 가능 메모리를 포함하고, 하나 이상의 컴퓨터 판독 가능 메모리는 하나 이상의 프로세서에 의해: 컴퓨터 시스템에서의 트랜잭션 데이터 - 트랜잭션 데이터는 단일 트랜잭션 데이터 또는 다중 트랜잭션 데이터 중 적어도 하나를 포함함 - 를 모니터링하고; 모니터링에 기초하여, 트랜잭션 데이터를 블록체인 시스템에 비동기적으로 업로드하도록 실행 가능한 명령어를 저장한다.
다른 실시예에서, 디바이스의 프로세서에 의해 실행될 때, 디바이스로 하여금 트랜잭션 데이터를 처리를 위해 블록체인 시스템에 제공하기 위한 방법을 수행하게 하는 명령어가 저장되어 있는 비 일시적 컴퓨터 판독 가능 매체가 제공되고, 방법은: 컴퓨터 시스템에서의 트랜잭션 데이터 - 트랜잭션 데이터는 단일 트랜잭션 데이터 또는 다중 트랜잭션 데이터 중 적어도 하나를 포함함 - 를 모니터링하는 단계; 및 모니터링에 기초하여, 트랜잭션 데이터를 블록체인 시스템에 비동기적으로 업로드하는 단계를 포함한다.
본 명세서에 포함되어 본 명세서의 일부를 구성하는 첨부 도면은 실시예를 도시한다. 도면을 참조하는 다음의 설명에서, 서로 다른 도면에 있는 동일한 번호는 달리 제시되지 않는 한 동일하거나 유사한 요소를 나타낸다.
도 1은 실시예에 따른, 블록체인 시스템의 개략도이다.
도 2는 실시예에 따른, 트랜잭션 데이터를 처리를 위해 블록체인 시스템에 제공하기 위한 시스템을 도시하는 개략도이다.
도 3은 실시예에 따른, 트랜잭션 데이터를 처리를 위해 블록체인 시스템에 제공하기 위한 디바이스의 개략도이다.
도 4는 실시예에 따른, 트랜잭션 데이터를 처리를 위해 블록체인 시스템에 비동기식으로 업로드하기 위한 방법을 도시하는 개략도이다.
도 5는 실시예에 따른, 처리를 위해 블록체인 시스템에 제공된 트랜잭션 데이터의 검증을 수행하기 위한 방법을 도시하는 개략도이다.
도 6는 실시예에 따른, 처리를 위해 블록체인 시스템에 제공된 트랜잭션 데이터를 처리하기 위한 방법을 도시하는 개략도이다.
도 7은 실시예에 따른, 트랜잭션 데이터를 처리를 위해 블록체인 시스템에 제공하기 위한 방법의 흐름이다.
도 8은 실시예에 따른, 트랜잭션 데이터를 처리를 위해 블록체인 시스템에 제공하기 위한 장치의 개략도이다.
본 명세서의 실시예는 트랜잭션 데이터를 처리를 위해 블록체인 시스템에 제공하고, 트랜잭션 데이터의 적확성(accuracy)을 검증하며, 청구서 및 지불 정보를 블록체인 시스템에 기록하기 위한 방법 및 디바이스를 제공한다. 방법에서, 컴퓨터 시스템은 블록체인 시스템의 상태 및 컴퓨터 시스템에서의 트랜잭션 데이터를 모니터링할 수 있고, 모니터링에 기초하여, 트랜잭션 데이터를 블록체인 시스템에 비동기적으로 업로드할 수 있다. 다른 컴퓨터 시스템은 업로드된 트랜잭션 데이터를 자신의 트랜잭션 데이터와 비교함으로써 업로드된 트랜잭션 데이터의 적확성을 검증할 수 있다. 검증 이후에, 결제 시스템은 청구서를 결제하고 지불 시스템에 알릴 수 있다. 지불 시스템은 지불 내역서를 블록체인 시스템에 업로드하고 지불 처리를 진행할 수 있다.
본 명세서에 개시된 실시예는 하나 이상의 기술적 효과를 갖는다. 일부 실시예에서, 방법 및 디바이스는 컴퓨터 시스템에서의 트랜잭션 데이터 및 블록체인 시스템의 상태를 모니터링한다. 이것은 블록체인 시스템이 트랜잭션 데이터를 수신하고 처리하기에 양호한 상태일 때 트랜잭션 데이터를 블록체인 시스템에 제출하는 시간을 결정하게 한다. 일부 실시예에서, 방법 및 디바이스는 트랜잭션 데이터의 특성 및 블록체인 시스템의 상태에 기초하여, 명시된 시간에 단일 트랜잭션 데이터 또는 다중 트랜잭션 데이터의 집합을 블록체인 시스템에 업로드한다. 이것은 블록체인 시스템이 과부하에 걸리는 것을 방지하며 그럼으로써 블록체인 시스템의 능력을 향상시킨다. 일부 실시예에서, 방법 및 디바이스는 블록체인 시스템을 이용하여 자동으로 트랜잭션 데이터를 인증하고, 트랜잭션 데이터의 적확성을 검증하고, 청구서를 결제하고 지불을 처리함으로써, 중앙 중개자(central intermediary)의 필요성을 없애고, 전체 트랜잭션 처리의 보안 및 효율을 향상시키며, 트랜잭션 비용을 줄여준다.
다음의 설명은 실시예의 상세한 내용을 제공한다. 실시예에서, 블록체인은 트랜잭션이 불변적이며 후속적으로 검증될 수 있는 방식으로, 데이터, 예를 들어 트랜잭션을 저장하는 데이터 구조이다. 블록체인 시스템은 하나 이상의 블록을 포함한다. 각 블록은 이전 블록의 암호 해시를 포함함으로써 블록체인에서 바로 자기 앞에 있는 이전 블록에 연결된다. 각 블록은 또한 타임 스탬프, 자신의 암호 해시 및 하나 이상의 트랜잭션을 포함할 수 있다. 일반적으로 블록체인 시스템의 노드에 의해 이미 검증된 트랜잭션은 해시되고 머클 트리(Merkle tree)와 같은 데이터 구조로 인코딩될 수 있다. 머클 트리에서, 트리의 리프 노드에 있는 데이터가 해시되며, 트리의 각 브랜치에 있는 모든 해시는 브랜치의 루트에 연쇄(concatenate)될 수 있다. 이러한 프로세스는 트리에서 모든 데이터를 나타내는 해시를 저장하는 전체 트리의 루트까지 트리에서 계속된다. 트리에 저장된 트랜잭션을 갖는다고 하는 해시는 트리의 구조와 일치하는지를 결정함으로써 신속하게 검증될 수 있다.
블록체인 시스템은 하나 이상의 블록체인을 관리, 업데이트 및 유지하는 컴퓨팅 노드들의 네트워크를 포함한다. 네트워크는 퍼블릭 블록체인 네트워크, 프라이빗 블록체인 네트워크 또는 컨소시엄 블록체인 네트워크일 수 있다. 퍼블릭 블록체인 네트워크에서, 합의 프로세스는 합의 네트워크의 노드에 의해 제어된다. 예를 들어, 수백, 수천 또는 심지어 수백만 엔터티와 같은 수많은 엔터티가 퍼블릭 블록체인 네트워크에서 동작할 수 있으며, 각각의 엔터티는 퍼블릭 블록체인 네트워크의 하나 이상의 노드를 동작시킨다. 따라서, 퍼블릭 블록체인 네트워크는 참여 중인 엔터티와 관련하여 퍼블릭 네트워크로 간주될 수 있다. 때때로, 블록이 유효성 입증되도록 하고 블록체인 네트워크의 블록체인에 추가되도록 하기 위해서는 대부분의 엔터티(노드)가 모든 블록에 서명하여야 한다. 퍼블릭 블록체인 네트워크의 예는 블록체인이라고 지칭되는 분산 원장을 활용하는 특정 피어-투-피어 지불 네트워크(peer-to-peer payment network)를 포함한다.
일반적으로 퍼블릭 블록체인 네트워크는 퍼블릭 트랜잭션을 지원할 수 있다. 퍼블릭 트랜잭션은 퍼블릭 블록체인 네트워크의 모든 노드와 공유되며, 글로벌 블록체인(global blockchain)에 저장된다. 글로벌 블록체인은 모든 노드에 걸쳐 복제된 블록체인이며, 모든 노드는 글로벌 블록체인에 대해 합의한다. 합의(예를 들어, 블록체인에 블록의 추가에 대한 동의)를 달성하기 위해, 합의 프로토콜이 퍼블릭 블록체인 네트워크에서 구현된다. 합의 프로토콜의 예는 (예를 들어, 일부 암호화 통화 네트워크(crypto-currency network)에서 구현되는) 작업 증명(proof-of-work)(POW), 지분 증명(proof-of-stake)(POS) 및 인증 증명(proof-of-authority)(POA)을 포함한다.
일반적으로, 프라이빗 블록체인 네트워크는 중앙에서 판독 및 기입 허가를 제어하는 특정 엔터티에 제공될 수 있다. 엔터티는 어떤 노드가 블록체인 네트워크에 참여할 수 있는지를 제어한다. 그 결과, 일반적으로 프라이빗 블록체인 네트워크는 네트워크에 참여하도록 허용된 사람과 (예를 들어, 특정 트랜잭션에서만) 이들의 참여 수준에 제한을 가하는 허가된 네트워크라고도 지칭된다. 다양한 유형의 액세스 제어 메커니즘이 사용될 수 있다(예를 들면, 기존 참가자가 새로운 엔터티를 추가하는 것에 대해 투표하고, 규제 기관이 승인을 제어할 수 있다).
일반적으로, 컨소시엄 블록체인 네트워크는 참여 중인 엔터티 사이에서 비공개일 수 있다. 컨소시엄 블록체인 네트워크에서, 합의 프로세스는 공인된 노드 세트에 의해 제어되며, 하나 이상의 노드는 각 엔터티(예를 들어, 금융 기관, 보험 회사)에 의해 동작된다. 예를 들어, 열(10) 개의 엔터티(예를 들어, 금융 기관, 보험 회사)의 컨소시엄은 컨소시엄 블록체인 네트워크를 동작시킬 수 있으며, 엔터티 각각은 컨소시엄 블록체인 네트워크에서 적어도 하나의 노드를 동작시킨다. 따라서, 컨소시엄 블록체인 네트워크는 참여 중인 엔터티와 관련하여 프라이빗 네트워크로 간주될 수 있다. 일부 예에서, 블록이 유효성 입증되도록 하고 블록체인에 추가되도록 하기 위해서는 각각의 엔터티(노드)가 모든 블록에 서명하여야 한다. 일부 예에서, 블록이 유효성 입증되도록 하고 블록체인에 추가되도록 하기 위해서는 적어도 엔터티(노드)의 서브세트(예를 들어, 적어도 7 개의 엔터티)가 모든 블록에 서명하여야 한다.
도 1은 실시예에 따른, 블록체인 시스템(100)의 개략도를 도시한다. 도 1을 참조하면, 블록체인 시스템(100)은 블록체인(120) 상에서 동작하도록 구성된 복수의 노드, 예를 들어 노드(102 내지 110)를 포함할 수 있다. 노드(102 내지 110)는 피어-투-피어(peer-to-peer)(P2P) 네트워크와 같은 네트워크(112)를 형성할 수 있다. 노드(102 내지 110)의 각각은 블록체인(120)의 사본을 저장하도록 구성된 컴퓨터 또는 컴퓨터 시스템과 같은 컴퓨팅 디바이스일 수 있거나, 또는 프로세스 또는 애플리케이션과 같은 컴퓨팅 디바이스에서 실행되는 소프트웨어일 수 있다. 노드(102 내지 110) 각각은 고유 식별자를 가질 수 있다. 노드(102 내지 110)는 유선 또는 무선 통신에 의해 서로 통신할 수 있다. 이러한 통신은 전송 제어 프로토콜/인터넷 프로토콜(Transmission Control Protocol/Internet Protocol)(TCP/IP)과 같은 신뢰할 수 있는 프로토콜을 채택할 수 있다.
블록체인(120)은 도 1의 블록(B1 내지 B5)과 같이 데이터 블록의 형태로 증가하는 레코드의 리스트를 포함할 수 있다. 각각의 블록(B1 내지 B5)은 타임 스탬프, 이전 블록의 암호 해시, 및 통화 트랜잭션(monetary transaction)과 같은 트랜잭션일 수 있는 현재 블록의 데이터를 포함할 수 있다. 예를 들어, 도 1에 도시된 바와 같이, 블록(B5)은 타임 스탬프, 블록(B4)의 암호 해시 및 블록(B5)의 트랜잭션 데이터를 포함할 수 있다. 또한, 예를 들어, 이전 블록에 대해 해싱 연산이 수행되어 이전 블록의 암호 해시를 생성할 수 있다. 해싱 연산은 SHA-256과 같은 해시 알고리즘을 통해 다양한 길이의 입력을 고정 길이의 암호 출력으로 변환할 수 있다.
노드(102 내지 110)는 블록체인(120)에 대해 연산을 수행하도록 구성될 수 있다. 예를 들어, 노드, 예를 들면 노드(102)가 새로운 데이터를 블록체인(120)에 저장하기를 원할 때, 그 노드는 블록체인(120)에 추가될 새로운 블록을 생성하고 새로운 블록을 다른 노드, 예를 들면 네트워크(112) 내의 노드(104 내지 110)에 브로드캐스트할 수 있다. 새로운 블록의 합법성, 예를 들어, 그 시그니처 및 트랜잭션의 유효성에 기초하여, 다른 노드는 새로운 블록을 수락하기로 결정할 수 있어서, 노드(102) 및 다른 노드는 새로운 블록을 블록체인(120)의 각자의 사본에 추가할 수 있다. 이러한 프로세스가 반복됨에 따라, 점점 더 많은 데이터 블록이 블록체인(120)에 추가될 수 있다.
실시예에서, 블록체인 시스템(100)은 하나 이상의 스마트 계약(smart contract)에 따라 동작할 수 있다. 각각의 스마트 계약은 계약의 협상 또는 수행을 용이하게 하거나, 검증하거나 또는 시행하기 위해 블록체인(120)에 통합된 컴퓨터 코드의 형태의 컴퓨터 프로토콜일 수 있다. 예를 들어, 블록체인 시스템(100)의 사용자는 C++, Java, Solidity, Python 등과 같은 프로그래밍 언어를 사용하여 동의된 조항을 스마트 계약으로 프로그램할 수 있으며, 조항이 충족될 때, 스마트 계약은 블록체인 시스템(100)에 의해, 예를 들어, 트랜잭션을 수행하기 위해 자동으로 실행될 수 있다. 또한, 예를 들어, 스마트 계약은 각기 특정 작업을 수행하는 프로그램 명령어의 시퀀스일 수 있는 복수의 서브루틴 또는 기능을 포함할 수 있다. 스마트 계약은 인간의 상호작용 없이도, 전체적으로 또는 부분적으로 실행되는 동작 코드일 수 있다.
도 2는 실시예에 따른, 트랜잭션 데이터를 처리를 위해 블록체인 시스템(100)(도 1)과 같은 블록체인 시스템에 제공하기 위한 시스템을 도시하는 개략도이다. 단지 예시의 목적으로, 당사자 A 및 당사자 B의 제1 및 제2 시스템이 각각 도 2에 도시된다. 실시예에서, 각 당사자의 시스템은 사용자 인터페이스 시스템 및 트랜잭션 데이터 시스템을 포함하는 컴퓨터 시스템일 수 있다. 일부 실시예에서, 각 당사자의 시스템은 블록체인 시스템(100)의 노드로서 동작할 수 있다. 다른 실시예에서, 각 당사자의 시스템은 블록체인 시스템(100)의 노드로서 동작하지 않을 수 있다.
일부 실시예에서, 사용자 인터페이스 시스템은 당사자의 비즈니스 시스템으로서 구현되며, 트랜잭션 데이터 시스템은 당사자의 회계 시스템으로서 구현된다. 예를 들어, 당사자 A의 시스템은 트랜잭션 데이터를 트랜잭션 데이터 시스템(230)에 보고하는 사용자 인터페이스 시스템(220)을 포함할 수 있다. 트랜잭션 데이터 시스템(230)은 트랜잭션 데이터를 기록할 수 있다. 유사하게, 당사자 B의 시스템은 사용자 인터페이스 시스템(250) 및 트랜잭션 데이터 시스템(260)을 포함할 수 있다. 또한, 각 당사자의 시스템은 자신의 트랜잭션 데이터를 검증 및 추가 처리를 위해 블록체인 시스템(100)에 업로드하는 송수신 디바이스를 포함할 수 있다. 예를 들어, 당사자 A의 시스템은 트랜잭션 데이터 시스템(230)으로부터 트랜잭션 데이터를 획득하고 그 데이터를 블록체인 시스템(100)에 업로드하는 송수신 디바이스(240)를 포함할 수 있다. 유사하게, 당사자 B의 시스템은 트랜잭션 데이터 시스템(260)으로부터 트랜잭션 데이터를 획득하고 그 데이터를 블록체인 시스템(100)에 업로드하는 송수신 디바이스(270)를 포함할 수 있다.
실시예에서, 송수신 디바이스(240)는 트랜잭션 데이터의 임시 저장을 위한 버퍼로서 동작할 수 있어서, 트랜잭션 데이터는 생성된 이후에 블록체인 시스템(100)에 의해 즉시 처리되지 않을 수 있지만, 블록체인 시스템(100)에 비동기적으로 업로드될 수 있다. 실시예에서, 송수신 디바이스(240)는 또한 업로딩을 위한 제어기로서, 단일 트랜잭션 데이터 또는 다중 트랜잭션 데이터의 집합을 업로드할지를 결정하도록 동작할 수 있다. 예를 들어, 단일 트랜잭션 데이터는 단일 트랜잭션 동안 생성된 데이터일 수 있고, 다중 트랜잭션 데이터는 다수의 트랜잭션 동안 생성된 데이터일 수 있다. 또한, 예를 들어, 다중 트랜잭션 데이터의 집합은 다수의 트랜잭션 동안 생성된 데이터에 대해 집합을 수행함으로써 생성될 수 있다. 실시예에서, 당사자 A와 당사자 B 사이에는 복수의 트랜잭션이 존재한다. 각각의 트랜잭션을 블록체인 시스템(100)의 블록체인 상에 개별적으로 기록하는 대신에, 트랜잭션 데이터 시스템(230) 또는 송수신 디바이스(240)는, 예를 들어, 트랜잭션 동안 생성된 데이터에 대해 집합을 수행하여 다중 트랜잭션 데이터의 집합을 생성할 수 있고, 이후 이 집합은 블록체인 시스템(100)이 사용 중 상태(busy state)에 있을 때 송수신 디바이스(240)에 일시적으로 저장될 수 있다. 송수신 디바이스(240)는 또한 블록체인 시스템(100)에 트랜잭션 데이터를 업로드하는 타이밍을 제어할 수 있다. 실시예에서, 송수신 디바이스(240)가 다중 트랜잭션 데이터의 집합을 업로드하기로 결정하면, 송수신 디바이스(240)는 트랜잭션 데이터 시스템(230)으로부터 다중 트랜잭션 데이터를 요청하고 집합을 생성할 수 있다. 송수신 디바이스(240)는 트랜잭션 데이터 시스템(230) 및 블록체인 시스템(100)의 모니터링에 기초하여 업로드를 제어할 수 있다.
실시예에서, 송수신 디바이스(240)는 트랜잭션 데이터 시스템(230)의 계정을 모니터링할 수 있다. 예를 들어, 송수신 디바이스(240)는 다수의 트랜잭션을 모니터링하여 이들 트랜잭션이 반복되는 특징이 있는지를 결정할 수 있다. 송수신 디바이스(240)는 또한 트랜잭션 데이터의 크기를 모니터링하고 처리 시간을 추정할 수 있다.
실시예에서, 송수신 디바이스(240)는 또한 블록체인 시스템(100)의 계정을 모니터링할 수 있다. 예를 들어, 송수신 디바이스(240)는 블록체인 시스템(100)의 데이터 블록의 크기, 블록체인 시스템(100)에 데이터를 업로드하는 빈도, 및 미리 결정된 기간 동안 블록체인 시스템(100)에 의해 처리되는 트랜잭션의 개수를 모니터링할 수 있다. 모니터링에 기초하여, 송수신 디바이스(240)는 (단일 트랜잭션 또는 다수의 트랜잭션의 집합의) 최적의 개수 및 업로드될 트랜잭션 데이터의 크기를 결정할 수 있다. 이것은 과부하로 인해 블록체인 시스템(100)의 처리 효율이 감소되는 것을 방지할 수 있다. 또한, 모니터링에 기초하여, 송수신 디바이스(240)는 업로드하기 위한 최적의 타이밍을 결정할 수 있다. 이것은 블록체인 시스템(100)에 정점(peak)의 빈도로 업로드하는 동안에 데이터가 업로딩되는 것을 피할 수 있고, 추가적으로는 높은 빈도의 업로딩으로 인한 블록체인 시스템의 효율 감소 또는 정지를 방지한다.
당사자 B의 시스템의 송수신 디바이스(270) 또한 송수신 디바이스(240)와 유사한 방식으로 트랜잭션 데이터 시스템(260)으로부터 획득된 트랜잭션 데이터의 업로딩을 제어할 수 있다. 간결함을 위해, 송수신 디바이스(270)의 동작에 관한 설명은 여기서 생략한다. 실시예에서, 트랜잭션 데이터 업로딩 및 기록은 스마트 계약에 기초하여 수행된다.
실시예에서, 송수신 디바이스(240)는 트랜잭션 데이터 시스템(230)에 저장된 명령어의 기능 블록일 수 있고, 트랜잭션 데이터 시스템(230)의 프로세서는 송수신 디바이스(240)의 기능을 수행하는 명령어를 실행할 수 있다. 유사하게, 송수신 디바이스(270)는 트랜잭션 데이터 시스템(260)에 저장된 명령어의 기능 블록일 수 있고, 트랜잭션 데이터 시스템(260)의 프로세서는 송수신 디바이스(270)의 기능을 수행하는 명령어를 실행할 수 있다.
실시예에서, 각각의 송수신 디바이스(240) 및 송수신 디바이스(270)는 임의의 트랜잭션 데이터 시스템 및 블록체인 시스템과 호환될 수 있는 집적 회로를 포함하는 독립적인 하드웨어일 수 있다. 예를 들어, 송수신 디바이스(240)는 또한 당사자 B의 시스템에서 구현될 수 있어서, 송수신 디바이스(240)는 수정없이 트랜잭션 데이터 시스템(260) 및 블록체인 시스템(100)과 인터페이스할 수 있다.
도 3은 실시예에 따른, 트랜잭션 데이터를 처리를 위해 블록체인 시스템에 제공하기 위한 당사자 A의 시스템 또는 당사자 B의 시스템(도 2)을 구현하기 위한 디바이스(300)의 개략도이다. 디바이스(300)는 이것으로 제한되는 것은 아니지만 데스크톱 컴퓨터, 랩톱 컴퓨터, 서버 컴퓨터, 태블릿, 스마트폰 또는 스마트 시계, 또는 임의의 다른 형태를 비롯한 임의의 형태를 취할 수 있다. 도 3을 참조하면, 디바이스(300)는 버스(350)를 통해 서로 통신하는 프로세서(310), 메모리(320), 사용자 인터페이스(330) 및 통신 인터페이스(340)를 포함할 수 있다.
프로세서(310)는 하나 이상의 전용 처리 유닛, 주문형 집적 회로(application-specific integrated circuit)(ASIC), 필드 프로그래머블 게이트 어레이(field-programmable gate array)(FPGA), 또는 다양한 다른 유형의 프로세서 또는 처리 유닛을 포함할 수 있다. 프로세서(310)는 메모리(320)와 연결되고 메모리(320)에 저장된 명령어를 실행할 수 있다.
통신 인터페이스(340)는 블록체인 시스템에서 디바이스(300)와 노드(102 내지 108)(도 1)와 같은 노드 사이의 통신을 용이하게 할 수 있다. 실시예에서, 통신 인터페이스(340)는 트랜잭션 데이터를 블록체인 시스템의 대응하는 노드에 업로드할 수 있다. 통신 인터페이스(340)는 또한 업로딩의 확인으로서 업로드된 데이터의 해시를 수신하고 그 해시를 기록을 위해 트랜잭션 데이터 시스템에 포워딩할 수 있다. 실시예에서, 통신 인터페이스(340)는 TCP/IP 및 TLS/SSL 프로토콜을 비롯한 인터넷 표준 또는 프로토콜, 종합 정보 네트워크(Integrated Services Digital Network)(ISDN) 표준 등과 같은 하나 이상의 통신 표준을 지원할 수 있다. 실시예에서, 통신 인터페이스(340)는 근거리 네트워크(Local Area Network)(LAN) 카드, 케이블 모뎀, 위성 모뎀, 데이터 버스, 케이블, 무선 통신 채널, 무선 기반 통신 채널, 셀룰러 통신 채널, 인터넷 프로토콜(Internet Protocol)(IP) 기반 통신 디바이스, 또는 유선 및/또는 무선 통신을 위한 다른 통신 디바이스 중 하나 이상을 포함할 수 있다. 실시예에서, 통신 인터페이스(340)는 퍼블릭 클라우드 인프라스트럭처(infrastructure), 프라이빗 클라우드 인프라스트럭처 및 하이브리드 퍼블릭/프라이빗 클라우드 인프라스트럭처를 기초로 할 수 있다.
메모리(320)는 프로세서 실행 가능 명령어 및 데이터를 저장할 수 있다. 컴퓨터 실행 가능 명령어 및 데이터는 트랜잭션 데이터 모니터(322), 트랜잭션 데이터 집합기(aggregator)(324) 및 트랜잭션 데이터 업로드 스케줄러(326)를 포함할 수 있다. 트랜잭션 데이터 모니터(322)는, 프로세서(310)에 의해 실행될 때, 디바이스(300)가 트랜잭션 데이터 시스템의 트랜잭션 데이터를 모니터링하여 데이터의 유형, 크기 및 유사성과 같은 트랜잭션 데이터의 특성을 결정할 수 있게 한다. 트랜잭션 데이터 집합기(324)는, 프로세서(310)에 의해 실행될 때, 디바이스(300)가 다중 트랜잭션 데이터를 집합할 수 있게 한다. 집합은, 예를 들어 다중 트랜잭션 데이터의 반복된 특징을 분류하고 제거함으로써 수행될 수 있다. 트랜잭션 데이터 업로드 스케줄러(326)는, 프로세서(310)에 의해 실행될 때, 디바이스(300)가 업로딩의 타이밍 및 유형(예를 들어, 단일 트랜잭션 데이터 또는 다중 트랜잭션 데이터의 집합 등)을 결정할 수 있게 한다. 메모리(320) 내의 컴퓨터 실행 가능 명령어 및 데이터는 또한 블록체인 시스템으로부터, 청구서 정보 및 지불 정보를 생성하기 위해, 업로드된 트랜잭션 데이터의 적확성에 관한 검증 결과뿐만 아니라 검증된 트랜잭션 데이터를 수신하는 수신기를 포함할 수 있고 이는 아래에 상세히 설명될 것이다.
실시예에서, 메모리(320)는 또한 트랜잭션 데이터 시스템으로부터 획득된 트랜잭션 데이터를 저장하기 위한 버퍼로서 기능할 수 있다. 저장된 데이터에는 업로드하기 위한 시간 및 제거하기 위한 시간이 할당될 수 있어서, 저장된 데이터는 업로드 이후에 디바이스(300)로부터 자동으로 제거될 수 있다.
메모리(320)는 정적 랜덤 액세스 메모리(static random-access memory)(SRAM), 전기적 소거 가능 프로그래머블 판독 전용 메모리(electrically erasable programmable read-only memory)(EEPROM), 소거 가능 프로그래머블 판독 전용 메모리(erasable programmable read-only memory)(EPROM), 프로그래머블 판독 전용 메모리(programmable read-only memory)(PROM), 판독 전용 메모리(read-only memory)(ROM), 자기 메모리, 플래시 메모리 또는 자기 또는 광학 디스크와 같은 임의의 유형의 휘발성 또는 비 휘발성 메모리 디바이스, 또는 그의 조합일 수 있다.
사용자 인터페이스(330)는 디스플레이 및 사용자 커맨드를 프로세서(310) 등으로 전송하는 입력 디바이스를 포함할 수 있다. 디스플레이는 트랜잭션 데이터, 업로드 진행 상황 및 블록체인 시스템의 상태 등을 디스플레이할 수 있다. 디스플레이는 이것으로 제한되는 것은 아니지만 음극선관(cathode ray tube)(CRT), 액정 디스플레이(liquid crystal display)(LCD), 발광 다이오드(light-emitting diode)(LED), 가스 플라즈마, 터치 스크린, 또는 정보를 사용자에게 디스플레이 하기 위한 다른 이미지 투영 디바이스를 포함할 수 있다. 입력 디바이스는 사용자로부터 프로세서(310)로 데이터 및 제어 신호를 제공하는 데 사용되는 임의의 유형의 컴퓨터 하드웨어 장비일 수 있다. 입력 디바이스는 이것으로 제한되는 것은 아니지만 키보드, 마우스, 스캐너, 디지털 카메라, 조이스틱, 트랙볼, 커서 방향 키, 터치스크린 모니터 또는 오디오/비디오 커맨더 등을 포함할 수 있다.
실시예에서, 디바이스(300)는 프로세서(310) 및 사용자 인터페이스(330)가 트랜잭션 데이터 시스템의 일부가 되도록 트랜잭션 데이터 시스템을 포함할 수 있다.
도 4는 실시예에 따른, 트랜잭션 데이터를 블록체인 시스템(100)(도 1)과 같은 블록체인 시스템에 비동기적으로 업로딩하기 위한 방법(400)을 도시하는 개략도이다. 일부 실시예에서, 블록체인 시스템은 컨소시엄 블록체인을 구현한다. 간략하게 하기 위해, 도 4는 당사자 A의 시스템의 동작만을 도시하며, 동일한 동작이 당사자 B의 시스템에도 적용 가능하다.
도 4를 참조하면, 당사자 A의 사용자 인터페이스 시스템(220)은 트랜잭션을 수행하고 트랜잭션 데이터를 트랜잭션 데이터 시스템(230)에 전송하고 트랜잭션 데이터 시스템(230)에게 데이터를 기록하도록 요청할 수 있다(단계 402). 트랜잭션 데이터 시스템(230)은 트랜잭션 데이터를 기록함으로써 요청에 즉시 응답하고, 그런 다음 기록의 확인을 사용자 인터페이스 시스템(220)에 리턴할 수 있다(단계 404). 트랜잭션 데이터 시스템(230)에 기록된 트랜잭션 데이터는 블록체인 시스템(100)에 업로딩을 위해 송수신 디바이스(240)에 제공될 수 있다.
실시예에서, 송수신 디바이스(240)는 트랜잭션 데이터 시스템(406)의 트랜잭션 데이터를 능동적으로 모니터링할 수 있다(단계 406). 예를 들어, 송수신 디바이스(240)는 트랜잭션 데이터 시스템(230)의 계정을 모니터링할 수 있다. 또한 예를 들어, 송수신 디바이스(240)는 다수의 트랜잭션을 모니터링하여 관련된 트랜잭션이 있는지 그리하여 일부 반복되는 특징이 있는지를 결정할 수 있다. 송수신 디바이스(240)는 또한 트랜잭션 데이터의 크기를 모니터링하고 처리 시간을 추정할 수 있다.
실시예에서, 송수신 디바이스(240)는 또한 블록체인 시스템(100)의 상태를 모니터링할 수 있다(단계 408). 예를 들어, 송수신 디바이스(240)는 블록체인 시스템(100)의 데이터 블록의 크기, 블록체인 시스템(100)에 데이터를 업로드하는 빈도, 및 미리 결정된 기간 동안 블록체인 시스템(100)에 의해 처리되는 트랜잭션의 개수를 모니터링할 수 있다.
모니터링에 기초하여, 송수신 디바이스(240)는 트랜잭션(단일 트랜잭션 또는 다수의 트랜잭션)의 최적의 개수 및 업로드될 트랜잭션 데이터의 크기를 결정할 수 있다. 예를 들어, 다수의 트랜잭션이 반복되는 특징을 갖고 있으면, 송수신 디바이스(240)는 업로드하기 전에 다중 트랜잭션 데이터를 집합하기로 결정할 수 있다. 한편, 다수의 트랜잭션이 서로 완전히 상이하면, 또는 블록체인 시스템(100)의 데이터 블록의 크기가 충분히 크지 않으면, 송수신 디바이스(240)는 이때 다중 트랜잭션 데이터 대신 단일 트랜잭션 데이터를 업로드하기로 결정할 수 있다.
실시예에서, 송수신 디바이스(240)는 단일 트랜잭션 데이터를 업로드하기로 결정하고 이에 따라 단일 트랜잭션 데이터의 요청을 트랜잭션 데이터 시스템(230)에 전송할 수 있다(단계 410). 트랜잭션 데이터 시스템(230)은 요청된 단일 트랜잭션 데이터를 리턴함으로써 요청에 즉시 응답할 수 있다(단계 412). 송수신 디바이스(240)는 단일 트랜잭션 데이터를 블록체인 시스템(100)에 업로드할 수 있다(단계 414). 일부 실시예에서, 송수신 디바이스(240)는 개인 키로 데이터를 암호화함으로써 단일 트랜잭션 데이터에 서명할 수 있다. 업로딩의 확인으로서, 블록체인 시스템(100)은 업로드된 단일 트랜잭션 데이터의 해시를 송수신 디바이스(240)에 리턴할 수 있다(단계 416). 송수신 디바이스(240)는 업로드된 단일 트랜잭션 데이터 해시를 트랜잭션 데이터 시스템(230)에 전송할 수 있어서, 기록을 종결하기 위해 트랜잭션 데이터 시스템(230)은 업로드된 트랜잭션 데이터를 표시할 수 있다(단계 418).
실시예에서, 송수신 디바이스(240)는 다중 트랜잭션 데이터의 집합을 업로드하기로 결정하고 이에 따라 트랜잭션 데이터 시스템(230)에 대해 다중 트랜잭션 데이터의 요청을 전송할 수 있다(단계 420). 트랜잭션 데이터 시스템(230)은 요청된 다중 트랜잭션 데이터를 송수신 디바이스(240)에 리턴함으로써 요청에 즉시 응답할 수 있다(단계 422). 송수신 디바이스(240)는, 예를 들어, 중복성 또는 반복된 특징을 제거함으로써 다중 트랜잭션 데이터의 집합을 생성할 수 있다(단계 424). 송수신 디바이스(240)는 다중 트랜잭션 데이터의 집합을 블록체인 시스템(100)에 업로드할 수 있다(단계 426). 일부 실시예에서, 송수신 디바이스(240)는 개인 키로 데이터를 암호화함으로써 다중 트랜잭션 데이터에 서명할 수 있다. 업로딩의 확인으로서, 블록체인 시스템(100)은 업로드된 다중 트랜잭션 데이터의 집합의 해시를 송수신 디바이스(240)에 리턴할 수 있다(단계 428). 송수신 디바이스(240)는 업로드된 다중 트랜잭션 데이터의 집합의 해시를 트랜잭션 데이터 시스템(230)에 포워딩할 수 있어서, 기록을 종결하기 위해 트랜잭션 데이터 시스템(230)은 업로드된 트랜잭션 데이터를 표시할 수 있다(단계 430).
위에서 설명한 방법(400)에서, 송수신 디바이스(240)는 트랜잭션 데이터가 업로드될 버퍼로서 기능하고, 동시에 업로딩 프로세스의 제어기로서도 기능하여, 트랜잭션 데이터의 제어된 비동기적 업로딩을 실현한다. 이것은 과부하로 인한 블록체인 시스템의 막힘 또는 심지어 정지를 회피하여, 블록체인 시스템의 효율성을 향상시킬 수 있으므로, 블록체인 시스템은 대량의 또는 높은 빈도의 트랜잭션에 적합할 수 있다.
일단 트랜잭션 데이터가 블록체인 시스템에 업로드되면, 트랜잭션이 인증될 수 있고, 트랜잭션 데이터는 블록체인 시스템에서 트랜잭션에 관여된 당사자들에 의해 검증될 수 있다.
당사자들에 의한 트랜잭션의 인증은 개인 키 및 공개 키를 포함하는 한 쌍의 키를 제공하는 암호화 알고리즘에 기초하여 수행될 수 있다. 개인 키는 특정 당사자와 연관될 수 있으며 트랜잭션 데이터를 암호화할 수 있다. 트랜잭션 데이터의 암호화는 트랜잭션(들)에 서명하는 것이라고도 지칭될 수 있다. 공개 키는 암호화된 데이터를 해독하도록 블록체인 시스템의 다른 당사자에게 제공되어, 트랜잭션이 그 특정 당사자에 의해 실제로 승인되었는지 여부를 검증할 수 있다. 암호해독은 시그니처 검증이라고도 지칭될 수 있다. 실시예에서, 블록체인 시스템은 RSA(Rivest-Shamir-Adleman) 알고리즘, ECDSA(Elliptic Curve Digital Signature Algorithm), SM2 알고리즘 등과 같은 복수의 암호화 알고리즘을 지원할 수 있다.
당사자에 의해 트랜잭션(들)이 인증된 이후에, 블록체인 시스템에 업로드된 트랜잭션 데이터의 적확성이 검증될 수 있다. 실시예에서, 당사자 A 및 당사자 B는 트랜잭션 데이터의 검증에 관여되며, 여기서 당사자 A는 트랜잭션 데이터를 제출하는 당사자이다. 실시예에서, 당사자 A의 시스템이 트랜잭션 데이터를 블록체인 시스템의 노드, 예를 들어 블록체인 시스템(100)의 노드(102)(도 1)에 전송한 이후, 노드는 블록체인 시스템에서 트랜잭션 데이터를 브로드캐스트할 수 있다. 당사자 B의 시스템은 블록체인 시스템의 다른 노드, 예를 들어 블록체인 시스템(100)의 노드(106)(도 1)를 통해 트랜잭션 데이터를 수신할 수 있고, 당사자 A로부터 수신된 트랜잭션 데이터를 자신의 트랜잭션 데이터와 비교하여 수신된 트랜잭션 데이터의 적확성을 검증할 수 있다. 실시예에서, 당사자 B의 시스템은 또한 자신의 트랜잭션 데이터를 트랜잭션 데이터 시스템(260)(도 2)으로부터 블록체인 시스템으로 업로드하여 당사자 A의 트랜잭션 데이터와 당사자 B의 트랜잭션 데이터가 블록체인 시스템에서 비교될 수 있다. 실시예에서, 당사자 A의 시스템에 의해 업로드된 트랜잭션 데이터를 브로드캐스트하는 대신에, 당사자 B의 시스템이 트랜잭션 데이터를 당사자 A의 시스템으로부터 직접 요청할 수 있다. 트랜잭션 데이터가 적확한 것으로 결정되면, 당사자 B의 시스템은 또한 검증 결과를 블록체인 시스템을 통해 당사자 B의 시스템으로 전송하고 당사자 A의 청구서를 생성할 수 있다.
도 5는 실시예에 따른, 블록체인 시스템(100)(도 1)과 같은 블록체인 시스템에 제출된 트랜잭션 데이터의 검증을 수행하기 위한 방법(500)을 도시하는 개략도이다. 이 실시예에서, 당사자 B의 시스템은 당사자 A의 시스템에 의해 블록체인 시스템(100)에 업로드되는 트랜잭션 데이터를 능동적으로 모니터링할 수 있다(단계 502). 당사자 A의 시스템이 단일 트랜잭션 데이터 또는 다중 트랜잭션 데이터의 집합을 블록체인 시스템(100)에 업로드하면(단계 504), 블록체인 시스템(100)은 업로드된 데이터의 해시를 업로딩의 확인으로서 당사자 A의 시스템에 리턴할 수 있다(단계 506).
실시예에서, 당사자 B의 시스템은 업로드된 트랜잭션 데이터를 블록체인 시스템(100)으로부터 요청할 수 있고(단계 508), 블록체인 시스템(100)은 업로드된 트랜잭션 데이터를 당사자 B의 시스템으로 전송할 수 있다(단계 510). 실시예에서, 당사자 A의 시스템은 당사자 B의 시스템이 요청없이 데이터를 획득할 수 있도록 블록체인 시스템에 업로드된 트랜잭션 데이터를 브로드캐스트할 수 있다. 당사자 A의 시스템에 의해 업로드된 트랜잭션 데이터를 획득한 이후, 당사자 B의 시스템은 업로드된 트랜잭션 데이터를 자신의 트랜잭션 데이터와 비교할 수 있다(단계 512). 데이터가 일치하면, 당사자 B의 시스템은 데이터를 검증된 것으로 표시하고, 당사자 A의 청구서를 포함할 수 있는 검증 결과를 생성하고, 검증 결과를 블록체인 시스템(100)에 업로드할 수 있다(단계 514). 업로드된 검증 결과는 블록체인 시스템(100)에서 브로드캐스트될 수 있어서, 당사자 A의 시스템은 청구서를 획득하고 트랜잭션 데이터를 검증된 것으로 표시할 수 있다(단계 516). 한편, 단계(512)에서의 비교 동안, 당사자 B의 시스템이 데이터가 일치하지 않다는 것을 발견하면, 당사자 B의 시스템은 트랜잭션 데이터를 무시하거나 버릴 수 있다(단계 518). 실시예에서, 당사자 B의 시스템은 당사자 A의 시스템으로부터 새로운 트랜잭션 데이터를 추가로 요청할 수 있다.
블록체인 시스템에 트랜잭션 데이터를 업로드하고 확인함으로써, 중앙 중개자의 필요성이 없어지고 트랜잭션 보안이 강화되어, 효율성이 향상되고 트랜잭션 비용이 줄어든다.
도 6은 실시예에 따른, 블록체인 시스템(100)(도 1)과 같은 블록체인 시스템에서 청구서의 결제를 수행하고 및 지불을 처리하기 위한 방법(600)을 도시하는 개략도이다. 이 실시예에서, 당사자 A는 지불 책임이 있는 당사자인 것으로 가정된다. 방법(600)은 지불 시스템(610), 결제 시스템(620), 블록체인 시스템(100) 및 당사자 A의 트랜잭션 데이터 시스템(230)에 의해 수행될 수 있다. 일부 실시예에서, 지불 시스템(610) 및 결제 시스템(620)은 당사자 A의 시스템(도 2)에 포함될 수 있다. 다른 실시예에서, 지불 시스템(610) 및 결제 시스템(620)은 당사자 A의 시스템(도 2)과 분리될 수 있다.
도 6을 참조하면, 당사자 A의 트랜잭션 데이터 시스템(230)은 블록체인 시스템(100)에 업로드되는 청구서를 능동적으로 모니터링할 수 있다(단계 630). 결제 시스템(620)은 블록체인 시스템(100)에 대해 검증된 트랜잭션 데이터의 요청을 전달할 수 있고(단계 632), 응답으로 검증된 트랜잭션 데이터를 수신할 수 있다(단계 634). 검증된 트랜잭션 데이터는 단일 트랜잭션 데이터 또는 다중 트랜잭션 데이터의 집합일 수 있다. 결제 시스템(620)은 검증된 트랜잭션 데이터를 결제하고(단계 636), 그 다음에 결제된 청구서를 블록체인 시스템(100)에 업로드할 수 있다(단계 638). 이에 응답하여, 블록체인 시스템(100)은 업로딩의 확인으로서 청구서 해시를 결제 시스템(620)에 전송할 수 있다(단계 640). 결제 시스템(620)은 지불 시스템(610)에 알림을 보낼 수 있어서(단계 646), 지불 시스템(610)이 지불 내역서를 블록체인 시스템(100)에 업로드할 수 있도록 한다(단계 650). 블록체인 시스템(100)은 업로딩의 확인으로서 내역서 해시를 지불 시스템(610)에 전송할 수 있다(단계 652). 이후 지불 시스템(610)은 지불을 진행할 수 있다(단계 654).
한편, 블록체인 시스템(100)은 결제된 청구서를 당사자 A의 트랜잭션 데이터 시스템(230)에 전송할 수 있어서(단계 642), 트랜잭션 데이터 시스템(230)이 결제된 청구서를 검증하고 업데이트하도록 할 수 있다(단계 644). 실시예에서, 트랜잭션 데이터 시스템(230)은 결제 시스템(620)에 의해 결제된 청구서를 당사자 B에 의해 생성되고 당사자 A에 의해 검증된 청구서와 비교함으로써(도 5의 단계 514 및 516) 결제된 청구서를 검증할 수 있다. 당사자 A의 트랜잭션 데이터 시스템(230)이 결제된 청구서가 당사자 B에 의해 생성된 청구서와 일치하지 않다는 것을 발견하는 경우, 당사자 A는 결제된 청구서가 유효하지 않다고 결정할 수 있다. 당사자 A는 또한 지불 시스템(610)이 지불하지 않도록 하기 위해 수동으로 개입할 수 있다(단계 656).
위에서 설명한 실시예는 트랜잭션 데이터의 제어된 비동기적 업로딩에 기초하여, 트랜잭션 데이터의 검증, 트랜잭션 데이터의 결제 및 지불 처리를 블록체인 시스템에서 수행할 수 있는 방법을 제공하며, 그럼으로써 트랜잭션 처리 시간을 줄이고 중앙 중개자의 필요성을 없애, 트랜잭션의 보안 및 효율성이 향상되고 트랜잭션 비용이 줄어든다.
도 7는 실시예에 따른, 트랜잭션 데이터를 처리를 위해 블록체인 시스템(100)(도 1)과 같은 블록체인 시스템에 제공하기 위한 방법(700)의 흐름도이다. 예를 들어, 방법(700)은 도 2에 도시된 당사자 A의 시스템 또는 당사자 B의 시스템에 의해 수행될 수 있다.
도 7을 참조하면, 제1 컴퓨터 시스템, 예를 들어 당사자 A의 시스템은 컴퓨터 시스템에서의 트랜잭션 데이터 및 블록체인 시스템의 상태를 모니터링한다(단계 702). 트랜잭션 데이터는 단일 트랜잭션 데이터 또는 다중 트랜잭션 데이터 중 적어도 하나를 포함한다. 모니터링에 기초하여, 제1 컴퓨터 시스템은 트랜잭션 데이터를 블록체인 시스템에 비동기적으로 업로드한다(단계 704). 일부 실시예에서, 제1 컴퓨터 시스템은 블록체인 시스템의 상태에 기초하여 단일 트랜잭션 데이터 또는 다중 트랜잭션 데이터를 업로드할지를 결정한다. 일부 실시예에서, 제1 컴퓨터 시스템은 트랜잭션 데이터를 블록체인 시스템에 업로드하기 위한 시간을 결정한다. 일부 실시예에서, 제1 컴퓨터 시스템은 다중 트랜잭션 데이터를 업로드하기로 결정될 때, 예를 들면, 다중 트랜잭션 데이터의 반복된 특징을 제거함으로써, 다중 트랜잭션 데이터의 집합을 생성한다. 일부 실시예에서, 제1 컴퓨터 시스템은 블록체인 시스템의 데이터 블록의 크기, 블록체인 시스템에서 데이터 업로딩의 빈도, 또는 미리 결정진 기간 동안 블록체인 시스템에 의해 처리되는 트랜잭션의 개수 중 적어도 하나를 모니터링함으로써 블록체인 시스템의 상태를 모니터링한다.
제1 컴퓨터 시스템은 또한 블록체인 시스템으로부터, 트랜잭션 데이터가 적확하다는 검증 결과를 수신한다(단계 706). 일부 실시예에서, 트랜잭션 데이터는 제2 컴퓨터 시스템, 예를 들어 당사자 B의 시스템에 의해, 블록체인 시스템으로부터 트랜잭션 데이터를 획득하고 그 트랜잭션 데이터를 자신의 트랜잭션 데이터와 비교함으로써 검증된다. 일부 실시예에서, 제1 컴퓨터 시스템은 트랜잭션 데이터를 컴퓨터 시스템에서 검증되는 것으로 표시한다. 제1 컴퓨터 시스템은 또한 트랜잭션 데이터와 관련된 청구서 정보 및 지불 정보를 생성하기 위해, 검증된 트랜잭션 데이터를 블록체인 시스템으로부터 수신한다(단계 708). 청구서 정보 및 지불 정보는 블록체인 시스템에 기록된다. 방법(700)의 추가적인 세부 사항에 대해서는 도 4 내지 도 6 및 대응하는 설명이 참조될 수 있다.
도 8은 실시예에 따른, 트랜잭션 데이터를 처리를 위해 블록체인 시스템에 제공하기 위한 장치(800)의 개략도이다. 예를 들어, 장치(800)는 소프트웨어 프로세스의 구현일 수 있으며, 방법(700)(도 7)에 대응할 수 있다. 도 8에 도시된 바와 같이, 장치(800)는 모니터링 모듈(810), 업로딩 모듈(820) 및 수신 모듈(830)을 포함할 수 있다.
모니터링 모듈(810)은 장치(800)의 트랜잭션 데이터 및 블록체인 시스템의 상태를 모니터링한다. 모니터링에 기초하여, 업로딩 모듈(820)은 트랜잭션 데이터를 블록체인 시스템에 비동기적으로 업로드한다. 수신 모듈(830)은 블록체인 시스템으로부터, 트랜잭션 데이터가 적확하다는 검증을 수신하고, 또한 블록체인 시스템으로부터, 검증된 트랜잭션 데이터를 수신하여 청구서 정보 및 지불 정보를 생성한다.
위에서 설명한 각각의 모듈은 소프트웨어 또는 하드웨어, 또는 소프트웨어와 하드웨어의 조합으로 구현될 수 있다. 예를 들어, 위에서 설명한 각각의 모듈은 메모리에 저장된 명령어를 실행하는 프로세서를 사용하여 구현될 수 있다. 또한, 예를 들어, 위에서 설명한 각각의 모듈은 하나 이상의 주문형 집적 회로(ASIC), 디지털 신호 프로세서(digital signal processor)(DSP), 디지털 신호 처리 디바이스(digital signal processing device)(DSPD), 프로그래머블 로직 디바이스(programmable logic device)(PLD), 필드 프로그래머블 게이트 어레이(field programmable gate array)(FPGA), 제어기, 마이크로-제어기, 마이크로프로세서, 또는 설명된 방법을 수행하기 위한 다른 전자 컴포넌트로 구현될 수 있다. 또한 예를 들어, 위에서 설명한 각각의 모듈은 컴퓨터 칩 또는 엔터티를 사용하여 구현될 수 있거나, 특정 기능을 갖는 제품을 사용하여 구현될 수 있다. 일 실시예에서, 장치(800)는 컴퓨터일 수 있고, 컴퓨터는 퍼스널 컴퓨터, 랩톱 컴퓨터, 셀룰러 폰, 카메라 폰, 스마트 폰, 개인 휴대 정보 단말기, 미디어 플레이어, 네비게이션 디바이스, 이메일 수신 및 송신 디바이스, 게임 콘솔, 태블릿 컴퓨터 또는 웨어러블 디바이스 또는 이러한 디바이스들의 임의의 조합일 수 있다.
장치(800) 내의 각 모듈의 기능 및 역할의 구현 프로세스에 대해서는 위에서 설명한 방법의 대응하는 단계가 참조될 수 있다. 간략화를 위해 여기서 상세한 내용은 생략된다.
실시예에서, 컴퓨터 프로그램 제품이 또한 제공된다. 컴퓨터 프로그램 제품은 프로세서로 하여금 위에서 설명한 방법을 수행하게 하는 컴퓨터 판독 가능 프로그램 명령어를 갖는 비일시적 컴퓨터 판독 가능 저장 매체를 포함할 수 있다.
컴퓨터 판독 가능 저장 매체는 명령어 실행 디바이스에 의해 사용하기 위한 명령어를 저장할 수 있는 유형의 디바이스일 수 있다. 컴퓨터 판독 가능 저장 매체는, 예를 들어, 이것으로 제한되는 것은 아니지만, 전자 저장 디바이스, 자기 저장 디바이스, 광학 저장 디바이스, 전자기 저장 디바이스, 반도체 저장 디바이스, 또는 전술한 것의 임의의 적합한 조합일 수 있다. 컴퓨터 판독 가능 저장 매체의 보다 구체적인 예의 전체적인 목록은 다음과 같은 것: 휴대용 컴퓨터 디스켓, 하드 디스크, 랜덤 액세스 메모리(random access memory)(RAM), 판독 전용 메모리(read-only memory)(ROM), 소거 가능 프로그래머블 판독 전용 메모리(EPROM), 정적 랜덤 액세스 메모리(static random access memory)(SRAM), 휴대용 콤팩트 디스크 판독 전용 메모리(compact disc read-only memory)(CD-ROM), 디지털 다기능 디스크(digital versatile disk)(DVD), 메모리 스틱, 플로피 디스크, 펀치 카드 또는 명령어가 기록된 그루브 내의 융기 구조와 같은 기계적으로 인코딩된 디바이스, 및 전술한 것의 임의의 적합한 조합을 포함한다.
위에서 설명한 방법을 수행하기 위한 컴퓨터 판독 가능 프로그램 명령어는 어셈블러 명령어, 명령어 세트 아키텍처(instruction-set-architecture)(ISA) 명령어, 머신 명령어, 머신 종속적 명령어, 마이크로코드, 펌웨어 명령어, 상태 설정 데이터, 또는 객체 지향 프로그래밍 언어 및 통상적인 절차적 프로그래밍 언어를 비롯한 하나 이상의 프로그래밍 언어의 임의의 조합으로 작성된 소스 코드 또는 오브젝트 코드일 수 있다. 컴퓨터 판독 가능 프로그램 명령어는 스탠드-얼론 소프트웨어 패키지로서 컴퓨팅 디바이스 상에서 전체적으로, 또는 제1 컴퓨팅 디바이스 상에서 부분적으로 그리고 제1 컴퓨팅 디바이스로부터 떨어진 제2 컴퓨팅 디바이스 상에서 부분적으로 실행될 수 있다. 후자의 시나리오에서, 제2 원격 컴퓨팅 디바이스는 근거리 네트워크(LAN) 또는 광역 네트워크(wide area network)(WAN)를 비롯한 임의의 유형의 네트워크를 통해 제1 컴퓨팅 디바이스에 연결될 수 있다.
컴퓨터 판독 가능 프로그램 명령어는 범용 또는 특수 목적 컴퓨터의 프로세서 또는 다른 프로그래머블 데이터 처리 장치에 제공되어 머신을 생성함으로써, 컴퓨터의 프로세서 또는 다른 프로그래머블 데이터 처리 장치를 통해 실행되는 명령어가 위에서 설명한 방법을 구현하기 위한 수단을 생성하도록 할 수 있다.
도면에서 흐름도 및 다이어그램은 본 명세서의 다양한 실시예에 따른 디바이스, 방법 및 컴퓨터 프로그램 제품의 가능한 구현예의 아키텍처, 기능성 및 동작을 도시한다. 이와 관련하여, 흐름도 또는 다이어그램의 블록은 특정 기능을 구현하기 위한 하나 이상의 실행 가능한 명령어를 포함하는 소프트웨어 프로그램, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또한, 일부 대안적인 구현예에서, 블록에서 언급된 기능은 도면에서 언급된 순서를 벗어나 일어날 수 있다는 것을 또한 주목하여야 한다. 예를 들어, 연속적으로 도시된 두 개의 블록은 사실상 실질적으로 동시에 실행될 수 있고, 또는 블록은 관여된 기능성에 따라 때로는 역순으로 실행될 수 있다. 다이어그램 및/또는 흐름도의 각각의 블록, 및 다이어그램 및 흐름도 내 블록의 조합은 명시된 기능 또는 작동을 수행하는 특수 목적 하드웨어 기반 컴퓨터 시스템, 또는 특수 목적 하드웨어와 컴퓨터 명령어의 조합에 의해 구현될 수 있다는 것이 또한 주목될 것이다.
명확함을 위해, 별개의 실시예의 맥락에서 설명된 본 명세서의 특정한 특징은 또한 단일 실시예에서 조합하여 제공될 수 있다는 것이 인식된다. 이와 반대로, 간결함을 위해, 단일 실시예의 맥락에서 설명된 본 명세서의 다양한 특징은 또한 별개로 또는 임의의 적합한 하위조합으로 제공될 수 있거나 또는 본 명세서의 설명된 임의의 다른 실시예에 적합한 것으로 제공될 수 있다. 다양한 실시예의 맥락에서 설명된 특정한 특징은, 그렇다고 언급되지 않는 한, 이러한 실시예의 필수적인 특징이 아니다.
본 명세서가 특정 실시예와 함께 설명되었지만, 관련 기술분야의 통상의 기술자에게는 많은 대안, 수정 및 변형이 분명해질 것이라는 것이 명백하다. 따라서, 다음의 청구 범위는 청구 범위의 항에 속하는 그러한 모든 대안, 수정 및 변형을 망라한다.

Claims (13)

  1. 트랜잭션(transaction) 데이터를 처리를 위해 블록체인 시스템에 제공하기 위한 컴퓨터에 의해 구현되는 방법으로서,
    컴퓨터 시스템에서의 상기 트랜잭션 데이터 - 상기 트랜잭션 데이터는 단일 트랜잭션 데이터 및 다중 트랜잭션 데이터를 포함함 - 를 모니터링하는 단계;
    상기 블록체인 시스템의 상태를 모니터링하는 단계; 및
    상기 모니터링에 기초하여, 상기 트랜잭션 데이터를 상기 블록체인 시스템에 비동기적으로 업로드하는 단계를 포함하고,
    상기 트랜잭션 데이터를 비동기적으로 업로드하는 단계는:
    상기 블록체인 시스템의 상태에 기초하여 상기 단일 트랜잭션 데이터 또는 상기 다중 트랜잭션 데이터를 업로드할지를 결정하는 단계; 및
    상기 다중 트랜잭션 데이터를 업로드하기로 결정될 때 상기 다중 트랜잭션 데이터의 집합(aggregation)을 생성하는 단계를 포함하는, 컴퓨터에 의해 구현되는 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 트랜잭션 데이터를 상기 블록체인 시스템에 업로드하기 위한 시간을 결정하는 단계를 더 포함하는, 컴퓨터에 의해 구현되는 방법.
  4. 삭제
  5. 제1항에 있어서,
    상기 다중 트랜잭션 데이터의 집합을 생성하는 단계는:
    상기 다중 트랜잭션 데이터의 반복된 특징을 제거하는 단계를 포함하는, 컴퓨터에 의해 구현되는 방법.
  6. 제1항에 있어서,
    상기 블록체인 시스템의 상태를 모니터링하는 단계는:
    상기 블록체인 시스템의 데이터 블록의 크기, 상기 블록체인 시스템에서 데이터 업로딩의 빈도, 또는 미리 결정된 기간 동안 상기 블록체인 시스템에 의해 처리되는 트랜잭션의 개수 중 적어도 하나를 모니터링하는 단계를 포함하는, 컴퓨터에 의해 구현되는 방법.
  7. 제1항 또는 제6항에 있어서,
    상기 블록체인 시스템으로부터, 상기 트랜잭션 데이터가 적확(accurate)하다는 검증 결과를 수신하는 단계를 더 포함하며, 상기 트랜잭션 데이터는 상기 블록체인 시스템으로부터 상기 트랜잭션 데이터를 획득하고 상기 트랜잭션 데이터를 자신의 트랜잭션 데이터와 비교함으로써 다른 컴퓨터 시스템에 의해 검증되는, 컴퓨터에 의해 구현되는 방법.
  8. 제7항에 있어서,
    상기 트랜잭션 데이터를 상기 컴퓨터 시스템에서 검증된 것으로 표시하는 단계를 더 포함하는, 컴퓨터에 의해 구현되는 방법.
  9. 제7항에 있어서,
    상기 검증된 트랜잭션 데이터와 관련된 지불 정보 및 청구서 정보를 생성하기 위해, 상기 검증된 트랜잭션 데이터를 상기 블록체인 시스템으로부터 수신하는 단계를 더 포함하며, 상기 청구서 정보 및 상기 지불 정보는 상기 블록체인 시스템에 기록되는, 컴퓨터에 의해 구현되는 방법.
  10. 제1항 또는 제6항에 있어서,
    상기 블록체인 시스템은 컨소시엄 블록체인을 구현하는, 컴퓨터에 의해 구현되는 방법.
  11. 트랜잭션 데이터를 처리를 위해 블록체인 시스템에 제공하기 위한 디바이스로서,
    하나 이상의 프로세서; 및
    상기 하나 이상의 프로세서에 연결되고 제1항 또는 제6항의 방법을 수행하도록 상기 하나 이상의 프로세서에 의해 실행 가능한 명령어가 저장된 하나 이상의 컴퓨터 판독 가능 메모리를 포함하는, 디바이스.
  12. 제1항 또는 제6항의 방법을 수행하기 위한 복수의 모듈을 포함하는, 트랜잭션 데이터를 처리를 위해 블록체인 시스템에 제공하기 위한 장치.
  13. 디바이스의 프로세서에 의해 실행될 때, 상기 디바이스로 하여금 제1항 또는 제6항의 방법을 수행하게 하는 명령어가 저장되어 있는, 비 일시적 컴퓨터 판독 가능 매체.
KR1020197028331A 2019-03-04 2019-03-04 트랜잭션 데이터를 처리를 위해 블록체인 시스템에 제공하기 위한 방법 및 디바이스 KR102354776B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/076873 WO2019101232A2 (en) 2019-03-04 2019-03-04 Methods and devices for providing transaction data to blockchain system for processing

Publications (2)

Publication Number Publication Date
KR20200107769A KR20200107769A (ko) 2020-09-16
KR102354776B1 true KR102354776B1 (ko) 2022-01-25

Family

ID=66631223

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197028331A KR102354776B1 (ko) 2019-03-04 2019-03-04 트랜잭션 데이터를 처리를 위해 블록체인 시스템에 제공하기 위한 방법 및 디바이스

Country Status (10)

Country Link
US (2) US10867299B2 (ko)
EP (1) EP3607515A4 (ko)
JP (1) JP6975250B2 (ko)
KR (1) KR102354776B1 (ko)
CN (1) CN110770776B (ko)
AU (1) AU2019203852B2 (ko)
CA (1) CA3057391C (ko)
SG (1) SG11201908556UA (ko)
TW (1) TWI771634B (ko)
WO (1) WO2019101232A2 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110336815B (zh) * 2019-07-04 2024-06-07 深圳前海微众银行股份有限公司 基于区块链的攻击防御方法、装置、设备及可读存储介质
US11436032B2 (en) * 2019-09-10 2022-09-06 Red Hat, Inc. Blockchain-based container image registry
CN111567012A (zh) * 2019-10-11 2020-08-21 支付宝(杭州)信息技术有限公司 去中心化的自动电话诈骗风险管理
US11410167B2 (en) * 2019-12-30 2022-08-09 Paypal, Inc. Efficient transaction reconciliation system
CN111901350B (zh) * 2020-07-30 2022-10-14 平安科技(深圳)有限公司 区块链系统、数据处理方法、计算机设备及存储介质
CN112163855B (zh) * 2020-09-30 2024-05-03 深圳前海微众银行股份有限公司 数据处理方法、装置、系统及存储介质
KR102282633B1 (ko) 2020-11-17 2021-07-28 대아티아이 (주) 철도관제시스템과 복수의 무선폐색장치 간의 연계인증 방법 및 그 연계인증 장치
TWI759028B (zh) * 2020-12-23 2022-03-21 鴻海精密工業股份有限公司 基於區塊鏈交易的區塊打包方法、裝置及電子設備
CN113328782B (zh) * 2021-05-25 2022-07-26 清华大学 基于区块链的星地网络资源共享架构系统及其运行方法
US12007972B2 (en) * 2021-06-19 2024-06-11 Inveniam Capital Partners, Inc. Systems and methods for processing blockchain transactions

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101628007B1 (ko) * 2015-04-07 2016-06-13 주식회사 코인플러그 당사자간 블록체인을 갖는 디지털 가상화폐의 거래시스템
CN108805702A (zh) * 2018-04-19 2018-11-13 深圳市网心科技有限公司 基于区块链的交易缓冲/加速方法及区块链交易处理系统

Family Cites Families (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000078236A (ja) * 1998-08-27 2000-03-14 Nec Eng Ltd 保留データ一括送信装置及びそれに用いる送信方法並びにその制御プログラムを記録した記録媒体
JP2006190022A (ja) * 2005-01-05 2006-07-20 Hitachi Software Eng Co Ltd 送受信処理のフロー制御方法
WO2007109541A2 (en) 2006-03-16 2007-09-27 Brubaker Curtis M System and method for obtaining revenue through the display of hyper-relevant advertising on moving objects
JP2009075669A (ja) * 2007-09-18 2009-04-09 Brother Ind Ltd サーバ装置及び同装置のプログラム及びデータ送受信方法
JP5658778B2 (ja) * 2013-02-25 2015-01-28 キヤノン株式会社 情報処理装置および制御方法、制御プログラム
US20180232828A1 (en) * 2014-01-09 2018-08-16 Raymond Anthony Joao Apparatus and method for providing and/or for processing information for, regarding, and/or for facilitating, the commercialization, development, marketing, sale, transfer, licensing, and/or monetization, of intellectual property
US20160012465A1 (en) * 2014-02-08 2016-01-14 Jeffrey A. Sharp System and method for distributing, receiving, and using funds or credits and apparatus thereof
JP2017514236A (ja) * 2014-04-24 2017-06-01 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. 超音波源管理システム
US9811734B2 (en) * 2015-05-11 2017-11-07 Google Inc. Crowd-sourced creation and updating of area description file for mobile device localization
US9351124B1 (en) * 2015-06-29 2016-05-24 Cognizant Business Services Limited Location detection and communication through latent dynamic network interactions
US10033702B2 (en) * 2015-08-05 2018-07-24 Intralinks, Inc. Systems and methods of secure data exchange
US10402792B2 (en) * 2015-08-13 2019-09-03 The Toronto-Dominion Bank Systems and method for tracking enterprise events using hybrid public-private blockchain ledgers
US10367905B2 (en) * 2015-10-22 2019-07-30 The Western Union Company Integration framework and user interface for embedding transfer services into applications
US10157078B2 (en) * 2016-04-10 2018-12-18 Bank Of America Corporation System for transforming large scale electronic processing using application block chain
GB201611948D0 (en) * 2016-07-08 2016-08-24 Kalypton Int Ltd Distributed transcation processing and authentication system
US10114980B2 (en) * 2016-07-21 2018-10-30 Acronis International Gmbh System and method for verifying data integrity using a blockchain network
KR20180017293A (ko) * 2016-08-08 2018-02-21 주식회사 비즈모델라인 음파신호를 송출하는 가맹점 무선단말을 이용한 앱 연동 기반 비동기식 역방향 결제 방법
US20180322597A1 (en) * 2016-08-31 2018-11-08 Robert Sher Decentralized cryptographic real estate transaction assistance system and method
US20180082023A1 (en) * 2016-09-16 2018-03-22 International Business Machines Corporation Secure Distributed Patient Consent and Information Management
CN106503994B (zh) * 2016-11-02 2020-07-28 西安电子科技大学 基于属性加密的区块链隐私数据访问控制方法
US10567420B2 (en) * 2016-11-08 2020-02-18 International Business Machines Corporation Biology based techniques with cognitive system analysis for handling information security and privacy
CN107016542A (zh) * 2016-12-06 2017-08-04 阿里巴巴集团控股有限公司 一种业务数据处理方法、验证方法、装置及系统
JP6838388B2 (ja) * 2016-12-21 2021-03-03 富士通株式会社 情報処理システム、情報処理方法、プログラム及び情報処理装置
US11307998B2 (en) * 2017-01-09 2022-04-19 Pure Storage, Inc. Storage efficiency of encrypted host system data
US10721336B2 (en) * 2017-01-11 2020-07-21 The Western Union Company Transaction analyzer using graph-oriented data structures
US10355869B2 (en) * 2017-01-12 2019-07-16 International Business Machines Corporation Private blockchain transaction management and termination
US11631077B2 (en) * 2017-01-17 2023-04-18 HashLynx Inc. System for facilitating secure electronic communications between entities and processing resource transfers
US10769128B2 (en) * 2017-01-31 2020-09-08 Salesforce.Com, Inc. Delegated key-level locking for a transactional multi-version key-value store
US11341488B2 (en) * 2017-02-06 2022-05-24 Northern Trust Corporation Systems and methods for issuing and tracking digital tokens within distributed network nodes
US20180239959A1 (en) * 2017-02-22 2018-08-23 Anduin Transactions, Inc. Electronic data parsing and interactive user interfaces for data processing
FR3063370B1 (fr) * 2017-02-24 2021-04-23 Gilles Buisson Systeme et procede de traitement d'une transaction bancaire
CN106980649B (zh) * 2017-02-28 2020-07-10 创新先进技术有限公司 写入区块链业务数据的方法和装置及业务子集合确定方法
US10467586B2 (en) * 2017-03-23 2019-11-05 International Business Machines Corporation Blockchain ledgers of material spectral signatures for supply chain integrity management
CN111756550B (zh) * 2017-03-28 2023-08-22 创新先进技术有限公司 一种区块链共识方法及装置
CN107423945B (zh) * 2017-04-13 2020-12-29 葛武 基于区块链技术的智能能源交易管理系统及方法
US20180365201A1 (en) * 2017-06-14 2018-12-20 Clause, Inc. System and method for compound data-driven contracts and documentation
US10380812B2 (en) * 2017-06-23 2019-08-13 International Business Machines Corporation Vehicle transaction validation
KR102050136B1 (ko) * 2017-07-21 2019-11-28 연세대학교 산학협력단 비중앙집중형 자동차 보안 신뢰 네트워크 장치 및 방법
CN107423124A (zh) * 2017-07-27 2017-12-01 中链科技有限公司 一种用于对交易数据进行并行处理的方法
US20190050831A1 (en) 2017-08-03 2019-02-14 Liquineq AG System and method for multi-tiered distributed network transactional database
CN107688945B (zh) * 2017-08-11 2020-04-10 杭州溪塔科技有限公司 一种基于延迟状态共识的高效许可链的设计方法
WO2019040620A1 (en) * 2017-08-22 2019-02-28 Jessamine Jeffery SYSTEM AND METHOD FOR SECURE IDENTITY TRANSMISSION USING INTEGRATED SERVICE NETWORK AND APPLICATION ECOSYSTEM
EP3676779A1 (en) * 2017-08-29 2020-07-08 Nchain Holdings Limited Constraints on outputs of an unlocking transaction in a blockchain
CN109462472A (zh) * 2017-09-06 2019-03-12 阿里巴巴集团控股有限公司 数据加密和解密的方法、装置和系统
US20190095879A1 (en) * 2017-09-26 2019-03-28 Cornell University Blockchain payment channels with trusted execution environments
US10528551B2 (en) 2017-09-29 2020-01-07 Oracle International Corporation System and method for providing a representational state transfer proxy service for a blockchain cloud service
US10567320B2 (en) * 2017-10-17 2020-02-18 American Express Travel Related Services Company, Inc. Messaging balancing and control on blockchain
US10797878B2 (en) * 2017-11-29 2020-10-06 International Business Machines Corporation Multi-node transaction management using one-time tokens
US10261711B1 (en) * 2018-01-25 2019-04-16 Merck Sharp & Dohme Corp. Proof of non-tampering for stored data
US20190251279A1 (en) * 2018-02-13 2019-08-15 Pure Storage, Inc. Storage layer data security
US11301554B2 (en) * 2018-03-13 2022-04-12 Ethernom, Inc. Secure tamper resistant smart card
CN108776929A (zh) * 2018-04-02 2018-11-09 成都云创智融科技有限公司 基于区块链数据库的账单处理方法、系统和可读存储介质
WO2019195691A1 (en) * 2018-04-05 2019-10-10 Daniel Maurice Lerner Discrete blockchain and blockchain communications
US10320569B1 (en) * 2018-04-05 2019-06-11 HOTYB, Inc. Systems and methods for authenticating a digitally signed assertion using verified evaluators
US20190361697A1 (en) * 2018-05-22 2019-11-28 Pure Storage, Inc. Automatically creating a data analytics pipeline
US11507928B2 (en) * 2018-06-05 2022-11-22 International Business Machines Corporation Blockchain and cryptocurrency for real-time vehicle accident management
US10944548B2 (en) * 2018-06-07 2021-03-09 Coinfirm Blockchain Lab Sp. Z O.O. Method for registration of data in a blockchain database and a method for verifying data
US10771240B2 (en) * 2018-06-13 2020-09-08 Dynamic Blockchains Inc Dynamic blockchain system and method for providing efficient and secure distributed data access, data storage and data transport
US10826682B2 (en) * 2018-07-03 2020-11-03 Servicenow, Inc. Multi-instance architecture supporting trusted blockchain-based network
US11444779B2 (en) * 2018-08-02 2022-09-13 Paypal, Inc. Techniques for securing application programming interface requests using multi-party digital signatures
US20200051092A1 (en) * 2018-08-10 2020-02-13 Walmart Apollo, Llc System and method for product recall using blockchain
US11223655B2 (en) * 2018-08-13 2022-01-11 International Business Machines Corporation Semiconductor tool matching and manufacturing management in a blockchain
US20200059363A1 (en) * 2018-08-17 2020-02-20 Walmart Apollo, Llc Systems and methods of authenticating items
CN109118364A (zh) * 2018-08-27 2019-01-01 深圳前海益链网络科技有限公司 异步执行智能合约的方法、装置、计算机设备及存储介质
US10713086B2 (en) * 2018-09-04 2020-07-14 Zhongwei Wu Asynchronous directed acyclic map based distributed transaction network
US11651365B2 (en) * 2018-09-05 2023-05-16 Atrium Separate Ip Holdings Number 4, Llc Blockchain architecture, system, method and device for automated cybersecurity and data privacy law compliance with proprietary off-chain storage mechanism
CN109413175B (zh) * 2018-10-19 2021-07-20 北京奇艺世纪科技有限公司 一种信息处理方法、装置及电子设备
US20200174990A1 (en) * 2018-11-29 2020-06-04 Anthony Turner Pratkanis Accountably Redactable Data Structures
US10459990B1 (en) * 2018-12-27 2019-10-29 Silver Rocket Data Technology (Shanghai) Co., Ltd Data processing method and device, medium and terminal thereof
US20200226678A1 (en) * 2019-01-11 2020-07-16 Walmart Apollo, Llc Systems and Methods for Cryptographically Verifiable Ledgers with Predictive Outcome Generation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101628007B1 (ko) * 2015-04-07 2016-06-13 주식회사 코인플러그 당사자간 블록체인을 갖는 디지털 가상화폐의 거래시스템
CN108805702A (zh) * 2018-04-19 2018-11-13 深圳市网心科技有限公司 基于区块链的交易缓冲/加速方法及区块链交易处理系统

Also Published As

Publication number Publication date
CN110770776B (zh) 2023-10-31
AU2019203852B2 (en) 2021-07-15
CA3057391A1 (en) 2019-05-31
CA3057391C (en) 2022-08-16
TW202034247A (zh) 2020-09-16
US20210065169A1 (en) 2021-03-04
TWI771634B (zh) 2022-07-21
SG11201908556UA (en) 2019-10-30
US11341493B2 (en) 2022-05-24
EP3607515A4 (en) 2020-06-24
JP2020528586A (ja) 2020-09-24
CN110770776A (zh) 2020-02-07
WO2019101232A2 (en) 2019-05-31
WO2019101232A3 (en) 2020-01-09
KR20200107769A (ko) 2020-09-16
US20200286082A1 (en) 2020-09-10
US10867299B2 (en) 2020-12-15
JP6975250B2 (ja) 2021-12-01
AU2019203852A1 (en) 2019-05-31
EP3607515A2 (en) 2020-02-12

Similar Documents

Publication Publication Date Title
KR102354776B1 (ko) 트랜잭션 데이터를 처리를 위해 블록체인 시스템에 제공하기 위한 방법 및 디바이스
US10691835B1 (en) Verifying integrity of data stored in a consortium blockchain using a public sidechain
US20200344070A1 (en) Methods and devices for validating transaction in blockchain system
JP6840268B2 (ja) ブロックチェーンネットワーク内の資産間取引
CN111047324B (zh) 用于更新区块链节点处的公钥集合的方法及装置
US10728046B1 (en) Managing blockchain-based centralized ledger systems
US20200366500A1 (en) Managing blockchain-based centralized ledger systems
US20200344078A1 (en) Managing blockchain-based centralized ledger systems
EP3777006B1 (en) Methods and devices for cryptographic key management based on blockchain system
JP2020145681A (ja) パブリックサイドチェーンを使用してコンソーシアムブロックチェーンに記憶されたデータの完全性を検証すること
TWM589302U (zh) 分配文件傳輸系統
WO2020182234A2 (en) Methods and devices for transaction matching based on blockchain system
US20230109125A1 (en) Automated Transactions Across Multiple Blockchains with Cryptocurrency Swaps
WO2022218417A1 (zh) 交易中拆分、验证、管理数字货币的方法、终端及系统
TW202119785A (zh) 可加密的分配文件傳輸系統
TW202119784A (zh) 分配文件傳輸系統

Legal Events

Date Code Title Description
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right