KR20210125522A - 블록체인 거래를 추적하기 위한 방법 및 장치 - Google Patents

블록체인 거래를 추적하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR20210125522A
KR20210125522A KR1020217028551A KR20217028551A KR20210125522A KR 20210125522 A KR20210125522 A KR 20210125522A KR 1020217028551 A KR1020217028551 A KR 1020217028551A KR 20217028551 A KR20217028551 A KR 20217028551A KR 20210125522 A KR20210125522 A KR 20210125522A
Authority
KR
South Korea
Prior art keywords
transaction
tracked
block
bloom filter
tracking
Prior art date
Application number
KR1020217028551A
Other languages
English (en)
Inventor
위장 쉬
위 저우
Original Assignee
차이나 유니온페이 컴퍼니 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 차이나 유니온페이 컴퍼니 리미티드 filed Critical 차이나 유니온페이 컴퍼니 리미티드
Publication of KR20210125522A publication Critical patent/KR20210125522A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • 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
    • H04L9/3236Cryptographic 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 using cryptographic hash functions
    • H04L9/3239Cryptographic 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 using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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
    • G06Q20/0655Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed centrally
    • 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/3821Electronic credentials
    • G06Q20/38215Use of certificates or encrypted proofs of transaction rights
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/42Confirmation, e.g. check or permission by the legal debtor of payment
    • 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • 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

Landscapes

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

Abstract

블록체인 거래 추적성을 위한 방법 및 장치는 종래 기술이 거래의 추적 경로를 신속하게 구성할 수 없고 시스템 오버헤드가 상대적으로 큰 문제를 해결하기 위해 사용된다. 이 방법은 추적할 거래의 정보를 획득하는 단계; 추적할 거래의 입력 값과 블록체인 시스템 내의 각 블록에 대응하는 블룸 필터에 따라 추적할 거래의 리프 노드를 결정하는 단계; 및 추적할 거래의 리프 노드에 따라 추적할 거래의 추적 경로를 생성하는 단계를 포함하고, 추적할 거래의 정보는 추적할 거래의 입력 값을 포함하고, 블룸 필터에는 블록에 포함되는 거래의 출력 값이 저장되어 있다. 본 발명의 실시예에서는 각 블록에 대응하는 블룸 필터와 추적할 거래의 입력 값에 따라 추적을 수행함으로써, 추적할 거래의 추적 경로를 신속하게 생성할 수 있어 추적 가능한 경로의 추적 효율성이 향상되고 시스템 오버헤드가 감소된다.

Description

블록체인 거래를 추적하기 위한 방법 및 장치
관련출원의 교차인용
본 출원은, 2019년 03월 01일에 중국 특허청에 출원된 출원 번호 제201910155057.1호, "블록체인 거래를 추적하기 위한 방법 및 장치"를 발명 명칭으로 하는 중국 특허 출원의 우선권을 주장하며, 상기 중국 특허 출원의 전체 내용은 참조로서 출원에 통합되어 본 출원의 일 부분으로 한다.
본 발명의 실시예는 블록체인 기술 분야에 관한 것으로, 특히 블록체인 거래를 추적하기 위한 방법 및 장치에 관한 것이다.
블록체인 기반 디지털 화폐 기술 프로젝트에 대한 연구를 수행할 때 UTXO(Unspent Transaction Output) 계정 시스템이 있는 블록체인 시스템에서 현재 블록에서 특정 조상 블록(제네시스 블록 포함)까지의 거래를 추적해야 하는 경우가 종종 있다. 각 블록체인을 차례로 스캔하면 공간과 시간 오버헤드가 상대적으로 커서 시스템 자원을 낭비하게 된다.
본 발명의 실시예는 거래의 추적 경로를 신속하게 구성하고 시스템 오버헤드를 절약하는 데 사용되는 블록체인 거래를 추적하기 위한 방법 및 장치를 제공한다.
본 발명의 실시예는 블록체인 거래를 추적하는 방법을 제공한다. 상기 방법은,
추적할 거래의 정보를 획득하는 단계;
상기 추적할 거래의 입력 값과 블록체인 시스템 내의 각 블록에 대응하는 블룸 필터에 따라 상기 추적할 거래의 리프 노드를 결정하는 단계; 및
상기 추적할 거래의 리프 노드에 따라 상기 추적할 거래의 추적 경로를 생성하는 단계를 포함하고,
상기 추적할 거래의 정보는 상기 추적할 거래의 입력 값을 포함하고;
상기 블룸 필터에는 상기 블록에 포함되는 거래의 출력 값이 저장되어 있다.
위의 기술 솔루션에서 각 블록에 대응하는 블룸 필터를 설정하면 추적 가능한 거래의 입력 값에 따라 추적할 거래의 추적 경로를 빠르게 생성할 수 있으므로 추적 가능한 경로의 추적 효율성이 향상되고 시스템 오버헤드가 감소된다.
선택적으로, 상기 추적할 거래의 입력 값과 블록체인 시스템 내의 각 블록에 대응하는 블룸 필터에 따라 상기 추적할 거래의 리프 노드를 결정하는 단계는,
상기 추적할 거래의 입력 값을 추적할 출력 값으로 결정하는 단계;
상기 추적할 출력 값과 상기 블록체인 시스템 내의 각 블록에 대응하는 블룸 필터에 따라 상기 추적할 거래가 의존하는 거래가 구비되는 블록을 결정하는 단계;
상기 추적할 출력 값에 따라 추적할 거래가 의존하는 거래가 구비되는 블록에서 상기 추적할 출력 값과 동일한 제1 거래를 검색하는 단계;
상기 제1 거래가 마이닝 거래의 거래이거나 사전 설정된 종료 조건을 충족하는 블록의 거래인 경우 추적을 종료하고; 그렇지 않는 경우 상기 제1 거래를 상기 추적할 거래의 리프 노드로 결정하고, 상기 제1 거래의 입력 값을 상기 추적할 출력 값으로 결정하고, 추적 가능성이 종료된다고 결정할 때까지 상기 추적할 거래가 의존하는 거래를 계속 추적한다.
선택적으로, 상기 추적할 출력 값과 상기 블록체인 시스템 내의 각 블록에 대응하는 블룸 필터에 따라 상기 추적할 거래가 의존하는 거래가 구비되는 블록을 결정하는 단계는,
상기 블룸 필터 내의 m개의 해시 함수를 사용하여 상기 추적할 출력 값을 해시하여 m개의 대응 위치의 값을 획득하고;
상기 m개의 대응 위치의 값이 모두 사전 설정된 값인 경우 상기 블록을 상기 추적할 거래가 의존하는 거래가 구비되는 블록으로 결정한다.
선택적으로, 상기 추적할 거래의 정보를 획득하기 전에 또한,
제1 블록이 생성되면 상기 제1 블록 내의 모든 거래의 출력 값을 상기 제1 블록에 대응하는 블룸 필터에 저장한다.
선택적으로, 상기 제1 블록에 대응하는 블룸 필터는 상기 블록 헤더 또는 상기 블록체인 시스템의 시스템 데이터베이스의 블룸 필터 배열에 위치한다.
상응하여, 본 발명의 실시예는 블록체인 거래를 추적하기 위한 장치를 제공한다 상기 장치는,
추적할 거래의 정보를 획득하도록 것된 획득 유닛;
상기 추적할 거래의 입력 값과 블록체인 시스템 내의 각 블록에 대응하는 블룸 필터에 따라 상기 추적할 거래의 리프 노드를 결정하고, 및 상기 추적할 거래의 리프 노드에 따라 상기 추적할 거래의 추적 경로를 생성하도록 구성된 처리 유닛을 포함한다
상기 추적할 거래의 정보는 상기 추적할 거래의 입력 값을 포함하고;
상기 블룸 필터에는 상기 블록에 포함되는 거래의 출력 값이 저장되어 있다.
선택적으로, 상기 처리 유닛은 구체적으로,
상기 추적할 거래의 입력 값을 추적할 출력 값으로 결정하고;
상기 추적할 출력 값과 상기 블록체인 시스템 내의 각 블록에 대응하는 블룸 필터에 따라 상기 추적할 거래가 의존하는 거래가 구비되는 블록을 결정하고;
상기 추적할 출력 값에 따라 추적할 거래가 의존하는 거래가 구비되는 블록에서 상기 추적할 출력 값과 동일한 제1 거래를 검색하고;
상기 제1 거래가 마이닝 거래의 거래이거나 사전 설정된 종료 조건을 충족하는 블록의 거래인 경우 추적을 종료하고; 그렇지 않는 경우 상기 제1 거래를 상기 추적할 거래의 리프 노드로 결정하고, 상기 제1 거래의 입력 값을 상기 추적할 출력 값으로 결정하고, 추적 가능성이 종료된다고 결정할 때까지 상기 추적할 거래가 의존하는 거래를 계속 추적한다.
선택적으로, 상기 처리 유닛은 구체적으로,
상기 블룸 필터 내의 m개의 해시 함수를 사용하여 상기 추적할 출력 값을 해시하여 m개의 대응 위치의 값을 획득하고;
상기 m개의 대응 위치의 값이 모두 사전 설정된 값인 경우 상기 블록을 상기 추적할 거래가 의존하는 거래가 구비되는 블록으로 결정한다.
선택적으로, 상기 처리 유닛은 또한,
상기 추적할 거래의 정보를 획득하기 전에 제1 블록이 생성되면 상기 제1 블록 내의 모든 거래의 출력 값을 상기 제1 블록에 대응하는 블룸 필터에 저장한다.
선택적으로, 상기 제1 블록에 대응하는 블룸 필터는 상기 블록 헤더 또는 상기 블록체인 시스템의 시스템 데이터베이스의 블룸 필터 배열에 위치한다.
상응하여, 본 발명의 일 실시예는 또한 컴퓨터 판독 가능 저장 매체를 제공하고, 상기 컴퓨터 판독 가능 저장 매체는 컴퓨터 실행 가능 명령을 저장하고, 상기 컴퓨터 실행 가능 명령은 상기 컴퓨터로 하여금 상술한 블록체인 거래를 추적하기 위한 방법을 실행하도록 한다.
상응하여, 본 발명의 실시예는 컴퓨팅 장치를 더 제공한다. 메모리 및 프로세서를 포함하고; 상기 메모리는 하나 이상의 실행 가능한 프로그램을 저장하고상기 프로세서를 구성하는 데 사용되며, 상기 프로세서에는, 하나 이상의 실행 가능한 프로그램이 구성되고, 상기 하나 이상의 실행 가능한 프로그램은 상기 중 어느 하나에 설명된 블록체인 거래를 추적하기 위한 방법을 실행하도록 구성된다.
본 발명에 따른 실시예의 기술안을 보다 명확하게 설명하기 위해 이하 실시예의 서술에 필요된 도면을 간략하게 설명한다. 이하 서술한 도면은 단지 본 발명의 일부 실시예에 불과함은 자명하며 해당 분야의 통상의 기술을 가진 자라면 창조력을 발휘하지 않는 한 이들의 도면에 따라 다른 도면을 얻을 수도 있다.
도 1은 본 발명의 실시예에 의해 제공되는 시스템 아키텍처의 개략도이다.
도 2는 본 발명의 실시예에 의해 제공되는 블록체인 거래를 추적하기 위한 방법의 개략적인 흐름도이다.
도 3은 본 발명의 실시예에 의해 제공되는 블록의 구조의 개략도이다.
도 4는 본 발명의 실시예에 의해 제공되는 블룸 필터의 개략도이다.
도 5는 본 발명의 실시예에 의해 제공되는 리프 노드의 개략도이다.
도 6은 본 발명의 실시예에 의해 제공되는 추적 경로의 개략도이다.
도 7은 본 발명의 실시예에 의해 제공되는 블룸 필터 배열의 개략도이다.
도 8은 본 발명의 실시예에 의해 제공되는 블록체인 거래를 추적하기 위한 장치의 구조의 개략도이다.
도 9은 본 발명의 실시예에 의해 제공되는 컴퓨팅 장치의 구조의 개략도이다.
본 발명의 목적, 기술안 및 장점을 보다 명료하게 나타내기 위해 이하 도면을 참조하면서 본 발명을 설명한다. 여기서 서술한 실시예는 본 발명의 일부 실시예에 불과하며 전 실시예가 아닌 것은 자명하다. 본 발명을 기반으로 하여 통상의 기술을 가진 자라면 창조력을 발휘하지 않으면서 얻은 다른 실시예도 본 발명의 보호 범위에 속한다.
도 1은 본 발명의 일 실시예에 적용 가능한 시스템 아키텍처이다. 도 1을 참조하면, 시스템 아키텍처는 복수의 클라이언트(100) 및 블록체인 시스템(200)을 포함할 수 있다. 클라이언트(100)는 네트워크를 통해 블록체인 시스템(200)과 연결될 수 있다.
상기 복수의 클라이언트(100)는 서로 다른 조직에서 사용하는 클라이언트일 수 있으며, 상기 클라이언트(100)를 통해 블록체인 시스템(200)에 접속할 수 있다.
도 1에 도시된 구조는 예시일 뿐이며, 이는 본 발명의 실시예에서 제한되지 않음에 유의해야 한다.
이상의 설명에 기초하여, 도 2는 본 발명의 일 실시예에서 제공하는 블록체인 거래를 추적하기 위한 방법의 흐름을 예시적으로 도시한 것으로, 상기 흐름은 블록체인 거래를 추적하기 위한 장치에 의해 실행될 수 있으며, 상기 장치는 위에서 언급한 블록 체인 시스템이다.
도 2에 도시된 바와 같이 상기 흐름에는 구체적으로 다음이 포함된다.
단계 201: 추적할 거래의 정보를 획득한다.
본 발명의 일 실시예에서, 상기 추적할 거래의 정보는 추적할 거래의 입력 값을 포함할 수 있다. UTXO 계정 시스템의 블록체인 시스템에서 각 거래는 입력 값과 출력 값을 가지며 각 거래의 출력 값은 상기 거래의 다음 거래의 입력 값이다. 따라서 현재 거래의 입력 값을 통해 의존하는 모든 과거 거래를 추적할 수 있다.
상기 추적할 거래의 정보를 획득하기 전에 각 블록을 생성할 때 대응 블룸 필터도 설정해야 하며, 각 블록은 블룸 필터에 대응한다. 구체적으로, 제1 블록이 생성되면 상기 제1 블록 내의 모든 거래의 출력 값은 상기 제1 블록에 대응하는 (블룸Bloom) 필터에 저장될 수 있다.
상기 블룸 필터는 상기 제1 블록의 블록 헤더에 위치하거나 블록체인 시스템의 시스템 데이터베이스의 블룸 필터 배열에 위치할 수 있다. Bloom 필터가 블록 헤더에 있는 경우 블록의 특정 구조는 도 3에 도시된 바와 같다.
단계 202: 상기 추적할 거래의 입력 값과 블록체인 시스템 내의 각 블록에 대응하는 블룸 필터에 따라 상기 추적할 거래의 리프 노드를 결정한다.
추적할 거래의 입력 값과 블록체인 시스템 내의 각 블록에 대응하는 블룸 필터를 기반으로 추적할 거래의 리프 노드를 결정한다.
추적할 거래의 입력값을 구하면 각 블록에 대응하는 블룸 필터에 따라 추적할 거래의 리프 노드를 결정할 수 있으며, 리프 노드는 추적 경로의 노드이기도 하며 리프 거래이라고 하며, 상기 추적할 거래이 의존하는 거래이다.
구체적으로, 각 블록에 대해 먼저 상기 추적할 거래의 입력 값을 추적할 출력 값으로 결정하고 상기 추적할 출력 값과 블록체인 시스템 내의 각 블록에 대응하는 Bloom 필터에 따라 상기 추적할 거래가 의존하는 거래가 구비되는 블록을 결정한다. 추적할 교환이 위치한다. 그런 다음 상기 추적할 출력 값에 따라 상기 추적할 출력 값과 동일한 제1 거래를 추적할 거래가 의존하는 거래가 구비되는 블록에서 찾아낸다. 최종적으로 판단이 내려지며, 제1 거래가 마이닝(coinbase, 코인베이스) 거래 또는 사전 설정된 종료 조건을 충족하는 블록의 거래인 경우 추적이 종료되고, 그렇지 않는 경우 제1 거래를 추적할 거래의 리프 노드로 결정한다. 제1 거래의 입력 값을 추적할 출력 값으로 결정한다. 추적 가능성의 종료가 결정될 때까지 추적할 거래가 의존하는 거래가 결정된다. 상기 사전 설정된 종료 조건은 경험에 따라 설정할 수 있다. 물론 여기서 제1 거래를 결정할 때 제1 거래이 제네시스 블록의 거래인지 또는 사전 설정된 블록 높이보다 작은 거래인지 등도 판단할 수 있으며 특정 구현 프로세스에서 합리적인 조정이 이루어질 수 있다.
추적할 거래가 의존하는 거래가 구비되는 블록을 결정하는 과정에서 Bloom 필터 내의 m개의 해시 함수를 사용하여 상기 추적할 출력 값을 해시하여 m개의 대응 위치의 값을 획득한다. 그러면 판단이 내려지고 m개의 대응 위치의 값이 모두 사전 설정된 값인 경우 상기 블록을 추적할 거래가 의존하는 거래가 구비되는 블록으로 결정한다. 그러면 판단이 내려지고 m개의 대응 위치의 값이 모두 사전 설정된 값인 경우 대응 거래소에 따라 추적할 거래소가 의존하는 블록으로 결정된다. 여기서 사전 설정된 값은 경험을 기반으로 설정할 수 있다(예: 1일 수 있음). m개의 대응 위치의 값이 모두 1일 때, 추적할 거래가 의존하는 거래가 상기 블록에 있다고 판단할 수 있다.
단계 203: 상기 추적할 거래의 리프 노드에 따라 상기 추적할 거래의 추적 경로를 생성한다.
상기 추적할 거래의 모든 리프 노드를 획득하면 이 리프 노드를 기반으로 추적할 거래의 추적 경로를 생성할 수 있다. 상기 추적 경로는 트리 구조이다. 물론 다른 구조를 가질 수도 있으며 예를 들어 그래프와 같은 특정 구현 구조를 가질 수 있다.
또한 거래를 추적할 때 여러 스레드를 동시 추적에 사용할 수 있으므로 추적의 효율성을 높일 수 있다.
본 발명의 실시예를 더 잘 설명하기 위해, 다음은 특정 구현 시나리오를 통한 블록체인 거래 추적의 과정을 설명할 것이다.
실시예 1
본 발명의 실시예에서는 1024비트의 크기와 0.001의 오판율을 갖는 블룸 필터가 선택된다. 거래 T의 경로를 추적하는 경우 대응 경로에 4가지 수준의 거래가 있고 각 거래에 두 개의 입력 값이 있다고 가정한다. 구체적인 과정은 다음과 같다.
단계 1. 블록 생성 시 블록 헤더에 블룸 필터를 기록한다. 이 블록에 있는 모든 거래의 각 출력 값을 Bloom 필터에 추가한다.
단계 2. 추적할 거래 T를 추적한다. T의 입력값이
Figure pct00001
라고 가정하고, 각각의 입력값
Figure pct00002
에 대해 추적할 출력 값을
Figure pct00003
으로 설정하고, 스레드를 생성하고, 단계 3-5를 수행한다.
단계 3. 모든 블록의 블록 헤더를 스캔한다. 블록 헤더에서 블룸 필터 A를 추출하고 블룸 필터 A의 대응 위치 값이 1인지 확인하기 위해 블룸 필터 내의 m개의 해시 함수를 사용하여 출력 값
Figure pct00004
를 해시한다. m개의 대응 위치 값이 모두 1이면 추적할 출력 값
Figure pct00005
를 생성하는 거래가 이 블록에 있음을 의미한다. 자세한 내용은 도 4에 도시된 바와 같다.
단계 4. 이 블록의 모든 거래를 스캔하고 추적할 출력 값
Figure pct00006
를 생성하는 거래 T1을 찾고 T1을 거래 T의 리프 노드로 사용한다. 도 5에 도시된 바와 같다.
단계 5. 거래 T1의 경우 T1이 코인베이스(coinbase) 거래이면 추적을 종료하고 그렇지 않으면 단계2로 이동한다.
마지막으로 도 6과 같이 트리 형태의 거래 추적 경로가 생성된다. 여기서 T7, T8, T9, T10은 코인베이스 거래이다.
실시예 2
이 실시예에서, 1024비트의 크기와 0.001의 오판율을 갖는 블룸 필터가 선택된다. 거래 T의 경로를 추적할 때 그의 경로에 4가지 수준의 거래가 있고 각 거래에 두 개의 입력 값이 있다고 가정한다. 구체적인 과정은 다음과 같다.
단계 1. 준비 단계: 먼저 각 블록에 대해 블록 내 모든 거래의 출력 값을 기반으로 Bloom 필터 배열을 구축하고 도 7과 같은 구조로 데이터베이스에 저장한다.
단계 2. 추적할 거래 T를 추적한다. T의 입력값이
Figure pct00007
라고 가정하고, 각각의 입력값
Figure pct00008
에 대해 추적할 출력값을
Figure pct00009
으로 설정하고, 스레드를 생성하고, 단계 3-5를 수행한다.
단계 3. 모든 블록의 블록 헤더를 스캔한다. 시스템 데이터베이스 에서 Bloom 필터 배열 A를 추출하고 Bloom 필터 내의 m개의 해시 함수를 사용하여 출력 값
Figure pct00010
를 해시하여 Bloom 필터 배열 A의 대응 위치 값이 1인지 판단한다. m개의 대응 위치 값이 모두 1이면 추적할 출력 값
Figure pct00011
를 생성하는 거래가 이 블록에 있음을 의미한다. 자세한 내용은 도 4에 도시된 바와 같다.
단계 4. 이 블록의 모든 거래를 스캔하고 추적할 출력 값
Figure pct00012
를 생성하는 거래 T1을 찾고 T1을 거래 T의 리프 노드로 사용한다. 도 5에 도시된 바와 같다.
5. 거래 T1의 경우 T1이 코인베이스(coinbase) 거래이면 추적을 종료하고; 그렇지 않는 경우 단계2로 이동한다.
마지막으로 도 6과 같이 트리 형태의 거래 추적 경로가 생성된다. 여기서 T7, T8, T9, T10은 코인베이스 거래이다.
상기 실시예는 추적할 거래의 정보를 획득하고, 추적할 거래의 정보에는 추적할 거래의 입력값이 포함되어 있음을 나타내고 있다. 추적할 거래의 입력 값과 블록체인 시스템 내의 각 블록에 대응하는 블룸 필터에 따라 추적할 거래의 리프 노드를 결정한다. 블룸 필터에는 블록에 포함되는 거래의 출력 값이 저장되어 있다. 추적할 거래의 리프 노드에 따라 추적할 거래의 추적 경로를 생성한다. 각 블록에 대응하는 블룸 필터를 설정하면 추적 가능한 거래의 입력 값에 따라 추적할 거래의 추적 경로를 빠르게 생성할 수 있으므로 추적 가능한 경로의 추적 효율성이 향상되고 시스템 오버헤드가 감소된다.
동일한 기술적 상상에 기초하여, 도 8은 본 발명의 실시예에 의해 제공되는 블록체인 거래를 추적하기 위한 장치를 예시적으로 도시한 것으로, 이 장치는 블록체인 거래 추적 흐름을 실행할 수 있다.
도 8에서 볼 수 있듯이 이 장치는,
추적할 거래의 정보를 획득하도록 구성된 획득 유닛(801);
상기 추적할 거래의 입력 값과 블록체인 시스템 내의 각 블록에 대응하는 블룸 필터에 따라 상기 추적할 거래의 리프 노드를 결정하고, 상기 추적할 거래의 리프 노드에 따라 상기 추적할 거래의 추적 경로를 생성하도록 구성된 처리 유닛(802)을 포함한다.
상기 추적할 거래의 정보는 상기 추적할 거래의 입력 값을 포함한다.
상기 블룸 필터에는 상기 블록에 포함되는 거래의 출력 값이 저장되어 있다.
선택적으로, 상기 처리 유닛(802)은 구체적으로,
상기 추적할 거래의 입력 값을 추적할 출력 값으로 결정하고;
상기 추적할 출력 값과 상기 블록체인 시스템 내의 각 블록에 대응하는 블룸 필터에 따라 상기 추적할 거래가 의존하는 거래가 구비되는 블록을 결정하고;
상기 추적할 출력 값에 따라 추적할 거래가 의존하는 거래가 구비되는 블록에서 상기 추적할 출력 값과 동일한 제1 거래를 검색하고;
상기 제1 거래가 마이닝 거래의 거래이거나 사전 설정된 종료 조건을 충족하는 블록의 거래인 경우 추적을 종료하고; 그렇지 않는 경우 상기 제1 거래를 상기 추적할 거래의 리프 노드로 결정하고, 상기 제1 거래의 입력 값을 상기 추적할 출력 값으로 결정하고, 추적 가능성이 종료된다고 결정할 때까지 상기 추적할 거래가 의존하는 거래를 계속 추적한다.
선택적으로, 상기 처리 유닛(802)은 구체적으로,
상기 블룸 필터 내의 m개의 해시 함수를 사용하여 상기 추적할 출력 값을 해시하여 m개의 대응 위치의 값을 획득하고;
상기 m개의 대응 위치의 값이 모두 사전 설정된 값인 경우 상기 블록을 상기 추적할 거래가 의존하는 거래가 구비되는 블록으로 결정한다.
선택적으로, 상기 처리 유닛(802)은 또한, 상기 추적할 거래의 정보를 획득하기 전에 제1 블록이 생성되면 상기 제1 블록 내의 모든 거래의 출력 값을 상기 제1 블록에 대응하는 블룸 필터에 저장한다.
선택적으로, 상기 제1 블록에 대응하는 블룸 필터는 상기 블록 헤더 또는 상기 블록체인 시스템의 시스템 데이터베이스의 블룸 필터 배열에 위치한다.
동일한 기술적 상상에 기초하여, 본 발명의 실시예는 컴퓨터 판독 가능 저장 매체를 제공하고, 상기 컴퓨터 판독 가능 저장 매체에는 컴퓨터 실행 가능 명령이 저장되어 있고, 상기 컴퓨터 실행 가능 명령은 상기 컴퓨터로 하여금 위 블록체인 거래를 추적하기 위한 방법을 실행하도록 한다.
동일한 기술적 사상에 기초하여, 본 발명의 실시예는 컴퓨팅 장치도 제공한다. 도 9를 참조하면, 상기 컴퓨팅 장치(900)는 본 발명의 전술한 실시예에 적용될 수 있다. 상기 컴퓨팅 장치(900)는 메모리(901) 및 프로세서(902)를 포함할 수 있다.
상기 메모리(901)는 하나 이상의 실행 가능한 프로그램을 저장하고 프로세서(902)를 구성하는 데 사용된다.
상기 프로세서(902)는 하나 이상의 실행 가능한 프로그램으로 구성되고, 하나 이상의 실행 가능한 프로그램은 다음 동작을 실행하는 데 사용된다. 추적할 거래의 정보를 획득하고, 상기 추적할 거래의 정보는 상기 추적할 거래의 입력 값을 포함하고; 상기 추적할 거래의 입력 값과 블록체인 시스템 내의 각 블록에 대응하는 블룸 필터에 따라 상기 추적할 거래의 리프 노드를 결정하고; 상기 블룸 필터에는 상기 블록에 포함되는 거래의 출력 값이 저장되어 있고, 상기 추적할 거래의 리프 노드에 따라 상기 추적할 거래의 추적 경로를 생성한다. 여기서, 상기 메모리(901)는 프로그램을 저장하는데 사용된다. 구체적으로, 상기 프로그램은 프로그램 코드를 포함할 수 있고, 상기 프로그램 코드는 컴퓨터 조작 명령을 포함할 수 있다. 상기 메모리(901)는 랜덤 액세스 메모리(random-access memory, RAM)와 같은 휘발성 메모리(휘발성 메모리)일 수 있고, 다음과 같은 휘발성 메모리(volatile memory)일 수도 있다. 또는 플래시 메모리(flash memory), 하드 디스크 드라이브(hard disk drive, HDD) 또는 솔리드 스테이트 드라이브(solid-state drive, SSD)와 같은 비휘발성 메모리(non-volatile memory)일 수도 있다. 또한 위에서 언급한 휘발성 메모리와 비휘발성 메모리 중 어느 하나 또는 조합일 수 있다.
상기 메모리(901)는 다음 요소, 실행 가능한 모듈 또는 데이터 구조, 또는 이들의 서브세트 또는 확장된 세트를 저장한다.
조작 명령: 다양한 작동을 구현하는 데 사용되는 다양한 조작 명령을 포함한다.
운영 체제: 다양한 기본 서비스를 구현하고 하드웨어 기반 작업을 처리하는 데 사용되는 다양한 시스템 프로그램을 포함한다.
사익 프로세서(902)는 중앙 처리 장치(central processing unit, CPU), 네트워크 프로세서(network processor,NP), 또는 CPU와 NP의 조합일 수 있다. 하드웨어 칩일 수도 있다. 상술한 하드웨어 칩은 주문형 집적회로(application-specific integrated circuit,ASIC), 프로그래머블 로직 디바이스(programmable logic device,PLD), 또는 이들의 조합일 수 있다. 위에서 언급한 PLD는 CPLD(complex programmable logic device), FPGA(field-programmable gate array), 일반 어레이 로직(generic array logic, GAL), 또는 이들 중 임의의 조합일 수 있다. 가능한 설계에서, 상기 메모리(901)는 또한 프로세서(902)와 통합될 수 있다.
버스(903)는 PCI(Peripheral Component Interconnect) 버스 또는 EISA(Extended Industry Standard Architecture) 버스 등일 수 있다. 버스는 주소 버스, 데이터 버스, 제어 버스 등으로 나눌 수 있다. 도 9에서는 표현의 편의를 위해 하나의 굵은 선만을 사용하였으나, 하나의 버스 또는 1 종류의 버스만 존재하는 것은 아니다.
가능한 구현 방식에서, 프로세서(902)는 구체적으로
상기 추적할 거래의 입력 값을 추적할 출력 값으로 결정하고;
상기 추적할 출력 값과 상기 블록체인 시스템 내의 각 블록에 대응하는 블룸 필터에 따라 상기 추적할 거래가 의존하는 거래가 구비되는 블록을 결정하고;
상기 추적할 출력 값에 따라 추적할 거래가 의존하는 거래가 구비되는 블록에서 상기 추적할 출력 값과 동일한 제1 거래를 검색하고;
상기 제1 거래가 마이닝 거래의 거래이거나 사전 설정된 종료 조건을 충족하는 블록의 거래인 경우 추적을 종료하고; 그렇지 않는 경우 상기 제1 거래를 상기 추적할 거래의 리프 노드로 결정하고, 상기 제1 거래의 입력 값을 상기 추적할 출력 값으로 결정하고, 추적 가능성이 종료된다고 결정할 때까지 상기 추적할 거래가 의존하는 거래를 계속 추적한다.
가능한 구현 방식에서, 프로세서(902)는 구체적으로
상기 블룸 필터 내의 m개의 해시 함수를 사용하여 상기 추적할 출력 값을 해시하여 m개의 대응 위치의 값을 획득하고;
상기 m개의 대응 위치의 값이 모두 사전 설정된 값인 경우 상기 블록을 상기 추적할 거래가 의존하는 거래가 구비되는 블록으로 결정한다.
가능한 구현 방식에서, 프로세서(902)는 구체적으로 추적할 거래의 정보를 획득하기 전에, 제1 블록이 생성되면 상기 제1 블록 내의 모든 거래의 출력 값을 상기 제1 블록에 대응하는 블룸 필터에 저장한다.
가능한 구현 방식에서, 상기 제1 블록에 대응하는 블룸 필터는 상기 블록 헤더 또는 상기 블록체인 시스템의 시스템 데이터베이스의 블룸 필터 배열에 위치한다.
본 발명은 본 발명에 따른 실시예에 의한 방법, 장치(시스템) 및 컴퓨터 프로그램 제품의 흐름도 및/또는 블록도를 참조하여 설명된다. 컴퓨터 프로그램 지령을 통해 흐름도 및/또는 블록도의 각 절차 및/블록과 흐름도 및/또는 블록도의 절차 및/또는 블록의 결합을 실현할 수 있음을 이해해야 한다. 이러한 컴퓨터 프로그램 지령을 범용 컴퓨터, 전용 컴퓨터, 삽입식 프로세서 또는 기타 프로그래밍 가능한 데이터 처리 장치의 프로세서에 제공하여 하나의 머신을 생성함으로써, 컴퓨터 또는 기타 프로그래밍 가능한 데이터 처리 장치의 프로세서에 의해 실행되는 지령을 통해, 흐름도의 하나 또는 복수의 절차 및/또는 블록도의 하나 또는 복수의 블록에서 지정되는 기능을 구현하기 위한 장치를 생성할 수 있다.
이러한 컴퓨터 프로그램 지령은 또한, 컴퓨터 또는 기타 프로그래밍 가능한 데이터 처리 장치를 특정된 방식으로 작동하도록 가이드하는 컴퓨터 독출 가능한 메모리에 저장됨으로써 해당 컴퓨터 독출 가능한 메모리 내에 저장된 지령을 통해 지령 장치를 포함하는 제조품을 생성할 수 있으며, 해당 지령 장치는 흐름도의 하나 또는 복수의 절차 및/또는 블록도의 하나 또는 복수의 블록에서 지정된 기능을 구현한다.
이러한 컴퓨터 프로그램 지령은 또한, 컴퓨터 또는 기타 프로그래밍 가능한 데이터 처리 장치에 장착함으로써 컴퓨터 또는 기타 프로그래밍 가능한 장치상에서 일련의 조작 단계를 실행하여 컴퓨터적으로 구현되는 처리를 생성할 수 있으며, 따라서 컴퓨터 또는 기타 프로그래밍 가능한 장치상에서 실행되는 지령은 흐름도의 하나 또는 복수의 절차 및/또는 블록도의 하나 또는 복수의 블록에서 지정된 기능을 구현하기 위한 단계를 제공한다.
비록 본 발명의 바람직한 실시예를 설명하였지만, 해당 분야의 통상의 기술자라면 기본적인 창조성 개념만 알게 된다면 이러한 실시예에 대해 다른 변경과 수정을 진행할 수 있다. 따라서, 첨부되는 청구범위는 바람직한 실시예 및 본 발명의 범위에 속하는 모든 변경과 변형을 포함하는 것으로 해석되어야 할 것이다.
보다시피, 해당 기술 분야의 통상의 지식을 가진 자라면, 본 발명에 따른 실시예의 사상과 범위를 벗어나지 않는 전제하에서 본 발명에 따른 실시예에 대한 여러 가지 변경과 변형을 진행할 수 있다. 따라서, 본 발명에 따른 실시예에 대한 이러한 변경과 변형도 본 발명의 특허청구범위 및 그와 균등한 기술의 범위 내에 속한다면 본 발명에도 이러한 변경과 변형이 포함되어야 할 것이다.

Claims (12)

  1. 블록체인 거래를 추적하기 위한 방법으로서,
    추적할 거래의 정보를 획득하는 단계;
    상기 추적할 거래의 입력 값과 블록체인 시스템 내의 각 블록에 대응하는 블룸 필터에 따라 상기 추적할 거래의 리프 노드를 결정하는 단계; 및
    상기 추적할 거래의 리프 노드에 따라 상기 추적할 거래의 추적 경로를 생성하는 단계를 포함하고,
    상기 추적할 거래의 정보는 상기 추적할 거래의 입력 값을 포함하고,
    상기 블룸 필터에는 상기 블록에 포함되는 거래의 출력 값이 저장되어 있는
    것을 특징으로 하는 블록체인 거래를 추적하기 위한 방법.
  2. 제1항에 있어서,
    상기 추적할 거래의 입력 값과 블록체인 시스템 내의 각 블록에 대응하는 블룸 필터에 따라 상기 추적할 거래의 리프 노드를 결정하는 단계는,
    상기 추적할 거래의 입력 값을 추적할 출력 값으로 결정하는 단계;
    상기 추적할 출력 값과 상기 블록체인 시스템 내의 각 블록에 대응하는 블룸 필터에 따라 상기 추적할 거래가 의존하는 거래가 구비되는 블록을 결정하는 단계;
    상기 추적할 출력 값에 따라 추적할 거래가 의존하는 거래가 구비되는 블록에서 상기 추적할 출력 값과 동일한 제1 거래를 검색하는 단계; 및
    상기 제1 거래가 마이닝 거래의 거래이거나 사전 설정된 종료 조건을 충족하는 블록의 거래인 경우 추적을 종료하고; 그렇지 않는 경우 상기 제1 거래를 상기 추적할 거래의 리프 노드로 결정하고, 상기 제1 거래의 입력 값을 상기 추적할 출력 값으로 결정하고, 추적 가능성이 종료된다고 결정할 때까지 상기 추적할 거래가 의존하는 거래를 계속 추적하는 단계를 포함하는
    것을 특징으로 하는 블록체인 거래를 추적하기 위한 방법.
  3. 제2항에 있어서,
    상기 추적할 출력 값과 상기 블록체인 시스템 내의 각 블록에 대응하는 블룸 필터에 따라 상기 추적할 거래가 의존하는 거래가 구비되는 블록을 결정하는 단계는,
    상기 블룸 필터 내의 m개의 해시 함수를 사용하여 상기 추적할 출력 값을 해시하여 m개의 대응 위치의 값을 획득하는 단계; 및
    상기 m개의 대응 위치의 값이 모두 사전 설정된 값인 경우 상기 블록을 상기 추적할 거래가 의존하는 거래가 구비되는 블록으로 결정하는 단계를 포함하는
    것을 특징으로 하는 블록체인 거래를 추적하기 위한 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 추적할 거래의 정보를 획득하기 전에,
    제1 블록이 생성되면 상기 제1 블록 내의 모든 거래의 출력 값을 상기 제1 블록에 대응하는 블룸 필터에 저장하는
    것을 특징으로 하는 블록체인 거래를 추적하기 위한 방법.
  5. 제4항에 있어서,
    상기 제1 블록에 대응하는 블룸 필터는 상기 블록 헤더 또는 상기 블록체인 시스템의 시스템 데이터베이스의 블룸 필터 배열에 위치하는
    것을 특징으로 하는 블록체인 거래를 추적하기 위한 방법.
  6. 블록체인 거래를 추적하기 위한 장치로서,
    추적할 거래의 정보를 획득하도록 것된 획득 유닛; 및
    상기 추적할 거래의 입력 값과 블록체인 시스템 내의 각 블록에 대응하는 블룸 필터에 따라 상기 추적할 거래의 리프 노드를 결정하고, 상기 추적할 거래의 리프 노드에 따라 상기 추적할 거래의 추적 경로를 생성하도록 구성된 처리 유닛을 포함하고,
    상기 추적할 거래의 정보는 상기 추적할 거래의 입력 값을 포함하고;
    상기 블룸 필터에는 상기 블록에 포함되는 거래의 출력 값이 저장되어 있는
    것을 특징으로 하는 블록체인 거래를 추적하기 위한 장치.
  7. 제6항에 있어서,
    상기 처리 유닛은 구체적으로,
    상기 추적할 거래의 입력 값을 추적할 출력 값으로 결정하고;
    상기 추적할 출력 값과 상기 블록체인 시스템 내의 각 블록에 대응하는 블룸 필터에 따라 상기 추적할 거래가 의존하는 거래가 구비되는 블록을 결정하고;
    상기 추적할 출력 값에 따라 추적할 거래가 의존하는 거래가 구비되는 블록에서 상기 추적할 출력 값과 동일한 제1 거래를 검색하고;
    상기 제1 거래가 마이닝 거래의 거래이거나 사전 설정된 종료 조건을 충족하는 블록의 거래인 경우 추적을 종료하고; 그렇지 않는 경우 상기 제1 거래를 상기 추적할 거래의 리프 노드로 결정하고, 상기 제1 거래의 입력 값을 상기 추적할 출력 값으로 결정하고, 추적 가능성이 종료된다고 결정할 때까지 상기 추적할 거래가 의존하는 거래를 계속 추적하는
    것을 특징으로 하는 블록체인 거래를 추적하기 위한 장치.
  8. 제7항에 있어서,
    상기 처리 유닛은,
    상기 블룸 필터 내의 m개의 해시 함수를 사용하여 상기 추적할 출력 값을 해시하여 m개의 대응 위치의 값을 획득하고;
    상기 m개의 대응 위치의 값이 모두 사전 설정된 값인 경우 상기 블록을 상기 추적할 거래가 의존하는 거래가 구비되는 블록으로 결정하는
    것을 특징으로 하는 블록체인 거래를 추적하기 위한 장치.
  9. 제6항 내지 제8항 중 어느 한 항에 있어서,
    상기 처리 유닛은 또한
    상기 추적할 거래의 정보를 획득하기 전에 제1 블록이 생성되면 상기 제1 블록 내의 모든 거래의 출력 값을 상기 제1 블록에 대응하는 블룸 필터에 저장하는
    것을 특징으로 하는 블록체인 거래를 추적하기 위한 장치.
  10. 제9항에 있어서,
    상기 제1 블록에 대응하는 블룸 필터는 상기 블록 헤더 또는 상기 블록체인 시스템의 시스템 데이터베이스의 블룸 필터 배열에 위치하는
    것을 특징으로 하는 블록체인 거래를 추적하기 위한 장치.
  11. 컴퓨터 판독 가능 저장 매체로서,
    상기 컴퓨터 판독 가능 저장 매체에는 컴퓨터 실행 가능 명령이 저장되어 있고, 상기 컴퓨터 실행 가능 명령은 상기 컴퓨터로 하여금 제1항 내지 제5항 중 어느 한 항에 기재된 방법을 수행하도록 구성되는
    것을 특징으로 하는 컴퓨터 판독 가능 저장 매체.
  12. 컴퓨팅 장치로서,
    메모리 및 프로세서를 포함하고;
    상기 메모리는 하나 이상의 실행 가능한 프로그램을 저장하고, 상기 프로세서를 구성하는 데 사용되도고 구성되고,
    상기 프로세서에는, 하나 이상의 실행 가능한 프로그램이 구성되고, 상기 하나 이상의 실행 가능한 프로그램은 제1항 내지 제5항 중 어느 한 항에 기재된 방법을 수행하도록 구성되는
    것을 특징으로 하는 컴퓨팅 장치.
KR1020217028551A 2019-03-01 2020-01-10 블록체인 거래를 추적하기 위한 방법 및 장치 KR20210125522A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201910155057.1 2019-03-01
CN201910155057.1A CN111640012A (zh) 2019-03-01 2019-03-01 一种区块链交易追溯的方法及装置
PCT/CN2020/071551 WO2020177488A1 (zh) 2019-03-01 2020-01-10 一种区块链交易追溯的方法及装置

Publications (1)

Publication Number Publication Date
KR20210125522A true KR20210125522A (ko) 2021-10-18

Family

ID=72330473

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217028551A KR20210125522A (ko) 2019-03-01 2020-01-10 블록체인 거래를 추적하기 위한 방법 및 장치

Country Status (7)

Country Link
US (1) US20220005004A1 (ko)
EP (1) EP3933743A4 (ko)
JP (1) JP7303321B2 (ko)
KR (1) KR20210125522A (ko)
CN (2) CN111640012A (ko)
TW (1) TWI727639B (ko)
WO (1) WO2020177488A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3852305B1 (en) * 2020-01-17 2022-11-16 Fetch.ai Limited Transaction verification system and method of operation thereof
GB2595489A (en) * 2020-05-28 2021-12-01 Nchain Holdings Ltd Probabilistic membership test for blockchain transaction outputs
CN112950211B (zh) * 2021-05-14 2021-07-30 腾讯科技(深圳)有限公司 一种交易验重方法、装置、设备以及介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10204341B2 (en) * 2016-05-24 2019-02-12 Mastercard International Incorporated Method and system for an efficient consensus mechanism for permissioned blockchains using bloom filters and audit guarantees
US11128603B2 (en) * 2016-09-30 2021-09-21 Nec Corporation Method and system for providing a transaction forwarding service in blockchain implementations
WO2018098598A1 (en) * 2016-12-02 2018-06-07 Stack Fintech Inc. Digital banking platform and architecture
WO2018119930A1 (zh) * 2016-12-29 2018-07-05 深圳前海达闼云端智能科技有限公司 交易验证处理方法、装置及节点设备
CN107025559B (zh) * 2017-01-26 2020-09-18 创新先进技术有限公司 一种业务处理方法及装置
CN107247773B (zh) * 2017-06-07 2018-05-15 北京邮电大学 一种基于区块链的在分布式数据库中进行交易查询的方法
GB201711879D0 (en) * 2017-07-24 2017-09-06 Nchain Holdings Ltd Computer-implemented system and method
CN108615156A (zh) * 2018-05-09 2018-10-02 上海魅联信息技术有限公司 一种基于区块链的数据结构
CN108711056A (zh) * 2018-05-16 2018-10-26 四川大学 一种中心化的可追溯的区块链系统及方法
CN109299038A (zh) * 2018-08-29 2019-02-01 南京数睿数据科技有限公司 一种适用于区块链的海量数据摘要生成系统和方法
TWM572512U (zh) * 2018-09-28 2019-01-01 彰化商業銀行股份有限公司 使用區塊鏈技術之跨行帳戶交易查詢系統
US10698728B1 (en) * 2019-11-15 2020-06-30 Blockstack Pbc Systems and methods for forming application-specific blockchains

Also Published As

Publication number Publication date
EP3933743A1 (en) 2022-01-05
TWI727639B (zh) 2021-05-11
TW202034265A (zh) 2020-09-16
JP2022522790A (ja) 2022-04-20
CN111640012A (zh) 2020-09-08
WO2020177488A1 (zh) 2020-09-10
EP3933743A4 (en) 2022-04-27
JP7303321B2 (ja) 2023-07-04
CN113711265A (zh) 2021-11-26
US20220005004A1 (en) 2022-01-06

Similar Documents

Publication Publication Date Title
KR102098548B1 (ko) 블록체인에서 블록 데이터를 검증하기 위한 방법 및 장치
KR20210125522A (ko) 블록체인 거래를 추적하기 위한 방법 및 장치
Zhu et al. Gemini: A {Computation-Centric} distributed graph processing system
Shah et al. The MDS queue: Analysing the latency performance of erasure codes
US9628541B2 (en) Runtime grouping of tuples in a streaming application
US11349824B2 (en) Block sequencing method and system based on tree-graph structure, and data processing terminal
CN107251021B (zh) 过滤数据沿袭图
CN109117209A (zh) 序列化和反序列化方法及装置
CN105677903A (zh) 获取数据的方法和装置、计算机设备
WO2022048359A1 (zh) 一种数据归档方法、装置、电子设备和存储介质
CN106649344B (zh) 一种网络日志压缩方法和装置
Cederman et al. Concurrent data structures for efficient streaming aggregation
US11294858B2 (en) Method and system for flexible, high performance structured data processing
US10678789B2 (en) Batch data query method and apparatus
US11372822B2 (en) Method, device, and computer apparatus for merging regions of HBase table
KR102413144B1 (ko) 트랜잭션 처리 방법, 서버 및 트랜잭션 처리 시스템
US9245048B1 (en) Parallel sort with a ranged, partitioned key-value store in a high perfomance computing environment
CN112612832A (zh) 节点分析方法、装置、设备及存储介质
Chen et al. Sorting large data sets with FPGA-accelerated samplesort
CN103761298A (zh) 一种基于分布式架构的实体匹配方法
CN110555158A (zh) 互斥数据处理方法及系统、计算机可读存储介质
JP2016045929A (ja) ファイルをスキャンするための方法及び装置
US20130238639A1 (en) Methods, systems and computer readable media for comparing xml documents
US20140047105A1 (en) Link aggregation using digests
CN113468401B (zh) 局数据核查制作方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E90F Notification of reason for final refusal