KR20190067195A - 블록체인 데이터 처리 방법 및 장치 - Google Patents

블록체인 데이터 처리 방법 및 장치 Download PDF

Info

Publication number
KR20190067195A
KR20190067195A KR1020197012658A KR20197012658A KR20190067195A KR 20190067195 A KR20190067195 A KR 20190067195A KR 1020197012658 A KR1020197012658 A KR 1020197012658A KR 20197012658 A KR20197012658 A KR 20197012658A KR 20190067195 A KR20190067195 A KR 20190067195A
Authority
KR
South Korea
Prior art keywords
block
processing
service
processing block
authenticated
Prior art date
Application number
KR1020197012658A
Other languages
English (en)
Other versions
KR102239589B1 (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 KR20190067195A publication Critical patent/KR20190067195A/ko
Application granted granted Critical
Publication of KR102239589B1 publication Critical patent/KR102239589B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • 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/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • 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]
    • 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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
    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/125Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations
    • H04L2209/38

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Accounting & Taxation (AREA)
  • General Engineering & Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Databases & Information Systems (AREA)
  • Finance (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)
  • Advance Control (AREA)
  • Detergent Compositions (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)

Abstract

본 출원은 데이터 처리 방법 및 장치를 개시한다. 이 방법에서, 획득된 사전처리 블록의 인증을 결정한 후, 블록체인 노드는, 인증된 사전처리 블록에서의 서비스 데이터에 관한 데이터 처리를 병렬로 실행하도록 다음의 인증 준비 사전처리 블록을 인증하기 시작할 수 있다. 획득된 사전처리 블록이 인증됨을 결정한 후, 블록체인 노드는 병렬 처리에 의해 다음의 인증 준비 사전처리 블록을 인증하기 시작하며, 인증된 사전처리 블록에서의 서비스 데이터를 처리한다. 즉, 블록체인 노드는 서비스 합의 단계와 서비스 제출 단계에서 병렬 서비스 데이터 처리를 구현한다. 블록체인 노드는 서비스 제출 단계에서의 서비스 데이터의 일부분에 관한 데이터 처리를 실행할 수 있을 뿐만 아니라, 서비스 합의 단계에서의 서비스 데이터의 다른 일부분에 관한 합의 처리를 실행할 수 있어서, 시스템의 서비스 데이터 처리 효율을 개선할 수 있다.

Description

블록체인 데이터 처리 방법 및 장치
본 출원은 컴퓨터 기술 분야에 관한 것이며, 구체적으로 데이터 처리 방법과 장치에 관한 것이다.
컴퓨터 기술의 계속적인 발전으로, 블록체인 기술의 적용 범위가 확장되어왔다. 현재, 많은 서비스 모델은, 사용자에게 더욱 효율적으로 기여하기 위해, 블록체인 기술의 도입으로 인해 더욱 효율적이며 안전하게 되어왔다.
실제 적용에서, 블록체인 기술에 관련되는 서비스 수행 프로세스는 대략 3개의 프로세스로 나눌 수 있다:
1. 서비스 취급 단계: 이 단계에서, 블록체인 노드가, 단말이나 클라이언트를 사용하여 사용자에 의해 전송된 프로세스 준비 서비스 데이터(거래 데이터로도 지칭될 수 있음)를 수신할 수 있으며, 서비스 데이터를 검증한 후 서비스 데이터를 저장할 수 있다. 특히, 이 단계에서, 블록체인 노드는 또한, 다른 블록체인 노드에 의해 방송되는 프로세스 준비 서비스 데이터를 수신할 수 있으며 앞서 기록한 방식으로 서비스 데이터를 저장할 수 있다.
2. 서비스 합의 단계: 이 단계에서, 블록체인 노드가 합의를 개시하는 마스터 노드로서 사용된다면, 블록체인 노드는 저장된 서비스 데이터로부터 서비스 데이터의 일부분을 획득할 수 있고, 서비스 데이터의 일부분을 사전처리 블록으로 패킹할 수 있으며, 사전처리 블록을 인증하기 위해, 사전처리 블록을 다른 블록체인 노드에 방송할 수 있다. 사전처리 블록을 수신한 후, 합의 네트워크에서의 다른 블록체인 노드는 저장된 서비스 데이터를 기초로 하여 사전처리 블록에서의 서비스 데이터에 대한 합의 검증을 실행할 수 있다. 특히, 블록 노드가 마스터 노드가 아니라면, 블록체인 노드는, 마스터 노드에 의해 방송되는 사전처리 블록을 수신할 수 있으며, 블록체인 노드의 메모리에 저장되는 서비스 요청을 사용하여 사전처리 블록에서의 서비스 요청에 관한 합의 검증을 실행할 수 있다.
3. 서비스 제출 단계: 이 단계에서, 서비스 합의 단계에서 처리되는 사전처리 블록이 인증됨을 결정한 후, 블록체인 노드는 블록체인에 사전처리 블록의 서비스 데이터를 저장할 수 있다. 게다가, 블록체인 노드는 명시된 데이터베이스에 서비스 데이터를 저장할 수 있으며, 블록체인 노드의 저장 공간으로부터 사전처리 블록의 서비스 데이터를 방출(release)할 수 있다.
기존의 기술에서, 서비스 데이터의 동일한 부분에 대해, 블록체인 노드는 보통 먼저, 서비스 제출 단계에 진입하기 전 서비스 합의 단계를 완료할 필요가 있으며, 블록체인 노드는 서비스 제출 단계를 완료한 후에만 다음의 인증 준비 사전처리 블록을 인증할 수 있다.
그러나 기존의 기술에서, 서비스 데이터 처리 프로세스에서 서비스 합의 단계와 서비스 제출 단계가 직렬로 실행된다. 블록체인 노드는, 현재의 서비스 데이터 처리의 서비스 제출 단계를 완료한 후 다음의 서비스 데이터 처리의 서비스 합의 단계를 시작할 수 있다. 결국, 서비스 데이터 처리 사이의 시간 간격은 불가피하게 증가하며, 전체 시스템의 서비스 처리 효율이 감소한다.
본 출원의 실시예는, 블록체인 기술에서 낮은 서비스 처리 효율의 현재의 문제를 해결하기 위한, 데이터 처리 방법을 제공한다.
본 출원의 실시예는 데이터 처리 방법으로서, 블록체인 노드에 의해, 인증 준비 사전처리 블록을 획득하여, 사전처리 블록을 인증하는 단계; 및 사전처리 블록이 인증되었음이 결정되면, 다음의 인증 준비 사전처리 블록을 인증하기 시작하여, 인증된 사전처리 블록에서의 서비스 데이터에 관한 데이터 처리를 병렬로 실행하는 단계를 포함하는, 데이터 처리 방법을 제공한다.
본 출원의 실시예는, 상대적으로 낮은 서비스 합의 효율이라는 현재의 문제점을 해결하기 위한 데이터 처리 장치를 제공한다.
본 출원의 실시예는 데이터 처리 장치로서, 인증 준비 사전처리 블록을 획득하여, 사전처리 블록을 인증하도록 구성되는 획득 모듈; 및 사전처리 블록이 인증되었음이 결정되면, 다음의 인증 준비 사전처리 블록을 인증하기 시작하여, 인증된 사전처리 블록에서의 서비스 데이터에 관한 데이터 처리를 병렬로 실행하도록 구성되는 처리 모듈을 포함하는, 데이터 처리 장치를 제공한다.
본 출원의 실시예는 상대적으로 낮은 서비스 합의 효율이라는 현재의 문제점을 해결하기 위한 데이터 처리 장치를 제공한다.
본 출원의 실시예는 메모리와 적어도 하나의 프로세서를 포함하는 데이터 처리 장치를 제공하며, 여기서 메모리는 프로그램을 저장하며, 프로세서 또는 프로세서들은 다음의 단계를 실행하도록 구성된다: 인증 준비 사전처리 블록을 획득하여, 사전처리 블록을 인증하는 단계; 및 사전처리 블록이 인증되었음이 결정되면, 다음의 인증 준비 사전처리 블록을 인증하기 시작하여, 인증된 사전처리 블록에서의 서비스 데이터에 관한 데이터 처리를 병렬로 실행하는 단계.
본 출원의 실시예에 사용되는 기재한 기술적 해법 중 하나 이상이 다음의 유리한 효과를 달성할 수 있다.
본 출원의 실시예에서, 획득된 사전처리 블록의 인증을 결정한 후, 블록체인 노드가 병렬 처리에 의해 다음의 인증 준비 사전처리 블록을 인증하기 시작하며, 인증된 사전처리 블록에서의 서비스 데이터에 관한 데이터 처리를 실행한다. 즉, 블록체인 노드는 서비스 합의 단계와 서비스 제출 단계에서 병렬 서비스 데이터 처리를 구현한다. 블록체인 노드는 서비스 제출 단계에서 서비스 데이터의 일부분에 관한 데이터 처리를 실행할 뿐만 아니라, 서비스 합의 단계에서 서비스 데이터의 다른 일부분에 대한 합의 처리를 실행할 수 있다. 그러므로 서비스 합의 단계에서의 합의 처리 사이의 시간 간격은 단축될 수 있어서, 시스템의 서비스 데이터 처리 효율을 효율적으로 개선할 수 있다.
본 명세서에서 기재한 도면은 본 출원의 이해를 더 제공하기 위해 사용되며, 본 출원의 일부분을 구성한다. 본 출원의 개략적인 실시예와 상세한 설명은 본 출원을 설명하는데 사용되며, 본 출원을 부적절하게 제한하지는 않는다.
도 1은, 본 출원의 실시예에 따른 데이터 처리 프로세스를 예시하는 개략도이다.
도 2는, 본 출원의 실시예에 따른 블록체인 노드에 의해 실행되는 데이터 처리를 예시하는 개략도이다.
도 3은, 본 출원의 실시예에 따른 데이터 처리 장치를 예시하는 개략도이다.
도 4는, 본 개시의 구현에 따른 병렬 서비스 데이터 처리를 사용한 블록체인 기술의 처리 효율을 향상시키기 위한 컴퓨터-구현 방법의 예를 예시하는 흐름도이다.
당업자가 본 출원에서 기술적 해법을 더 잘 이해하게 하기 위해, 다음의 상세한 설명은 본 출원의 실시예에서 수반하는 도면을 참조하여 본 출원의 실시예에서의 기술적 해법을 명확하고 완전하게 기재한다. 분명히, 기재한 실시예는 본 출원의 실시예 모두이기보다는 단지 일부분이다. 창의적인 노력 없이 본 출원의 실시예를 기초로 하여 당업자가 획득한 다른 모든 실시예는 본 출원의 보호 범위 내에 속해야 한다.
도 1은, 본 출원의 실시예에 따른 데이터 처리 프로세스를 예시하는 개략도이다. 데이터 처리 프로세스는 다음의 단계를 포함한다:
S101. 블록체인 노드는 인증 준비 사전처리 블록을 획득하고, 사전처리 블록을 인증한다.
본 출원의 이 실시예에서, 블록체인 노드는, 서비스 합의 단계에서, 현재의 합의 라운드에서 사전처리 블록을 획득할 수 있다(여기서, 현재 획득한 사전처리 블록은 현재 합의에서 획득한 사전처리 블록으로 지칭된다). 사전처리 블록은 블록체인 노드에 의해 저장되는 서비스 데이터를 기초로 하여 블록체인 노드에 의해 생성될 수 있거나, 다른 블록체인 노드로부터 획득될 수 있다.
S102. 사전처리 블록이 인증되었음이 결정되면, 다음의 인증 준비 사전처리 블록을 인증하기 시작하고, 인증된 사전처리 블록에서의 서비스 데이터에 관한 데이터 처리를 병렬로 실행한다.
현재의 인증 준비 사전처리 블록의 합의 검증이 성공함을 결정한 후, 기재한 블록체인 노드는, 병렬 처리에 의해, 인증된 사전처리 블록에 관한 서비스 제출 단계에서 데이터 처리를 실행할 수 있다. 그러므로 서비스 합의 단계에서의 합의 처리가 다음의 사전처리 블록에 관해 실행될 때, 서비스 제출 단계에서의 데이터 처리가 인증된 사전처리 블록에 관해 효율적으로 및 동기적으로 실행될 수 있다.
본 출원의 이러한 실시예 및 서비스 데이터 처리 프로세스에서, 서비스 합의 노드는 서비스 합의 단계에서의 합의 처리와 서비스 제출 단계에서의 데이터 처리를 동기적으로 실행할 수 있음을 알 수 있다. 즉, 적어도 2개의 인증 준비 사전처리 블록이 있다고 가정한다. 그러므로 본 출원에 제공된 기술적 해법을 기초로 하여, 데이터 처리가 서비스 제출 단계에서의 인증된 사전처리 블록에 관해 실행될 때, 합의 처리는 서비스 합의 단계에서의 실패한 합의의 사전처리 블록에 관해 동기적으로 실행될 수 있다.
현재의 인증 준비 사전처리 블록에 대해, 합의 처리가 현재의 인증 준비 사전처리 블록에 관해 실행될 때, 합의 처리는 다음의 인증 준비 사전처리 블록에 관해 실행되기 시작하며, 현재 인증된 사전처리 블록의 처리 파라미터가 획득됨이 결정됨을 주목해야 한다. 그러므로 서비스 데이터 처리 프로세스에서의 서비스 제출 단계에서 데이터 처리를 구현하도록 구성되는 (후속하여 미리 결정된 프로세서로서 지칭될 수 있는) 프로세서가, 처리 파라미터를 기초로 하여, 현재의 인증된 사전처리 블록에 관한 데이터 처리를 실행한다.
예컨대, 다음의 인증 준비 사전처리 블록에 관한 합의 처리를 실행하기 시작할 때, 미리 결정된 프로세서는, 생성된 처리 파라미터를 기초로 하여, 현재의 인증된 사전처리 블록에 관한 데이터 처리를 실행한다. 합의 처리와 데이터 처리가 각각 다음의 인증 준비 사전처리 블록 및 현재의 인증된 사전처리 블록에 관해 병렬로 실행되어, 현재의 인증 준비 사전처리 블록에 관해 실행된 합의 처리와, 다음의 인증 준비 사전처리 블록에 관해 실행되는 합의 처리 사이의 시간 간격이 효율적으로 단축됨을 이해해야 한다.
다른 예로, 다음의 인증 준비 사전처리 블록에 관한 합의 처리를 실행하기 시작할 때, 미리 결정된 프로세서는 현재의 인증된 사전처리 블록에 관한 데이터 처리를 실행하며, 그 후 현재의 인증된 사전처리 블록을 미리 결정된 큐에 저장하여 대기한다. 미리 결정된 프로세서는, 규칙을 기초로 하여 (예컨대, 합의 완료 시간 순서를 기초로 하여) 큐에 저장된 인증된 사전처리 블록에 관한 데이터 처리를 계속해서 실행한다. 현재의 인증 준비 사전처리 블록의 합의 처리와 사전처리 블록의 데이터 처리는 비동기적으로 완료됨을 여기서 이해할 수 있다.
예컨대, 3개의 사전처리 블록, 즉 A, B 및 C가 있다고 가정할 때, 이 3개의 사전처리 블록은 합의를 위해 알파벳 순서로 블록체인 노드에 계속해서 전송된다. 사전처리 블록 A이 인증되었음을 결정한 후, 블록체인 노드는, 미리 결정된 프로세서를 사용하여 사전처리 블록 A에 관한 데이터 처리를 실행할 수 있다. 게다가, 블록체인 노드는 사전처리 블록 B을 인증할 수 있다. 사전처리 블록 B의 인증을 결정하며 사전처리 블록 A에 관해 실행된 데이터 처리가 완료되지 않음을 알게 된 후, 블록체인 노드는 인증된 사전처리 블록 B를 미리 결정된 큐에 저장할 수 있어서 대기할 수 있으며, 사전처리 블록 C를 계속 인증할 수 있다. 사전처리 블록 A에 관해 실행된 데이터 처리가 완료됨을 결정할 때, 블록체인 노드는, 미리 결정된 프로세서를 사용하여 사전처리 블록 B에 관한 데이터 처리를 실행하기 위해, 미리 결정된 큐로부터 사전처리 블록 B을 추출할 수 있다.
그러므로 각각의 사전처리 블록에 대해, 사전처리 블록의 합의 처리와 데이터 처리는 비동기적으로 완료된다. 상이한 사전처리 블록에 대해, 사전처리 블록의 합의 처리와 다른 인증된 사전처리 블록의 데이터 처리는 동기적으로 실행될 수 있다.
블록체인 노드가, 현재의 인증 준비 사전처리 블록의 합의 검증이 성공임을 결정한 후, 본 출원의 이러한 실시예는 다음의 2개의 타입의 동작을 실행하는 단계를 포함하지만, 이들로 제한되지는 않는다.
1. 제1 타입 동작: 현재의 인증된 사전처리 블록에 대응하는 처리 파라미터를 결정한다. 처리 파라미터는 사전처리 블록에서 서비스 데이터를 처리하는데 사용되는 파라미터를 포함하여, 미리 결정된 프로세서는 처리 파라미터를 기초로 하여 사전처리 블록을 처리할 수 있어서, 서비스 제출 단계에서 관련 동작을 완료할 수 있다. 다음은 제1 타입 동작을 상세하게 기재한다.
처리 파라미터는 저장 파라미터, 방출 파라미터, 삭제 파라미터 및 코-체인(co-chain) 파라미터를 포함할 수 있지만 이들로 제한되지 않는다. 그러나 상기는 처리 파라미터에서 일부 파라미터를 기재하는데 사용되는 단지 간단한 예이다. 실제 적용에서, 처리 파라미터는 다른 파라미터를 더 포함할 수 있으며, 이것은 서비스 제출 단계에서 블록체인 노드에 의해 실행되는 특정 동작을 기초로 하여 결정될 수 있다.
예컨대, 방출 파라미터는 저장 공간으로부터 인증된 사전처리 블록을 방출하도록 지시하는데 사용될 수 있다.
저장 파라미터는, 인증된 사전처리 블록의 서비스 데이터를 명시된 위치에 저장하도록 지시하는데 사용된다. 상이한 저장 파라미터가 상이한 사전처리 블록에 대해 결정된다. 저장 파라미터는 저장 위치를 포함한다.
삭제 파라미터는, 저장 부담을 줄이기 위해 서비스 합의 단계에서 인증된 사전처리 블록에 의해 생성되는 메시지(예컨대, PBFT 합의에서의 사전-대비 메시지, 대비 메시지 및 승인 메시지)를 삭제하도록 지시된다.
코-체인 파라미터는, 사전처리 블록에서 이전 블록의 헤더 해시를 기초로 하여 블록 형태로, 사전처리 블록을 이전 블록이 위치한 블록체인에 코-체인하도록 지시하는데 사용된다.
바람직하게도, 본 출원의 이 실시예에서, 다음의 인접한 인증 준비 사전처리 블록을 인증할 때, 블록체인 노드는 미리 결정된 프로세서를 사용하여 현재의 인증된 사전처리 블록에서의 서비스 데이터를 병렬로 더 처리할 수 있다.
기존의 기술에서, 블록체인 노드가 동일한 스레드(thread)를 사용하여 서비스 데이터 처리 프로세스에서 서비스 합의 단계와 서비스 제출 단계를 완료함을 이해할 수 있다고 가정한다. 블록체인 노드는 먼저 스레드를 사용하여 이 서비스 데이터 처리 프로세스에서 서비스 합의 단계를 완료할 필요가 있으며, 그 후 스레드를 사용하여 이 서비스 데이터 처리 프로세스에서 서비스 제출 단계를 실행한다. 분명히, 기존의 기술에서, 블록체인 노드는 서비스 데이터 처리 프로세스에서 서비스 합의 단계와 서비스 제출 단계를 직렬로 실행한다. 결과적으로, 인접한 서비스 데이터 처리 사이의 시간 간격이 증가하며, 서비스 데이터 처리 효율이 줄어든다.
상기 기재된 문제를 효율적으로 해결하기 위해, 본 출원의 이 실시예에서, 블록체인 노드는 프로세서(이 프로세서는 비동기 처리에 의해 동작할 수 있으며, 특정 제한이 여기서 부과되지 않음)를 사전-구성한다. 프로세서는 서비스 제출 단계에 수반되는 동작을 실행하도록 구성될 수 있다. 즉, 본 출원의 이 실시예에서, 블록체인 노드는 2개의 스레드를 사용하여 서비스 데이터 처리 프로세스에서 서비스 합의 단계에서의 합의 처리와 서비스 제출 단계에서의 데이터 처리를 각각 구현할 수 있다. 하나의 스레드는 인증 준비 사전처리 블록에 관한 합의 처리를 실행하는데 사용되며, 다른 하나의 스레드는 인증된 사전처리 블록에 관한 데이터 처리를 실행하는데 사용된다. 그러므로 동일한 사전처리 블록에 대해, 합의 처리와 데이터 처리는 비동기적으로 완료된다.
이처럼, 블록체인 노드가, 프로세서를 사용하여, 서비스 제출 단계에 수반되는 동작을 실행할 때, 블록체인 노드는, 영향을 받지 않고, 다음의 인접한 인증 준비 사전처리 블록을 인증하기 시작할 수 있다. 즉, 다음의 합의를 실행하기 시작할 수 있어서, 인접한 합의 사이의 시간 간격을 상당히 단축할 수 있어서, 합의 효율을 개선할 수 있다.
본 출원의 실시예에서, 현재의 합의에서 결정된 모든 처리 파라미터는 이전 합의에 의해 결정된 처리 파라미터를 사용하여 획득될 수 있다.
저장 파라미터는 기재를 위한 예로서 사용된다. 현재의 인증 준비 사전처리 블록이 인증되었음이 결정된 후, 블록체인 노드는, 현재 인증된 사전처리 블록의 저장 파라미터를 기초로 하여, 다음의 인접한 인증 준비 사전처리 블록의 저장 파라미터를 결정할 수 있으며, 다음의 인접한 인증 준비 사전처리 블록의 저장 파라미터를 저장할 수 있다.
예컨대, (현재의 합의에 대응하는 저장 파라미터로서 또한 이해될 수 있는) 현재 인증된 사전처리 블록에 대응하는 저장 파라미터가, 현재 인증된 사전처리 블록에서의 서비스 데이터가 관계 타입 데이터베이스 A에서의 표 a에 저장될 필요가 있음을 규정한다고 가정한다. 그러므로 블록체인 노드는, 관계 타입 데이터베이스 A에서의 각 표의 알파벳 순서를 기초로 하여, 다음의 인접한 인증된 사전처리 블록에 대응하는 저장 파라미터가 현재의 합의(즉, 앞서 언급한 다음의 인접한 합의)가 성공한 사전처리 블록에서의 서비스 데이터를 관계 타입 데이터베이스 A에서의 표 b에 저장함을 결정할 수 있다.
블록체인 노드는 다음의 합의의 결정된 저장 파라미터를 저장할 수 있다. 그러므로 다음의 인증 준비 사전처리 블록이 인증됨을 결정할 때, 미리 결정된 프로세서는, 획득된 저장 파라미터를 기초로 하여, 인증된 사전처리 블록에서의 서비스 데이터가 저장될 필요가 있는 표와 데이터베이스를 결정할 수 있다.
바람직하게도, 본 출원의 이 실시예에서, 현재의 인증 준비 사전처리 블록의 인증을 결정한 후, 블록체인 노드는, 사전처리 블록과, 사전처리 블록의 저장 파라미터를 기초로 하여, 다음의 인접한 인증 준비 사전처리 블록의 저장 파라미터를 또한 결정할 수 있으며, 다음의 인접한 인증 준비 사전처리 블록의 저장 파라미터를 저장할 수 있다.
구체적으로, 저장 파라미터의 저장 위치가 베이스 포인터의 형태로 존재한다면, 베이스 포인터에 의해 가리켜진 위치가 사전처리 블록에서의 서비스 데이터의 저장 위치이다. 현재의 인증 준비 사전처리 블록이 인증됨을 결정한 후, 블록체인 노드는 베이스 포인터의 현재의 위치를 시작점으로서 사용할 수 있으며, 현재의 인증 준비 사전처리 블록의 크기를 기초로 하여 베이스 포인터의 위치를 움직일 수 있으며, 베이스 포인터의 새로운 위치가 다음의 합의에 대응하는 저장 파라미터 - 다음의 인접한 인증 준비 사전처리 블록의 저장 파라미터임 - 임을 결정할 수 있다.
예컨대, 각각의 합의의 처리 파라미터가 베이스 포인터의 형태의 저장 파라미터를 포함한다고 가정한다. 베이스 포인터(즉, 저장 파라미터)는 서비스 데이터의 특정 저장 위치를 가리킨다. 베이스 포인터의 초기 값은 0으로 설정될 수 있다. 각각의 합의 후, 블록체인 노드는, 현재의 합의에 대응하는 처리 파라미터에서의 베이스 포인터와 인증된 사전처리 블록의 크기를 기초로 하여, 다음의 인접한 합의에 대응하는 처리 파라미터에서의 베이스 포인터의 특정 값을 결정할 수 있다. 제1 합의 동안, 블록체인 노드가 인증된 사전처리 블록이 1024바이트임을 결정하여, 블록체인 노드는, 베이스 포인터의 초기 값 0과 사전처리 블록의 결정된 크기를 기초로 하여, 제2 합의에 대응하는 처리 파라미터에서의 베이스 포인터가 1024바이트임을 결정할 수 있으며, 베이스 포인터를 저장할 수 있다. 대응하여, 제2 합의에서, 블록체인 노드는, 프로세서를 사용하여, 인증된 사전처리 블록의 서비스 데이터를 1024바이트인 베이스 포인터에 대응하는 저장 위치에 저장할 수 있다.
제2 합의에서, 블록체인 노드는, 인증된 사전처리 블록이 10바이트임을 결정하여, 블록체인 노드는, 이전 합의(즉, 제1 합의)에 대응하는 처리 파라미터에서의 1024바이트인 베이스 포인터와 인증된 사전처리 블록의 미리 결정된 크기를 기초로 하여, 제3 합의에 대응하는 처리 파라미터에서의 베이스 포인터가 1034바이트임을 결정할 수 있으며, 이 베이스 포인터를 저장할 수 있다. 대응하여, 제3 합의에서, 블록체인 노드는, 프로세서를 사용하여, 인증된 사전처리 블록의 서비스 데이터를 1034바이트인 베이스 포인터에 대응하는 저장 위치에 저장할 수 있으며, 후속한 합의를 추정할 수 있다.
본 출원의 이 실시예에서, 다음의 합의에 대응하는 처리 파라미터에서의 저장 파라미터는 사전처리 블록에 대한 다른 정보 외에도 현재의 인증된 사전처리 블록의 크기를 기초로 결정될 수 있음을 주목해야 한다. 저장 파라미터를 결정하는데 사용될 정보가 블록체인 노드의 동작 및 관리 엔지니어에 의해 결정될 수 있다. 상세한 내용은 여기서 반복해서 기재하지 않는다.
처리 파라미터에서의 상이한 파라미터에 대해, 서비스 제출 단계에서 블록체인 노드에 의해 결정된 동작이 이들 파라미터가 그에 따라 각각의 합의 후 변화할 필요가 있는지를 결정함을 주목해야 한다. 예컨대, 기재한 저장 파라미터에 대해, 각각의 합의에 수반되는 사전처리 블록에서의 서비스 데이터는 동일한 저장 위치에 저장될 수 없기 때문에, 저장 파라미터는 각각의 합의 후 그에 따라 변화할 필요가 있다. 기재한 코-체인 파라미터에 대해, 어떠한 합의가 사전처리 블록에 관계되었는지에 상관없이, 모든 사전처리 블록은 합의 네트워크에서의 합의가 성공하면 블록 형태로 블록체인에 저장될 필요가 있다. 즉, 사전처리 블록에 상관없이, 사전처리 블록이 인증되면, 모든 프로세서는 사전처리 블록에 관한 코-체인 동작을 실행할 필요가 있다. 그러므로 각각의 합의 후, 코-체인 파라미터는 그에 따라 변화할 필요가 없다. 각각의 합의에 대해, 코-체인 파라미터는 일관될 수 있다.
바람직하게도, 본 출원의 이 실시예에서, 블록체인 노드는 다음의 합의의 획득된 처리 파라미터를 미리 결정된 큐에 저장할 수 있다. 예컨대, 다음의 인접한 서비스 합의를 겪은 사전처리 블록의 저장 파라미터가 미리 결정된 큐에 저장된다.
이처럼, 프로세서는 미리 결정된 큐로부터 처리 파라미터를 획득할 수 있어서(즉, 인증된 사전처리 블록의 처리 파라미터를 획득할 수 있어서), 처리 파라미터에서의 저장 파라미터를 기초로 하여, 서비스 데이터를 저장 파라미터에 대응하는 인증된 사전처리 블록에 저장할 수 있다.
여기서 언급한 미리 결정된 큐는 선입선출(first in first out; FIFO) 큐일 수 있거나, 다른 타입의 큐일 수 있다. 특정한 제한을 여기서 부과하지 않는다. 프로세서는 FIFO 큐에 저장된 처리 파라미터를 획득할 수 있으며, 처리 파라미터에서의 저장 파라미터를 기초로 하여, 저장된 인증된 사전처리 블록으로부터, 저장 파라미터에 대응하는 사전처리 블록을 결정할 수 있어서, 저장 파라미터를 기초로 하여 사전처리 블록의 서비스 데이터를 저장할 수 있다.
구체적으로, 프로세서는 기재한 FIFO 큐로부터 저장 파라미터를 획득할 수 있으며, 그 후, 프로세서는 저장 파라미터에 대응하는 프로세스 준비 사전처리 블록을 더 결정할 수 있다. 예컨대, 현재의 인증 준비 사전처리 블록이 인증될 때, 블록체인 노드는 사전처리 블록의 저장 파라미터를 생성하며, 사전처리 블록과 저장 파라미터 사이의 대응관계를 결정할 수 있다. 그러므로 프로세서는, 이 대응관계를 기초로 하여, 저장 파라미터에 대응하는 프로세스 준비 사전처리 블록을 결정할 수 있다. 다른 예에 대해, 현재의 인증 준비 사전처리 블록이 인증될 때, 블록체인 노드가 사전처리 블록의 저장 파라미터를 생성하고, 저장 파라미터가 생성되는 제1 시간을 결정하고, 현재의 인증 준비 사전처리 블록이 인증되는 제2 시간을 결정하며, 제1 시간과 제2 시간 사이의 대응관계를 구축한다. 그러므로 프로세서는, 저장 파라미터의 생성 시간을 기초로 하여, 이 생성 시간에서의 결정된 조건을 만족하는 합의 처리 종료 시간에 대응하는 사전처리 블록을 찾을 수 있다. 찾은 사전처리 블록이 저장 파라미터에 대응하는 프로세스 준비 사전처리 블록이라고 결정될 수 있다. 다른 예로, 프로세서는, FIFO 큐로부터, 큐 출구의 맨 앞에서 저장 파라미터를 획득한다. 그러므로 프로세서는 블록체인 노드의 저장 공간으로부터 가장 앞 저장 위치를 갖는 인증된 사전처리 블록을 찾으며, 이 사전처리 블록이 저장 파라미터에 대응하는 사전처리 블록임을 결정한다.
저장 파라미터에 대응하는 프로세스 준비 사전처리 블록을 결정한 후, 프로세서는, 저장 파라미터를 기초로 하여, 프로세스 준비 사전처리 블록에서의 서비스 데이터를 저장 파라미터에 의해 명시되는 저장 위치에 저장할 수 있다.
본 출원의 이 실시예에서, FIFO 큐를 사용하는 것 외에, 블록체인 노드는 다른 큐, 예컨대 이중-종료 큐를 사용하여 각각의 처리 파라미터를 더 저장할 수 있다. 상세한 내용은 여기서 반복해서 기재하지 않는다.
프로세서는, 획득한 처리 파라미터에서의 저장 파라미터를 기초로 하여, 저장 파라미터에 대응하는 프로세스 준비 사전처리 블록의 서비스 데이터를 저장할 수 있다. 게다가, 프로세서는 처리 파라미터에서의 다른 파라미터를 기초로 하여 프로세스 준비 사전처리 블록에 관한 다른 동작을 더 실행할 수 있다.
예컨대, 프로세서는, 처리 파라미터에서의 방출 파라미터를 기초로 하여 저장 공간으로부터 프로세스 준비 사전처리 블록에서의 서비스 데이터를 방출할 수 있다. 다른 예로, 프로세서는, 획득한 처리 파라미터에서의 삭제 파라미터를 기초로 하여, 현재의 합의에서의 서비스 합의 단계에서 생성된 사전-대비 메시지, 대비 메시지, 승인 메시지 등을 삭제할 수 있어서, 블록체인 노드의 저장 공간을 절약할 수 있다. 특히, 프로세서는, 처리 파라미터에서의 다른 파라미터를 기초로 하여 다른 동작을 더 실행할 수 있으며, 상세한 내용은 여기서 반복해서 기재하지 않는다.
2. 제2 타입 동작: 현재의 합의에 대응하는 합의 파라미터를 기초로 하여, 다음의 합의에 대응하는 합의 파라미터를 업데이트한다. 즉, 블록체인 노드는 현재 인증된 사전처리 블록에 대응하는 합의 파라미터를 결정할 수 있으며, 결정된 합의 파라미터를 기초로 하여, 다음의 인접한 인증 준비 사전처리 블록에 대응하는 합의 파라미터를 획득할 수 있다.
본 출원의 이 실시예에서, 현재의 협의에서 인증될 필요가 있는 사전처리 블록의 합의 검증이 인증됨을 결정된 후, 블록체인 노드는, 현재의 합의에 대응하는 처리 파라미터를 기초로 하여, 다음의 합의에 대응하는 처리 파라미터를 획득하여 저장할 필요가 있음을 주목해야 한다. 게다가, 블록체인 노드는, 현재의 합의에 대응하는 합의 파라미터를 기초로 하여, 다음의 합의에 대응하는 합의 파라미터를 더 업데이트할 수 있다. 즉, 블록체인 노드는 현재의 인증된 사전처리 블록에 대응하는 합의 파라미터를 결정할 수 있으며, 결정된 합의 파라미터를 기초로 하여, 다음의 인접한 인증 준비 사전처리 블록에 대응하는 합의 파라미터를 획득할 수 있다.
여기서 언급한 합의 파라미터는 일 회 합의에 대응하는 속성 정보로서 이해될 수 있다. 예컨대, PBFT 합의가 기재를 위한 예로서 사용된다. PBFT 합의 프로세스에서, 일 회 합의는 하나의 뷰 넘버(v)에 대응하며, 이 뷰 넘버(v)는 이 합의를 고유하게 식별하는데 사용된다. 일 회 합의에서, 합의 네트워크에서 어떠한 블록체인 노드가 마스터 노드로서 사용되는지에 상관없이, 블록체인 노드에 의해 생성되는 사전처리 블록에서의 이전 블록의 헤더 해시가 보통 블록체인 상의 현재의 마지막 블록의 헤더 해시이다. 앞서 언급한 이전 블록의 헤더 해시와 뷰 넘버(v)를 현재의 합의에 대응하는 합의 파라미터로 지칭할 수 있다.
특히, 기재한 이전 블록의 헤더 해시와 뷰 넘버(v) 외에, 합의 파라미터는 다른 정보를 더 포함할 수 있다. 상이한 합의 방식에 대해, 합의 파라미터의 내용은 특정한 차이가 있다. 상세한 내용은 기재하지 않는다.
현재의 인증 준비 사전처리 블록의 합의 검증이 성공함을 결정한 후, 블록체인 노드는 현재의 합의에 대응하는 합의 파라미터를 더 결정할 수 있어서, 합의 파라미터를 업데이트함으로써 다음의 합의에 대응하는 합의 파라미터를 획득할 수 있다. 즉, 다음의 인접한 인증 준비 사전처리 블록에 대응하는 합의 파라미터를 획득할 수 있다.
PBFT 합의 방식을 여전히 예로서 사용한다. 현재의 합의에 대응하는 합의 파라미터가 이전 블록의 헤더 해시와 뷰 넘버(v)를 포함한다고 가정한다. 뷰 넘버(v)는 16이며, 이전 블록의 헤더 해시는 0929d9sldom23oix239xed이다. 현재의 인증 준비 사전처리 블록의 합의 검증이 성공함을 결정한 후, 블록체인 노드는 뷰 넘버를 16에서 17로 업데이트할 수 있으며, 679xx9a9a8dfa23389xx34인 사전처리 블록의 헤더 해시를 기초로 하여, 다음의 합의에 대한 블록의 헤더 해시를 679xx9a9a8dfa23389xx34로 업데이트할 수 있다. 이처럼, 다음의 합의에 대응하는 합의 파라미터는: 뷰 넘버(v)는 17이며, 이전 블록의 헤더 해시는 679xx9a9a8dfa23389xx34이다.
블록체인 노드는, 현재의 합의에 대응하는 합의 파라미터를 기초로 하여, 다음의 합의에 대응하는 합의 파라미터를 획득할 수 있다. 이처럼, 블록체인 노드는, 다음의 합의에 대응하는 획득된 합의 파라미터를 기초로 하여, 다음의 인접한 인증 준비 사전처리 블록을 인증하기 시작할 수 있다. 여기서 언급한 합의 파라미터는 메모리에 저장될 수 있거나, 블록체인 노드에 대응하는 데이터베이스에 저장될 수 있거나, 특히 범용 변수 방식으로 존재할 수 있다.
본 출원의 이 실시예에서, 합의 파라미터는 처리 파라미터에 대응하는 미리 결정된 큐에 또한 저장될 수 있음을 주목해야 한다. 이처럼, 합의 처리를 실행하도록 구성되는 프로세서는 미리 결정된 큐로부터 합의 파라미터를 획득할 수 있으며, 합의 파라미터를 기초로 하여 새로운 합의 처리를 시작할 수 있다. 데이터 처리를 실행하도록 구성되는 프로세서는 미리 결정된 큐로부터 처리 파라미터를 획득하며, 획득한 처리 파라미터를 기초로 하여, 처리 파라미터에 대응하는 사전처리 블록에서의 서비스 데이터에 관한 데이터 처리를 실행하기 시작한다.
예컨대, 프로세서는, FIFO 큐로부터, 처리 파라미터와, 처리 파라미터에 대응하는 합의 파라미터를 획득하며, 합의 파라미터는 뷰 넘버(v)를 포함한다고 가정한다. 이처럼, 프로세서는, 블록체인 노드의 저장 공간으로부터 뷰 넘버(v)에 대응하는 프로세스 준비 사전처리 블록을 결정할 수 있어서, 획득한 처리 파라미터를 기초로 하여 프로세스 준비 사전처리 블록을 처리할 수 있다.
특히, 본 출원의 실시예에서, 처리 파라미터는 기재한 미리 결정된 큐에 존재할 수 없다. 예컨대, 처리 파라미터는 블록체인 노드의 메모리에 저장될 수 있거나, 블록체인 노드에 대응하는 데이터베이스에 저장될 수 있거나, 블록체인 노드의 다른 위치에 저장될 수 있다. 상세한 내용은 여기서 반복해서 기재하지 않는다.
앞선 방법으로부터, 획득한 사전처리 블록의 인증을 결정한 후, 블록체인 노드는 병렬 처리에 의해 다음의 인증 준비 사전처리 블록을 인증하기 시작하며, 인증된 사전처리 블록에서 서비스 데이터를 처리함을 알 수 있다. 즉, 블록체인 노드는 서비스 합의 단계와 서비스 제출 단계에서 병렬 서비스 데이터 처리를 구현한다. 블록체인 노드는 서비스 제출 단계에서 서비스 데이터의 일부분에 관한 데이터 처리를 실행할 뿐만 아니라 서비스 합의 단계에서 서비스 데이터의 다른 일부분에 관한 합의 처리를 실행할 수 있다. 그러므로 서비스 합의 단계에서의 인접한 합의 처리 사이의 시간 간격은 단축될 수 있어서, 시스템의 서비스 데이터 처리 효율을 효율적으로 개선할 수 있다.
도 2에 도시된 바와 같이, 본 출원에서 언급한 데이터 처리 방법을 더 기재하기 위해, 다음은 데이터 처리 방법에 수반되는 모든 프로세스를 상세하게 간단히 기재한다.
도 2는, 본 출원의 실시예에 따른 블록체인 노드에 의해 실행되는 데이터 처리를 예시하는 개략도이다.
서비스 취급 단계에서, 사용자는 단말에 설치되는 클라이언트를 사용하여 서비스 데이터를 블록체인 노드에 전송할 수 있으며, 블록체인 노드는 수신된 서비스 데이터를 검증할 수 있으며, 검증된 서비스 데이터를 블록체인 노드에 대응하는 저장 공간에 저장할 수 있다.
서비스 합의 단계에서, 블록체인 노드는 현재의 인증 준비 사전처리 블록을 획득할 수 있다. 블록체인 노드가 현재의 합의를 개시하는 마스터 노드로서 사용된다면, 블록체인 노드는 그 저장 공간으로부터 서비스 데이터의 일부분을 획득하며 서비스 데이터의 이 일부분을 사전처리 블록으로 패킹할 수 있다. 이 상황에서, 블록체인 노드는 현재의 합의에서 인증될 필요가 있는 사전처리 블록을 획득한다. 게다가, 블록체인 노드는 사전처리 블록을 합의 네트워크의 다른 블록체인 노드에 방송할 필요가 있어서, 다른 블록체인 노드는 사전처리 블록에 관한 합의 검증을 실행한다.
블록체인 노드가 현재의 합의를 개시하는 마스터 노드가 아니라면, 블록체인 노드는, 현재의 합의를 개시하는 마스터 노드로부터, 이 서비스 합의에서 검증될 필요가 있는 사전처리 블록을 획득할 수 있으며, 그 후 사전처리 블록에 관한 합의 검증을 실행할 수 있다.
사전처리 블록의 합의 검증이 성공함을 결정한 후, 블록체인 노드는, 현재의 합의에 대응하는 합의 파라미터(즉, 사전처리 블록에 대응하는 합의 파라미터)를 기초로 하여 업데이트함으로써, 다음의 합의에 대응하는 합의 파라미터(즉, 다음의 인접한 인증 준비 사전처리 블록에 대응하는 합의 파라미터)를 획득할 수 있어서 다음의 합의를 실행할 수 있다. 게다가, 블록체인 노드는, 현재의 합의에 대응하는 처리 파라미터(즉, 현재 인증된 사전처리 블록에 대응하는 처리 파라미터)와 사전처리 블록을 기초로 하여, 다음의 합의에 대응하는 처리 파라미터(즉, 다음의 인접한 인증 준비 사전처리 블록에 대응하는 처리 파라미터)를 더 획득할 수 있으며, FIFO 큐에, 다음의 합의에 대응하는 획득된 처리 파라미터를 저장할 수 있다.
다음의 인접한 합의에 대응하는 처리 파라미터와 합의 파라미터를 획득할 때, 블록체인 노드는 다음의 인접한 합의에서의 서비스 합의 단계를 실행하기 시작할 수 있다. 즉, 다음의 인접한 인증 준비 사전처리 블록을 인증하기 시작할 수 있다. 게다가, 다음의 인접한 합의에서의 서비스 합의 단계를 실행하기 시작할 때, 블록체인 노드는 프로세서를 사용하여 현재의 합의에서 서비스 제출 단계를 병렬로 실행할 수 있다.
즉, 블록체인 노드는 서비스 제출 단계에 수반되는 동작을 완료를 위해 프로세서에 전송하며, 블록체인 노드는, 일 회 합의에서 서비스 합의 단계와 서비스 제출 단계의 병렬 처리를 구현하기 위해 다음의 인접한 합의를 실행할 수 있다. 그러므로 인접한 합의 사이의 시간 간격이 단축되어, 합의 효율을 개선한다.
프로세서는, FIFO 큐로부터, 현재의 합의에 대응하는 처리 파라미터를 획득할 수 있으며, 그 후, 처리 파라미터에서의 코-체인 파라미터를 기초로 하여 현재 인증된 사전처리 블록을 블록 형태로 블록체인에 저장할 수 있다. 프로세서는, 처리 파라미터에서의 저장 파라미터 및 예-또는-아니오 파라미터를 기초로 하여, 블록체인의 저장 공간으로부터 사전처리 블록의 서비스 데이터를 방출할 수 있으며, 저장 파라미터에서의 규격을 기초로 하여 방출된 서비스 데이터를 대응하는 저장 위치에 저장할 수 있다. 프로세서는, 처리 속성에서의 삭제 파라미터를 기초로 하여, 예컨대 서비스 합의 단계에서 생성되는 PBFT 합의의 사전-대비 메시지, 대비 메시지 또는 승인 메시지를 삭제하여, 블록체인 노드의 저장 공간을 절약할 수 있다.
상기 내용은 본 출원의 실시예에 제공되는 데이터 처리 방법이다. 도 3에 도시된 바와 같이, 동일한 아이디어를 기초로 하여, 본 출원의 실시예는 데이터 처리 장치를 더 제공한다.
도 3은, 본 출원의 실시예에 따른 데이터 처리 장치를 예시하는 개략도이다. 이 장치는 인증 준비 사전처리 블록을 획득하여, 사전처리 블록을 인증하도록 구성되는 획득 모듈(301); 및 사전처리 블록이 인증됨이 결정된다면, 다음의 인증 준비 사전처리 블록을 인증하기 시작하여, 인증된 사전처리 블록에서의 서비스 데이터에 관한 데이터 처리를 병렬로 실행하도록 구성되는 처리 모듈(302)을 포함한다.
처리 모듈(302)은 미리 결정된 프로세서를 사용하여 인증된 사전처리 블록에서의 서비스 데이터에 관한 데이터 처리를 병렬로 실행한다.
인증된 사전처리 블록에 대해, 처리 모듈(302)은 다음의 동작을 실행한다: 저장 위치를 포함하는 저장 파라미터를 획득하도록 프로세서를 호출(invoke)하는 동작; 저장 파라미터를 기초로 하여, 저장 파라미터에 대응하는 프로세스 준비 사전처리 블록을 결정하는 동작; 및 결정된 프로세스 준비 사전처리 블록의 서비스 데이터를 저장 위치에 저장하는 동작.
사전처리 블록의 인증을 결정한 후, 획득 모듈(301)은, 사전처리 블록과 사전처리 블록의 저장 파라미터를 기초로 하여, 다음의 인접한 인증 준비 사전처리 블록의 저장 파라미터를 결정하여, 다음의 인접한 인증 준비 사전처리 블록의 저장 파라미터를 저장한다.
획득 모듈(301)은 다음의 인접한 인증 준비 사전처리 블록의 저장 파라미터를 선입선출(FIFO) 큐에 저장한다.
처리 모듈(302)은 FIFO 큐로부터 저장 파라미터를 획득하도록 프로세서를 호출한다.
사전처리 블록이 인증됨을 결정한다면, 획득 모듈(301)은 사전처리 블록에 대응하는 합의 파라미터를 결정하며, 사전처리 블록에 대응하는 결정된 합의 파라미터를 기초로 하여, 다음의 인접한 인증 준비 사전처리 블록에 대응하는 합의 파라미터를 획득하며, 합의 파라미터는 인증 준비 사전처리 블록을 인증하도록 블록체인 노드에게 지시하는데 사용된다.
다음의 인접한 인증 준비 사전처리 블록에 대응하는 합의 파라미터가 획득될 때, 처리 모듈(302)은, 획득된 합의 파라미터를 기초로 하여, 다음의 인접한 인증 준비 사전처리 블록을 인증하기 시작한다.
동일한 아이디어를 기초로 하여, 본 출원의 실시예는 다른 데이터 처리 장치를 더 제공한다. 이 장치는 메모리와 적어도 하나의 프로세서를 포함하며, 여기서 메모리는 프로그램을 저장하며, 적어도 하나의 프로세서는 다음의 단계를 실행하도록 구성된다: 인증 준비 사전처리 블록을 획득하여, 사전처리 블록을 인증하는 단계; 및 사전처리 블록이 인증됨이 결정된다면, 다음의 인증 준비 사전처리 블록을 인증하기 시작하여, 인증된 사전처리 블록에서의 서비스 데이터에 관한 데이터 처리를 병렬로 실행하는 단계.
메모리에 저장된 프로그램을 사용하여 프로세서에 의해 실행되는 특정한 동작에 대해, 기재한 실시예에 기록된 내용을 참조할 수 있다. 상세한 내용은 여기서 반복하지 않는다.
본 출원의 실시예에서, 획득된 사전처리 블록이 인증됨을 결정한 후, 블록체인 노드는 다음의 인증 준비 사전처리 블록을 인증하기 시작할 수 있어서, 인증된 사전처리 블록에서의 서비스 데이터에 관한 데이터 처리를 병렬로 실행할 수 있다. 획득된 사전처리 블록이 인증됨을 결정한 후, 블록체인 노드는 병렬 처리에 의해 다음의 인증 준비 사전처리 블록을 인증하기 시작하며, 인증된 사전처리 블록에서의 서비스 데이터를 처리한다. 즉, 블록체인 노드는 서비스 합의 단계와 서비스 제출 단계에서 병렬 서비스 데이터 처리를 구현한다. 블록체인 노드는 서비스 제출 단계에서 서비스 데이터의 일부분에 관한 데이터 처리를 실행할 뿐만 아니라, 서비스 합의 단계에서 서비스 데이터의 다른 일부분에 관한 합의 처리를 실행할 수 있다. 그러므로 서비스 합의 단계에서 합의 처리 사이의 시간 간격이 단축될 수 있어서, 시스템의 서비스 데이터 처리 효율을 효율적으로 개선할 수 있다.
1990년대에, 기술 개선이 하드웨어 개선(예컨대, 다이오드, 트랜지스터 또는 스위치와 같은 회로 구조의 개선)인지 소프트웨어 개선(방법 절차의 개선)인지는 명확히 구별할 수 있다. 그러나 기술이 개발됨에 따라, 많은 현재의 방법 절차의 개선이 하드웨어 회로 구조의 직접적인 개선으로서 고려될 수 있다. 설계자는 보통 하드웨어 회로에 개선된 방법 절차를 프로그래밍하여 대응하는 하드웨어 회로 구조를 획득한다. 그러므로 하드웨어 개체 모듈은 방법 절차를 개선할 수 있다. 예컨대, 프로그램 가능 로직 디바이스(PLD)(예컨대, 필드 프로그램 가능 게이트 어레이(FPGA))가 그러한 집적 회로이며, 이 프로그램 가능 로직 디바이스의 로직 기능은 디바이스 프로그래밍에 의해 사용자에 의해 결정된다. 설계자는, 칩 제조사에게 주문형 집적회로 칩을 설계하고 생산할 것을 요청하지 않고도 디지털 시스템을 PLD에 "집적"하도록 프로그래밍을 실행한다. 게다가, 이 프로그래밍은 집적 회로 칩을 수동으로 만드는 대신 "로직 컴파일러" 소프트웨어를 변경함으로써 대부분 구현된다. 이것은 프로그램을 개발하고 작성하는데 사용되는 소프트웨어 컴파일러와 유사하다. 그러나 컴파일링 전에 획득한 원래의 코드가 또한 특정 프로그래밍 언어로 기록되며, 이것을 하드웨어 기재 언어(HDL)라고 지칭한다. 그러나 ABEL(Advanced Boolean Expression Language), AHDL(Altera Hardware Description Language), 융합(Confluence), CUPL(Cornell University Programming Language), HDCal, JHDL(Java Hardware Description Language), Lava, Lola, MyHDL, PALASM 및 RHDL(Ruby Hardware Description Language)와 같은 여러 HDL이 있다. 현재, VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)와 Verilog가 가장 유명하다.
당업자는 또한, 오직 로직 프로그래밍이 기재한 여러 하드웨어 기재 언어를 사용하여 이 방법 절차에 관해 실행될 필요가 있음과, 여러 하드웨어 기재 언어는 집적 회로에 프로그래밍되어서, 이 로직 방법 절차를 구현하는 하드웨어가 쉽게 획득될 수 있음을 이해해야 한다.
제어기가 임의의 적절한 방식으로 구현될 수 있다. 예컨대, 제어기는 마이크로프로세서나 프로세서를 사용할 수 있으며, 컴퓨터 판독 가능 매체, 로직 게이트, 스위치, 주문형 집적회로(ASIC), 프로그램 가능 로직 제어기, 및 (마이크로) 프로세서에 의해 수행될 수 있는 컴퓨터 판독 가능 프로그램 코드인 내장된 마이크로컨트롤러(예컨대, 소프트웨어나 하드웨어)의 형태를 저장할 수 있다. 제어기의 예는 다음의 마이크로컨트롤러: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20 또는 Silicone Labs C8051F320을 포함하지만 이들로 제한되지는 않는다. 메모리 제어기는 또한 메모리의 제어 로직의 일부분으로서 구현될 수 있다. 당업자는, 제어기를 순수히 컴퓨터 판독 가능한 프로그램 코드 방식으로 구현하는 것 외에, 로직 프로그래밍이 방법 단계를 사용하여 완전히 실행될 수 있어서, 제어기가 로직 게이트, 스위치, 주문형 집적회로, 프로그램 가능 로직 제어기, 내장된 마이크로컨트롤러 등의 형태로 동일한 기능을 구현함을 또한 알고 있다. 그러므로 제어기는 하드웨어 구성요소로서 고려될 수 있으며, 제어기에서 여러 기능을 구현하기 위한 장치가 또한 하드웨어 구성요소의 구조로서 고려될 수 있다. 대안적으로, 여러 기능을 구현하도록 구성되는 장치는, 이 방법을 구현할 수 있는 소프트웨어 모듈 또는 하드웨어 구성요소의 구조로서 고려될 수 있다.
기재한 실시예에서 기재된 시스템, 장치, 모듈 또는 유닛은 컴퓨터 칩이나 개체에 의해 특별하게 구현될 수 있거나, 기능을 갖는 제품(product)에 의해 구현될 수 있다. 통상적인 구현 디바이스는 컴퓨터이다. 특별히, 컴퓨터는 예컨대 개인용 컴퓨터, 랩탑 컴퓨터, 셀룰러 폰, 카메라 폰, 스마트폰, 개인휴대단말, 미디어 플레이어, 내비게이션 디바이스, 이메일 디바이스, 게임 콘솔, 태블릿 컴퓨터 또는 웨어러블 디바이스 또는 이들 디바이스 중 임의의 디바이스의 조합일 수 있다.
용이한 기재를 위해, 기재한 장치는 기능을 여러 유닛으로 나눠서 기재한다. 특히, 본 출원이 구현될 때, 각각의 유닛의 기능은 소프트웨어 및/또는 하드웨어의 하나 이상의 피스(piece)로 구현될 수 있다.
당업자는, 본 발명의 실시예가 방법, 시스템 또는 컴퓨터 프로그램 제품으로 제공될 수 있음을 이해해야 한다. 그러므로 본 발명은 하드웨어만의 실시예, 소프트웨어만의 실시예 또는 하드웨어와 소프트웨어의 조합의 실시예의 형태를 사용할 수 있다. 게다가, 본 발명은, 컴퓨터-이용 가능 프로그램 코드를 포함하는 하나 이상의 컴퓨터-이용 가능 저장 매체(디스크 메모리, CD-ROM, 광학 메모리 등을 포함하지만 이들로 제한되지 않음) 상에 구현되는 컴퓨터 프로그램 제품의 형태를 사용한다.
본 발명은, 본 발명의 실시예에 따른 방법의 흐름도 및/또는 블록도, 디바이스(시스템) 및 컴퓨터 프로그램 제품을 참조하여 기재한다. 컴퓨터 프로그램 명령이 흐름도 및/또는 블록도의 각 프로세스 및/또는 각 블록과 프로그램 및/또는 블록도의 프로세스 및/또는 블록의 조합을 구현하는데 사용될 수 있음을 이해해야 한다. 이들 컴퓨터 프로그램 명령은 범용 컴퓨터, 전용 컴퓨터, 내장된 프로세서 또는 머신을 생성하기 위한 임의의 다른 프로그램 가능 데이터 처리 디바이스의 프로세서를 위해 제공될 수 있어서, 임의의 다른 프로그램 가능 데이터 처리 디바이스의 컴퓨터나 프로세서에 의해 수행되는 명령이 흐름도의 하나 이상의 프로세스 또는 블록도의 하나 이상의 블록에서의 특정 기능을 구현하기 위한 장치를 생성한다.
이들 컴퓨터 프로그램 명령은, 컴퓨터나 임의의 다른 프로그램 가능 데이터 처리 디바이스에게 특정한 방식으로 작동할 것을 지시할 수 있는 컴퓨터 판독 가능 메모리에 저장될 수 있어서, 컴퓨터 판독 가능 메모리에 저장된 명령이 명령 장치를 포함하는 아티팩트(artifact)를 생성한다. 명령 장치는 흐름도의 하나 이상의 프로세스 및/또는 블록도의 하나 이상의 블록에서의 특정 기능을 구현한다.
이들 컴퓨터 프로그램 명령은 컴퓨터나 다른 프로그램 가능 데이터 처리 디바이스에 로딩될 수 있어서, 일련의 동작과 단계가 컴퓨터나 다른 프로그램 가능 디바이스 상에 실행될 수 있어서, 컴퓨터-구현 처리를 생성한다. 그러므로 컴퓨터나 다른 프로그램 가능 디바이스 상에서 수행되는 명령은 흐름도의 하나 이상의 프로세스 또는 블록도의 하나 이상의 블록에서의 특정 기능을 구현하기 위한 단계를 제공한다.
통상의 구성에서, 컴퓨팅 디바이스는 하나 이상의 프로세서(CPU), 입/출력 인터페이스, 네트워크 인터페이스 및 메모리를 포함한다.
메모리는 판독전용 메모리(ROM) 또는 플래시 메모리(플래시 RAM)와 같이 컴퓨터 판독 가능 매체에서의 휘발성 메모리, 랜덤 액세스 메모리(RAM) 및/또는 불휘발성 메모리 등의 형태를 포함할 수 있다. 메모리는 컴퓨터 판독 가능 매체의 예이다.
컴퓨터 판독 가능 매체는 휘발성 및 불휘발성, 탈착 가능 및 탈착 불가능 매체를 포함하며, 임의의 방법이나 기술을 사용하여 정보를 저장할 수 있다. 정보는 컴퓨터 판독 가능 명령, 데이터 구조, 프로그램 모듈 또는 다른 데이터일 수 있다. 컴퓨터 저장 매체는 파라미터 랜덤 액세스 메모리(PRAM), 정적 랜덤 액세스 메모리(SRAM), 동적 랜덤 액세스 메모리(DRAM), 임의의 타입의 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 전기적으로 소거 가능한 프로그램 가능 판독 전용 메모리(EEPROM), 플래시 메모리 또는 다른 메모리 기술, 콤팩트디스크 판독 전용 메모리(CD-ROM), 디지털 다용도 디스크(DVD) 또는 다른 광학 저장장치, 자기 테이프, 자기 디스크 저장장치, 다른 자기 저장 디바이스 또는 임의의 다른 비-전송 매체를 포함하지만 이들로 제한되지 않는다. 컴퓨터 저장 매체는, 컴퓨팅 디바이스에 의해 액세스될 수 있는 정보를 저장하는데 사용될 수 있다. 본 명세서에서 기재된 바와 같이, 컴퓨터 판독 가능 매체는 일시적인 매체, 예컨대 변조된 데이터 신호와 반송파를 포함하지 않는다.
용어, "포함한다" , "함유한다" 또는 이들의 임의 다른 파생어는 비-배타적인 포함을 커버하고자 하여서, 일련의 요소를 포함하는 프로세스, 방법, 물품 또는 디바이스가 바로 이들 요소를 포함할 뿐만 아니라, 명시적으로 나열되지 않은 다른 요소를 포함하거나 그러한 프로세스, 방법, 물품 또는 디바이스에 고유한 요소를 더 포함함을 더 주목해야 한다. "포함하다"의 대상이 되는 요소는 이 요소를 포함하는 프로세스, 방법, 물품 또는 디바이스에서의 추가 동일 요소의 존재를, 더 많은 제약 없이도, 배제하지 않는다.
당업자는, 본 출원의 실시예는 방법, 시스템 또는 컴퓨터 프로그램 제품으로서 제공될 수 있음을 이해해야 한다. 그러므로 본 출원은 하드웨어만의 실시예, 소프트웨어만의 실시예 또는 하드웨어와 소프트웨어의 조합의 실시예의 형태를 사용할 수 있다. 게다가, 본 출원은, 컴퓨터-이용 가능 프로그램 코드를 포함하는 하나 이상의 컴퓨터-이용 가능 저장 매체(디스크 메모리, CD-ROM, 광학 메모리 등을 포함하지만 이들로 제한되지 않음) 상에 구현되는 컴퓨터 프로그램 제품의 형태를 사용할 수 있다.
본 출원은, 프로그램 모듈과 같이 컴퓨터에 의해 수행되는 컴퓨터 수행 가능 명령의 공통 컨텍스트(common context)로 기재될 수 있다. 일반적으로, 프로그램 모듈은 특정한 작업을 수행하거나 특정한 추상 데이터 타입을 구현하는 루틴, 프로그램, 오브젝트, 구성요소, 데이터 구조 등을 포함한다. 본 출원은 또한 배포된 컴퓨팅 환경에서 실행될 수 있다. 이들 배포된 컴퓨팅 환경에서, 작업은, 통신 네트워크를 사용하여 연결되는 원격 처리 디바이스에 의해 수행된다. 배포된 컴퓨팅 환경에서, 프로그램 모듈은, 저장 디바이스를 포함하는 국부 및 원격 컴퓨터 저장 매체에 위치할 수 있다.
본 명세서의 실시예는 모두, 실시예의 동일 또는 유사한 부분에 대해 점진적인 방식으로 기재되고, 이들 실시예를 참조할 수 있으며, 각각의 실시예는 다른 실시예와의 차이점을 주로 다룬다. 특히, 시스템 실시예는 기본적으로 방법 실시예와 유사하며, 따라서 간략하게 기재하고; 관련 부분의 경우, 방법 실시예의 부분 기재를 참조할 수 있다.
이전 기재는 단지 본 출원의 실시예이며, 본 출원을 제한하고자 하지 않는다. 당업자에게, 본 출원은 여러 변경과 변화를 가질 수 있다. 본 출원의 사상과 원리 내에서 이뤄진 임의의 변경, 등가 교체, 개선 등은 본 출원의 보호 범위 내에 속해야 한다.
도 4는, 본 개시의 구현에 따른 병렬 서비스 데이터 처리를 사용한 블록체인 기술의 처리 효율을 향상시키기 위한 컴퓨터-구현 방법(400)의 예를 예시하는 흐름도이다. 명료한 표시를 위해, 다음의 기재는 일반적으로 본 상세한 설명의 다른 도면의 콘텍스트에서 방법(400)을 기재한다. 그러나 방법(400)은 예컨대 임의의 시스템, 환경, 소프트웨어 및 하드웨어나, 시스템, 환경, 소프트웨어 및 하드웨어의 조합에 의해 적절히 실행될 수 있다. 일부 구현에서, 방법(400)의 여러 단계는 병렬로, 조합으로, 루프로, 또는 임의의 순서로 작동될 수 있다.
402에서, 현재의 합의 라운드의 인증 준비 사전처리 블록이 블록체인 노드에 의해 그리고 서비스 합의 단계에서 획득된다. 일부 구현에서, 인증 준비 사전처리 블록을 획득하는 단계는 블록체인 노드에 의해 저장되는 서비스 데이터를 기초로 하여 블록체인 노드가 인증 준비 사전처리 블록을 생성하는 단계를 포함하거나, 다른 블록체인 노드로부터 인증 준비 사전처리 블록을 획득하는 단계를 포함한다. 402로부터, 방법(400)은 404로 진행한다.
404에서, 인증 준비 사전처리 블록이 인증된다. 404로부터, 방법(400)은 406으로 진행한다.
406에서, 인증 준비 사전처리 블록이 인증되는지에 대한 결정이 이뤄진다. 인증 준비 사전처리 블록이 인증되지 않는다고 결정된다면, 방법(400)은 404로 다시 진행한다. 그렇지않고, 인증 준비 사전처리 블록이 인증되었음이 결정되면, 방법(400)은 병렬로 408 및 410 모두로 진행한다.
408에서, 인증이 다음의 인증 준비 사전처리 블록에 관해 시작된다. 일부 구현에서, 인증 준비 사전처리 블록이 인증되었음이 결정된 후, 1) 인증 준비 사전처리 블록과, 인증 준비 사전처리 블록의 저장 파라미터를 기초로 하여, 다음의 인접한 인증 준비 사전처리 블록의 저장 파라미터를 결정하고; 및 2) 다음의 인접한 인증 준비 사전처리 블록의 저장 파라미터를 저장한다. 일부 구현에서, 인증 준비 사전처리 블록의 인증이이 결정된다면: 1) 인증 준비 사전처리 블록에 대응하는 합의 파라미터를 결정하고; 및 2) 합의 파라미터를 기초로 하여, 다음의 인접한 인증 준비 사전처리 블록에 대응하는 합의 파라미터를 획득하며, 여기서 합의 파라미터는 다음의 인접한 인증 준비 사전처리 블록을 인증하도록 블록체인 노드에게 지시하는데 사용된다. 일부 구현에서, 다음의 인접한 인증 준비 사전처리 블록에 대응하는 합의 파라미터가 획득될 때 다음의 인접한 인증 준비 사전처리 블록에 관해 인증이 시작된다.
410에서, 병렬 데이터 처리가 인증된 인증 준비 사전처리 블록에 저장된 서비스 데이터에 관해 실행된다. 일부 구현에서, 병렬 데이터 처리가, 미리 결정된 프로세서를 사용하여 인증된 인증 준비 사전처리 블록에 저장된 서비스 데이터에 관해 실행된다. 일부 구현에서, 미리 결정된 프로세서를 사용한 병렬 데이터 처리는, 인증된 인증 준비 사전처리 블록에 대해: 1) 저장 위치를 포함하는 저장 파라미터를 획득하도록 프로세서를 호출하는 단계; 2) 저장 파라미터를 기초로 하여, 저장 파라미터에 대응하는 프로세스 준비 사전처리 블록을 결정하는 단계; 및 3) 저장 위치에, 프로세스 준비 사전처리 블록의 서비스 데이터를 저장하는 단계를 포함한다.
본 명세서에서 기재된 요지의 구현은 특정한 장점이나 기술적 효과를 실현하기 위해 구현될 수 있다. 예컨대, 기재한 요지의 구현으로 인해, 병렬 서비스 데이터 처리를 사용하여 블록체인 기술의 처리 효율을 향상시킨다. 다시, 더욱 효율적인 처리가 전체 데이터 보안을 향상시키는 것을 도울 수 있다. 기재한 병렬 서비스 데이터 처리로 인해, 또한 컴퓨터 자원의 이용(예컨대, 처리 사이클 및 메모리 이용)을 더욱 효율적이게 하며 처리를 더 빠르게 한다. 적어도 이들 동작은 블록체인-기초의 거래에 대한 이용 가능한 컴퓨터 자원의 낭비를 최소화하거나 방지할 수 있다. 일부 경우에, 네트워크 거래 속도는 더욱 효율적인 블록체인 처리로 인해 증가할 수 있다.
일부 구현에서, 블록체인 데이터는 컴퓨팅 디바이스 사이에 전송될 수 있으며, (예컨대 그래픽 사용자 인터페이스 상에서 사용할) 그래픽 정보를 포함할 수 있다. 이들 구현에서, 하나 이상의 컴퓨팅 디바이스 상에서 수행되는 그래픽 사용자 인터페이스의 요소는 사용자에게 최소로 눈에 띄도록 위치지정될 수 있다. 예컨대, 요소는 최소한의 데이터량을 가리며 임의의 중요한 또는 자주 사용되는 그래픽 사용자 인터페이스 요소를 덮는 것을 회피하는 방식으로 위치지정될 수 있다.
본 명세서에서 기재한 실시예와 동작은 디지털 전자 회로로 또는 본 명세서에서 개시한 구조를 포함하는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어로 또는 이들 중 하나 이상의 조합으로 구현될 수 있다. 동작은, 하나 이상의 컴퓨터 판독 가능 저장 디바이스 상에 저장되거나 다른 자원으로부터 수신되는 데이터에 관해 데이터 처리 장치에 의해 실행되는 동작으로서 구현될 수 있다. 데이터 처리 장치, 컴퓨터 또는 컴퓨팅 디바이스는, 예를 들어 프로그램 가능 프로세서, 컴퓨터, 시스템 온 칩 또는 상기 구성요소 중 복수의 것들이나 조합을 포함하는 데이터 처리용 장치, 디바이스 및 머신을 포함할 수 있다. 장치는 특수 용도 로직 회로, 예컨대 중앙처리장치(CPU), 필드 프로그램 가능 게이트 어레이(FPGA) 또는 주문형 집적회로(ASIC)를 포함할 수 있다. 장치는 또한 해당 컴퓨터 프로그램용 수행 환경을 만드는 코드, 예컨대 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영체계(예컨대, 운영체계나 운영체계의 조합), 크로스-플랫폼 런타임 환경, 가상 머신 또는 이들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다. 장치 및 수행 환경은, 웹 서비스, 배포된 컴퓨팅 및 그리드 컴퓨팅 인프라스트럭쳐와 같은 여러 상이한 컴퓨팅 모델 인프라스트럭쳐를 실현할 수 있다.
(예컨대 프로그램, 소프트웨어, 소프트웨어 애플리케이션, 소프트웨어 모듈, 소프트웨어 유닛, 스크립트 또는 코드와 같은 것으로도 알려진) 컴퓨터 프로그램은 컴파일링 또는 해석된 언어, 선언적 또는 절차적 언어를 포함하는 임의의 형태의 프로그래밍 언어로 기록될 수 있으며, 독립형 프로그램으로서 또는 컴퓨팅 환경에서 사용하기에 적절한 모듈, 구성요소, 서브루틴, 오브젝트 또는 기타 유닛으로서를 포함한 임의의 형태로 전개될 수 있다. 프로그램은, 다른 프로그램이나 데이터를 보유하는 파일의 일부분(예컨대, 마크업 언어 도큐먼트에 저장된 하나 이상의 스크립트)에, 해당 프로그램에 전용인 단일 파일에 또는 복수의 조정된 파일(예컨대, 하나 이상의 모듈, 서브-프로그램 또는 코드의 일부분을 저장하는 파일)에 저장될 수 있다. 컴퓨터 프로그램은, 하나의 컴퓨터 상에서나, 하나의 사이트에 위치하거나 복수의 사이트에 걸쳐서 배포되며 통신 네트워크에 의해 상호연결되는 복수의 컴퓨터 상에서 수행될 수 있다.
컴퓨터 프로그램의 수행을 위한 프로세서는, 예를 들어 범용 및 전용 마이크로프로세서와, 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서 모두를 포함한다. 일반적으로, 프로세서는 판독 전용 메모리나 랜덤 액세스 메모리 또는 이들 모두로부터 명령과 데이터를 수신할 것이다. 컴퓨터의 핵심 요소는 명령에 따른 동작을 실행하기 위한 프로세서와, 명령과 데이터를 저장하기 위한 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스를 포함하거나, 그로부터 데이터를 수신하거나 그에 데이터를 전송하도록 또는 두 가지 모두를 하도록 동작적으로 결합될 것이다. 컴퓨터는 다른 디바이스, 예컨대 모바일 디바이스, 개인휴대단말(PDA), 게임 콘솔, 전지구 위치파악 시스템(GPS) 수신기 또는 휴대용 저장 디바이스에 내장될 수 있다. 컴퓨터 프로그램 명령과 데이터를 저장하기에 적절한 디바이스는 예를 들어 반도체 메모리 디바이스, 자기 디스크 및 자기-광학 디스크를 포함하는 비휘발성 메모리, 매체 및 메모리 디바이스를 포함한다. 프로세서와 메모리는 전용 로직 회로에 의해 보완될 수 있거나, 그에 병합될 수 있다.
모바일 디바이스는 핸드셋, 사용자 장비(UE), 모바일 전화(예컨대, 스마트폰), 태블릿, 웨어러블 디바이스(예컨대, 스마트 와치 및 스마트 안경), 인체 내의 이식된 디바이스(예컨대, 바이오센서, 인공귀(cochlear implants)) 또는 다른 타입의 모바일 디바이스를 포함할 수 있다. 모바일 디바이스는 (이하에서 기재된) 여러 통신 네트워크에 (예컨대, 무선 주파수(RF) 신호를 사용하여) 무선으로 통신할 수 있다. 모바일 디바이스는 모바일 디바이스의 현재의 환경의 특징을 결정하기 위한 센서를 포함할 수 있다. 센서는 카메라, 마이크, 근접성 센서, GPS 센서, 모션 센서, 가속도계, 주위 조명 센서, 습도 센서, 자이로스코프, 나침반, 기압계, 지문 센서, 얼굴 인식 시스템, RF 센서(예컨대, 와이파이 및 셀룰러 라디오), 열 센서 또는 다른 타입의 센서를 포함할 수 있다. 예컨대, 카메라는 가동 또는 고정 렌즈를 구비한 전면 또는 후면 카메라, 플래시, 이미지 센서 및 이미지 프로세서를 포함할 수 있다. 카메라는 얼굴 및/또는 홍채 인식을 위한 상세한 부분을 포착할 수 있는 메가픽셀 카메라일 수 있다. 메모리에 저장되거나 원격으로 액세스되는 인가 정보와 데이터 프로세서와 함께 카메라는 얼굴 인식 시스템을 형성할 수 있다. 얼굴 인식 시스템이나 하나 이상의 센서, 예컨대 마이크, 모션 센서, 가속도계, GPS 센서 또는 RF 센서가 사용자 인가를 위해 사용될 수 있다.
사용자와의 상호동작을 제공하기 위해, 실시예는, 디스플레이 디바이스와 입력 디바이스, 예컨대 정보를 사용자와 터치스크린에 디스플레이하기 위한 액정 디스플레이(LCD) 또는 유기 발광 다이오드(OLED)/가상-현실(VR)/증강-현실(AR) 디스플레이, 사용자가 입력을 컴퓨터에 제공할 수 있게 하는 포인팅 디바이스 및 키보드를 갖는 컴퓨터에 관해 구현될 수 있다. 다른 종류의 디바이스가 또한 사용자와의 상호동작을 제공하는데 사용될 수 있으며; 예컨대, 사용자에게 제공되는 피드백은 임의의 형태의 센서 피드백, 예컨대 시각 피드백, 청각 피드백 또는 촉각 피드백일 수 있으며; 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다. 또한, 컴퓨터는, 사용자에 의해 사용되는 디바이스에 도큐먼트를 전송하며 그로부터 도큐먼트를 수신함으로써; 예컨대 사용자의 클라이언트 디바이스 상의 웹브라우저로부터 수신된 요청에 응답하여 이 웹브라우저에 웹페이지를 전송함으로써 사용자와 상호동작할 수 있다.
실시예는, 임의의 형태나 매체의 와이어라인 또는 무선 디지털 데이터 통신(또는 이들의 조합), 예컨대 통신 네트워크에 의해 상호연결되는 컴퓨팅 디바이스를 사용하여 구현될 수 있다. 상호연결되는 디바이스의 예는 클라이언트와 서버이며, 이들은 일반적으로 서로로부터 원격에 있으며 통상 통신 네트워크를 통해 상호동작한다. 클라이언트, 예컨대 모바일 디바이스는 그 자신과, 서버와, 또는 서버를 통해 거래를 실행할 수 있다. 예컨대, 구매, 판매, 지불, 제공, 전송 또는 대출 거래를 실행하거나 이들을 인가할 수 있다. 그러한 거래는 실시간으로 이뤄질 수 있어서, 동작과 응답은 시간적으로 근접하며; 예컨대 개인이 실질적으로 동시에 발생하는 동작과 응답을 인지하며, 개인의 동작 다음의 응답에 대한 시간차는 1ms 미만 또는 1s 미만이거나, 응답은 시스템의 처리 제한을 고려한 의도적 지연이 없다.
통신 네트워크의 예는 근거리 네트워크(LAN), 무선 액세스 네트워크(RAM), 도시권 네트워크(MAN) 및 광대역 네트워크(WAN)를 포함한다. 통신 네트워크는 인터넷, 다른 통신 네트워크 또는 통신 네트워크의 조합 중 모두나 일부분을 포함할 수 있다. 정보는, 롱 텀 에볼류션(LTE), 5G, IEEE 802, 인터넷 프로토콜(IP) 또는 다른 프로토콜이나 프로토콜의 조합을 포함하는 여러 프로토콜과 표준에 따라 통신 네트워크 상에서 송신될 수 있다. 통신 네트워크는 음성, 비디오, 생체 또는 인가 데이터 또는 다른 정보를 연결된 컴퓨팅 디바이스 사이에서 송신할 수 있다.
별도의 구현으로서 기재된 특성은 조합하여, 단일 구현으로, 구현될 수 있는 반면, 단일 구현으로 기재된 특성은 복수의 구현으로, 개별적으로 또는 임의의 적절한 하위 조합으로 구현될 수 있다. 특정 순서로 기재되며 청구된 동작은 이 특정 순서를 요구하는 것으로 이해되지 않아야 하며, 모든 예시한 동작이 실행되어야 하는 것도 아니다(일부 동작은 부가적일 수 있다). 적절히, 멀티태스킹 또는 병렬-처리(또는 멀티태스킹 및 병렬-처리의 조합)가 실행될 수 있다.

Claims (9)

  1. 데이터 처리 방법에 있어서,
    2개의 스레드(thread)를 포함하는 블록체인 노드에 의해, 인증 준비 사전처리 블록(validation ready preprocessing block)을 획득하는 단계(S101)로서, 상기 블록체인 노드는 서비스 제출 단계에 수반되는 동작을 실행하도록 프로세서를 사전-구성하는, 상기 획득하는 단계;
    상기 블록체인 노드에 의해, 상기 2개의 스레드 중 제1 스레드를 사용하여 서비스 합의 단계 동안 상기 사전처리 블록을 인증하는 단계(S101); 및
    상기 사전처리 블록이 인증되었음이 결정되면, 상기 블록체인 노드에 의해, 상기 제1 스레드를 사용하여 다음의 인증 준비 사전처리 블록을 인증하기 시작하는 단계(S102), 및
    상기 블록체인 노드에 의해, 상기 서비스 합의 단계와 병렬로 제2 스레드를 사용하여 상기 서비스 제출 단계 동안 상기 인증된 사전처리 블록에서의 서비스 데이터에 관한 데이터 처리를 실행하는 단계(S102)를 포함하는, 데이터 처리 방법.
  2. 제1항에 있어서, 상기 인증된 사전처리 블록에서의 서비스 데이터에 관한 데이터 처리를 병렬로 실행하는 단계는 구체적으로:
    미리 결정된 프로세서를 사용하여 상기 인증된 사전처리 블록에서의 서비스 데이터에 관한 데이터 처리를 병렬로 실행하는 단계를 포함하는, 데이터 처리 방법.
  3. 제2항에 있어서, 상기 미리 결정된 프로세서를 사용하여 상기 인증된 사전처리 블록에서의 서비스 데이터에 관한 데이터 처리를 병렬로 실행하는 단계는 구체적으로:
    상기 인증된 사전처리 블록에 대해, 다음의 동작:
    저장 위치를 포함하는 저장 파라미터를 획득하도록 프로세서를 호출(invoke)하는 동작; 및
    상기 저장 파라미터를 기초로 하여, 상기 저장 파라미터에 대응하는 프로세스 준비 사전처리 블록을 결정하여, 결정된 상기 프로세스 준비 사전처리 블록의 서비스 데이터를 상기 저장 위치에 저장하는 동작
    을 실행하는 단계를 포함하는, 데이터 처리 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 사전처리 블록이 인증되었음이 결정된 후, 상기 사전처리 블록과 상기 사전처리 블록의 저장 파라미터를 기초로 하여, 다음의 인접한 인증 준비 사전처리 블록의 저장 파라미터를 결정하여, 상기 다음의 인접한 인증 준비 사전처리 블록의 저장 파라미터를 저장하는 단계를 더 포함하는, 데이터 처리 방법.
  5. 제4항에 있어서, 상기 다음의 인접한 인증 준비 사전처리 블록의 저장 파라미터를 저장하는 단계는 구체적으로:
    선입선출(first in first out; FIFO) 큐에 상기 다음의 인접한 인증 준비 사전처리 블록의 저장 파라미터를 저장하는 단계를 포함하는, 데이터 처리 방법.
  6. 제5항에 있어서, 상기 저장 파라미터를 획득하도록 프로세서를 호출하는 동작은 구체적으로:
    상기 FIFO 큐로부터 상기 저장 파라미터를 획득하도록 상기 프로세서를 호출하는 동작을 포함하는, 데이터 처리 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 사전처리 블록이 인증되었음이 결정되면, 상기 사전처리 블록에 대응하는 합의 파라미터를 결정하여, 상기 사전처리 블록에 대응하는 결정된 상기 합의 파라미터를 기초로 하여, 다음의 인접한 인증 준비 사전처리 블록에 대응하는 합의 파라미터를 획득하는 단계를 더 포함하며, 상기 합의 파라미터는 상기 인증 준비 사전처리 블록을 인증하도록 상기 블록체인 노드에게 지시하는데 사용되는, 데이터 처리 방법.
  8. 제7항에 있어서, 상기 다음의 인증 준비 사전처리 블록을 인증하기 시작하는 단계는:
    상기 다음의 인접한 인증 준비 사전처리 블록에 대응하는 합의 파라미터가 획득될 때, 획득된 상기 합의 파라미터를 기초로 하여, 상기 다음의 인접한 인증 준비 사전처리 블록을 인증하기 시작하는 단계를 포함하는, 데이터 처리 방법.
  9. 제1항 내지 제8항 중 어느 한 항에 기재된 방법을 실행하도록 구성되는 복수의 모듈을 포함하는 장치.
KR1020197012658A 2017-05-31 2018-05-31 블록체인 데이터 처리 방법 및 장치 KR102239589B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201710397591.4A CN107402824B (zh) 2017-05-31 2017-05-31 一种数据处理的方法及装置
CN201710397591.4 2017-05-31
PCT/US2018/035478 WO2018222927A1 (en) 2017-05-31 2018-05-31 Blockchain data processing method and apparatus

Publications (2)

Publication Number Publication Date
KR20190067195A true KR20190067195A (ko) 2019-06-14
KR102239589B1 KR102239589B1 (ko) 2021-04-15

Family

ID=60405063

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197012658A KR102239589B1 (ko) 2017-05-31 2018-05-31 블록체인 데이터 처리 방법 및 장치

Country Status (17)

Country Link
US (2) US10686803B2 (ko)
EP (2) EP3745642B1 (ko)
JP (1) JP6859509B2 (ko)
KR (1) KR102239589B1 (ko)
CN (1) CN107402824B (ko)
AU (2) AU2018278316B2 (ko)
BR (1) BR112019008775B1 (ko)
CA (1) CA3042470C (ko)
ES (1) ES2809204T3 (ko)
MX (1) MX2019005085A (ko)
MY (1) MY190598A (ko)
PH (1) PH12019500979A1 (ko)
RU (1) RU2721402C1 (ko)
SG (2) SG11201903895XA (ko)
TW (1) TWI697227B (ko)
WO (1) WO2018222927A1 (ko)
ZA (1) ZA201902729B (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210061245A (ko) * 2019-11-19 2021-05-27 한양대학교 산학협력단 블록체인에서의 병렬적 블록 처리 방법, 이를 이용하는 블록체인 노드 및 프로그램
KR20210121865A (ko) * 2020-03-31 2021-10-08 주식회사 현신특허컨설팅 특허 중개 과정에서의 특허 명세서 관리용 블록체인 기반 패치 관리 장치

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107402824B (zh) 2017-05-31 2020-06-02 创新先进技术有限公司 一种数据处理的方法及装置
CN107579951B (zh) 2017-07-14 2020-06-19 创新先进技术有限公司 一种业务数据处理方法、业务处理方法及设备
CN108182635A (zh) * 2017-12-18 2018-06-19 深圳前海微众银行股份有限公司 区块链共识方法、系统和计算机可读存储介质
CN110083437A (zh) * 2018-01-25 2019-08-02 北京欧链科技有限公司 处理区块链事务的方法及装置
CN108600839B (zh) * 2018-05-02 2020-06-02 中广热点云科技有限公司 一种基于cbc-pbft共识机制的版权视频全网收视记录系统
CN110472971A (zh) * 2018-05-09 2019-11-19 厦门本能管家科技有限公司 一种双进程打块方法及系统
CN108776897B (zh) * 2018-06-05 2020-04-21 腾讯科技(深圳)有限公司 数据处理方法、装置、服务器及计算机可读存储介质
US11323530B2 (en) * 2018-06-06 2022-05-03 International Business Machines Corporation Proxy agents and proxy ledgers on a blockchain
CN108846659B (zh) * 2018-06-13 2021-09-14 深圳前海微众银行股份有限公司 基于区块链的转账方法、装置及存储介质
CN109002297B (zh) * 2018-07-16 2020-08-11 百度在线网络技术(北京)有限公司 共识机制的部署方法、装置、设备和存储介质
CN110795227B (zh) * 2018-08-03 2022-07-19 北京天能博信息科技有限公司 一种区块链的数据处理方法及相关设备
CN109376020B (zh) * 2018-09-18 2021-02-12 中国银行股份有限公司 多区块链交互并发下的数据处理方法、装置及存储介质
CN109523260A (zh) * 2018-11-28 2019-03-26 段红 一种动态节点选举的高并发共识机制
CN109714398B (zh) * 2018-12-11 2021-09-21 新华三技术有限公司 数据存储方法和装置
US20200202337A1 (en) * 2018-12-20 2020-06-25 Lukka, Inc. Gain and loss computation for cryptocurrency transactions
CN109714412B (zh) * 2018-12-25 2021-08-10 深圳前海微众银行股份有限公司 区块同步方法、装置、设备及计算机可读存储介质
KR102170345B1 (ko) * 2019-03-18 2020-10-28 알리바바 그룹 홀딩 리미티드 뷰 변경 프로토콜을 종료하기 위한 시스템 및 방법
US11398895B2 (en) 2019-03-26 2022-07-26 International Business Machines Corporation Information management in a decentralized database including a fast path service
US11418322B2 (en) * 2019-03-26 2022-08-16 International Business Machines Corporation Information management in a decentralized database including a fast path service
US11269858B2 (en) 2019-03-26 2022-03-08 International Business Machines Corporation Information management in a decentralized database including a fast path service
CN110020859B (zh) * 2019-03-28 2022-03-11 杭州秘猿科技有限公司 一种并行执行的区块链共识方法、装置及电子设备
CN109948799B (zh) * 2019-04-03 2023-12-08 陕西医链区块链集团有限公司 一种区块链的动态随机森林共识机制
WO2019120333A2 (en) 2019-04-12 2019-06-27 Alibaba Group Holding Limited Performing parallel execution of transactions in a distributed ledger system
JP6827564B2 (ja) 2019-04-12 2021-02-10 アドバンスド ニュー テクノロジーズ カンパニー リミテッド 分散型台帳システムにおけるトランザクションのパラレル実行の実施
CN110046896B (zh) * 2019-04-26 2022-03-01 腾讯科技(深圳)有限公司 一种区块处理方法和节点以及系统
US10970858B2 (en) * 2019-05-15 2021-04-06 International Business Machines Corporation Augmented reality for monitoring objects to decrease cross contamination between different regions
US11423016B2 (en) * 2019-06-26 2022-08-23 Indian Institute Of Technology Bombay Method for scaling computation in blockchain by delaying transaction execution
CN110471981A (zh) * 2019-07-05 2019-11-19 深圳壹账通智能科技有限公司 基于区块链的线上数据同步方法、装置、终端及存储介质
CN113139873A (zh) * 2019-08-30 2021-07-20 创新先进技术有限公司 在区块链中并发执行交易的方法和装置
CN110532228B (zh) * 2019-09-02 2022-09-02 深圳市迅雷网络技术有限公司 一种区块链数据读取的方法、系统、设备及可读存储介质
CN110648136B (zh) * 2019-09-10 2022-06-03 杭州秘猿科技有限公司 共识与交易同步的并行处理方法、装置和电子设备
CN110597920B (zh) * 2019-09-26 2024-02-23 腾讯云计算(北京)有限责任公司 一种信息处理的方法及装置
CN110728578A (zh) * 2019-09-29 2020-01-24 南京金宁汇科技有限公司 区块链交易的并行执行方法、系统及存储介质
CN110855475B (zh) * 2019-10-25 2022-03-11 昆明理工大学 一种基于区块链的共识资源切片方法
CN111083221B (zh) * 2019-12-13 2023-08-04 北京菲林方德科技有限公司 一种交易验证方法及装置
CN111275437B (zh) * 2020-01-12 2023-05-30 杭州复杂美科技有限公司 平行链共识方法、设备和存储介质
CN111368343B (zh) * 2020-03-31 2022-11-01 北京俩撇科技有限公司 一种区块链系统、数据存储方法及装置
CN111522648B (zh) 2020-07-03 2020-10-09 支付宝(杭州)信息技术有限公司 一种区块链的交易处理方法、装置及电子设备
CN112035891A (zh) * 2020-07-20 2020-12-04 江苏傲为控股有限公司 一种去中心化电子合同证明平台
WO2022093256A1 (en) * 2020-10-30 2022-05-05 Hewlett-Packard Development Company, L.P. Provisioning of computational resources
CN112487448B (zh) * 2020-11-27 2024-05-03 珠海零边界集成电路有限公司 一种加密信息处理装置、方法及计算机设备
CN112291372B (zh) * 2020-12-28 2021-04-13 腾讯科技(深圳)有限公司 区块链的异步落账方法、装置、介质及电子设备
CN112734586A (zh) * 2021-01-27 2021-04-30 国网信息通信产业集团有限公司 基于区块链的数据处理方法及系统
CN113204432A (zh) * 2021-02-03 2021-08-03 支付宝(杭州)信息技术有限公司 区块链中的交易处理方法、装置及电子设备
CN114047961A (zh) * 2021-11-15 2022-02-15 合众新能源汽车有限公司 安卓系统开机优化方法、智能终端和计算机可读介质
CN114362969B (zh) 2022-03-17 2022-06-10 北京百度网讯科技有限公司 一种基于区块链的数据验证方法、装置、设备及存储介质
CN114785803A (zh) * 2022-04-20 2022-07-22 浙江工业大学 一种适用于充电桩管理的区块链pbft共识优化方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010060188A (ko) * 1999-10-21 2001-07-06 마츠시타 덴끼 산교 가부시키가이샤 데이터 소스, 데이터 변환 장치, 데이터 역변환 장치,보조 데이터 파일 생성장치, 수신 방법, 매체 및 정보 집합
US20170083860A1 (en) * 2015-02-26 2017-03-23 Skuchain, Inc. Tracking unitization occurring in a supply chain
US20170149819A1 (en) * 2015-11-25 2017-05-25 International Business Machines Corporation Resisting replay attacks efficiently in a permissioned and privacy- preserving blockchain network

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4578442B2 (ja) * 2006-06-19 2010-11-10 株式会社ニコンシステム 検証装置、および検証プログラム
JP4991223B2 (ja) * 2006-09-08 2012-08-01 ルネサスエレクトロニクス株式会社 データ処理装置
US7979626B2 (en) * 2008-05-13 2011-07-12 Microsoft Corporation Flash recovery employing transaction log
JP5164154B2 (ja) * 2008-05-19 2013-03-13 独立行政法人産業技術総合研究所 誤り検出機能を備える、符号化又は復号処理のための回路構成
RS61234B1 (sr) * 2013-11-19 2021-01-29 Top Galore Ltd Postupak i uređaj za rudarenje blokova
JP2016052697A (ja) * 2014-09-03 2016-04-14 インターマン株式会社 人型ロボット
EP3198539A4 (en) * 2014-09-23 2018-05-16 Spondoolies Tech Ltd. System and method for providing shared hash engines architecture for a bitcoin block chain
US10409827B2 (en) * 2014-10-31 2019-09-10 21, Inc. Digital currency mining circuitry having shared processing logic
JP6304076B2 (ja) * 2015-03-05 2018-04-04 ブラザー工業株式会社 情報処理装置、コンテンツ配信システム、情報処理方法、及びプログラム
JP6358658B2 (ja) * 2015-11-09 2018-07-18 日本電信電話株式会社 ブロックチェーン生成装置、ブロックチェーン生成方法、ブロックチェーン検証装置、ブロックチェーン検証方法およびプログラム
US10805393B2 (en) 2015-12-02 2020-10-13 Olea Networks, Inc. System and method for data management structure using auditable delta records in a distributed environment
US10521780B1 (en) * 2015-12-16 2019-12-31 United Services Automobile Association (Usaa) Blockchain based transaction management
US10255108B2 (en) * 2016-01-26 2019-04-09 International Business Machines Corporation Parallel execution of blockchain transactions
US10362058B2 (en) 2016-05-13 2019-07-23 Vmware, Inc Secure and scalable data transfer using a hybrid blockchain-based approach
CN106445711B (zh) * 2016-08-28 2019-04-30 杭州云象网络技术有限公司 一种应用于区块链的拜占庭容错共识方法
US10719771B2 (en) 2016-11-09 2020-07-21 Cognitive Scale, Inc. Method for cognitive information processing using a cognitive blockchain architecture
US20180158034A1 (en) * 2016-12-07 2018-06-07 International Business Machines Corporation Dynamic reordering of blockchain transactions to optimize performance and scalability
CN106603698A (zh) * 2016-12-28 2017-04-26 北京果仁宝科技有限公司 基于dpos的区块链共识方法和节点
US11887115B2 (en) * 2017-04-17 2024-01-30 Jeff STOLLMAN Systems and methods to validate transactions for inclusion in electronic blockchains
CN107395353B (zh) 2017-04-24 2020-01-31 阿里巴巴集团控股有限公司 一种区块链共识方法及装置
US10896169B2 (en) * 2017-05-12 2021-01-19 International Business Machines Corporation Distributed system, computer program product and method
US11924322B2 (en) * 2017-05-16 2024-03-05 Arm Ltd. Blockchain for securing and/or managing IoT network-type infrastructure
CN107402824B (zh) 2017-05-31 2020-06-02 创新先进技术有限公司 一种数据处理的方法及装置
CN107396180A (zh) 2017-08-29 2017-11-24 北京小米移动软件有限公司 基于移动终端的视频制作方法及装置
US11139979B2 (en) * 2017-12-18 2021-10-05 Koninklijke Kpn N.V. Primary and secondary blockchain device
US10250381B1 (en) * 2018-02-22 2019-04-02 Capital One Services, Llc Content validation using blockchain
RU181439U1 (ru) 2018-04-06 2018-07-13 Оксана Валерьевна Кириченко Децентрализованная технологическая платформа хранения и обмена данными транзакций в распределенной вычислительной сети

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010060188A (ko) * 1999-10-21 2001-07-06 마츠시타 덴끼 산교 가부시키가이샤 데이터 소스, 데이터 변환 장치, 데이터 역변환 장치,보조 데이터 파일 생성장치, 수신 방법, 매체 및 정보 집합
US20170083860A1 (en) * 2015-02-26 2017-03-23 Skuchain, Inc. Tracking unitization occurring in a supply chain
US20170149819A1 (en) * 2015-11-25 2017-05-25 International Business Machines Corporation Resisting replay attacks efficiently in a permissioned and privacy- preserving blockchain network

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210061245A (ko) * 2019-11-19 2021-05-27 한양대학교 산학협력단 블록체인에서의 병렬적 블록 처리 방법, 이를 이용하는 블록체인 노드 및 프로그램
KR20210121865A (ko) * 2020-03-31 2021-10-08 주식회사 현신특허컨설팅 특허 중개 과정에서의 특허 명세서 관리용 블록체인 기반 패치 관리 장치

Also Published As

Publication number Publication date
EP3520052A1 (en) 2019-08-07
BR112019008775A2 (pt) 2020-02-04
BR112019008775B1 (pt) 2021-08-17
CN107402824B (zh) 2020-06-02
EP3745642C0 (en) 2023-07-05
EP3520052B1 (en) 2020-07-22
TW201904229A (zh) 2019-01-16
TWI697227B (zh) 2020-06-21
AU2018278316A1 (en) 2019-05-23
KR102239589B1 (ko) 2021-04-15
AU2020289748A1 (en) 2021-01-21
PH12019500979A1 (en) 2020-01-20
US20180351732A1 (en) 2018-12-06
CN107402824A (zh) 2017-11-28
AU2018278316B2 (en) 2020-10-08
JP2020503728A (ja) 2020-01-30
US20190215151A1 (en) 2019-07-11
SG10202105569SA (en) 2021-07-29
US10785231B2 (en) 2020-09-22
RU2721402C1 (ru) 2020-05-19
ES2809204T3 (es) 2021-03-03
WO2018222927A1 (en) 2018-12-06
CA3042470C (en) 2021-05-04
JP6859509B2 (ja) 2021-04-14
CA3042470A1 (en) 2018-12-06
US10686803B2 (en) 2020-06-16
MX2019005085A (es) 2019-08-12
MY190598A (en) 2022-04-27
SG11201903895XA (en) 2019-05-30
ZA201902729B (en) 2020-05-27
EP3745642B1 (en) 2023-07-05
EP3745642A1 (en) 2020-12-02

Similar Documents

Publication Publication Date Title
KR20190067195A (ko) 블록체인 데이터 처리 방법 및 장치
KR102141771B1 (ko) 멀티 블록체인 네트워크 데이터 처리 방법, 장치 및 서버
KR102377347B1 (ko) 블록체인 기반 데이터 프로세싱 방법 및 디바이스
US10657151B2 (en) Method and apparatus for communication between blockchain nodes
TWI688281B (zh) 支付輔助方法、裝置以及設備
WO2018137564A1 (zh) 一种业务处理方法及装置
US11316702B2 (en) Verification-based service authorization
US10866815B2 (en) Method and system for starting application
US11240036B2 (en) Consensus verification method, apparatus, and device
TWI694392B (zh) 顯示數位物件唯一識別符的方法及裝置
WO2019165875A1 (zh) 一种交易处理方法、服务器、客户端及系统
TWI691191B (zh) 一種圖片傳輸方法、系統、伺服器、客戶端及使用者設備

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant