KR102304492B1 - 합의 검증을 위한 방법 및 장치 - Google Patents

합의 검증을 위한 방법 및 장치 Download PDF

Info

Publication number
KR102304492B1
KR102304492B1 KR1020197027185A KR20197027185A KR102304492B1 KR 102304492 B1 KR102304492 B1 KR 102304492B1 KR 1020197027185 A KR1020197027185 A KR 1020197027185A KR 20197027185 A KR20197027185 A KR 20197027185A KR 102304492 B1 KR102304492 B1 KR 102304492B1
Authority
KR
South Korea
Prior art keywords
blockchain
blockchain node
transaction
transaction request
servers
Prior art date
Application number
KR1020197027185A
Other languages
English (en)
Other versions
KR20190118630A (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 KR20190118630A publication Critical patent/KR20190118630A/ko
Application granted granted Critical
Publication of KR102304492B1 publication Critical patent/KR102304492B1/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/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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/3823Payment protocols; Details thereof insuring higher security of transaction combining multiple encryption tools for 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/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • 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/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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]
    • 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/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
    • 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/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/3247Cryptographic 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 involving digital signatures
    • 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
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Accounting & Taxation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)

Abstract

합의 네트워크 내 제1 블록체인 노드에 의해 구현 가능한 합의 검증을 위한 방법은, 클라이언트로부터 트랜잭션 요청을 수신하고, 그리고 트랜잭션 요청에 관한 제1 보안 검증을 수행하는 단계; 트랜잭션 요청이 제1 보안 검증을 통과했다는 결정에 응답하여, 트랜잭션 요청을 저장하고, 그리고 트랜잭션 요청을 합의 네트워크 내 제2 블록체인 노드의 각각으로 브로드캐스팅하여, 제2 블록체인 노드가 트랜잭션 요청이 제2 보안 검증을 통과했다고 결정하는 것에 응답하여 각각의 제2 블록체인 노드가 트랜잭션 요청을 저장하게 하는 단계; 미리 설정된 조건이 충족되었다고 결정하는 것에 응답하여, 적어도 하나의 저장된 트랜잭션 요청에 관한 전처리를 수행하여, 전처리된 블록을 획득 및 저장하는 단계; 및 획득된 전처리된 블록을 제2 블록체인 노드로 브로드캐스팅하여, 제2 블록체인 노드가 획득된 전처리된 블록에 관한 합의 검증을 수행하게 하는 단계를 포함할 수도 있다.

Description

합의 검증을 위한 방법 및 장치
관련 출원에 대한 상호 참조
본 출원은 중국 출원 제201710181068.8호(출원일: 2017년 3월 24일)의 우선권에 기초하고 이 우선권을 주장하며, 상기 기초 출원의 전문이 참고로 본 명세서에 편입된다.
기술 분야
본 출원은 컴퓨터 기술의 분야, 구체적으로, 합의 검증을 위한 방법 및 장치에 관한 것이다.
블록체인 기술은 블록체인에 저장된 데이터를 변경 불가능하게 그리고 분산되게 할 수 있고, 따라서 블록체인의 출현 이래로 주목을 끌고 있다. 블록체인 기술에 관한 점점 더 심층적 연구와 함께, 더 안전한 데이터 저장 환경이 블록체인 기술을 사용하여 실현되었고, 게다가, 블록체인 기술은 다양한 서비스, 예컨대, 트랜잭션 서비스(transaction service)의 최적화를 달성하도록 사용되었다.
현재, 클라이언트가 전송한 트랜잭션 요청을 수신할 시, 블록체인 노드는 트랜잭션 요청을 자체에 저장할 것이다. 동시에, 블록체인 노드는 트랜잭션 요청을 합의 네트워크 내 다른 블록체인 노드로 더 브로드캐스팅할 것이고, 그리고 다른 블록체인 노드는 이에 대응하여 수신된 트랜잭션 요청을 자체에 저장할 것이다.
합의 검증 단계에서, 블록체인 노드는 먼저 블록체인 노드에 저장된 트랜잭션 요청으로부터 복수의 트랜잭션 요청을 획득해야 하고, 그리고 이 트랜잭션 요청에 관한 비대칭 서명 적법성 검증을 수행한다. 이 트랜잭션 요청이 비대칭 서명 적법성 검증을 통과(pass)했다고 결정될 때, 블록체인 노드는 이 트랜잭션 요청을 전처리된 블록에 패키징하고 그리고 이 트랜잭션 요청을 전체 합의 네트워크 내 다른 블록체인 노드로 브로드캐스팅한다. 전처리된 블록을 수신할 시, 다른 블록체인 노드가 먼저 전처리된 블록에 포함되는 모든 트랜잭션 요청에 관한 비대칭 서명 적법성 검증을 수행하고, 그리고 이 트랜잭션 요청이 비대칭 서명 적법성 검증을 통과했다고 결정될 때, 이 트랜잭션 요청에 관한 합의 검증을 수행하여 블록체인 내 블록의 형태로 이 트랜잭션 요청을 저장하는 것이 필요한지를 결정한다.
위의 과정에서 나타난 바와 같이, 합의 검증 단계에서, 블록체인 노드가 이 트랜잭션 요청을 전처리된 블록에 패키징할 수 있고 그리고 이 트랜잭션 요청을 합의 네트워크 내 다른 블록체인 노드로 브로드캐스팅할 수 있기 전에 블록체인 노드는 합의될 트랜잭션 요청에 관한 비교적 복잡한 처리를 수행해야 한다. 다른 블록체인 노드가 전처리된 블록에 포함되는 트랜잭션 요청에 관한 합의 검증을 수행할 수 있기 전에 다른 블록체인 노드는 또한 전처리된 블록에 관한 과정을 수행해야 한다. 따라서, 종래 기술에 따르면, 합의 단계에 수반되는 과정이 비교적 복잡하고, 그리고 합의 과정이 너무 많은 시간을 소비하고, 이는 결과적으로 블록체인 트랜잭션의 합의 검증의 효율을 낮춘다.
본 출원의 실시형태는 종래 기술의 블록체인 트랜잭션의 저효율 합의 검증을 적어도 완화하도록 합의 검증을 위한 예시적인 시스템 및 방법을 제공한다.
하나의 양상에 따르면, 합의 네트워크 내 제1 블록체인 노드에 의해 구현 가능한 합의 검증을 위한 방법은, 클라이언트로부터 트랜잭션 요청을 수신하고, 그리고 트랜잭션 요청에 관한 제1 보안 검증을 수행하는 단계; 트랜잭션 요청이 제1 보안 검증을 통과했다는 결정에 응답하여, 트랜잭션 요청을 저장하고, 그리고 트랜잭션 요청을 합의 네트워크 내 제2 블록체인 노드의 각각으로 브로드캐스팅하여, 제2 블록체인 노드가 트랜잭션 요청이 제2 보안 검증을 통과했다고 결정하는 것에 응답하여 각각의 제2 블록체인 노드가 트랜잭션 요청을 저장하게 하는 단계; 미리 설정된 조건이 충족되었다고 결정하는 것에 응답하여, 적어도 하나의 저장된 트랜잭션 요청에 관한 전처리를 수행하여, 전처리된 블록을 획득 및 저장하는 단계; 및 획득된 전처리된 블록을 제2 블록체인 노드로 브로드캐스팅하여, 제2 블록체인 노드가 획득된 전처리된 블록에 관한 합의 검증을 수행하게 하는 단계를 포함할 수도 있다.
또 다른 양상에 따르면, 제2 블록체인 노드에 의해 구현 가능한 합의 검증을 위한 방법은, 제1 블록체인 노드가 브로드캐스팅하는 트랜잭션 요청을 수신하고, 그리고 트랜잭션 요청에 관한 제2 보안 검증을 수행하는 단계; 트랜잭션 요청이 제2 보안 검증을 통과했다는 결정에 응답하여, 트랜잭션 요청을 저장하는 단계; 및 제1 블록체인 노드가 브로드캐스팅하는 전처리된 블록을 수신한 것에 응답하여, 전처리된 블록에 관한 합의 검증을 수행하는 단계를 포함할 수도 있다.
본 출원의 실시형태는 합의 검증을 위한 장치를 제공하고, 장치는, 클라이언트로부터 트랜잭션 요청을 수신하고 그리고 트랜잭션 요청에 관한 제1 보안 검증을 수행하도록 구성되는 수신 모듈; 트랜잭션 요청이 제1 보안 검증을 통과했다고 결정할 때, 트랜잭션 요청을 저장하고, 그리고 트랜잭션 요청을 각각의 제2 블록체인 노드로 브로드캐스팅하여, 트랜잭션 요청이 제2 보안 검증을 통과했다고 결정할 때 각각의 제2 블록체인 노드가 트랜잭션 요청을 저장하도록 구성되는 저장 모듈; 미리 설정된 조건이 충족되었다고 결정될 때 적어도 하나의 저장된 트랜잭션 요청에 관한 전처리를 수행하여, 전처리된 블록을 획득 및 저장하도록 구성되는 전처리 모듈; 및 합의 검증을 수행할 때, 전처리된 블록을 획득하고 그리고 전처리된 블록을 합의 네트워크 내 모든 제2 블록체인 노드로 브로드캐스팅하여, 모든 제2 블록체인 노드를 통해 획득된 전처리된 블록에 관한 합의 검증을 수행하도록 구성되는 획득 모듈을 포함한다.
또 다른 양상에 따르면, 합의 검증을 위한 합의 네트워크 내 장치는 프로세서 및 프로세서에 의해 실행될 때, 장치가 방법을 수행하게 하는 명령어를 저장하는 비일시적 컴퓨터-판독 가능한 저장 매체를 포함할 수도 있다. 방법은, 클라이언트로부터 트랜잭션 요청을 수신하고, 그리고 트랜잭션 요청에 관한 제1 보안 검증을 수행하는 단계; 트랜잭션 요청이 제1 보안 검증을 통과했다는 결정에 응답하여, 트랜잭션 요청을 저장하고, 그리고 트랜잭션 요청을 합의 네트워크 내 각각의 제2 블록체인 노드로 브로드캐스팅하여, 제2 블록체인 노드가 트랜잭션 요청이 제2 보안 검증을 통과했다고 결정하는 것에 응답하여 각각의 제2 블록체인 노드가 트랜잭션 요청을 저장하게 하는 단계; 미리 설정된 조건이 충족되었다고 결정하는 것에 응답하여, 적어도 하나의 저장된 트랜잭션 요청에 관한 전처리를 수행하여, 전처리된 블록을 획득 및 저장하는 단계; 및 획득된 전처리된 블록을 제2 블록체인 노드로 브로드캐스팅하여, 제2 블록체인 노드가 획득된 전처리된 블록에 관한 합의 검증을 수행하게 하는 단계를 포함할 수도 있다.
또 다른 양상에 따르면, 합의 네트워크 내 제1 블록체인 노드는 복수의 장치 및 적어도 하나의 트랜잭션 메모리를 포함할 수도 있다. 각각의 장치는 프로세서 및 프로세서에 의해 실행될 때, 장치가 방법을 수행하게 하는 명령어를 저장하는 비일시적 컴퓨터-판독 가능한 저장 매체를 포함할 수도 있다. 방법은, 클라이언트로부터 트랜잭션 요청을 수신하고, 그리고 트랜잭션 요청에 관한 제1 보안 검증을 수행하는 단계; 트랜잭션 요청이 제1 보안 검증을 통과했다는 결정에 응답하여, 트랜잭션 요청을 저장하고, 그리고 트랜잭션 요청을 합의 네트워크 내 각각의 제2 블록체인 노드로 브로드캐스팅하여, 제2 블록체인 노드가 트랜잭션 요청이 제2 보안 검증을 통과했다고 결정하는 것에 응답하여 각각의 제2 블록체인 노드가 트랜잭션 요청을 저장하게 하는 단계; 미리 설정된 조건이 충족되었다고 결정하는 것에 응답하여, 적어도 하나의 저장된 트랜잭션 요청에 관한 전처리를 수행하여, 전처리된 블록을 획득 및 저장하는 단계; 및 획득된 전처리된 블록을 제2 블록체인 노드로 브로드캐스팅하여, 제2 블록체인 노드가 획득된 전처리된 블록에 관한 합의 검증을 수행하게 하는 단계를 포함할 수도 있다.
또 다른 양상에 따르면, 합의 검증을 위한 장치는 프로세서 및 프로세서에 의해 실행될 때, 장치가 방법을 수행하게 하는 명령어를 저장하는 비일시적 컴퓨터-판독 가능한 저장 매체를 포함할 수도 있다. 방법은, 제1 블록체인 노드가 브로드캐스팅하는 트랜잭션 요청을 수신하고, 그리고 트랜잭션 요청에 관한 제2 보안 검증을 수행하는 단계; 트랜잭션 요청이 제2 보안 검증을 통과했다는 결정에 응답하여, 트랜잭션 요청을 저장하는 단계; 및 제1 블록체인 노드가 브로드캐스팅하는 전처리된 블록을 수신한 것에 응답하여, 전처리된 블록에 관한 합의 검증을 수행하는 단계를 포함할 수도 있다.
또 다른 양상에 따르면, 제2 블록체인 노드는 복수의 장치 및 적어도 하나의 트랜잭션 메모리를 포함할 수도 있다. 각각의 장치는 프로세서 및 프로세서에 의해 실행될 때, 장치가 방법을 수행하게 하는 명령어를 저장하는 비일시적 컴퓨터-판독 가능한 저장 매체를 포함할 수도 있다. 방법은, 제1 블록체인 노드가 브로드캐스팅하는 트랜잭션 요청을 수신하고, 그리고 트랜잭션 요청에 관한 제2 보안 검증을 수행하는 단계; 트랜잭션 요청이 제2 보안 검증을 통과했다는 결정에 응답하여, 트랜잭션 요청을 저장하는 단계; 및 제1 블록체인 노드가 브로드캐스팅하는 전처리된 블록을 수신한 것에 응답하여, 전처리된 블록에 관한 합의 검증을 수행하는 단계를 포함할 수도 있다.
본 출원의 실시형태는 합의 검증을 위한 장치를 제공하고, 장치는, 제1 블록체인 노드가 브로드캐스팅하는 트랜잭션 요청을 수신하고 그리고 트랜잭션 요청에 관한 제2 보안 검증을 수행하도록 구성되는 요청 수신 모듈; 트랜잭션 요청이 제2 보안 검증을 통과했다고 결정할 때 트랜잭션 요청을 저장하도록 구성되는 요청 저장 모듈; 및 제1 블록체인 노드가 브로드캐스팅하는 전처리된 블록을 수신할 때, 전처리된 블록에 관한 합의 검증을 수행하도록 구성되는 검증 모듈을 포함한다.
본 개시내용의 일부 실시형태에서, 클라이언트로부터 트랜잭션 요청을 수신할 시, 제1 블록체인 노드는 트랜잭션 요청에 관한 제1 보안 검증을 수행하도록 합의 검증 단계를 기다리는 대신, 트랜잭션 요청에 관한 제1 보안 검증을 수행할 수도 있고, 이는 합의 검증을 매우 간소화한다. 게다가, 합의 검증 단계 전에, 제1 블록체인 노드는 자체에 저장된 트랜잭션 요청으로부터 적어도 하나의 트랜잭션 요청을 획득할 수 있고, 그리고 획득된 트랜잭션 요청을 처리하여 전처리된 블록을 획득할 수 있다. 이 방식으로, 제1 블록체인 노드는 합의 검증 단계에서, 이전에 획득된 전처리된 블록을 합의 네트워크 내 모든 제2 블록체인 노드로 직접적으로 브로드캐스팅할 수 있고, 이는 합의 검증 단계의 과정을 매우 간소화하고, 합의 검증 단계에서 소비되는 시간을 단축시키고, 그리고 블록체인 트랜잭션을 위한 합의 효율을 개선시킨다.
본 명세서에 설명되는 첨부 도면은 본 개시내용의 추가의 이해를 제공하도록 사용된다. 예시적인 실시형태 및 실시형태의 설명은 단지 예시적이고 그리고 본 개시내용을 제한하지 않는다. 첨부 도면에서:
도 1은 본 개시내용의 실시형태에 따른, 합의 검증 과정의 개략도;
도 2는 본 개시내용의 실시형태에 따른, 트랜잭션 요청에 관한 전체 합의 네트워크가 수행하는 비대칭 서명 적법성 검증의 상세한 과정의 개략도;
도 3은 본 개시내용의 실시형태에 따른, 검증될 특성값을 결정하는 개략도;
도 4는 본 개시내용의 실시형태에 따른, 서버 클러스터의 개략도;
도 5는 본 개시내용의 실시형태에 따른, 합의 검증을 위한 장치의 개략도; 및
도 6은 본 개시내용의 실시형태에 따른, 합의 검증을 위한 또 다른 장치의 개략도.
현재, 블록체인 노드가 트랜잭션 처리를 수행하는 과정은 실질적으로 다음과 같다: 클라이언트가 트랜잭션 요청을 블록체인 노드로 전송하고, 그리고 블록체인 노드가 수신된 트랜잭션 요청을 브로드캐스팅 형태로 다른 블록체인 노드로 전송하고; 그리고 다른 블록체인 노드가 수신된 트랜잭션 요청을 저장한다. 트랜잭션 요청을 다른 블록체인 노드로 전송하는 블록체인 노드도 또한 트랜잭션 요청을 자체에 저장한다.
블록체인 노드가 형성하는 합의 네트워크에서, 각각의 블록체인 노드는 다른 블록체인 노드에 대해 합의 요청을 개시시킬 권리를 갖는다. 블록체인 노드는 트랜잭션 요청 큐를 획득하고 그리고 트랜잭션 요청 큐를 위한 해시값(Hash value)을 생성하는 순서로 자체에 저장된 트랜잭션 요청을 분류할 수 있다. 그 후, 블록체인 노드는 트랜잭션 요청 큐 및 해시값을 전처리된 블록에 패키징할 수 있고, 그리고 전처리된 블록을 브로드캐스팅 형태로 다른 블록체인 노드로 합의 검증을 위해 전송한다.
합의 검증 과정에서, 전처리된 블록을 수신할 시, 다른 블록체인 노드는 전처리된 블록에 포함되는 모든 트랜잭션 요청에 관한, 보안 검증, 예컨대, 비대칭 서명 적법성 검증을 수행한다. 예를 들어, 블록체인 노드는 트랜잭션 요청이 보유한 공개 키에 따라 전처리된 블록에 포함된 모든 트랜잭션 요청을 해결할 수도 있어서, 각각의 트랜잭션 요청이 적법한 트랜잭션 요청인지를 검증한다.
게다가, 블록체인 노드가 클라이언트로부터 트랜잭션 요청을 수신할 때마다, 블록체인 노드는 트랜잭션 요청을 다른 블록체인 노드로 브로드캐스팅하고, 그리고 따라서, 각각의 블록체인 노드는 일반적으로 전체 합의 네트워크가 수신하는 트랜잭션 요청을 자체에 저장할 수도 있다. 이것에 기초하여, 전처리된 블록을 수신할 시, 다른 블록체인 노드는 전처리된 블록 내 모든 트랜잭션 요청에 관한 해시 무결성 검증(Hash integrity verification)을 수행할 것이다. 즉, 블록체인 노드가 자체에 저장된 트랜잭션 요청으로부터 전처리된 블록에 포함된 트랜잭션 요청을 발견할 수 있고, 그리고 발견된 트랜잭션 요청을 트랜잭션 요청이 전처리된 블록에 배열되는 시퀀스로 분류할 수 있어서 트랜잭션 요청 큐를 획득한다. 그 후, 블록체인 노드는 트랜잭션 요청 큐를 위한 해시값을 생성할 수 있고, 그리고 이어서 획득된 해시값을 전처리된 블록에 포함된 해시값과 비교할 수 있어서 전처리된 블록 내 트랜잭션 요청이 변경되었는지를 결정한다.
전처리된 블록에서 수행되는 보안 검증 및 해시 무결성 검증에 따라, 각각의 블록체인 노드는 전처리된 블록이 전반적으로 적법한지에 관한 자체 검증 결과를 획득할 것이고 그리고 자체적으로 획득한 검증 결과를 브로드캐스팅 형태로 다른 블록체인 노드로 브로드캐스팅할 것이다.
다른 블록체인 노드가 전송하는 검증 결과 및 전처리된 블록에 관하여 자체적으로 획득한 검증 결과에 따라, 각각의 블록체인 노드는 전처리된 블록이 통과했는지에 관한 전체 합의 네트워크 내 모든 블록체인 노드에 의한 종합적인 검증 결과를 획득할 것이고, 그리고 획득된 종합적인 검증 결과를 다시 브로드캐스팅 형태로 다른 블록체인 노드로 브로드캐스팅할 것이다.
상호 브로드캐스팅된 종합적인 검증 결과를 수신할 시, 합의 네트워크 내 각각의 블록체인 노드는 합의 네트워크 내 모든 블록체인 노드가 획득한 종합적인 검증 결과의 대부분이 검증을 통과한 것인지를 더 결정할 것이다. 만약 그러하다면, 전처리된 블록 내 모든 트랜잭션 요청은 블록 형태로 자체 블록체인에 저장되고; 만약 그러하지 않다면, 전처리된 블록 내 트랜잭션 요청이 합의 검증을 통과하지 못했다고 결정된다.
위의 과정에 따르면, 블록체인 노드가 종래 기술에 따라 트랜잭션 요청에 관한 합의 검증을 수행할 때, 합의 검증 과정이 비교적 복잡하고, 그리고 합의 검증 과정이 너무 많은 시간을 소비하고, 이는 블록체인 트랜잭션의 낮은 트랜잭션 처리 효율을 초래한다.
위의 문제를 실질적으로 해결하기 위해서, 개시된 바와 같은 제1 블록체인 노드는 합의 검증 단계 전에 보안 검증을 수행할 수 있고 그리고 전처리된 블록을 생성할 수 있다. 즉, 제1 블록체인 노드는 합의 검증 단계 전에 종래 기술의 합의 검증 단계에 수반되는 과정의 적어도 일부를 수행할 수 있고, 이는 합의 검증 과정을 매우 간소화하고, 합의 검증 단계에서 소비되는 시간을 단축시키고, 그리고 블록체인 트랜잭션을 위한 합의 검증 효율을 개선시킨다.
본 명세서의 설명된 실시형태는 단지 예시적이다. 창조적 노력 없이 그리고 실시형태에 기초하여 당업자가 획득 가능한 모든 다른 실시형태는 본 개시내용에 포함될 것이다.
도 1은 본 개시내용의 실시형태에 따른, 합의 검증 과정의 개략도이다. 합의 검증 과정은 제1 블록체인 노드에 의해 구현 가능할 수도 있고 그리고 다음의 단계를 포함할 수도 있다:
S101: 클라이언트로부터 트랜잭션 요청을 수신하고, 그리고 트랜잭션 요청에 관한 제1 보안 검증을 수행하는 단계.
일부 실시형태에서, 트랜잭션 처리 과정에서, 사용자는 트랜잭션 요청을 단말기에 설치된 클라이언트를 통해 제1 블록체인 노드로 전송할 수도 있다. 예를 들어, 사용자는 대응하는 트랜잭션 처리 내용을 클라이언트에 존재하는 인터페이스에 기입하고, 클라이언트는 인터페이스에 사용자가 기입한 트랜잭션 처리 내용에 따라 대응하는 트랜잭션 요청을 생성하고, 그리고 이어서 트랜잭션 요청을 단말기를 통해 제1 블록체인 노드로 전송한다. 사용자는 또한 대응하는 트랜잭션 처리 내용을 사용자가 소유한 사용자 단말기에 기입할 수도 있고, 한편 단말기는 사용자가 기입한 트랜잭션 처리 내용에 따라 대응하는 트랜잭션 요청을 생성하고, 그리고 이어서 트랜잭션 요청을 합의 네트워크 내 제1 블록체인 노드로 전송한다. 여기서 본 명세서에서 언급된 단말기는 컴퓨터, 태블릿, 스마트폰 등과 같은 장치일 수도 있다.
일부 실시형태에서, 합의 네트워크는 복수의 블록체인 노드를 포함하고, 반면에 언급된 제1 블록체인 노드는 클라이언트로부터 트랜잭션 요청을 수신하는 블록체인 노드를 나타낼 수도 있다. 제1 블록체인 노드 이외의 블록체인 노드는 제2 블록체인 노드로서 지칭될 수도 있다. 제1 블록체인 노드와 제2 블록체인 노드는 상대적인 개념이다. 클라이언트로부터 트랜잭션 요청을 수신하는 블록체인 노드는 제1 블록체인 노드일 수도 있고, 반면에 브로드캐스팅 형태로 제1 블록체인 노드가 전송하는 트랜잭션 요청을 수신하는 블록체인 노드는 제2 블록체인 노드로서 지칭될 수도 있다. 합의 네트워크 내 모든 블록체인 노드가 클라이언트로부터 트랜잭션 요청을 수신할 수 있기 때문에, 모든 블록체인 노드는 실질적으로 제1 블록체인 노드 또는 제2 블록체인 노드이다. 제1 블록체인 노드와 제2 블록체인 노드 간의 차이는 트랜잭션 요청이 수신되는지에 의존할 수도 있다.
종래 기술에 따르면, 클라이언트로부터 트랜잭션 요청을 수신할 때, 제1 블록체인 노드는 보통 트랜잭션 요청을 자체에 직접적으로 저장한다. 이 과정에서, 제1 블록체인 노드는 트랜잭션 요청에 관한 임의의 검증을 수행하지 않는다. 반면에, 검증 과정은 보통 합의 검증 단계에서 수행된다. 합의 검증 과정에서, 합의 네트워크 내 모든 블록체인 노드는 먼저 제1 블록체인 노드가 브로드캐스팅한 전처리된 블록에 포함된 모든 트랜잭션 요청에 관한, 리베스트-샤미르-아델만(Rivest-Shamir-Adleman: RSA) 암호시스템 등을 포함한, 보안 검증, 예컨대, 비대칭 서명 적법성 검증을 수행하여 전처리된 블록에 포함된 트랜잭션 요청이 적법한지를 검증한다. 그 후, 합의 네트워크 내 모든 블록체인 노드는 각각의 트랜잭션 요청의 내용을 검증할 것이다. 검증은 해시 무결성 검증의 형태로 수행될 수도 있다.
위의 2개의 검증이 완료될 때, 합의 네트워크 내 블록체인 노드는 검증이 전처리된 블록에서 수행된 후 획득된 검증 결과에 따라 합의를 더 수행할 것이고, 그리고 이어서 전처리된 블록에 포함된 트랜잭션 요청이 블록체인에 기입될 수 있는지를 결정할 것이다.
이와 같이, 합의 검증 과정에서, 합의 네트워크는 위의 전처리된 블록에 포함된 모든 트랜잭션 요청에 관한, 보안 검증, 해시 무결성 검증, 및 검증 결과의 합의를 포함하는, 3개의 단계를 가져야 한다. 이 3개의 단계 때문에, 종래 기술에 따른 합의 검증 과정은 매우 많은 시간을 소비하고 그리고 결과적으로 블록체인 트랜잭션에 관한 합의 검증의 효율을 낮춘다.
위의 문제를 실질적으로 해결하기 위해서, 본 개시내용에서, 합의 검증 내 보안 검증이 합의 검증 전에 수행될 수 있어서, 전체 합의 검증 과정을 간소화하고, 합의 검증 효율을 개선시키고, 그리고 이어서 블록체인 트랜잭션을 위한 트랜잭션 처리 효율을 개선시킨다.
예를 들어, 트랜잭션 요청을 클라이언트로부터 수신할 시, 제1 블록체인 노드는 트랜잭션 요청에 관한 제1 보안 검증을 수행할 수도 있다. 하나의 실시형태에서, 제1 보안 검증이 비대칭 서명 적법성 검증일 수도 있고, 한편 본 명세서의 비대칭 서명 적법성 검증은 비대칭 암호화 알고리즘, 예컨대, RSA 암호화 알고리즘을 통해 구현될 수도 있다. 따라서, 클라이언트가 트랜잭션 요청을 제1 블록체인 노드로 전송할 때, 클라이언트는 트랜잭션 요청이 보유한 개인 키를 통해 트랜잭션 요청을 암호화할 수 있고, 그리고 제1 블록체인 노드는 트랜잭션 요청을 수신할 시, 트랜잭션 요청이 보유한 공개 키를 통해 트랜잭션 요청을 해결할 수 있고 그리고 해결된 내용을 검증할 수 있다.
일부 실시형태에서, 클라이언트가 트랜잭션 요청을 제1 블록체인 노드로 전송할 때, 클라이언트는 트랜잭션 요청 내 트랜잭션 요청을 해결하기 위한 공개 키를 전송할 수도 있다. 트랜잭션 요청을 수신할 시, 제1 블록체인 노드는 트랜잭션 요청에 포함된 공개 키에 따라 트랜잭션 요청을 해결할 수 있다. 제1 블록체인 노드는 또한 사전에 클라이언트로부터 공개 키를 획득할 수 있다. 이에 대응하여, 클라이언트가 트랜잭션 요청을 제1 블록체인 노드로 전송할 때, 제1 블록체인 노드는 사전에 획득된 공개 키를 통해 트랜잭션 요청을 해결할 수 있다.
일부 실시형태에서, 위에서 설명되는 제1 보안 검증은 위의 트랜잭션 요청에 관하여 제1 블록체인 노드가 수행하는 보안 검증을 나타내고, 그리고 나중에 설명되는 제2 보안 검증은 위의 트랜잭션 요청에 관하여 제2 블록체인 노드가 수행하는 보안 검증을 나타낸다. 제1 보안 검증 및 제2 보안 검증에 의해 조정되는 검증 방식은 둘 다의 경우에, 동일한 검증 방식, 예를 들어, 비대칭 서명 적법성 검증일 수도 있다. 따라서, 본 명세서에 설명되는 제1 보안 검증 및 나중에 설명되는 제2 보안 검증은 어떤 블록체인 노드가 위의 트랜잭션 요청에 관한 보안 검증을 수행하는지를 결정하도록 사용될 수도 있다.
S102: 트랜잭션 요청이 제1 보안 검증을 통과했다는 결정에 응답하여, 트랜잭션 요청을 저장하고, 그리고 트랜잭션 요청을 합의 네트워크 내 각각의 제2 블록체인 노드로 브로드캐스팅하여, 제2 블록체인 노드가 트랜잭션 요청이 제2 보안 검증을 통과했다고 결정하는 것에 응답하여 각각의 제2 블록체인 노드가 트랜잭션 요청을 저장하는 단계. 합의 네트워크는 제1 블록체인 노드 및 제2 블록체인 노드를 포함할 수도 있다.
트랜잭션 요청이 제1 보안 검증을 통과했다고 결정할 때, 제1 블록체인 노드는 트랜잭션 요청을 저장할 수 있다. 트랜잭션 요청이 제1 보안 검증을 통과하지 못했다고 결정할 때, 제1 블록체인 노드는 트랜잭션 요청을 저장하지 못하고 그리고 트랜잭션 요청이 승인에 실패했다는 프롬프트(prompt)를 클라이언트에게 전송할 수 있다. 프롬프트를 수신할 시, 클라이언트는 프롬프트를 사용자에게 제출할 수 있어서, 사용자는 트랜잭션 요청을 재편집하고 그리고 트랜잭션 요청을 클라이언트를 통해 제1 블록체인 노드로 전송한다.
게다가, 클라이언트로부터 트랜잭션 요청을 수신할 시, 제1 블록체인 노드는 트랜잭션 요청을 브로드캐스팅 형태로 모든 제2 블록체인 노드로 전송할 수 있다. 본 명세서의 모든 제2 블록체인 노드는 제1 블록체인 노드 이외의 합의 네트워크 내 블록체인 노드일 수도 있다. 트랜잭션 요청을 수신할 시, 모든 제2 블록체인 노드는 도 2에 도시된 바와 같이, 트랜잭션 요청에 관한 제2 보안 검증을 수행하여 트랜잭션 요청을 저장할지를 결정할 수 있다.
도 2는 본 개시내용의 실시형태에 따른, 트랜잭션 요청에 관한 전체 합의 네트워크가 수행하는 보안 검증의 상세한 과정의 개략도이다.
트랜잭션을 예로 들면, 사용자가 잔액 이체 트랜잭션을 수행해야 할 때, 이체 대상이 단말기에 설치된 클라이언트에서 선택될 수 있고, 그리고 이체 금액이 입력된다. 사용자가 입력한 내용에 따라, 클라이언트는 대응하는 트랜잭션 요청을 생성하고 그리고 트랜잭션 요청을 제1 블록체인 노드로 전송하고, 클라이언트는 트랜잭션 요청이 보유한 개인 키를 사용하여 트랜잭션 요청을 암호화할 수 있고 그리고 암호화된 트랜잭션 요청을 제1 블록체인 노드로 전송할 수 있다.
클라이언트로부터 트랜잭션 요청을 수신할 시, 제1 블록체인 노드가 트랜잭션 요청에 포함된 공개 키(제1 블록체인 노드는 클라이언트로부터 공개 키를 사전에 획득할 수 있음)를 통해 트랜잭션 요청을 (예를 들어, 트랜잭션 요청에 관한 제1 보안 검증을 수행함으로써) 복호화할 수 있어서 트랜잭션 요청에 수반된 트랜잭션 당사자의 계정 어드레스를 획득하고, 그리고 이어서 트랜잭션 당사자의 계정 어드레스가 적법한지를 검증한다. 트랜잭션 요청에 수반된 트랜잭션 당사자의 계정 어드레스가 둘 다 적법한 계정이라고 그리고 트랜잭션 개시 당사자의 계정 내 금액이 트랜잭션 요청에 수반되는 이체 금액 이상이라고 결정할 때, 제1 블록체인 노드는 트랜잭션 요청이 제1 보안 검증을 통과했다고 결정하고 그리고 이어서 트랜잭션 요청을 제1 블록체인 노드에 대응하는 트랜잭션 메모리에 저장한다. 트랜잭션 메모리 내 제1 블록체인 노드에 의한 트랜잭션 요청의 저장은 트랜잭션 요청을 수용하는 것과 같을 수도 있다. 제1 블록체인 노드가 트랜잭션 요청이 제1 보안 검증을 통과하지 못했다고 결정한다면, 다른 한편으로는, 제1 블록체인 노드는 트랜잭션 요청을 수용하는 것을 거부하고, 즉, 트랜잭션 요청을 블록체인 노드 자체에 대응하는 트랜잭션 메모리에 저장하지 못한다.
게다가, 트랜잭션 요청을 수신할 시, 제1 블록체인 노드는 트랜잭션 요청을 브로드캐스팅 형태로 합의 네트워크 내 다른 블록체인 노드, 예를 들어, 모든 제2 블록체인 노드로 전송할 수 있다. 트랜잭션 요청을 수신할 시, 모든 제2 블록체인 노드는 트랜잭션 요청에 관한 제2 보안 검증을 수행할 수 있다. 트랜잭션 요청이 제2 보안 검증을 통과했다고 결정할 때, 각각의 제2 블록체인 노드는 트랜잭션 요청을 블록체인 노드 자체에 대응하는 트랜잭션 메모리에 저장하여 트랜잭션 요청을 수용하고; 유사하게, 트랜잭션 요청이 제2 보안 검증을 통과하지 못했다고 결정할 때, 제2 블록체인 노드는 트랜잭션 요청을 수용하지 못한다.
일부 실시형태에서, 합의 네트워크 내 모든 블록체인 노드 및 모든 트랜잭션 메모리는 분산형 미들웨어(distributed middleware)의 미리 설정된 피스를 통해 데이터 전송을 달성할 수 있다. 예를 들어, 트랜잭션 요청이 제1 보안 검증을 통과했다고 결정할 때, 제1 블록체인 노드는 트랜잭션 요청을 분산형 미들웨어로 전송할 수 있고, 그리고 분산형 미들웨어는 제1 블록체인 노드의 노드 식별자에 따라, 트랜잭션 요청을 저장을 위해 제1 블록체인 노드에 대응하는 트랜잭션 메모리로 전송할 수 있다.
S103: 미리 설정된 조건이 충족되었다는 결정에 응답하여 적어도 하나의 저장된 트랜잭션 요청의 전처리를 수행하여, 전처리된 블록을 획득 및 저장하는 단계.
블록체인 트랜잭션을 위한 합의 검증의 과정을 간소화하고, 합의 검증에서 소비되는 시간을 단축시키고, 그리고 합의 검증 효율을 개선시키기 위해서, 제1 블록체인 노드는 블록체인 노드 자체에 저장된 트랜잭션 요청에 관한 합의 검증을 수행하기 전에 전처리된 블록을 획득하도록 트랜잭션 요청에 관한 전처리를 수행한다. 그 결과, 전처리된 블록은 합의 검증 과정에서, 합의 검증을 위해 합의 네트워크 내 모든 제2 블록체인 노드로 직접적으로 브로드캐스팅된다.
하나의 실시예에서, 미리 설정된 조건이 충족되었다고 결정할 때, 제1 블록체인 노드는 블록체인 노드 자체에 대응하는 트랜잭션 메모리로부터 적어도 하나의 트랜잭션 요청을 획득할 수 있고, 그리고 차후의 과정에서 전체 합의 네트워크를 통해 이 트랜잭션 요청에 관한 합의를 수행할 수 있다.
본 명세서에서, 현재의 순간이 다음의 트랜잭션 요청을 획득하기 위한 설정된 시간 기간에 도달했다고 결정할 때, 제1 블록체인 노드는 요청 획득 조건이 충족되었다고 결정하고, 적어도 하나의 트랜잭션 요청을 블록체인 노드 자체에 대응하는 트랜잭션 메모리로부터 획득하고, 그리고 획득된 적어도 하나의 트랜잭션 요청에 관한 전처리를 수행한다. 게다가, 위의 미리 설정된 조건은 또한 다른 조건일 수도 있다. 예를 들어, 트랜잭션 메모리 내 트랜잭션 요청이 설정된 저장 시간에 도달한다고 모니터링 및 결정할 때, 제1 블록체인 노드는 트랜잭션 요청이 미리 설정된 조건을 충족시킨다고 결정한다. 그 후, 제1 블록체인 노드는 미리 설정된 조건을 충족시키는 모든 트랜잭션 요청에 관한 전처리를 수행할 수 있고 그리고 대응하는 전처리된 블록을 획득할 수 있다. 본 명세서의 미리 설정된 조건은 또한 다른 형태일 수도 있다.
트랜잭션 메모리로부터 트랜잭션 요청을 획득하는 과정에서, 제1 블록체인 노드는 트랜잭션 유형 우선도에 따라 블록체인 노드 자체에 대응하는 트랜잭션 메모리로부터 복수의 트랜잭션 요청을 획득할 수 있다. 예를 들어, 제1 블록체인 노드는 트랜잭션 유형을 경계로서 설정할 수 있고, 그리고 트랜잭션 메모리로부터 경계 위의 트랜잭션 유형 우선도를 가진 모든 트랜잭션 요청을 획득할 수 있다.
합의 네트워크를 통해 트랜잭션 요청에 관한 합의를 수행할 때, 제1 블록체인 노드는 트랜잭션을 선택할 수 있고 그리고 트랜잭션 메모리로부터 트랜잭션에 대응하는 모든 트랜잭션 요청을 획득할 수 있고, 제1 블록체인 노드는 트랜잭션을 임의로 또는 순서대로 선택할 수 있다. 대안적으로, 제1 블록체인 노드는 트랜잭션 요청이 트랜잭션 메모리에 입력되는 시간 순서로 트랜잭션 메모리로부터 복수의 트랜잭션 요청을 획득할 수 있다. 제1 블록체인 노드는 다른 기준을 따름으로써 트랜잭션 요청을 획득할 수 있고, 이는 본 명세서에서 상세히 설명되지 않을 것이다.
트랜잭션 요청을 획득한 후, 제1 블록체인 노드는 미리 설정된 특성값 결정 규칙에 따라, 각각의 트랜잭션 요청에 대응하는 하위-특성값을 각각 결정할 수 있다. 예를 들어, 미리 설정된 특성값 결정 규칙이 해시 알고리즘일 때, 제1 블록체인 노드는 각각의 트랜잭션 요청에 대응하는 하위-해시값을 각각 결정할 수 있다. 미리 설정된 특성값 결정 규칙이 메시지 다이제스트 알고리즘(Message Digest Algorithm: MD5)일 때, 제1 블록체인 노드는 각각의 트랜잭션 요청에 대응하는 하위-MD5 값을 각각 결정할 수 있다.
각각의 트랜잭션 요청에 대응하는 하위-특성값을 결정한 후, 제1 블록체인 노드는 결정된 하위-특성값 및 트랜잭션 요청의 순서에 따라, 트랜잭션 요청에 유일하게 대응하는 검증될 특성값을 결정할 수 있다.
여기서, 검증될 특성값은 전반적으로 트랜잭션 요청에 유일하게 대응할 수도 있다. 예를 들어, 트랜잭션 요청 중 하나의 내용이 변경될 때, 검증될 특성값은 이에 따라 변화될 것이다. 트랜잭션 요청의 순서는 제1 블록체인 노드가 설정한 순서일 수도 있거나 또는 트랜잭션 메모리 내 트랜잭션 요청의 순서에 따라 결정될 수도 있다. 제1 블록체인 노드가 검증될 특성값을 결정하는 예시적인 방식이 도 3에 도시된다.
도 3은 본 개시내용의 실시형태에 따른, 검증될 특성값을 결정하는 개략도이다.
도 3에 도시된 바와 같이, 일부 실시형태에서, 제1 블록체인 노드가 사용하는 특성값 결정 규칙은 해시 알고리즘을 포함한다. 제1 블록체인 노드가 자체에 저장된 모든 트랜잭션 요청으로부터 4개의 트랜잭션 요청을 획득하고, 그리고 이 4개의 트랜잭션 요청이 도 3에 도시된 순서로 배열된다고 가정한다. 제1 블록체인 노드가 이 4개의 트랜잭션 요청에 대응하는 4개의 하위-해시값을 각각 결정한 후, 4개의 하위-해시값(해시1, 해시2, 해시3, 해시4)은 이 4개의 트랜잭션 요청의 순서에 따라, 그리고 머클 트리(Merkle tree)의 어떤 논-리프 노드(non-leaf node)(해시5, 해시6) 및 루트 노드(root node)(해시7)가 결정될 수 있는지에 기초하여 좌측에서 우측으로 순차적으로 머클 트리의 4개의 리프 노드(leaf node)에 배치될 수 있다. 그 후, 제1 블록체인 노드는 검증될 특성값이 될 머클 트리의 루트 노드(해시7)가 이 4개의 트랜잭션 요청에 유일하게 대응하는지를 결정할 수 있다.
위에서 설명된 검증될 특성값을 결정하는 방법은 유일하지 않고, 그리고 제1 블록체인 노드는 또한 방식이 검증될 특성값이 특정한 순서로 모든 트랜잭션 요청에 유일하게 대응하는 것을 보장하는 한, 다른 방식을 사용할 수도 있다.
모든 트랜잭션 요청(예를 들어, 트랜잭션 메모리로부터 획득된 적어도 하나의 트랜잭션 요청)에 유일하게 대응하는 검증될 특성값을 결정한 후, 제1 블록체인 노드는 모든 트랜잭션 요청에 대응하는 검증될 특성값 및 모든 트랜잭션 요청 식별자(예를 들어, 트랜잭션에 대해, 트랜잭션 식별자는 트랜잭션의 일련번호일 수 있음)를 전처리된 블록에 패키징할 수 있고, 제1 블록체인 노드가 모든 트랜잭션 요청 식별자를 트랜잭션 요청의 위의 순서로 분류할 수 있어서 트랜잭션 요청 식별자 큐를 획득하고 그리고 트랜잭션 요청 식별자 큐를 전처리된 블록에 저장한다.
위의 전처리된 블록을 결정한 후, 제1 블록체인 노드는 전처리된 블록을 블록체인 노드 자체에 대응하는 트랜잭션 메모리에 저장할 수 있다. 합의 검증 단계가 시작될 때, 제1 블록체인 노드는 트랜잭션 메모리로부터 전처리된 블록을 획득할 수 있고, 그리고 전처리된 블록을 합의 검증을 위해 합의 네트워크 내 모든 제2 블록체인 노드로 브로드캐스팅할 수 있고, 제1 블록체인 노드는 블록체인 노드 자체에 대응하는 트랜잭션 메모리 내 저장을 위해 모든 트랜잭션 요청과 전처리된 블록을 혼합할 수 있거나, 또는 트랜잭션 메모리 내 지정된 메모리 영역을 분할할 수 있고 그리고 전처리된 블록을 지정된 메모리 영역에 저장할 수 있다.
S104: 획득된 전처리된 블록을 제2 블록체인 노드로 브로드캐스팅하여, 제2 블록체인 노드가 획득된 전처리된 블록에 관한 합의 검증을 수행하게 하는 단계.
합의 검증에서, 제1 블록체인 노드는 모든 트랜잭션 요청의 이전의 전처리에 대응하고 그리고 자체에 저장되는 전처리된 블록들로부터 전처리된 블록을 획득할 수 있고, 브로드캐스팅을 통해, 전처리된 블록을 전체 합의 네트워크 내 다른 블록체인 노드(예를 들어, 모든 제2 블록체인 노드)로 전송할 수 있고, 그리고 이어서 합의 네트워크를 통해 전처리된 블록에 대응하는 모든 트랜잭션 요청에 관한 합의 검증을 수행할 수 있다.
하나의 실시예에서, 제1 블록체인 노드는 위의 전처리된 블록을 합의 네트워크 내 모든 제2 블록체인 노드로 브로드캐스팅할 수 있다. 각각의 제2 블록체인 노드에 대해, 다른 한편으로는, 제2 블록체인 노드는 제1 블록체인 노드로부터 전처리된 블록을 수신할 시 전처리된 블록을 해결할 수 있어서, 전처리된 블록에 포함된 모든 트랜잭션 요청의 트랜잭션 요청 식별자를 결정한다.
제2 블록체인 노드는 자체에 저장된 모든 트랜잭션 요청으로부터 트랜잭션 요청 식별자에 대응하는 모든 트랜잭션 요청을 더 결정할 수 있고, 그리고 미리 설정된 특성값 결정 규칙에 따라, 각각의 트랜잭션 요청에 대응하는 하위-특성값을 각각 결정할 수 있고, 제2 블록체인 노드가 사용하는 특성값 결정 규칙은 제1 블록체인 노드의 특성값 결정 규칙과 동일할 수도 있다.
각각의 트랜잭션 요청에 대응하는 하위-특성값을 결정한 후, 제2 블록체인 노드는 트랜잭션 요청 식별자의 순서(예를 들어, 트랜잭션 요청 식별자 큐 내 모든 트랜잭션 요청 식별자의 순서) 및 모든 하위-특성값에 따라, 전반적으로 모든 트랜잭션 요청에 유일하게 대응하는 특성값을 결정할 수 있고, 그리고 이어서 특성값을 전처리된 블록 내 검증될 전체 특성값과 비교할 수 있다. 이 2개의 특성값이 동일할 때, 제1 블록체인 노드에 의해 합의-검증될 이 트랜잭션 요청의 내용이 변경되지 않는다고 결정될 수 있고, 즉, 이 트랜잭션 요청이 해시 무결성 검증을 통과했다고 결정되고, 제2 블록체인 노드는 전처리된 블록에 포함된 모든 트랜잭션 요청 식별자의 순서에 따라 모든 트랜잭션 요청 식별자의 순서를 결정할 수 있다.
각각의 제2 블록체인 노드는 위의 방법에 따라 위의 전처리된 블록에 관한 해시 무결성 검증을 수행할 수 있고, 그리고 전처리된 블록에 관하여 각각의 검증 결과를 획득할 수 있다. 그 후, 각각의 제2 블록체인 노드는 각각 획득된 검증 결과를 브로드캐스팅 형태로 합의 네트워크 내 다른 블록체인 노드로 전송할 수 있다. 각각의 상호 브로드캐스팅된 검증 결과를 수신할 시, 합의 네트워크 내 각각의 블록체인 노드는 수신된 검증 결과 및 자체 검증 결과에 따라, 전처리된 블록이 합의 네트워크 내 모든 블록체인 노드에 의한 검증을 통과하는지에 관한 종합적인 검증 결과를 획득할 수 있고, 그리고 획득된 종합적인 검증 결과를 전체 합의 네트워크 내 다른 블록체인 노드로 다시 브로드캐스팅할 수 있다.
상호 브로드캐스팅된 종합적인 검증 결과를 수신할 시, 합의 네트워크 내 각각의 블록체인 노드는 전체 합의 네트워크 내 모든 블록체인 노드가 획득하는 종합적인 검증 결과의 대부분이 검증을 통과한 것인지를 더 결정할 수 있다. 만약 그러하다면, 블록체인 노드는 전처리된 블록에 포함된 트랜잭션 요청 식별자에 대응하는 트랜잭션 요청을 저장을 위해 블록에 기입하고, 그리고 블록을 시간 순서에 따라 자체에 저장된 블록체인에 더 기입하고; 만약 그렇지 않다면, 블록체인 노드는 전처리된 블록에 대응하는 트랜잭션 요청이 합의 네트워크에 의한 합의 검증을 통과하지 못했다고 결정하고 그리고 트랜잭션 요청을 블록체인에 기입하는 것을 거부한다.
블록체인 노드(본 명세서의 블록체인 노드는 제1 블록체인 노드 또는 제2 블록체인 노드일 수도 있음)는 모든 트랜잭션 요청을 블록의 형태로 블록체인에 저장한 후, 각각의 트랜잭션 메모리에서 이 트랜잭션 요청이 차지하는 저장 공간이 해제(release)될 수 있고, 그리고 이 트랜잭션 요청이 이력 트랜잭션 요청을 저장하기 위해 데이터베이스로 이동된다.
위의 방법으로부터, 클라이언트로부터 트랜잭션 요청을 수신할 시, 제1 블록체인 노드는 트랜잭션 요청에 관한 제1 보안 검증을 수행할 수도 있고, 그리고 트랜잭션 요청이 제1 보안 검증을 통과했다고 결정한 후, 트랜잭션 요청을 저장할 수도 있다는 것을 알 수 있다. 그 후, 제1 블록체인 노드는 전처리된 블록을 획득하도록 자체의 적어도 하나의 트랜잭션 요청에 관한 전처리를 수행할 수도 있고, 그리고 전처리된 블록을 저장할 수도 있다. 그 결과, 합의 검증을 수행하는 과정에서, 제1 블록체인 노드는 합의 검증 단계 전에 이전에 획득된 전처리된 블록을 직접적으로 획득할 수도 있고, 그리고 전처리된 블록을 합의 검증을 위해 합의 네트워크 내 다른 블록체인 노드로 브로드캐스팅할 수도 있고, 이는 합의 검증 단계의 과정을 매우 간소화하고, 합의 검증 단계에서 소비되는 시간을 단축시키고, 그리고 따라서 블록체인 노드의 합의 검증 효율을 개선시키고, 그리고 블록체인 트랜잭션을 위한 합의 검증 효율을 개선시킨다.
일부 실시형태에서, 블록체인 트랜잭션을 위한 합의 검증 효율을 더 개선시키기 위해서, 합의 네트워크 내 모든 블록체인 노드(예를 들어, 제1 블록체인 노드 및 모든 제2 블록체인 노드)는 또한 서버 클러스터를 통해 위의 트랜잭션 요청을 수신, 저장, 검증, 및 전처리할 수도 있다. 즉, 블록체인 노드는 종래 기술에서 개별적인 디바이스로 이루어질 수도 있지만, 본 개시내용에서, 블록체인 노드는 서버 클러스터를 포함할 수도 있다. 서버 클러스터 내 모든 서버는 동일한 계층 레벨을 가질 수도 있거나, 또는 특히 지정된 태스크를 처리하도록 제공될 수도 있으면서, 서버 클러스터 내 모든 서버는 동일한 노드 구성을 공유한다. 예를 들어, 모든 서버는 하나의 노드 아이덴티티(identity: ID), 점 대 점 라우팅 테이블, 노드의 비대칭 공개 키와 개인 키, 및 다른 노드 구성을 공유할 수 있다. 따라서, 외부 관점에서, 서버 클러스터 내 서버가 전송하는 모든 행위 및 명령어는 하나의 블록체인 노드로부터 알 수 있다. 서버 클러스터의 개략도는 다음의 도면에 도시된다.
도 4는 본 개시내용의 실시형태에 따른, 서버 클러스터의 개략도이다. 도 4는 제1 블록체인 노드의 서버 클러스터 구조를 예시한다. 서버 클러스터 내 라우팅 능력을 가진 디바이스가 있다. 라우팅 능력을 가진 디바이스는 트랜잭션 요청을 사용자 단말기로부터 서버 클러스터 내 서버로 분배시키는데 책임이 있다. 여기서, 라우팅 능력을 가진 디바이스는 트랜잭션 요청을 임의 방식으로 서버 클러스터 내 서버로 분배시킬 수 있거나, 또는 트랜잭션 요청을 부하 균형 방식으로 서버 클러스터 내 서버로 분배시킬 수 있다. 따라서, 라우팅 능력을 가진 디바이스는 또한 부하 균형 디바이스일 수도 있다. 트랜잭션 요청을 수신할 시, 서버 클러스터 내 서버는 트랜잭션 요청에 관한 제1 보안 검증을 수행할 수 있고, 그리고 트랜잭션 요청이 제1 보안 검증을 통과했다고 결정한 후, 트랜잭션 요청을 제1 블록체인 노드에 대응하는 트랜잭션 메모리에 저장할 수 있고, 제1 블록체인 노드의 서버 클러스터는 트랜잭션 메모리에 대응할 수 있다. 서버 클러스터 내 서버는 각각 트랜잭션 메모리에 대응할 수 있고, 그리고 이때, 제1 블록체인 노드는 복수의 트랜잭션 메모리에 대응할 것이다.
서버 클러스터 내 서버가 트랜잭션 메모리로부터 복수의 트랜잭션 요청을 획득하고, 그리고 트랜잭션 요청에 관한 전처리를 수행하여 전처리된 블록을 획득할 수 있다. 그 후, 서버는 획득된 전처리된 블록을 차후의 합의 검증에서 사용을 위해 제1 블록체인 노드에 대응하는 트랜잭션 메모리에 저장할 수 있고, 서버는 클라이언트로부터 트랜잭션 요청을 수신하기 위해 부하 균형 디바이스가 이전에 선택한 서버(또는 라우팅 능력을 가진 디바이스가 선택한 서버)일 수도 있거나, 또는 제1 블록체인 노드에 포함된 복수의 서버로부터 재선택된 서버일 수도 있다.
일부 실시형태에서, 서버 클러스터 내 서버가 위의 트랜잭션 메모리로부터 복수의 트랜잭션 요청을 획득할 때, 서버는 이 트랜잭션 요청을 전처리를 위해 서버로 직접적으로 이동시킬 수 있다. 이 방식으로, 서버 클러스터 내 다른 서버는 트랜잭션 메모리로부터 이 트랜잭션 요청을 획득할 수 없을 것이고, 이 트랜잭션 요청이 서버 클러스터 내 서버에 의한 반복되는 전처리를 겪는 상황을 방지한다.
서버 클러스터 내 서버가 이 트랜잭션 요청을 획득하는 과정에서, 서버는 트랜잭션 메모리 내 이 트랜잭션 요청을 표시할 수 있다. 이 방식으로, 서버 클러스터 내 다른 서버는 일단 다른 서버가 트랜잭션 메모리 내 표시된 트랜잭션 요청을 검출한다면 트랜잭션 요청에 관한 전처리를 수행하지 않을 것이다. 게다가, 서버 클러스터 내 서버는 또한 트랜잭션 요청이 다른 방식으로 서버 클러스터 내 서버에 의한 반복되는 전처리를 겪는 상황을 처리할 수도 있다.
합의 검증에서, 서버 클러스터 내 서버는 제1 블록체인 노드에 대응하는 트랜잭션 메모리로부터 모든 트랜잭션 요청의 이전의 전처리로부터 획득된 전처리된 블록을 획득할 수 있고, 그리고 전처리된 블록을 게이트웨이를 통해 전체 합의 네트워크 내 다른 블록체인 노드(예를 들어, 모든 제2 블록체인 노드)로 전송할 수 있다. 전처리된 블록을 수신할 시, 제2 블록체인 노드는 각각의 부하 균형 디바이스(또는 라우팅 능력을 가진 디바이스)를 통해 자체의 서버 클러스터 내 하나의 서버로 전처리된 블록을 분배시킬 수 있고, 그리고 서버를 통해 전처리된 블록에 관한 합의 검증을 수행할 수 있다.
여기서, 트랜잭션 메모리로부터 위의 전처리된 블록을 획득하는 서버는 서버 클러스터 내 임의의 서버일 수도 있다. 서버 선택은 부하 균형 방식으로 부하 균형 디바이스에 의해 결정(또는 라우팅 능력을 가진 디바이스에 의해 선택)될 수도 있거나, 또는 서버 클러스터 내 지정된 서버에 의해 결정될 수도 있다. 대안적으로, 서버 클러스터 내 각각의 서버에는 합의 기간이 제공될 수도 있고, 그리고 상이한 서버는 상이한 합의 기간을 갖는다. 즉, 상이한 서버의 합의 기간은 시차를 둔다. 서버 클러스터 내 각각의 서버에 대해, 서버는 기간(예를 들어, 블록체인 노드 자체에 대응하는 합의 기간)이 지나갈 때마다 제1 블록체인 노드에 대응하는 트랜잭션 메모리로부터 이전에 획득된 전처리된 블록을 자동으로 획득할 수 있고, 그리고 전처리된 블록을 게이트웨이를 통해 합의 네트워크 내 모든 제2 블록체인 노드로 브로드캐스팅할 수 있다. 게다가, 전처리된 블록을 획득하는 작업이 또한 서버 클러스터 내 지정된 서버에 의해 행해질 수도 있고, 반면에 다른 서버는 전처리된 블록을 획득하는 작업에 참여하지 않는다.
도면에서 알 수 있는 바와 같이, 일부 실시형태에서, 서버 클러스터는 제1 블록체인 노드와 같을 수도 있다. 제1 블록체인 노드의 서버의 수가 단일의 서버로부터 서버 클러스터의 모드로 변화되기 때문에, 서버의 압력 및 트랜잭션 처리 효율 둘 다가 상당히 개선되고, 이는 차후의 사용자의 증가의 결과로서 증가된 트랜잭션 압력에 대한 효과적인 해결책을 제공한다.
일부 실시형태에서, 도 4에 도시된 바와 같이, 지정된 태스크는 라우팅 능력을 가진 디바이스(또는 부하 균형 디바이스)를 통해 제1 블록체인 노드에 포함된 복수의 서버로부터 서버를 선택함으로써 완료될 수 있고, 그리고 게다가, 형태가 유사한 게이트웨이에서 구현될 수 있다. 서버가 게이트웨이를 통해 선택된다면, 게이트웨이가 부하 균형 방식으로 제1 블록체인 노드에 포함된 복수의 서버로부터 서버를 선택하여 지정된 태스크를 완료할 수 있다. 임의 선택 또는 대안적인 구현이 서버를 선택하도록 사용될 수 있다.
위의 라우팅 능력을 가진 디바이스(또는 부하 균형 디바이스)가 선택한 서버가 클라이언트로부터 트랜잭션 요청을 수신한 후, 라우팅 능력을 가진 디바이스는 트랜잭션 요청을 저장하기 위해 제1 블록체인 노드에 포함된 복수의 서버로부터 서버를 다시 한번 선택할 수 있고, 트랜잭션 요청을 트랜잭션 요청을 수신하는 서버를 통해 트랜잭션 요청을 저장하기 위해 선택된 서버로 전송할 수 있고, 그리고 이어서 서버를 통해 트랜잭션 요청을 저장할 수 있다. 제1 블록체인 노드는 라우팅 능력을 가진 디바이스(또는 부하 균형 디바이스)가 선택한 서버를 통해 트랜잭션 요청에 관한 전처리를 수행할 때 동일한 방식을 사용할 수 있다. 즉, 선택된 서버가 트랜잭션 요청에 관한 전처리를 완료한 후, 라우팅 능력을 가진 디바이스는 제1 블록체인 노드에 포함된 복수의 서버로부터 서버를 재결정할 수 있고, 그리고 트랜잭션 요청에 관한 전처리를 완료하는 서버에게 통지하여 획득된 전처리된 블록을 재결정된 서버로 전송하여, 재결정된 서버를 통해 제1 블록체인 노드에 포함된 트랜잭션 메모리에 전처리된 블록을 저장할 수 있다.
도 4에 도시된 바와 같이, 제1 블록체인 노드의 서버 클러스터는 서버 클러스터가 블록체인 트랜잭션에서 작동되는 방식을 설명하도록 예로써 사용되고, 반면에 합의 네트워크 내 모든 제2 블록체인 노드의 서버 클러스터는 위에서 설명된 서버 클러스터와 동일할 수도 있고, 그리고 일부 처리 과정은 제1 블록체인 노드의 위의 서버 클러스터의 처리 과정과 유사하고, 이는 본 명세서에서 상세히 반복되지 않을 것이다.
일부 실시형태에서, 전체 합의 네트워크는 얼라이언스 체인(alliance chain)일 수도 있으면서, 각각의 블록체인 노드는 얼라이언스 체인 내 블록체인 노드일 수도 있다.
본 개시내용의 일부 실시형태에 따른, 합의 검증을 위한 방법이 위에서 설명된다. 동일한 개념에 기초하여, 본 개시내용의 실시형태는 도 5 및 도 6에 도시된 바와 같은 합의 검증을 위한 2개의 장치를 더 제공한다.
도 5는 본 개시내용의 실시형태에 따른, 합의 검증을 위한 장치(500)의 개략도이다. 장치(500)는 합의 네트워크에 (예를 들어, 합의 네트워크 내 제1 블록체인 노드로서) 있을 수도 있고 그리고 소프트웨어, 하드웨어, 또는 둘 다의 조합으로써 구현될 수도 있다. 하나의 실시예에서, 장치(500)는 함께 연결되는 메모리 및 프로세서를 포함할 수도 있다. 메모리는 비일시적이고 그리고 컴퓨터-판독 가능할 수도 있다. 메모리는 프로세서에 의해 실행될 때, 장치(500)가 본 명세서에 설명된 하나 이상의 단계를 수행하게 하는 명령어를 저장할 수도 있다. 일부 실시형태에서, 명령어는 다양한 소프트웨어 모듈로서 구현될 수도 있다. 이러한 모듈은, 단말기로부터 트랜잭션 요청을 수신하고 그리고 트랜잭션 요청에 관한 제1 보안 검증을 수행하도록 구성되는 수신 모듈(501); 트랜잭션 요청이 제1 보안 검증을 통과했다고 결정할 때, 트랜잭션 요청을 저장하고, 그리고 트랜잭션 요청을 합의 네트워크 내 각각의 제2 블록체인 노드로 브로드캐스팅하여, 트랜잭션 요청이 제2 보안 검증을 통과했다고 결정할 때 각각의 제2 블록체인 노드가 트랜잭션 요청을 저장하도록 구성되는 저장 모듈(502); 미리 설정된 조건이 충족되었다고 결정될 때 적어도 하나의 저장된 트랜잭션 요청에 관한 전처리를 수행하여, 전처리된 블록을 획득 및 저장하도록 구성되는 전처리 모듈(503); 및 획득된 전처리된 블록을 제2 블록체인 노드로 브로드캐스팅하여, 제2 블록체인 노드가 획득된 전처리된 블록에 관한 합의 검증을 수행하게 하도록 구성되는 획득 모듈(504)을 포함할 수도 있다.
제1 보안 검증은 비대칭 서명 적법성 검증을 포함한다.
일부 실시형태에서, 저장 모듈(502)은 트랜잭션 요청이 제1 보안 검증에 실패했다고 결정할 때, 트랜잭션 요청을 저장할 수도 없다.
전처리 모듈(503)은 설정된 시간 기간이 지나간 것을 모니터링할 때, 미리 설정된 조건이 충족되었다고 결정할 수도 있다.
전처리 모듈(503)은 미리 설정된 특성값 결정 규칙에 따라, 적어도 하나의 트랜잭션 요청에 대응하는 검증될 특성값을 결정할 수도 있고; 그리고 검증될 특성값 및 적어도 하나의 트랜잭션 요청에 대응하는 모든 트랜잭션 요청 식별자를 전처리된 블록에 패키징할 수도 있다.
도 6은 본 개시내용의 실시형태에 따른, 합의 검증을 위한 또 다른 장치(600)의 개략도이다. 장치(600)는 합의 네트워크에 (예를 들어, 합의 네트워크 내 제2 블록체인 노드로서) 있을 수도 있고 그리고 소프트웨어, 하드웨어, 또는 둘 다의 조합으로써 구현될 수도 있다. 하나의 실시예에서, 장치(600)는 함께 연결되는 메모리 및 프로세서를 포함할 수도 있다. 메모리는 비일시적이고 그리고 컴퓨터-판독 가능할 수도 있다. 메모리는 프로세서에 의해 실행될 때, 장치(600)가 본 명세서에 설명된 하나 이상의 단계를 수행하게 하는 명령어를 저장할 수도 있다. 일부 실시형태에서, 명령어는 다양한 소프트웨어 모듈로서 구현될 수도 있다. 이러한 모듈은, 제1 블록체인 노드가 브로드캐스팅하는 트랜잭션 요청을 수신하고 그리고 트랜잭션 요청에 관한 제2 보안 검증을 수행하도록 구성되는 요청 수신 모듈(601); 트랜잭션 요청이 제2 보안 검증을 통과했다고 결정할 때 트랜잭션 요청을 저장하도록 구성되는 요청 저장 모듈(602); 및 제1 블록체인 노드가 브로드캐스팅하는 전처리된 블록을 수신할 때, 전처리된 블록에 관한 합의 검증을 수행하도록 구성되는 검증 모듈(603)을 포함할 수도 있다.
제2 보안 검증은 비대칭 서명 적법성 검증을 포함한다.
일부 실시형태에서, 요청 저장 모듈(602)은 트랜잭션 요청이 제2 보안 검증에 실패했다고 결정할 때, 트랜잭션 요청을 저장할 수도 없다.
검증 모듈(603)은 제1 블록체인 노드가 브로드캐스팅하는 전처리된 블록을 수신할 때, 전처리된 블록에 포함된 모든 트랜잭션 요청 식별자에 대응하는 트랜잭션 요청을 위해 자체에 저장된 모든 트랜잭션 요청을 검색할 수도 있고, 그리고 미리 설정된 특성값 결정 규칙에 따라, 각각의 트랜잭션 요청에 대응하는 특성값을 결정할 수도 있고; 특성값을 통해, 전처리된 블록에 포함된 검증될 특성값에 관한 합의 검증을 수행할 수도 있다.
일부 실시형태에서, 클라이언트로부터 트랜잭션 요청을 수신할 시, 제1 블록체인 노드는 트랜잭션 요청에 관한 제1 보안 검증을 수행할 수도 있고, 그리고 트랜잭션 요청이 제1 보안 검증을 통과했다고 결정한 후, 트랜잭션 요청을 자체에 저장할 수도 있다. 그 후, 제1 블록체인 노드는 전처리된 블록을 획득하도록 자체에 저장된 모든 트랜잭션 요청 중 적어도 하나의 트랜잭션 요청에 관한 전처리를 수행할 수도 있고, 그리고 전처리된 블록을 저장할 수도 있다. 그 결과, 합의 검증을 수행하는 과정에서, 제1 블록체인 노드는 모든 저장된 전처리된 블록으로부터 전처리된 블록을 직접적으로 획득할 수도 있고, 그리고 전처리된 블록을 합의 검증을 위해 합의 네트워크 내 다른 블록체인 노드로 브로드캐스팅할 수도 있고, 이는 합의 검증 단계의 과정을 매우 간소화하고, 합의 검증에서 소비되는 시간을 단축시키고, 그리고 따라서 블록체인 트랜잭션을 위한 합의 검증 효율을 개선시킨다.
1990년대에, 기술의 개선은 하드웨어 개선(예를 들어, 회로 구조, 예컨대, 다이오드, 트랜지스터, 스위치 등의 개선) 또는 소프트웨어 개선(방법의 흐름의 개선)으로 구별될 수 있다. 그러나, 기술적 개발과 함께, 방법 흐름에 대한 많은 현재의 개선은 하드웨어 회로 구조에 대한 직접적인 개선으로서 간주될 수 있다. 설계자는 개선된 방법 흐름을 하드웨어 회로로 프로그래밍함으로써 대응하는 하드웨어 회로 구조를 획득할 수 있다. 따라서, 방법 흐름의 개선은 하드웨어 구현예에 의해 실현될 수 있다. 예를 들어, 프로그램 가능한 논리 디바이스(Programmable Logic Device: PLD)(예를 들어, 필드 프로그램 가능한 게이트 어레이(Field Programmable Gate Array: FPGA))는 논리 기능이 디바이스의 프로그래밍을 통해 사용자에 결정되는 집적 회로이다. 칩 제작업자가 전용 IC 칩을 설계 및 제작하게 요청할 필요가 없이 설계자는 디지털 시스템을 PLD의 원피스에 "통합"시키도록 프로그래밍할 수 있다. 현재, 이 유형의 프로그래밍은 IC 칩을 수동으로 제작하는 것 대신, "논리 컴파일러" 소프트웨어를 통해 대부분 구현되어 왔다. 논리 컴파일러 소프트웨어는 프로그램 개발 및 기입을 위해 사용되는 소프트웨어 컴파일러와 유사하지만, 특정한 프로그래밍 언어가 컴파일링 전에 원시 코드를 기입하기 위해 사용되고, 이는 하드웨어 기술 언어(Hardware Description Language: HDL)로서 지칭된다. 단 하나가 아닌 많은 유형의 HDL, 예컨대, 진보된 부울식 언어(Advanced Boolean Expression Language: ABEL), 알테라 하드웨어 기술 언어(Altera Hardware Description Language: AHDL), 컨플루언스(Confluence), 코널 대학 프로그래밍 언어(Cornell University Programming Language: CUPL), HDCal, 자바 하드웨어 기술 언어(Java Hardware Description Language: JHDL), 라바(Lava), 로라(Lola), MyHDL, PALASM, 루비 하드웨어 기술 언어(Ruby Hardware Description Language: RHDL)가 있다. 가장 흔히 사용되는 HDL은 초고속 집적 회로 하드웨어 기술 언어(Very-High-Speed Integrated Circuit Hardware Description Language: VHDL)와 베릴로그(Verilog)를 포함한다. 당업자는 방법 흐름의 약간의 논리 프로그래밍을 수행하고 그리고 IC에 프로그래밍하도록 위의 HDL을 사용함으로써 논리 방법 흐름을 구현하도록 하드웨어 회로를 획득하는 것을 알 것이다.
제어기가 임의의 적절한 방식으로 구현될 수도 있다. 예를 들어, 제어기는 예를 들어, 마이크로프로세서 또는 프로세서, 뿐만 아니라 (마이크로)프로세서, 논리 게이트, 스위치, 응용 주문형 집적 회로(Application Specific Integrated Circuit: ASIC), 프로그램 가능한 논리 제어기, 및 내장형 마이크로제어기에 의해 실행될 수 있는 컴퓨터 판독 가능한 프로그램 코드(예를 들어, 소프트웨어 또는 펌웨어)를 저장하는 컴퓨터 판독 가능한 매체의 형태일 수도 있다. 제어기의 예는 다음의 마이크로제어기: ARC 625D, 아트멜(Atmel) AT91SAM, 마이크로칩(Microchip) PIC18F26K20, 및 실리콘 연구소(Silicone Labs) C8051F320을 포함하지만, 이들로 제한되지 않는다. 메모리 제어기는 메모리의 제어 논리의 부분으로서 더 구현될 수도 있다. 당업자는 또한 제어기가 완전한 컴퓨터 판독 가능한 프로그램 코드의 방식으로 구현되는 것에 더하여, 방법의 단계에서 논리 프로그래밍을 수행하는 것이 실현 가능하여 제어기가 논리 게이트, 스위치, ASIC, 프로그램 가능한 논리 제어기, 및 내장형 마이크로제어기의 형태로 동일한 기능을 구현하게 한다는 것을 알아야 한다. 따라서, 이러한 제어기가 하드웨어 부분으로서 간주될 수 있지만, 제어기에 포함되고 그리고 다양한 기능을 수행하도록 구성된 디바이스가 또한 하드웨어 부분 내부의 구조체로서 간주될 수도 있다. 대안적으로, 다양한 기능을 수행하도록 구성된 디바이스는 방법을 구현하기 위한 소프트웨어 모듈과 하드웨어 부분 내부의 구조체 둘 다로서 간주될 수도 있다.
위의 실시형태에서 설명된 시스템, 장치, 모듈 또는 기구는 컴퓨터 칩 또는 엔티티에 의해 구현될 수도 있거나 또는 기능을 가진 제품에 의해 구현될 수도 있다. 전형적인 구현 디바이스는 컴퓨터이다. 예를 들어, 컴퓨터는 개인용 컴퓨터, 랩탑 컴퓨터, 휴대폰, 카메라폰, 스마트폰, 개인 휴대용 단말기, 미디어 플레이어, 네비게이션 디바이스, 이메일 장치, 게임 콘솔, 태블릿 컴퓨터, 착용 가능 디바이스, 또는 이 디바이스 중 임의의 디바이스의 조합일 수도 있다.
설명의 편의성을 위해, 위의 장치는 설명을 위해 기능에 따라 다양한 기구로 나눠진다. 기구의 기능은 본 개시내용을 구현할 때 소프트웨어 및/또는 하드웨어의 하나 또는 다수의 피스로 구현될 수도 있다.
당업자는 본 개시내용의 실시형태가 방법, 시스템 또는 컴퓨터 프로그램 제품으로서 제공될 수도 있다는 것을 이해해야 한다. 따라서, 개시된 시스템은 개시된 방법을 수행하기 위해, 완전한 하드웨어 실시형태, 완전한 소프트웨어 실시형태, 또는 소프트웨어와 하드웨어를 결합한 실시형태로서 구현될 수도 있다. 또한, 개시된 시스템은 컴퓨터 사용 가능한 프로그램 코드를 내부에 포함하는 하나 이상의 컴퓨터 사용 가능한 저장 매체(자기 디스크 메모리, CD-ROM, 광 메모리 등을 포함하지만 이들로 제한되지 않음)에 구현된 컴퓨터 프로그램 제품의 형태일 수도 있다.
개시된 시스템은 본 개시내용의 실시형태에 따라 방법, 디바이스(시스템) 및 컴퓨터 프로그램 제품의 흐름도 및/또는 블록도를 참조하여 설명된다. 컴퓨터 프로그램 명령어가 흐름도 및/또는 블록도에서 각각의 과정 및/또는 블록 그리고 흐름도 및/또는 블록도에서 과정 및/또는 블록의 조합을 구현하도록 사용될 수도 있다는 것이 이해되어야 한다. 이 컴퓨터 프로그램 명령어가 기계를 생산하도록 다용도 컴퓨터, 특수화 컴퓨터, 내장된 프로세서, 또는 다른 프로그램 가능한 데이터 처리 디바이스의 프로세서에 제공될 수도 있어서, 컴퓨터 또는 다른 프로그램 가능한 데이터 처리 디바이스의 프로세서에 의해 실행되는 명령어가 흐름도의 하나 이상의 과정 및/또는 블록도의 하나 이상의 블록에서 지정된 기능을 구현하기 위한 장치를 생성한다.
이 컴퓨터 프로그램 명령어가 또한 컴퓨터 또는 다른 프로그램 가능한 데이터 처리 디바이스가 특정한 방식으로 작동하게 명령할 수 있는 컴퓨터 판독 가능한 메모리에 저장될 수도 있어서, 이 컴퓨터 판독 가능한 메모리에 저장된 명령어가 명령 장치를 포함하는 제작된 물품을 생성한다. 이 명령 장치는 흐름도의 하나 이상의 과정 및/또는 블록도의 하나 이상의 블록에서 하나 이상의 기능을 구현한다.
이 컴퓨터 프로그램 명령어가 컴퓨터 또는 다른 프로그램 가능한 데이터 처리 디바이스에 로딩될 수도 있어서, 일련의 작동 단계가 컴퓨터 또는 다른 프로그램 가능한 디바이스에서 수행되어 컴퓨터 구현 처리를 생성한다. 따라서, 컴퓨터 또는 다른 프로그램 가능한 디바이스에서 실행된 명령어가 흐름도의 하나 이상의 과정 및/또는 블록도의 하나 이상의 블록에서 하나 이상의 기능을 구현하기 위한 단계를 제공한다.
전형적인 구성에서, 연산 디바이스는 하나 이상의 중앙 처리 장치(Central Processing Unit: CPU), 입력/출력 인터페이스, 네트워크 인터페이스 및 메모리를 포함한다.
메모리는 컴퓨터 판독 가능한 매체, 예컨대, 휘발성 메모리, 랜덤 액세스 메모리(Random Access Memory: RAM) 및/또는 비휘발성 메모리, 예를 들어, 판독-전용 메모리(Read-Only Memory: ROM) 또는 플래시 RAM을 포함할 수도 있다. 메모리는 컴퓨터 판독 가능한 매체의 예이다.
컴퓨터 판독 가능한 매체는 영구적, 휘발성, 이동, 및 부동 매체를 포함하고, 이는 임의의 방법 또는 기술을 통해 정보 저장을 구현할 수 있다. 정보는 컴퓨터 판독 가능한 명령어, 데이터 구조, 프로그램 모듈 또는 다른 데이터일 수도 있다. 컴퓨터의 저장 매체의 예는 상-변화 랜덤 액세스 메모리(Phase-change RAM: PRAM), 정적 랜덤 액세스 메모리(Static RAM: SRAM), 동적 랜덤 액세스 메모리(Dynamic RAM: DRAM), 다른 유형의 랜덤 액세스 메모리(RAM), 판독-전용 메모리(ROM), 전기적으로 소거 가능한 프로그램 가능한 판독 전용 메모리(Electrically Erasable Programmable Read-Only Memory: EEPROM), 플래시 메모리 또는 다른 메모리 기술, 콤팩트 디스크-판독-전용 메모리(Compact Disk Read-Only Memory: CD-ROM), 디지털 다기능 디스크(Digital Versatile Disc: DVD) 또는 다른 광 메모리, 카세트, 카세트 및 디스크 메모리 또는 다른 자기 메모리 디바이스 또는 임의의 다른 비전송 매체를 포함하지만, 이들로 제한되지 않고, 이는 연산 디바이스에 액세스 가능한 정보를 저장하기 위해 사용될 수 있다. 본 명세서의 정의에 따르면, 컴퓨터 판독 가능한 매체는 일시적인 매체, 예컨대, 변조된 데이터 신호 및 캐리어를 포함하지 않는다.
용어 "포함" 또는 용어의 임의의 다른 변형은 배타적이지 않은 포함을 포함하도록 의도되어, 일련의 구성요소를 포함하는 과정, 방법, 상품 또는 디바이스가 이 구성요소를 포함할 뿐만 아니라 나열되지 않은 다른 구성요소를 포함하거나, 또는 이 과정, 방법, 상품 또는 디바이스에 고유한 구성요소를 더 포함한다는 것에 더 유의해야 한다. 추가의 제한이 없을 때, 표현 "~을 포함하는"에 의해 규정된 구성요소는 규정된 구성요소를 포함하는 과정, 방법, 상품 또는 디바이스에서 추가의 유사한 구성요소를 배제하지 않는다.
당업자는 본 개시내용의 실시형태가 방법, 시스템 또는 컴퓨터 프로그램 제품으로서 제공될 수도 있다는 것을 이해해야 한다. 따라서, 본 개시내용은 완전한 하드웨어 실시형태, 완전한 소프트웨어 실시형태, 또는 소프트웨어와 하드웨어를 결합한 실시형태로서 구현될 수도 있다. 또한, 본 개시내용은 컴퓨터 사용 가능한 프로그램 코드를 내부에 포함하는 하나 이상의 컴퓨터 사용 가능한 저장 매체(자기 디스크 메모리, CD-ROM, 광 메모리 등을 포함하지만 이들로 제한되지 않음)에 구현된 컴퓨터 프로그램 제품의 형태일 수도 있다.
본 개시내용은 컴퓨터, 예컨대, 프로그램 모듈에 의해 실행되는 컴퓨터 실행 가능한 명령어의 규칙적인 맥락으로 설명될 수도 있다. 다양한 실시형태에서, 프로그램 모듈은 특정한 태스크를 실행하거나 또는 특정한 추상 데이터 유형을 구현하기 위한 루틴, 프로그램, 객체, 컴포넌트, 데이터 구조 등을 포함한다. 본 개시내용은 또한 분산형 연산 환경에서 실행될 수도 있다. 이 분산형 연산 환경에서, 통신 네트워크를 통해 연결된 원격 처리 디바이스가 태스크를 수행한다. 이 분산형 연산 환경에서, 프로그램 모듈은 저장 디바이스를 포함하는, 국부적 및 원격 컴퓨터 저장 매체에 위치될 수 있다.
이 설명에서 실시형태는 각각의 실시형태가 다른 실시형태로부터의 차이에 초점을 맞추는 진보적인 방식으로 설명되고, 그리고 실시형태는 동일한 또는 유사한 부분에 대해 상호 참조될 수도 있다. 시스템 실시형태에 대해, 시스템 실시형태의 설명은 시스템 실시형태가 실질적으로 방법 실시형태와 유사하기 때문에, 비교적 간단하다. 방법 실시형태의 설명은 이의 관련된 부분에 대해 참조될 수도 있다.
본 개시내용의 실시형태는 단지 예시적이고, 그리고 본 개시내용을 제한하도록 사용되지 않는다. 당업자는 개시된 실시형태를 다양한 방식으로 변경 또는 변화시킬 수 있다. 본 개시내용의 정신 및 원리 내에 행해진 모든 변경, 등가 치환 또는 개선은 본 개시내용의 청구항에 포함될 것이다.

Claims (20)

  1. 방법으로서,
    합의 검증 단계가 시작하기 전에:
    합의 네트워크의 제1 블록체인 노드가 블록체인 트랜잭션(transaction)에 대해 비대칭 서명 적법성 검증을 수행하는 단계;
    상기 블록체인 트랜잭션이 상기 비대칭 서명 적법성 검증을 통과(pass)했다는 결정에 응답하여, 상기 제1 블록체인 노드가 상기 블록체인 트랜잭션을 저장하고, 상기 제1 블록 체인 노드가 상기 블록체인 트랜잭션을 상기 합의 네트워크 내 복수의 제2 블록체인 노드의 각각에 브로드캐스팅하는 단계; 및
    상기 제1 블록체인 노드가, 상기 비대칭 서명 적법성 검증을 통과하고 상기 복수의 제2 블록 체인 노드로 브로드캐스팅된 상기 블록체인 트랜잭션의 식별자를 포함하는 전처리된 데이터 블록을 생성하는 단계; 및
    상기 합의 검증 단계 동안에:
    상기 제1 블록체인 노드가 상기 전처리된 데이터 블록을 상기 복수의 제2 블록체인 노드의 각각에 브로드 캐스팅하여, 상기 제2 블록체인 노드로 하여금 획득된 상기 전처리된 데이터 블록에 대해 상기 합의 검증을 수행하도록 하는 단계를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 블록체인 트랜잭션에 대해 비대칭 서명 적법성 검증을 수행하는 단계는:
    상기 제1 블록체인 노드가 클라이언트로부터 상기 블록체인 트랜잭션을 수신하는 단계로서, 상기 제1 블록체인 노드는 복수의 서버 및 상기 복수의 서버에 결합된 메모리를 포함하는, 단계;
    상기 제1 블록 체인 노드가 상기 복수의 서버 간의 부하 균형에 따라 상기 복수의 서버 중 제1 서버를 선택하는 단계; 및
    상기 제1 서버가, 상기 블록체인 트랜잭션에 대해 비대칭 서명 적법성 검증을 수행하는 단계를 포함하는, 방법.
  3. 제2항에 있어서, 상기 복수의 서버는, 상기 제1 블록체인 노드에 대응하는 하나의 노드 아이덴티티(identity: ID), 점 대 점 라우팅 테이블, 및 상기 제1 블록체인 노드에 대응하는 한 쌍의 비대칭 공개 및 개인 키 중 하나 이상을 공유하는, 방법.
  4. 제2항에 있어서,
    상기 제1 블록체인 노드는 상기 복수의 서버에 결합된 라우팅 디바이스를 포함하고,
    상기 복수의 서버 간의 부하 균형에 따라 상기 복수의 서버 중 제1 서버를 선택하는 단계는, 상기 라우팅 디바이스가 상기 복수의 서버 간의 부하 균형에 따라 상기 복수의 서버 중 상기 제1 서버를 선택하는 단계를 포함하는, 방법.
  5. 제 2항에 있어서,
    상기 제1 블록체인 노드는 게이트웨이를 더 포함하고;
    상기 복수의 서버 간의 부하 균형에 따라 상기 복수의 서버 중 제1 서버를 선택하는 단계는, 상기 게이트웨이가 상기 복수의 서버 간의 부하 균형에 따라 상기 복수의 서버 중 상기 제1 서버를 선택하는 단계를 포함하는, 방법.
  6. 제1항에 있어서,
    상기 블록체인 트랜잭션에 대해 비대칭 서명 적법성 검증을 수행하는 단계는:
    상기 블록체인 트랜잭션과 관련된 사용자의 공개-개인 키 쌍의 공개 키를 획득하는 단계로서, 상기 블록체인 트랜잭션은 상기 공개-개인 키 쌍의 개인 키로 암호화되는, 단계;
    상기 블록체인 트랜잭션을 상기 공개 키로 복호화하여 상기 블록체인 트랜잭션의 복호화된 정보를 획득하는 단계; 및
    상기 블록체인 트랜잭션의 복호화된 정보를 검증하는 단계를 포함하는, 방법.
  7. 제1항에 있어서,
    상기 전처리된 데이터 블록을 생성하는 단계는:
    해시 알고리즘에 따라 복수의 블록체인 트랜잭션의 복수의 하위-해시값을 결정하는 단계로서, 상기 복수의 블록체인 트랜잭션은 상기 블록체인 트랜잭션을 포함하는, 단계;
    상기 복수의 블록체인 트랜잭션의 식별자 큐의 순서에 따라 해시 값을 생성하는 단계; 및
    상기 순서로 된 상기 복수의 식별자 큐 및 생성된 해시 값을 상기 전처리된 데이터 블록에 패키징하는 단계를 포함하는, 방법.
  8. 제1항에 있어서,
    상기 전처리된 데이터 블록을 상기 복수의 제2 블록체인 노드의 각각에 브로드 캐스팅하는 단계는,
    상기 제1 블록체인 노드가 상기 복수의 서버 간의 부하 균형에 따라 상기 복수의 서버 중 제2 서버를 선택하는 단계; 및
    상기 제2 서버가 상기 전처리된 데이터 블록을 상기 복수의 제2 블록체인 노드의 각각에 브로드캐스팅하는 단계를 포함하는, 방법.
  9. 방법으로서,
    합의 검증 단계가 시작하기 전에:
    제2 블록체인 노드가, 제 1 블록체인 노드에 의해 브로드캐스팅된 블록체인 트랜잭션을 수신하는 단계;
    상기 제2 블록체인 노드가 상기 블록체인 트랜잭션에 대한 비대칭 서명 적법성 검증을 수행하는 단계;
    상기 제2 블록체인 노드가 상기 블록체인 트랜잭션이 상기 비대칭 서명 적법성 검증을 통과했다고 결정한 것에 응답하여, 상기 제 2 블록체인 노드가 상기 블록체인 트랜잭션을 저장하는 단계; 및
    상기 합의 검증 단계 동안에:
    상기 제 2 블록체인 노드가, 상기 제 1 블록체인 노드에 의해 브로드캐스팅된 전처리된 데이터 블록을 수신하는 단계로서, 상기 전처리된 데이터 블록은 상기 비대칭 서명 적법성 검증을 통과하고 상기 제 2 블록체인 노드에 저장된 상기 블록체인 트랜잭션의 식별자를 포함하는, 단계; 및
    상기 제2 블록체인 노드가 상기 전처리된 데이터 블록에 대한 합의 검증을 수행하는 단계를 포함하는, 방법.
  10. 제 9항에 있어서,
    상기 블록체인 트랜잭션에 대한 비대칭 서명 적법성 검증을 수행하는 단계는,
    상기 제2 블록 체인 노드가, 복수의 서버 간의 부하 균형에 따라 상기 복수의 서버로부터 제1 서버를 선택하는 단계로서, 상기 제 2 블록체인 노드는 상기 복수의 서버 및 상기 복수의 서버에 결합된 메모리를 포함하는, 단계;
    상기 제 1 서버가 제 1 블록체인 노드에 의해 브로드캐스팅된 블록체인 트랜잭션을 수신하는 단계; 및
    상기 제 1 서버가 상기 블록체인 트랜잭션에 대한 비대칭 서명 적법성 검증을 수행하는 단계를 포함하는, 방법.
  11. 제10항에 있어서,
    상기 제2 블록체인 노드는 상기 복수의 서버에 결합된 라우팅 디바이스를 포함하고,
    상기 복수의 서버 간의 부하 균형에 따라 상기 복수의 서버 중 제1 서버를 선택하는 단계는, 상기 라우팅 디바이스가 상기 복수의 서버 간의 부하 균형에 따라 상기 복수의 서버 중 상기 제1 서버를 선택하는 단계를 포함하는, 방법.
  12. 제 10항에 있어서,
    상기 제2 블록체인 노드는 게이트웨이를 더 포함하고;
    상기 복수의 서버 간의 부하 균형에 따라 상기 복수의 서버 중 제1 서버를 선택하는 단계는, 상기 게이트웨이가 상기 복수의 서버 간의 부하 균형에 따라 상기 복수의 서버 중 상기 제1 서버를 선택하는 단계를 포함하는, 방법.
  13. 제9항에 있어서,
    상기 블록체인 트랜잭션에 대해 비대칭 서명 적법성 검증을 수행하는 단계는:
    상기 블록체인 트랜잭션과 관련된 사용자의 공개-개인 키 쌍의 공개 키를 획득하는 단계로서, 상기 블록체인 트랜잭션은 상기 공개-개인 키 쌍의 개인 키로 암호화되는, 단계;
    상기 블록체인 트랜잭션을 상기 공개 키로 복호화하여 상기 블록체인 트랜잭션의 복호화된 정보를 획득하는 단계; 및
    상기 블록체인 트랜잭션의 복호화된 정보를 검증하는 단계를 포함하는, 방법.
  14. 제9항에 있어서,
    상기 제 1 블록체인 노드에 의해 브로드캐스팅된 전처리된 데이터 블록을 수신하는 단계는,
    상기 제2 블록체인 노드가 상기 복수의 서버 간의 부하 균형에 따라 상기 복수의 서버 중 제2 서버를 선택하는 단계; 및
    상기 제 2 서버가, 상기 제 1 블록체인 노드에 의해 브로드캐스팅된 전처리 된 데이터 블록을 수신하는 단계를 포함하는, 방법.
  15. 하나 이상의 프로세서 및 상기 하나 이상의 프로세서에 결합된 하나 이상의 비일시적 컴퓨터-판독 가능한 저장 매체를 포함하는 시스템으로서, 상기 하나 이상의 저장 매체는, 상기 시스템이 제 1항 내지 제 14항 중 어느 한 항의 방법을 수행하게 하기 위해 상기 하나 이상의 프로세서에 의해 실행되는 명령어를 저장하는, 시스템.
  16. 하나 이상의 프로세서가 제 1항 내지 제 14항 중 어느 한 항의 방법을 수행하게 하기 위해 상기 하나 이상의 프로세서에 의해 실행되는 명령어를 저장하는, 비일시적 컴퓨터-판독 가능한 저장 매체.

  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020197027185A 2017-03-24 2018-03-21 합의 검증을 위한 방법 및 장치 KR102304492B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201710181068.8 2017-03-24
CN201710181068.8A CN107196900B (zh) 2017-03-24 2017-03-24 一种共识校验的方法及装置
PCT/US2018/023503 WO2018175540A1 (en) 2017-03-24 2018-03-21 Method and apparatus for consensus verification

Publications (2)

Publication Number Publication Date
KR20190118630A KR20190118630A (ko) 2019-10-18
KR102304492B1 true KR102304492B1 (ko) 2021-09-24

Family

ID=59870901

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197027185A KR102304492B1 (ko) 2017-03-24 2018-03-21 합의 검증을 위한 방법 및 장치

Country Status (15)

Country Link
US (2) US11334888B2 (ko)
EP (1) EP3602453A1 (ko)
JP (1) JP6959353B2 (ko)
KR (1) KR102304492B1 (ko)
CN (2) CN107196900B (ko)
AU (2) AU2018240272B2 (ko)
BR (1) BR112019019871B1 (ko)
CA (1) CA3054840A1 (ko)
MX (1) MX2019010877A (ko)
PH (1) PH12019502020A1 (ko)
RU (1) RU2733112C1 (ko)
SG (2) SG11201907842XA (ko)
TW (1) TWI685764B (ko)
WO (1) WO2018175540A1 (ko)
ZA (1) ZA201905651B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023111884A1 (en) * 2021-12-17 2023-06-22 National Payments Corporation Of India A system and method for providing data privacy in a blockchain network

Families Citing this family (145)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10419225B2 (en) 2017-01-30 2019-09-17 Factom, Inc. Validating documents via blockchain
US10411897B2 (en) 2017-02-17 2019-09-10 Factom, Inc. Secret sharing via blockchains
US10817873B2 (en) 2017-03-22 2020-10-27 Factom, Inc. Auditing of electronic documents
CN111724150B (zh) * 2017-03-28 2023-11-24 创新先进技术有限公司 一种业务请求的处理方法及装置
CN113766035B (zh) * 2017-03-28 2023-05-23 创新先进技术有限公司 一种业务受理及共识的方法及装置
GB201707296D0 (en) * 2017-05-08 2017-06-21 Nchain Holdings Ltd Computer-implemented system and method
CN107734021B (zh) * 2017-09-30 2020-04-07 深圳壹账通智能科技有限公司 区块链数据上传方法、系统、计算机系统及存储介质
CN108009917B (zh) * 2017-10-13 2021-12-07 中国银联股份有限公司 数字货币的交易验证和登记方法及系统
CN108023729B (zh) * 2017-10-13 2020-06-23 中国银联股份有限公司 区块链网络及其交易方法
CN107979590B (zh) 2017-11-02 2020-01-17 财付通支付科技有限公司 数据共享方法、客户端、服务器、计算设备及存储介质
CN108009824A (zh) * 2017-11-28 2018-05-08 北京博晨技术有限公司 数据共识方法、装置及电子设备
CN108667790B (zh) * 2017-12-14 2020-10-09 郭建峰 一种区块链公共节点共识认证的通信协议方法
CN108111604B (zh) * 2017-12-21 2020-08-14 广州广电运通金融电子股份有限公司 区块链共识方法、装置和系统、标识信息处理方法和装置
CN108376106A (zh) * 2018-02-01 2018-08-07 中国工商银行股份有限公司 一种区块链消息反馈方法及系统
CN108537525B (zh) 2018-03-09 2020-06-09 阿里巴巴集团控股有限公司 一种共识验证方法、装置及设备
US20190287107A1 (en) * 2018-03-15 2019-09-19 International Business Machines Corporation Resource equity for blockchain
US20190295049A1 (en) * 2018-03-22 2019-09-26 NEC Laboratories Europe GmbH System and method for secure transaction verification in a distributed ledger system
CN108776929A (zh) * 2018-04-02 2018-11-09 成都云创智融科技有限公司 基于区块链数据库的账单处理方法、系统和可读存储介质
CN108809929B (zh) * 2018-04-08 2020-07-17 浙江商业职业技术学院 一种基于区块链技术的农村金融系统
CN108833330B (zh) * 2018-04-08 2020-07-17 浙江商业职业技术学院 一种农村电子商务数据鉴证方法
CN108668277B (zh) * 2018-04-17 2020-01-14 上海连尚网络科技有限公司 用于分享信息、获取信息的方法和设备
CN108648078B (zh) * 2018-05-02 2021-03-23 杭州溪塔科技有限公司 一种交易预处理方法、装置及电子设备
CN108933667B (zh) * 2018-05-03 2021-08-10 深圳市京兰健康医疗大数据有限公司 一种基于区块链的公钥证书的管理方法及管理系统
US10579424B2 (en) * 2018-05-15 2020-03-03 International Business Machines Corporation Prioritization in a permissioned blockchain
US10783164B2 (en) 2018-05-18 2020-09-22 Factom, Inc. Import and export in blockchain environments
US11170366B2 (en) 2018-05-18 2021-11-09 Inveniam Capital Partners, Inc. Private blockchain services
US11134120B2 (en) * 2018-05-18 2021-09-28 Inveniam Capital Partners, Inc. Load balancing in blockchain environments
JP7036665B2 (ja) * 2018-05-22 2022-03-15 株式会社日立製作所 データ管理方法およびデータ管理システム
WO2019231408A1 (en) * 2018-06-01 2019-12-05 Mettkaruchit Monai Balance block chain transaction system and recording method
CN108810148A (zh) * 2018-06-15 2018-11-13 青岛宇硕云联信息科技有限公司 基于区块链的云手机交互系统、方法及装置
CN110634303B (zh) * 2018-06-22 2023-03-14 阿里巴巴集团控股有限公司 一种交通违法监测及校验的方法和装置
CN108988326B (zh) * 2018-07-20 2022-04-26 阳光电源(上海)有限公司 一种分布式智慧能量管理设备与网络
US11295296B2 (en) 2018-08-06 2022-04-05 Inveniam Capital Partners, Inc. Digital contracts in blockchain environments
US11989208B2 (en) 2018-08-06 2024-05-21 Inveniam Capital Partners, Inc. Transactional sharding of blockchain transactions
US11328290B2 (en) 2018-08-06 2022-05-10 Inveniam Capital Partners, Inc. Stable cryptocurrency coinage
CN109224450B (zh) * 2018-08-29 2021-08-31 杭州复杂美科技有限公司 虚拟房产游戏方法、设备和存储介质
CN109345388B (zh) * 2018-09-20 2020-09-08 百度在线网络技术(北京)有限公司 区块链智能合约验证方法、装置及存储介质
CN109257427B (zh) * 2018-09-26 2021-04-02 网宿科技股份有限公司 一种基于区块链的业务处理方法及系统
CN109347941A (zh) * 2018-10-10 2019-02-15 南京简诺特智能科技有限公司 一种基于区块链的数据共享平台及其实现方法
CN109547407B (zh) * 2018-10-16 2024-01-12 国际商业机器公司 一种环境监测数据的全过程追踪方法及区块链节点
CN109308410A (zh) * 2018-10-16 2019-02-05 翟红鹰 获取区块链数据的方法、系统及计算机可读存储介质
US11240025B2 (en) 2018-11-09 2022-02-01 Ares Technologies, Inc. Systems and methods for distributed key storage
KR102125659B1 (ko) * 2018-11-16 2020-06-23 알리바바 그룹 홀딩 리미티드 블록체인 시스템에서 도메인 이름 스킴을 사용하는 크로스-체인 상호 작용
CN111434085B (zh) 2018-11-16 2022-05-13 创新先进技术有限公司 用于在区块链系统中进行跨链交互的域名管理方案
CN111899104B (zh) * 2018-11-27 2023-12-01 创新先进技术有限公司 一种业务执行方法及装置
WO2020108289A1 (zh) * 2018-11-29 2020-06-04 华为技术有限公司 一种数据库系统、节点和方法
CN110009336A (zh) * 2018-12-13 2019-07-12 阿里巴巴集团控股有限公司 基于区块链的取证方法及装置
CN109740320A (zh) * 2018-12-14 2019-05-10 深圳壹账通智能科技有限公司 一种基于区块链的身份认证方法及终端设备
US11386078B2 (en) * 2018-12-17 2022-07-12 Sap Se Distributed trust data storage system
CN110088793B (zh) * 2018-12-19 2023-10-20 创新先进技术有限公司 区块链网络中的数据隔离
CN109815051A (zh) * 2018-12-20 2019-05-28 深圳智乾区块链科技有限公司 区块链的数据处理方法和系统
CN111369243B (zh) * 2018-12-24 2023-07-14 航天信息股份有限公司 一种分布式记账的方法和装置
CN109710694A (zh) * 2018-12-26 2019-05-03 深圳市网心科技有限公司 数据处理方法、设备、存储介质和区块链系统
CN109889498B (zh) * 2019-01-16 2021-10-29 余炀 基于区块链的计算验证方法及系统
CN110046996B (zh) * 2019-01-18 2020-09-15 阿里巴巴集团控股有限公司 数据处理方法和装置
CN109936620B (zh) * 2019-01-21 2022-02-01 中国联合网络通信集团有限公司 基于区块链的存储方法及装置、系统与存储介质
CN109831425B (zh) * 2019-01-25 2022-02-15 中国联合网络通信集团有限公司 区块链共识方法、装置、设备及计算机可读存储介质
CN109995536A (zh) * 2019-03-15 2019-07-09 广州杰赛科技股份有限公司 一种区块链共识方法、装置及可读存储介质
WO2020197514A1 (en) * 2019-03-27 2020-10-01 Koc Universitesi A distributed hash table based blockchain architecture for resource constrained environments
CN109995781B (zh) * 2019-03-29 2021-06-22 腾讯科技(深圳)有限公司 数据的传输方法、装置、介质以及设备
SG11201909767TA (en) 2019-04-12 2019-11-28 Alibaba Group Holding Ltd Performing parallel execution of transactions in a distributed ledger system
CN111095325B (zh) * 2019-04-12 2023-10-27 创新先进技术有限公司 在分布式账本系统中进行交易的并行执行
CN110046896B (zh) * 2019-04-26 2022-03-01 腾讯科技(深圳)有限公司 一种区块处理方法和节点以及系统
US11115188B2 (en) * 2019-04-29 2021-09-07 Advanced New Technologies Co., Ltd. Blockchain-based data processing method, apparatus, and blockchain node
JP7192196B2 (ja) * 2019-04-29 2022-12-20 アドボケイト リミテッド 複数のノードに基づくネットワークトランザクション検証方法及びそのシステム並びに記憶媒体
CN110263580B (zh) * 2019-04-29 2021-03-23 创新先进技术有限公司 基于区块链的数据处理方法、装置和区块链节点
CN110287254B (zh) * 2019-05-08 2021-08-20 杭州圣吉奥软件有限公司 一种基于联盟链的数据交易方法、装置及计算机设备
CN110099127A (zh) * 2019-05-13 2019-08-06 西安华域网络文化发展有限公司 一种区块链数据同步方法、装置、介质和电子设备
CN110189226B (zh) * 2019-05-31 2024-02-27 深圳市迅雷网络技术有限公司 一种区块链共识方法及装置,一种联盟链系统
CN110443703A (zh) * 2019-06-26 2019-11-12 深圳壹账通智能科技有限公司 环保监督方法及装置、电子设备和计算机可读存储介质
EP3659319B1 (en) * 2019-06-26 2021-11-24 Advanced New Technologies Co., Ltd. Improved anti-replay device based on memory space interchange
CN110298757B (zh) * 2019-07-05 2021-04-02 北京瑞策科技有限公司 涉及DPoS的共识方法及其装置
CN110321723B (zh) * 2019-07-08 2021-11-09 环玺信息科技(上海)有限公司 一种区块链安全信息处理系统及方法、电子设备、介质
CN112241515A (zh) * 2019-07-19 2021-01-19 傲为信息技术(江苏)有限公司 一种数字资产认证处理系统
CN110460661A (zh) * 2019-08-09 2019-11-15 成都薇米创想科技有限公司 一种基于区块链的共识算法
CN110555129B (zh) * 2019-08-16 2022-02-18 桂林电子科技大学 一种基于联盟链的空间影像数据交互方法及装置
CN112491935A (zh) * 2019-08-20 2021-03-12 厦门本能管家科技有限公司 一种用于区块链的水波式广播方法及系统
CN110517145B (zh) * 2019-08-29 2023-02-24 深圳市网心科技有限公司 基于多区块链间的数据交易方法及相关设备
CN110380919B (zh) * 2019-08-30 2021-11-05 望海康信(北京)科技股份公司 区块链请求的处理方法、装置、电子设备及可读存储介质
CN110570196B (zh) * 2019-09-05 2024-06-28 腾讯科技(深圳)有限公司 交易数据处理方法、装置、终端设备以及存储介质
CN110572287B (zh) * 2019-09-05 2022-03-18 腾讯科技(深圳)有限公司 数据容灾方法、装置、计算机设备和存储介质
CN110601995B (zh) * 2019-09-12 2023-03-24 腾讯科技(深圳)有限公司 在区块链网络中控制流量的方法、装置、存储介质和设备
CN113141259B (zh) 2019-09-12 2022-04-29 腾讯科技(深圳)有限公司 在区块链网络中更换身份证书的方法和装置
KR102150210B1 (ko) * 2019-09-16 2020-09-01 (주) 모로보기 블록체인 네트워크
CN110647582B (zh) * 2019-09-17 2024-01-02 腾讯科技(深圳)有限公司 区块链网络共识校验的方法、装置、存储介质和计算机设备
CN110572468B (zh) * 2019-09-17 2022-11-04 平安科技(深圳)有限公司 服务器集群文件同步方法及装置、电子设备及存储介质
CN110597918B (zh) * 2019-09-23 2024-05-28 腾讯科技(深圳)有限公司 一种账户管理方法、装置及计算机可读存储介质
CN110599175A (zh) * 2019-09-23 2019-12-20 腾讯科技(深圳)有限公司 一种区块处理方法及相关设备
CN110647559A (zh) * 2019-09-24 2020-01-03 腾讯科技(深圳)有限公司 数据处理方法、相关节点及系统
CN110602246B (zh) * 2019-09-26 2022-04-15 腾讯科技(深圳)有限公司 基于区块链的资源发放方法、装置和区块链系统
CN110910148A (zh) * 2019-10-11 2020-03-24 北京海益同展信息科技有限公司 一种基于区块链的物品验证方法及装置、存储介质
CN110572480B (zh) * 2019-10-14 2022-07-05 腾讯科技(深圳)有限公司 测试设备校准的实现方法、装置及设备
CN110781192B (zh) * 2019-10-30 2021-11-30 支付宝(杭州)信息技术有限公司 区块链数据的验证方法、装置及设备
CN110956542B (zh) * 2019-11-07 2021-05-18 支付宝(杭州)信息技术有限公司 区块链系统及其运行方法、装置及设备
CN110995667B (zh) * 2019-11-19 2022-07-05 度小满科技(北京)有限公司 一种文献识别方法、装置及系统
CN110909808B (zh) * 2019-11-27 2022-09-06 京东科技信息技术有限公司 用于防伪验证的方法、系统和装置
CN112153057A (zh) * 2019-11-27 2020-12-29 朱培培 基于区块链的数据流检测方法及系统
CN110992027B (zh) * 2019-11-29 2022-02-25 支付宝(杭州)信息技术有限公司 在区块链中实现隐私保护的高效交易方法及装置
CN111080296B (zh) * 2019-12-05 2023-12-01 深圳前海微众银行股份有限公司 一种基于区块链系统的验证方法及装置
CN111125136B (zh) * 2019-12-23 2023-07-28 传神语联网网络科技股份有限公司 翻译过程中关键术语认证的区块链方法和系统
CN111145025B (zh) * 2019-12-30 2023-07-14 北京工商大学 一种基于区块链的供应链数据双链存储优化方法
CN113128998B (zh) * 2019-12-31 2024-04-12 航天信息股份有限公司 一种区块链系统的业务处理方法、装置及系统
CN111210348B (zh) * 2019-12-31 2024-04-19 远光软件股份有限公司 区块链的交易方法、电子设备和存储介质
CN111131329A (zh) * 2020-01-04 2020-05-08 天津金农企业管理咨询合伙企业(有限合伙) 区块链系统的数据共识方法、装置及硬件设备
CN111242784B (zh) * 2020-01-16 2023-12-29 深圳大学 区块预打包方法、区块节点、装置及存储介质
KR102094705B1 (ko) 2020-01-17 2020-03-30 주식회사 에프엔에스벨류 블록 체인을 기반으로 한 다중 노드 인증 방법 및 이를 위한 장치
US11444749B2 (en) 2020-01-17 2022-09-13 Inveniam Capital Partners, Inc. Separating hashing from proof-of-work in blockchain environments
CN111352705B (zh) * 2020-02-25 2023-10-31 百度在线网络技术(北京)有限公司 一种区块链的事务处理方法、装置、设备和介质
KR102217052B1 (ko) 2020-02-26 2021-02-18 (주)소셜인프라테크 블록체인 기반 합의를 통한 전자문서 통합 관리 시스템
CN111445241A (zh) * 2020-02-28 2020-07-24 杭州泛链科技有限公司 一种结合pow和pos的混合共识方法及共识设备
KR102351050B1 (ko) 2020-03-11 2022-01-13 (주)소셜인프라테크 블록체인 기반 전자 합의 문서를 이용한 그룹 전산 관리 시스템
CN111444203B (zh) * 2020-03-24 2021-09-28 腾讯科技(深圳)有限公司 一种同步处理方法、装置、设备及介质
CN111368343B (zh) * 2020-03-31 2022-11-01 北京俩撇科技有限公司 一种区块链系统、数据存储方法及装置
CN111522876B (zh) * 2020-04-07 2024-02-20 金蝶软件(中国)有限公司 区块链共识方法、装置和计算机设备、及区块链节点
CN111510484B (zh) * 2020-04-10 2023-07-04 金蝶软件(中国)有限公司 区块链处理方法、系统、装置、计算机设备和存储介质
CN111524011B (zh) * 2020-05-06 2023-05-30 杭州复杂美科技有限公司 平行链共识确认方法、设备和存储介质
CN111524010B (zh) * 2020-05-06 2023-06-02 杭州复杂美科技有限公司 平行链共识方法、设备和存储介质
CN111383118A (zh) * 2020-05-29 2020-07-07 支付宝(杭州)信息技术有限公司 基于区块链的资产管理方法、装置和电子设备
CN111444284A (zh) * 2020-06-18 2020-07-24 榕知(杭州)信息技术有限公司 基于区块链的知识产权交易方法、系统、设备及计算机可读存储介质
CN111866085B (zh) * 2020-06-28 2021-12-14 北京沃东天骏信息技术有限公司 基于区块链的数据存储方法、系统和装置
CN111522822A (zh) 2020-07-03 2020-08-11 支付宝(杭州)信息技术有限公司 一种区块链共识方法、装置及电子设备
WO2022010289A1 (ko) * 2020-07-10 2022-01-13 주식회사 미디움 하이퍼레저 패브릭 구조에서 피어 단말기에 수신된 블록 데이터를 처리하는 방법
CN111858772A (zh) * 2020-07-30 2020-10-30 杭州复杂美科技有限公司 平行链交易组执行方法、设备和存储介质
CN112069259B (zh) * 2020-09-09 2023-08-18 天津大学 一种基于区块链的多云环境数据存储系统及方法
CN112153069A (zh) * 2020-09-29 2020-12-29 青岛网信信息科技有限公司 长度可配置的区块链方法及装置、存储介质、电子设备
KR102506286B1 (ko) * 2020-11-25 2023-03-06 주식회사 디지캡 멀티채널 블록체인 트랜잭션 배치 처리 장치
CN114650289B (zh) * 2020-12-02 2023-04-14 王志诚 用于区块链共识的方法及装置
CN114666327B (zh) * 2020-12-23 2023-12-19 富泰华工业(深圳)有限公司 基于区块链交易的区块打包方法、装置及电子设备
CN113810453B (zh) * 2020-12-28 2024-06-18 京东科技控股股份有限公司 基于共识区块链的时间戳标记方法和装置
WO2022141060A1 (zh) * 2020-12-29 2022-07-07 杭州趣链科技有限公司 基于区块链的数据上链方法、装置、终端及存储介质
CN112838930B (zh) * 2021-01-25 2022-12-06 网易(杭州)网络有限公司 区块链交易的执行方法及装置、电子设备、存储介质
CN112995317B (zh) * 2021-02-26 2023-04-07 中国工商银行股份有限公司 区块链共识方法及区块链节点
CN113225191B (zh) * 2021-03-24 2024-02-13 湖南宸瀚信息科技有限责任公司 共识节点的生成方法、装置、存储介质及处理器
US12008526B2 (en) 2021-03-26 2024-06-11 Inveniam Capital Partners, Inc. Computer system and method for programmatic collateralization services
WO2022245374A1 (en) * 2021-05-21 2022-11-24 Hewlett-Packard Development Company, L.P. Authorization service
US12007972B2 (en) 2021-06-19 2024-06-11 Inveniam Capital Partners, Inc. Systems and methods for processing blockchain transactions
CN113382018A (zh) * 2021-06-29 2021-09-10 深圳市高德信通信股份有限公司 一种基于区块链的多链管理方法及其系统
CN113765665B (zh) * 2021-11-10 2022-02-08 济南量子技术研究院 基于量子密钥的区块链网络及数据安全传输方法
KR102391185B1 (ko) * 2021-11-24 2022-04-28 엘에스웨어(주) 블록체인 외부 입력 검증 방법 및 시스템
KR20230132318A (ko) 2022-03-08 2023-09-15 주식회사 네츠로 가상 화폐 지불을 통한 전자 문서 관리 장치 및 방법
CN115186035B (zh) * 2022-09-13 2022-11-22 腾讯科技(深圳)有限公司 一种区块处理方法、相关系统及存储介质和服务器
US11757985B1 (en) * 2022-11-16 2023-09-12 Coinbase, Inc. Systems and methods for a blockchain interoperability platform
CN116260655B (zh) * 2023-05-06 2023-07-25 杭州瀚陆信息技术有限公司 一种深海机器人数据传输方法和系统
CN117493356B (zh) * 2023-10-09 2024-04-26 南京理工大学 一种基于区块链智能合约引擎的工业应用构建方法
CN117132280B (zh) * 2023-10-26 2024-02-02 环球数科集团有限公司 一种基于Web3技术的分布式交易验证系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101701131B1 (ko) * 2016-04-28 2017-02-13 주식회사 라피 이종간 블록체인 연결을 이용한 데이터 기록/검증 방법 및 시스템

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
PA8502401A1 (es) 1999-09-17 2002-02-21 Nagracard Sa Procedimiento y sistema de transmision de una cadena de mensajes para banco de datos.
US20110238855A1 (en) * 2000-09-25 2011-09-29 Yevgeny Korsunsky Processing data flows with a data flow processor
US7296061B2 (en) * 2001-11-21 2007-11-13 Blue Titan Software, Inc. Distributed web services network architecture
US7409460B1 (en) * 2003-05-12 2008-08-05 F5 Networks, Inc. Method and apparatus for managing network traffic
US20110078303A1 (en) 2009-09-30 2011-03-31 Alcatel-Lucent Usa Inc. Dynamic load balancing and scaling of allocated cloud resources in an enterprise network
US9569771B2 (en) 2011-04-29 2017-02-14 Stephen Lesavich Method and system for storage and retrieval of blockchain blocks using galois fields
US9432452B2 (en) * 2012-09-10 2016-08-30 Joosy, Inc. Systems and methods for dynamic networked peer-to-peer content distribution
US11394773B2 (en) * 2014-06-19 2022-07-19 Jim Austin Joseph Cryptographic currency block chain based voting system
US11055707B2 (en) * 2014-06-24 2021-07-06 Visa International Service Association Cryptocurrency infrastructure system
US9608829B2 (en) 2014-07-25 2017-03-28 Blockchain Technologies Corporation System and method for creating a multi-branched blockchain with configurable protocol rules
US20160098723A1 (en) * 2014-10-01 2016-04-07 The Filing Cabinet, LLC System and method for block-chain verification of goods
TWI524289B (zh) * 2014-11-12 2016-03-01 Jetsream Holding Ltd Data transfer method between bit currency trading devices
US20160162897A1 (en) 2014-12-03 2016-06-09 The Filing Cabinet, LLC System and method for user authentication using crypto-currency transactions as access tokens
US11386404B2 (en) 2015-02-04 2022-07-12 Ripple Luxembourg S.A. Temporary consensus subnetwork in a distributed network for payment processing
US10579974B1 (en) 2015-02-16 2020-03-03 AI Coin Inc. Systems, methods, and program products for a distributed digital asset network with rapid transaction settlements
US9436923B1 (en) 2015-02-26 2016-09-06 Skuchain, Inc. Tracking unitization occurring in a supply chain
US11392955B2 (en) * 2015-05-20 2022-07-19 Ripple Luxembourg S.A. Temporary consensus networks in a resource transfer system
US10963881B2 (en) 2015-05-21 2021-03-30 Mastercard International Incorporated Method and system for fraud control of blockchain-based transactions
CN106251144A (zh) * 2015-06-05 2016-12-21 地气股份有限公司 电子货币管理方法及电子货币节点装置
WO2017006135A1 (en) 2015-07-08 2017-01-12 Barclays Bank Plc Data validation and storage
US10268744B2 (en) * 2015-09-22 2019-04-23 Walmart Apollo, Llc System for maintaining consistency across a decentralized database cluster and method therefor
US10643288B2 (en) * 2015-10-13 2020-05-05 TransActive Grid Inc. Use of blockchain based distributed consensus control
US20170140394A1 (en) 2015-11-18 2017-05-18 International Business Machines Corporation Consensus-based reputation tracking in online marketplaces
CN105488665A (zh) * 2015-11-25 2016-04-13 布比(北京)网络技术有限公司 一种去中心化的交易方法
CN105719172A (zh) * 2016-01-19 2016-06-29 布比(北京)网络技术有限公司 一种信息发布方法及装置
GB2549075B (en) * 2016-03-24 2022-10-12 Mount Watatic Ltd Device, method and system for a distributed ledger
CN105956923B (zh) * 2016-04-20 2022-04-29 上海如鸽投资有限公司 资产交易系统以及资产的数字化认证和交易方法
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
CN106060036B (zh) * 2016-05-26 2019-07-16 布比(北京)网络技术有限公司 去中心化共识方法及装置
CN105976232B (zh) * 2016-06-24 2020-04-28 深圳前海微众银行股份有限公司 资产交易方法和装置
CN106228344A (zh) * 2016-07-28 2016-12-14 杭州云象网络技术有限公司 一种基于区块链技术的电子政务系统建设方法
CN106130738A (zh) * 2016-08-25 2016-11-16 杭州天谷信息科技有限公司 一种支持国密算法的区块链系统
CN106445711B (zh) * 2016-08-28 2019-04-30 杭州云象网络技术有限公司 一种应用于区块链的拜占庭容错共识方法
CN106301792B (zh) * 2016-08-31 2019-10-18 江苏通付盾科技有限公司 基于区块链的ca认证管理方法、装置及系统
CN106384236B (zh) * 2016-08-31 2019-07-16 江苏通付盾科技有限公司 基于区块链的ca认证管理方法、装置及系统
CN106452785B (zh) * 2016-09-29 2019-05-17 财付通支付科技有限公司 区块链网络、分支节点及区块链网络应用方法
WO2017186317A1 (en) * 2016-10-04 2017-11-02 Nec Europe Ltd. Method and system for byzantine fault-tolerance replicating of data on a plurality of servers
US10360191B2 (en) 2016-10-07 2019-07-23 International Business Machines Corporation Establishing overlay trust consensus for blockchain trust validation system
US10158527B2 (en) 2016-10-28 2018-12-18 International Business Machines Corporation Changing an existing blockchain trust configuration
CN106534317B (zh) * 2016-11-17 2019-09-03 杭州云象网络技术有限公司 一种基于区块链技术的灾备云存储系统构建方法
CN106411503B (zh) 2016-11-28 2019-11-08 中国银行股份有限公司 区块链投票记账模式的记账方法及系统、投票及记账节点
US10586210B2 (en) 2016-11-30 2020-03-10 International Business Machines Corporation Blockchain checkpoints and certified checkpoints
US10523421B2 (en) 2016-11-30 2019-12-31 International Business Machines Corporation Checkpoints for permissionless blockchains
US20180158034A1 (en) 2016-12-07 2018-06-07 International Business Machines Corporation Dynamic reordering of blockchain transactions to optimize performance and scalability
US10387684B2 (en) 2016-12-09 2019-08-20 International Business Machines Corporation Interlocked blockchains to increase blockchain security
WO2018145168A1 (en) * 2017-02-10 2018-08-16 New Trust Ip Limited A distributed block chain cryptocurrency system for securement against unauthorised transactions
US9998286B1 (en) 2017-02-17 2018-06-12 Accenture Global Solutions Limited Hardware blockchain consensus operating procedure enforcement
US10579368B2 (en) 2017-03-10 2020-03-03 Salesforce.Com, Inc. Blockchain version control systems

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101701131B1 (ko) * 2016-04-28 2017-02-13 주식회사 라피 이종간 블록체인 연결을 이용한 데이터 기록/검증 방법 및 시스템

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Andreas M.Antonopoulos,"Mastering Bitcoin", O'Reilly Media, 2014.12*
Howie Liu, "Mastering Bitcoin",online, 2014.4.15*

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023111884A1 (en) * 2021-12-17 2023-06-22 National Payments Corporation Of India A system and method for providing data privacy in a blockchain network

Also Published As

Publication number Publication date
US11334888B2 (en) 2022-05-17
SG10202101132RA (en) 2021-03-30
BR112019019871A2 (pt) 2020-04-22
ZA201905651B (en) 2020-12-23
PH12019502020A1 (en) 2020-03-16
MX2019010877A (es) 2019-12-16
AU2018240272B2 (en) 2020-07-30
AU2019101567A4 (en) 2020-01-23
US20200160336A1 (en) 2020-05-21
TW201835803A (zh) 2018-10-01
CN111614655A (zh) 2020-09-01
KR20190118630A (ko) 2019-10-18
WO2018175540A1 (en) 2018-09-27
SG11201907842XA (en) 2019-10-30
US20180276668A1 (en) 2018-09-27
CA3054840A1 (en) 2018-09-27
CN107196900A (zh) 2017-09-22
US10929845B2 (en) 2021-02-23
BR112019019871B1 (pt) 2021-11-16
TWI685764B (zh) 2020-02-21
AU2018240272A1 (en) 2019-09-19
JP6959353B2 (ja) 2021-11-02
JP2020511881A (ja) 2020-04-16
RU2733112C1 (ru) 2020-09-29
EP3602453A1 (en) 2020-02-05
CN107196900B (zh) 2020-04-24

Similar Documents

Publication Publication Date Title
KR102304492B1 (ko) 합의 검증을 위한 방법 및 장치
KR102262713B1 (ko) 블록체인 합의를 위한 방법, 장치 및 시스템
KR102152556B1 (ko) 서비스 프로세싱 및 합의 방법 및 디바이스
AU2019101613A4 (en) Method and apparatus for processing transaction requests
TWI660617B (zh) 區塊鏈共識方法及設備
KR102315306B1 (ko) 비즈니스 검증 방법 및 장치
JP7080242B2 (ja) 認証方法及びブロックチェーンに基づいた認証データ処理方法及び装置
EP3565219B1 (en) Service execution method and device
KR20210081444A (ko) 합의 검증 방법 및 디바이스
WO2021174930A1 (zh) 一种业务处理系统、业务处理的方法、装置及设备
JP2020512606A (ja) サービス要求を処理するための方法およびデバイス
TW201822033A (zh) 資源處理方法及裝置
US10999283B2 (en) Addressing transaction conflict in blockchain systems
TWI759638B (zh) 操作請求分配方法、裝置及設備
TWI694700B (zh) 資料處理方法和裝置、用戶端
TW202008762A (zh) 資料處理方法和裝置、客戶端、伺服器
TW202008153A (zh) 資料處理方法和裝置、伺服器

Legal Events

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