KR102315306B1 - 비즈니스 검증 방법 및 장치 - Google Patents

비즈니스 검증 방법 및 장치 Download PDF

Info

Publication number
KR102315306B1
KR102315306B1 KR1020197027686A KR20197027686A KR102315306B1 KR 102315306 B1 KR102315306 B1 KR 102315306B1 KR 1020197027686 A KR1020197027686 A KR 1020197027686A KR 20197027686 A KR20197027686 A KR 20197027686A KR 102315306 B1 KR102315306 B1 KR 102315306B1
Authority
KR
South Korea
Prior art keywords
business
blockchain
business request
node
request
Prior art date
Application number
KR1020197027686A
Other languages
English (en)
Other versions
KR20190115475A (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 KR20190115475A publication Critical patent/KR20190115475A/ko
Application granted granted Critical
Publication of KR102315306B1 publication Critical patent/KR102315306B1/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
    • G06Q10/00Administration; Management
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0637Strategic management or analysis, e.g. setting a goal or target of an organisation; Planning actions based on goals; Analysis or evaluation of effectiveness of goals
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • 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
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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/104Peer-to-peer [P2P] networks
    • 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/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]
    • H04L67/16
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • 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/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
    • 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/56Financial cryptography, e.g. electronic payment or e-cash
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Accounting & Taxation (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Economics (AREA)
  • Finance (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Technology Law (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Multi Processors (AREA)

Abstract

본 출원은 비즈니스 검증 방법 및 장치를 개시한다. 그 방법에서, 제1 블록 체인 노드는, 자기 자신의 비즈니스 메모리로부터 획득되는 적어도 하나의 비즈니스 요청을 사전 프로세싱된 블록으로 패키징하고, 사전 프로세싱된 블록을 제2 블록 체인 노드로 브로드캐스트한다. 자신에게 대응하는 비즈니스 메모리가 사전 프로세싱된 블록 내의 비즈니스 요청의 일부를 포함하지 않는 것을 발견하면, 제2 블록 체인 노드는 다른 블록 체인 노드로부터 비즈니스 요청의 일부를 획득할 수도 있고, 비즈니스 요청의 일부 및 자기 자신의 비즈니스 메모리에 저장되어 있는 비즈니스 요청을 사용하는 것에 의해 사전 프로세싱된 블록에 대한 합의 검증을 수행한다. 제2 블록 체인 노드가, 사전 프로세싱된 블록을 수신한 이후, 자신에게 대응하는 비즈니스 메모리가 사전 프로세싱된 블록 내의 비즈니스 요청의 일부를 포함하지 않는 것을 발견하면, 제2 블록 체인 노드는 사전 프로세싱된 블록을 로컬 합의 검증에서 실패한 것으로 바로 고려하지는 않는다. 대신, 제2 블록 체인 노드는 다른 블록 체인 노드로부터 누락된 비즈니스 요청을 획득하여, 사전 프로세싱된 블록에 대한 합의 검증을 수행한다. 따라서, 전체 블록 체인 비즈니스의 비즈니스 프로세싱 정확도가 효과적으로 향상된다.

Description

비즈니스 검증 방법 및 장치
우선권의 주장
본 출원은 2017년 2월 22일자로 출원된 중국 특허 출원 번호 제201710096987.5호에 대한 우선권으로 주장하는데, 상기 특허 출원의 전체 내용은 참조에 의해 본원에 통합된다.
기술 분야
본 출원은 컴퓨터 기술의 분야에 관한 것으로, 특히 비즈니스 검증 방법 및 장치에 관한 것이다.
블록 체인 기술은 분산 계정 장부 기술(distributed account book technology)로 또한 칭해진다. 블록 체인에 저장되는 데이터는, 무단 변경 방지(tamper-resistance) 및 탈집중화(decentralization)와 같은 특성을 갖는다. 따라서, 블록 체인 기술은 사람들에게 더 안전한 데이터 저장 환경을 제공하고 사람들에게 데이터 저장을 더욱 편리하게 만든다.
현재, 단말기에 의해 전송되는 비즈니스 요청을 수신하는 경우, 블록 체인 노드는 비즈니스 요청을 그 자신의 비즈니스 메모리에 저장할 수도 있다. 동시에, 블록 체인 노드는 전체 합의 네트워크(whole consensus network) 내의 다른 블록 체인 노드로 비즈니스 요청을 브로드캐스트할 수도 있고, 그 결과, 다른 블록 체인 노드는, 비즈니스 요청을 수신한 이후, 비즈니스 요청을 각각의 대응하는 비즈니스 메모리에 저장한다.
그 다음, 비즈니스 요청이 블록 체인에 블록으로 저장될 필요가 있는지의 여부를 결정하기 위해, 블록 체인 노드는 그 자신의 비즈니스 메모리로부터 설정된 수의 비즈니스 요청을 획득하고, 이들 비즈니스 요청을 사전 프로세싱된 블록으로 패키징하고, 사전 프로세싱된 블록을 전체 합의 네트워크 내의 다른 블록 체인 노드로 브로드캐스트하여 합의에 도달할 것이다.
실제 애플리케이션에서, 컨소시엄 체인 내의 블록 체인 노드가 수신된 비즈니스 요청을 다른 블록 체인 노드로 브로드캐스트하는 프로세스에서, 전체 합의 네트워크 내의 일부 다른 블록 체인 노드는, 네트워크 장애와 같은 요인의 영향에 기인하여, 블록 체인 노드에 의해 브로드캐스트되는 비즈니스 요청을 수신하지 못할 수도 있다. 다시 말하면, 하나의 블록 체인 노드에 대응하는 비즈니스 메모리에 저장되는 비즈니스 요청과 관련하여, 다른 블록 체인 노드에 대응하는 비즈니스 메모리는 비즈니스 요청의 일부가 없을 수도 있다. 비즈니스 요청의 일부가 없는 블록 체인 노드는 전체 합의 네트워크의 합의 검증 결과에 어느 정도까지는 크게 영향을 줄 수도 있다.
예를 들면, 전체 합의 네트워크는 세 개의 블록 체인 노드: A, B 및 C를 갖는다는 것이 가정된다. 블록 체인 노드 A는 다섯 개의 비즈니스 요청: #1, #2, #3, #4, 및 #5를 저장한다. 블록 체인 노드 B는 네 개의 비즈니스 요청: #1, #2, #3, 및 #4를 저장한다. 블록 체인 노드 C는 세 개의 비즈니스 요청: #1, #2, 및 #3을 저장한다. 비즈니스 요청 모두는 블록 체인 노드에 대응하는 비즈니스 메모리에 저장된다. 블록 체인 노드 A가 다섯 개의 비즈니스 요청 #1, #2, #3, #4, 및 #5를 사전 프로세싱된 블록으로 패키징하고, 사전 프로세싱된 블록을 다른 두 개의 블록 체인 노드로 브로드캐스트하여, 다섯 개의 비즈니스 요청에 대한 합의 검증을 수행하는 경우, 블록 체인 노드 B 및 C 둘 모두가 다섯 개의 비즈니스 요청의 일부가 없기 때문에, 블록 체인 노드 B 및 C는 다섯 개의 비즈니스 요청을 포함하는 사전 프로세싱된 블록을 합의 검증에서 실패한 것으로 바로 간주할 수도 있다. 이 경우, 전체 합의 네트워크 내의 블록 체인 노드 중 절반보다 더 많은 것이 사전 프로세싱된 블록을 합의 검증에서 실패한 것으로 간주하기 때문에, 사전 프로세싱된 블록에 포함되는 다섯 개의 비즈니스 요청은 전체 합의 네트워크의 합의 검증을 통과할 수 없을 것이다. 그러면, 다섯 개의 비즈니스 요청은 전체 합의 네트워크의 블록 체인에 기록되지 않을 것이다.
다른 블록 체인 노드는, 사전 프로세싱된 블록 내의 비즈니스 요청의 일부가 불법적으로 무단 변경된다는 것보다는, 사전 프로세싱된 블록 내의 비즈니스 요청의 일부가 다른 블록 체인 노드에 대응하는 비즈니스 메모리에 저장되지 않는다는 이유만으로 사전 프로세싱된 블록을 합의 검증에서 실패한 것으로 간주한다. 따라서, 사전 프로세싱된 블록이 전체 합의 네트워크의 합의 검증을 통과할 수 없을 확률이 크게 증가될 것이다. 그러나, 사전 프로세싱된 블록에 포함되는 비즈니스 요청은 실제로 어떠한 문제도 없을 수도 있다. 결과적으로, 종래 기술에서는 블록 체인 노드의 합의 검증에서 정상적인 비즈니스 요청이 실패할 가능성이 매우 높고, 그에 의해, 전체 블록 체인 비즈니스의 비즈니스 프로세싱 정확도에 영향을 미친다.
본 출원의 실시형태는 종래 기술에서 블록 체인 비즈니스의 낮은 비즈니스 프로세싱 정확도의 문제를 해결하기 위한 비즈니스 검증 방법을 제공한다.
본 출원의 실시형태는 다음의 것을 포함하는 비즈니스 검증 방법을 제공한다:
제1 블록 체인 노드에 의해, 단말기에 의해 전송되는 비즈니스 요청을 수신하는 것;
비즈니스 요청을 제1 블록 체인 노드에 대응하는 비즈니스 메모리에 저장하고, 비즈니스 요청을 제2 블록 체인 노드로 브로드캐스트하는 것에 의해, 제2 블록 체인 노드가 비즈니스 요청을 각각의 대응하는 비즈니스 메모리에 저장하는 것; 및
비즈니스 메모리로부터 적어도 하나의 비즈니스 요청을 획득하고, 획득된 적어도 하나의 비즈니스 요청을 사전 프로세싱된 블록으로 패키징하고, 사전 프로세싱된 블록을 제2 블록 체인 노드로 브로드캐스트하는 것에 의해, 자신에게 대응하는 비즈니스 메모리가 사전 프로세싱된 블록 내의 비즈니스 요청의 일부를 포함하지 않는다는 것을 결정하는 경우, 제2 블록 체인 노드의 각각은 다른 블록 체인 노드로부터 비즈니스 요청의 일부를 획득하고, 비즈니스 요청의 일부 및 자기 자신의 비즈니스 메모리에 저장되어 있는 비즈니스 요청을 사용하는 것에 의해 사전 프로세싱된 블록에 대한 합의 검증을 수행하는 것.
본 출원의 실시형태는 종래 기술에서 블록 체인 비즈니스의 낮은 비즈니스 프로세싱 정확도의 문제를 해결하기 위한 비즈니스 검증 장치를 제공한다.
본 출원의 실시형태는 다음의 것을 포함하는 비즈니스 검증 장치를 제공한다:
단말기에 의해 전송되는 비즈니스 요청을 수신하도록 구성되는 수신 모듈;
비즈니스 요청을 장치에 대응하는 비즈니스 메모리에 저장하도록, 그리고 비즈니스 요청을 제2 블록 체인 노드로 브로드캐스트하는 것에 의해, 제2 블록 체인 노드가 비즈니스 요청을 각각의 대응하는 비즈니스 메모리에 저장하도록 구성되는 저장 모듈; 및
비즈니스 메모리로부터 적어도 하나의 비즈니스 요청을 획득하고, 획득된 적어도 하나의 비즈니스 요청을 사전 프로세싱된 블록으로 패키징하고, 사전 프로세싱된 블록을 제2 블록 체인 노드로 브로드캐스트하는 것에 의해, 자신에게 대응하는 비즈니스 메모리가 사전 프로세싱된 블록 내의 비즈니스 요청의 일부를 포함하지 않는다는 것을 결정하는 경우, 제2 블록 체인 노드의 각각이 다른 블록 체인 노드로부터 비즈니스 요청의 일부를 획득하고, 비즈니스 요청의 일부 및 자기 자신의 비즈니스 메모리에 저장되어 있는 비즈니스 요청을 사용하는 것에 의해 사전 프로세싱된 블록에 대한 합의 검증을 수행하도록 구성되는 요청 획득 모듈.
본 출원의 실시형태는 종래 기술에서 블록 체인 비즈니스의 낮은 비즈니스 프로세싱 정확도의 문제를 해결하기 위한 비즈니스 검증 방법을 제공한다.
본 출원의 실시형태는 다음의 것을 포함하는 비즈니스 검증 방법을 제공한다:
제2 블록 체인 노드에 의해, 제1 블록 체인 노드에 의해 브로드캐스트되는 비즈니스 요청을 수신하는 것;
비즈니스 요청을 제2 블록 체인 노드에 대응하는 비즈니스 메모리에 저장하는 것;
제1 블록 체인 노드에 의해 브로드캐스트되며 적어도 하나의 비즈니스 요청을 포함하는 사전 프로세싱된 블록을 수신하고, 제2 블록 체인 노드에 대응하는 비즈니스 메모리가 사전 프로세싱된 블록 내의 비즈니스 요청의 일부를 포함하지 않는다는 것이 결정되는 경우 다른 블록 체인 노드로부터 비즈니스 요청의 일부를 획득하는 것; 및
비즈니스 요청의 일부 및 제2 블록 체인 노드에 대응하는 비즈니스 메모리에 저장되어 있는 비즈니스 요청을 사용하는 것에 의해 사전 프로세싱된 블록에 대한 합의 검증을 수행하는 것.
본 출원의 실시형태는 종래 기술에서 블록 체인 비즈니스의 낮은 비즈니스 프로세싱 정확도의 문제를 해결하기 위한 비즈니스 검증 장치를 제공한다.
본 출원의 실시형태는 다음의 것을 포함하는 비즈니스 검증 장치를 제공한다:
제1 블록 체인 노드에 의해 브로드캐스트되는 비즈니스 요청을 수신하도록 구성되는 요청 수신 모듈;
비즈니스 요청을 장치에 대응하는 비즈니스 메모리에 저장하도록 구성되는 요청 저장 모듈;
제1 블록 체인 노드에 의해 브로드캐스트되며 적어도 하나의 비즈니스 요청을 포함하는 사전 프로세싱된 블록을 수신하도록, 그리고 자신에게 대응하는 비즈니스 메모리가 사전 프로세싱된 블록 내의 비즈니스 요청의 일부를 포함하지 않는다는 것이 결정되는 경우 다른 블록 체인 노드로부터 비즈니스 요청의 일부를 획득하도록 구성되는 수신 모듈; 및
비즈니스 요청의 일부 및 자신에게 대응하는 비즈니스 메모리에 저장되어 있는 비즈니스 요청을 사용하는 것에 의해 사전 프로세싱된 블록에 대한 합의 검증을 수행하도록 구성되는 검증 모듈.
본 출원의 실시형태에 의해 사용되는 적어도 하나의 상기의 기술적 솔루션은 다음의 유리한 효과를 달성할 수 있다:
본 출원의 실시형태에서, 제2 블록 체인 노드가, 제1 블록 체인 노드에 의해 브로드캐스트되며 비즈니스 요청을 포함하는 사전 프로세싱된 블록을 수신한 이후, 자신에게 대응하는 비즈니스 메모리가 사전 프로세싱된 블록 내의 비즈니스 요청의 일부를 포함하지 않는다는 것을 발견하는 경우, 제2 블록 체인 노드는 사전 프로세싱된 블록을 로컬 합의 검증에서 실패한 것으로 바로 간주하지는 않는다. 대신, 제2 블록 체인 노드는 전체 합의 네트워크 내의 다른 블록 체인 노드로부터 누락된 비즈니스 요청을 획득하고, 획득된 비즈니스 요청 및 자기 자신의 비즈니스 메모리에 저장되어 있는 비즈니스 요청을 사용하는 것에 의해 사전 프로세싱된 블록에 포함되는 비즈니스 요청에 대한 합의 검증을 수행할 수도 있다. 이러한 방식으로, 네트워크 장애에 의해 야기되는 비즈니스 요청의 합의 검증에 대한 악영향이 크게 감소되고, 그에 의해, 전체 블록 체인 비즈니스의 비즈니스 프로세싱 정확도를 향상시킨다.
본원에서 설명되는 첨부의 도면은 본 출원의 추가적인 이해를 제공하기 위해, 그리고 본 출원의 일부를 구성하기 위해 사용된다. 본 출원의 예시적인 실시형태 및 그 예시는, 본 출원을 설명하기 위해 사용되지만, 그러나, 본 출원에 대한 어떠한 부적절한 제한을 형성하도록 의도되지는 않는다. 첨부의 도면에서:
도 1은, 본 출원의 실시형태에 따른, 비즈니스 효율 프로세스의 개략도이다;
도 2는, 본 출원의 실시형태에 따른, 미리 설정된 분산 미들웨어(preset distributed middleware)를 사용하는 것에 의해, 블록 체인 노드에 의해, 수신된 비즈니스 요청을 자신에게 대응하는 비즈니스 메모리에 각각 저장하는 개략도이다;
도 3은, 본 출원의 실시형태에 따른, 검증될 총 특성 값을 결정하는 개략도이다;
도 4는, 본 출원의 실시형태에 따른, 제1 블록 체인 노드에 의해 전송되는 사전 프로세싱된 블록에 대한 합의 네트워크에 의한 합의를 확립하는 개략도이다;
도 5는, 본 출원의 실시형태에 따른, 비즈니스 검증 장치의 개략도이다; 그리고
도 6은, 본 출원의 실시형태에 따른, 다른 비즈니스 검증 장치의 개략도이다.
현재, 블록 체인 노드에 의해 비즈니스 프로세싱을 수행하는 프로세스는 실질적으로 다음과 같다: 단말기가 비즈니스 요청을 블록 체인 노드로 전송한 이후, 블록 체인 노드는 브로드캐스팅에 의해 수신된 비즈니스 요청을 다른 블록 체인 노드로 전송할 수도 있다. 다른 블록 체인 노드는 수신된 비즈니스 요청을 자신에게 대응하는 비즈니스 메모리에 저장할 수도 있다. 확실히, 비즈니스 요청을 다른 블록 체인 노드로 전송하는 블록 체인 노드는 또한, 비즈니스 요청을 자기 자신의 비즈니스 메모리에 저장할 수도 있다.
블록 체인 노드에 의해 형성되는 합의 네트워크에서, 각각의 블록 체인 노드는 다른 블록 체인 노드에게 합의 요청을 개시할 권리를 갖는다. 블록 체인 노드는 자기 자신의 비즈니스 메모리에 저장되어 있는 설정된 수의 비즈니스 요청을 소정의 순서로 배열하여, 비즈니스 요청 큐를 획득하고, 비즈니스 요청 큐에 대한 해시(Hash) 값을 생성할 수도 있다. 그 다음, 합의 검증을 수행하기 위해, 블록 체인 노드는 비즈니스 요청 큐 및 해시를 사전 프로세싱된 블록으로 패키징하고, 사전 프로세싱된 블록을 브로드캐스팅에 의해 다른 블록 체인 노드로 전송할 수도 있다.
합의 검증 동안, 사전 프로세싱된 블록을 수신한 이후, 다른 블록 체인 노드는 사전 프로세싱된 블록에 포함되는 비즈니스 요청의 비대칭 서명의 적법성을 검증할 것이다. 즉, 블록 체인 노드는, 그 자신에 의해 소유되는 공개 키(또는 개인 키, 비즈니스 요청이 암호화될 때 개인 키가 사용되는지 또는 공개 키가 사용되는지의 여부에 의존함)에 따라 사전 프로세싱된 블록에 포함되는 비즈니스 요청을 파싱하여, 비즈니스 요청이 합법적인 비즈니스 요청인지의 여부를 검증할 수도 있다.
또한, 단말기에 의해 전송되는 비즈니스 요청을 수신하면, 블록 체인 노드는 비즈니스 요청을 다른 블록 체인 노드로 브로드캐스트할 수도 있다. 따라서, 블록 체인 노드에 대응하는 비즈니스 메모리는 일반적으로 모두, 전체 합의 네트워크에 의해 수신되는 비즈니스 요청을 저장한다. 이것에 기초하여, 사전 프로세싱된 블록을 수신한 이후, 다른 블록 사슬 노드는 사전 프로세싱된 블록 내의 비즈니스 요청의 해시 무결성을 검증할 수도 있다. 즉, 블록 체인 노드는 사전 프로세싱된 블록에 포함되는 비즈니스 요청에 대해 자기 자신의 비즈니스 메모리를 검색하고, 사전 프로세싱된 블록 내의 비즈니스 요청의 배열 순서에 따라 발견된 비즈니스 요청을 배열하여, 비즈니스 요청 큐를 획득할 수도 있다. 그 다음, 사전 프로세싱된 블록 내의 비즈니스 요청의 콘텐츠가 불법적으로 무단 변경되었는지의 여부를 결정하기 위해, 블록 체인 노드는 비즈니스 요청 큐에 대한 해시 값을 생성하고, 획득된 해시 값을 사전 프로세싱된 블록에 포함되는 해시 값과 비교할 수도 있다.
사전 프로세싱된 블록에 대해 수행되는 비대칭 서명 적법성 검증 및 해시 무결성 검증에 따라, 블록 체인 노드의 각각은, 사전 프로세싱된 블록이 전체적으로 합법적인지의 여부에 대한 자기 자신의 검증 결과를 획득하고, 그 자신에 의해 획득되는 검증 결과를 브로드캐스팅을 통해 다른 블록 체인 노드로 브로드캐스트할 것이다.
사전 프로세싱된 블록에 대한 다른 블록 체인 노드에 의해 전송되는 검증 결과 및 그 자신에 의해 획득되는 검증 결과에 따라, 블록 체인 노드의 각각은, 사전 프로세싱된 블록이 검증을 통과하는지의 여부에 대한, 전체 합의 네트워크 내의 블록 체인 노드의 통합 검증 결과를 획득할 것이고, 추가로, 획득된 통합 검증 결과를 브로드캐스팅을 통해 다른 블록 체인 노드로 브로드캐스트할 것이다.
서로에게 브로드캐스트되는 통합 검증 결과를 수신한 이후, 합의 네트워크 내의 블록 체인 노드의 각각은 또한, 검증이 성공적이다는 것을, 합의 네트워크 내의 블록 체인 노드에 의해 획득되는 통합 검증 결과의 대부분이 나타내는지의 여부를 판단할 것이다. 만약 그렇다면(yes), 사전 프로세싱된 블록 내의 비즈니스 요청은 자기 자신의 블록 체인에 블록으로서 저장되거나; 또는 만약 그렇지 않다면(no), 사전 프로세싱된 블록 내의 비즈니스 요청은 거부된다.
사전 프로세싱된 블록 내의 비즈니스 요청을 블록으로서 그 자신의 블록 체인에 저장한 이후, 블록 체인 노드의 각각은 사전 프로세싱된 블록에 포함되는 비즈니스 요청을 자기 자신의 비즈니스 메모리로부터 방출할(release) 수도 있고, 그 결과, 비즈니스 메모리가, 방출 이후, 블록 체인 노드에 의해 수신되는 비즈니스 요청을 계속 저장할 수 있다.
그러나, 종래 기술에서, 블록 체인 노드가 수신된 비즈니스 요청을 다른 블록 체인 노드로 브로드캐스트하는 프로세스에서, 다른 블록 체인 노드 중 일부는, 네트워크 장애와 같은 요인의 영향에 기인하여 블록 체인 노드에 의해 브로드캐스트되는 비즈니스 요청을 수신할 수 없을 수도 있다. 결과적으로, 블록 체인 노드가 설정된 수의 비즈니스 요청을 포함하는 사전 프로세싱된 블록을, 합의 검증을 위해, 후속하여, 다른 블록 체인 노드로 브로드캐스트하는 경우, 일부 블록 체인 노드의 대응하는 비즈니스 메모리가 사전 프로세싱된 블록 내의 비즈니스 요청 중 일부가 없기 때문에, 이들 블록 체인 노드는, 사전 프로세싱된 블록이 블록 체인 노드의 로컬 합의 검증에서 실패한다는 것을 바로 간주할 수도 있다. 따라서, 전체 합의 네트워크의 합의 검증에서 사전 프로세싱된 블록이 실패할 확률이 크게 증가되고, 그에 의해, 전체 블록 체인 비즈니스의 비즈니스 프로세싱 정확도에 영향을 미친다.
또한, 실제 애플리케이션에서, 전체 합의 네트워크의 합의 검증에서 비즈니스 요청이 실패하면, 블록 체인 노드는 비즈니스 요청의 프로세싱 실패를 나타내는 메시지를 유저 단말기로 반환할 것이다. 따라서, 상기의 상황은 또한, 유저에게 큰 불편을 가져올 수도 있다.
상기의 문제점을 효과적으로 해결하기 위해, 본 출원에서, 제2 블록 체인 노드가, 제1 블록 체인 노드에 의해 브로드캐스트되며 비즈니스 요청을 포함하는 사전 프로세싱된 블록을 수신한 이후, 자신에게 대응하는 비즈니스 메모리가 사전 프로세싱된 블록 내의 비즈니스 요청의 일부를 포함하지 않는다는 것을 발견하는 경우, 제2 블록 체인 노드는 전체 합의 네트워크 내의 다른 블록 체인 노드로부터 누락된 비즈니스 요청을 획득할 수도 있고, 획득된 비즈니스 요청 및 자기 자신의 비즈니스 메모리에 저장되어 있는 비즈니스 요청을 사용하는 것에 의해 사전 프로세싱된 블록에 포함되는 비즈니스 요청에 대한 합의 검증을 수행할 수도 있다. 이러한 방식으로, 네트워크 장애에 의해 야기되는 비즈니스 요청의 합의 검증에 대한 악영향이 크게 감소되고, 그에 의해, 전체 블록 체인 비즈니스의 비즈니스 프로세싱 정확도를 향상시킨다.
기술 분야의 숙련된 자가 본 출원의 기술적 솔루션을 더 잘 이해하게 만들기 위해, 본 출원의 실시형태에서의 기술적 솔루션은, 본 출원의 실시형태에서의 첨부의 도면을 통해 명백하고 완전하게 설명될 것이다. 명백하게는, 설명되는 실시형태는, 모든 실시형태가 아닌, 본 출원의 실시형태의 일부에 불과하다. 본 출원에서의 실시형태에 기초하여, 어떠한 창조적 노력 없이 기술 분야에서 통상의 지식을 가진 자에 의해 유도되는 모든 다른 실시형태는 본 출원의 보호 범위 내에 속할 것이다.
도 1은, 구체적으로 다음의 단계를 포함하는 본 출원의 실시형태에 따른 비즈니스 효율성 프로세스의 개략도이다:
S101: 제1 블록 체인 노드는 단말기에 의해 전송되는 비즈니스 요청을 수신함.
본 출원의 실시형태에서, 비즈니스 프로세싱 동안, 유저는 유저에 의해 유지되는 유저 단말기에서 대응하는 비즈니스 프로세싱 콘텐츠를 채울 수도 있다. 단말기는 유저에 의해 채워지는 비즈니스 프로세싱 콘텐츠에 따라 대응하는 비즈니스 요청을 생성하여, 전체 합의 네트워크 내의 제1 블록 체인 노드로 비즈니스 요청을 전송할 것이다. 여기에서 언급되는 단말기는 컴퓨터 또는 스마트폰과 같은 디바이스일 수도 있다. 당연히, 유저는 또한 단말기에 설치되는 클라이언트 단말기를 사용하는 것에 의해 비즈니스 요청을 제1 블록 체인 노드로 전송할 수도 있다. 즉, 유저는 단말기 상의 클라이언트 단말기에서 제시되는 인터페이스에서 대응하는 비즈니스 프로세싱 콘텐츠를 채운다. 클라이언트 단말기는 인터페이스에서 유저에 의해 채워지는 비즈니스 프로세싱 콘텐츠에 따라 대응하는 비즈니스 요청을 생성하고, 또한, 단말기를 사용하는 것에 의해 비즈니스 요청을 제1 블록 체인 노드로 전송한다.
실제 애플리케이션에서, 전체 합의 네트워크는 다수의 블록 체인 노드를 포함한다는 것을 유의해야 한다. 본 출원의 실시형태에서 언급되는 제1 블록 체인 노드는, 단말기의 비즈니스 요청을 수신하는 블록 체인 노드를 가리킨다. 제1 블록 체인 노드 이외의 블록 체인 노드는 본 출원의 실시형태에서 제2 블록 체인 노드로 칭해질 수도 있다. 제1 블록 체인 노드 및 제2 블록 체인 노드는 상대적 개념이다. 즉, 단말기로부터 비즈니스 요청을 수신하는 블록 체인 노드는 제1 블록 체인 노드이고, 제1 블록 체인 노드에 의해 브로드캐스트되는 비즈니스 요청을 수신하는 블록 체인 노드는 제2 블록 체인 노드로 칭해진다. 합의 네트워크 내의 블록 체인 노드는 모두 단말기에 의해 전송되는 비즈니스 요청을 수신할 수도 있고, 따라서, 모든 블록 체인 노드는 실질적으로 제1 블록 체인 노드 또는 제2 블록 체인 노드일 수도 있다. 블록 체인 노드가 제1 블록 체인 노드인지 또는 제2 블록 체인 노드인지의 여부는, 수신된 비즈니스 요청이 유래하는 곳에 의존한다.
당연히, 합의 검증 동안, 블록 체인 노드가 제1 블록 체인 노드인지 또는 제2 블록 체인 노드인지의 여부는 또한, 합의 검증을 개시하는 노드에 따라 결정될 수도 있다. 즉, 적어도 하나의 비즈니스 요청을 포함하는 사전 프로세싱된 블록을 전체 합의 네트워크로 브로드캐스트하는 합의 검증 개시자(consensus verification initiator)는 제1 블록 체인 노드일 수도 있고, 사전 프로세싱된 블록을 수신하는 블록 체인 노드는 제2 블록 체인 노드로 칭해질 수도 있다.
S102: 비즈니스 요청은 제1 블록 체인 노드에 대응하는 비즈니스 메모리에 저장되고, 비즈니스 요청은 제2 블록 체인 노드로 브로드캐스트되고, 그 결과, 제2 블록 체인 노드는 비즈니스 요청을 각각의 대응하는 비즈니스 메모리에 저장함.
합의 검증 동안, 제1 블록 체인 노드는 자신에게 대응하는 비즈니스 메모리로부터 비즈니스 요청의 일부를 획득하는 것, 비즈니스 요청의 일부를 사전 프로세싱된 블록으로 패키징하는 것, 및 사전 프로세싱된 블록을 전체 합의 네트워크 내의 제2 블록 체인 노드로 브로드캐스트하는 것을 필요로 한다. 비즈니스 요청의 일부를 포함하는 사전 프로세싱된 블록을 수신한 이후, 제2 블록 체인 노드는, 그들 각각의 대응하는 비즈니스 메모리에 포함되며 비즈니스 요청의 일부와 매치하는 비즈니스 요청에 따라 사전 프로세싱된 블록 내의 비즈니스 요청의 일부에 대한 합의 검증을 수행하는 것을 필요로 한다. 제2 블록 체인 노드의 각각의 대응하는 비즈니스 메모리에 포함되며 비즈니스 요청의 일부와 매치하는 비즈니스 요청은 제1 블록 체인 노드로부터 획득되는 것을 필요로 한다.
이것에 기초하여, 본 출원의 실시형태에서, 단말기에 의해 전송되는 비즈니스 요청을 수신한 이후, 제1 블록 체인 노드는 비즈니스 요청을 자신에게 대응하는 비즈니스 메모리에 저장할 수도 있다. 동시에, 제1 블록 체인 노드는 브로드캐스팅에 의해 전체 합의 네트워크 내의 제2 블록 체인 노드로 비즈니스 요청을 전송할 수도 있고, 그 결과, 제2 블록 체인 노드는 비즈니스 요청을 그들 각각의 대응하는 비즈니스 메모리에 저장한다.
종래 기술에서, 제1 블록 체인 노드는 수신된 비즈니스 요청을 그 자신의 캐시에 일반적으로 저장한다. 즉, 종래 기술에서, 비즈니스 메모리는 블록 체인 노드의 캐시이다. 캐시는 제한된 저장 공간을 갖는다. 따라서, 캐시의 저장 공간이 완전히 점유되면, 제1 블록 체인 노드는 단말기에 의해 전송되는 비즈니스 요청을 계속 수신할 수 없다. 캐시 내의 비즈니스 요청의 일부가 전체 합의 네트워크 내의 모든 블록 체인 노드에 의해 수행되는 합의 검증을 통과한 이후에만, 비즈니스 요청의 이 일부에 의해 점유되는 저장 공간은 단말기에 의해 전송되는 비즈니스 요청을 저장하도록 계속 활용될 수 있다. 따라서, 종래 기술에서, 캐시의 저장 공간은 블록 체인 비즈니스의 비즈니스 프로세싱 효율성을 크게 제한한다.
종래 기술에서의 문제점을 효과적으로 해결하기 위해, 본 출원의 실시형태에서, 블록 체인 노드의 운영 및 유지 보수 직원(staff)은, 블록 체인 노드에 대한 비즈니스 메모리를 데이터베이스 형태로 각각 설정할 수도 있다. 즉, 각각의 블록 체인 노드는 데이터베이스 형태의 비즈니스 메모리를 상응하게 가질 수도 있다. 다시 말하면, 본 출원의 실시형태에서 언급되는 비즈니스 메모리는, 비즈니스 요청을 저장하기 위해 사용되는 데이터베이스이다. 이러한 방식으로, 단말기에 의해 전송되는 비즈니스 요청을 수신한 이후, 제1 블록 체인 노드는 비즈니스 요청을 제1 블록 체인 노드에 대응하는 비즈니스 메모리에 저장하고, 후속하는 프로시져에서, 비즈니스 메모리에 저장되어 있는 비즈니스 요청에 대한 합의 검증을 수행할 수도 있다.
데이터베이스 형태의 비즈니스 메모리의 저장 공간은 캐시의 저장 공간보다 훨씬 더 크다. 따라서, 제1 블록 체인 노드가 전체 합의 네트워크를 사용하는 것에 의해 비즈니스 메모리 내의 비즈니스 요청의 일부에 대한 합의 검증을 수행하는 경우, 제1 블록 체인 노드는 단말기에 의해 전송되는 비즈니스 요청을 여전히 계속 수신할 수도 있다. 즉, 단말기에 의해 전송되는 비즈니스 요청을 수신하기 위해, 합의 검증을 통과한 비즈니스 요청의 일부에 의해 점유되는 저장 공간을 활용하는 것이 불필요하다. 종래 기술과 비교하여, 제1 블록 체인 노드는 블록 체인 비즈니스의 비즈니스 규모가 지속적으로 성장하는 요건을 훨씬 충족하고, 블록 체인 비즈니스의 비즈니스 프로세싱 효율성은 향상된다.
또한, 종래 기술에서, 전체 합의 네트워크 내의 블록 체인 노드 모두가 그들 자신의 캐시에 비즈니스 요청을 저장하기 때문에(즉, 종래 기술의 비즈니스 메모리는 캐시임), 블록 체인 노드가 다운되거나 또는 다른 장애를 갖는 경우, 그 자신의 캐시에 저장되어 있는 비즈니스 요청은 사라질 것이다. 그러나, 본 출원의 실시형태에서, 비즈니스 요청은 블록 체인 노드에 대응하는 데이터베이스 형태의 비즈니스 메모리에 저장된다. 따라서, 블록 체인 노드가 다운되거나 또는 다른 장애를 갖더라도, 데이터베이스 형태의 비즈니스 메모리에 저장되어 있는 비즈니스 요청은 사라지지 않을 것이고, 그에 의해, 비즈니스 요청의 보안성을 더욱 보장할 수도 있다.
본 출원의 실시형태에서, 전체 합의 네트워크 내의 비즈니스 메모리와 블록 체인 노드 사이의 데이터 송신은 미리 설정된 분산 미들웨어를 사용하는 것에 의해 구현될 수도 있다. 즉, 단말기에 의해 전송되는 비즈니스 요청을 수신한 이후, 제1 블록 체인 노드는 비즈니스 요청을 분산 미들웨어로 전송할 수도 있다. 분산 미들웨어는, 제1 블록 체인 노드의 노드 식별자에 따라, 비즈니스 요청을, 저장을 위해, 제1 블록 체인 노드에 대응하는 비즈니스 메모리로 전송할 수도 있다. 마찬가지로, 제1 블록 체인 노드에 의해 브로드캐스트되는 비즈니스 요청을 수신한 이후, 제2 블록 체인 노드는 비즈니스 요청을 분산 미들웨어로 전송할 수도 있다. 분산 미들웨어는 또한, 도 2에서 도시되는 바와 같이, 제2 블록 체인 노드의 노드 식별자에 따라, 비즈니스 요청을, 저장을 위해, 제2 블록 체인 노드에 대응하는 비즈니스 메모리로 전송할 수도 있다.
도 2는, 본 출원의 실시형태에 따른, 미리 설정된 분산 미들웨어를 사용하는 것에 의해, 블록 체인 노드에 의해, 수신된 비즈니스 요청을 자신에게 대응하는 비즈니스 메모리에 각각 저장하는 개략도이다.
트랜잭션 비즈니스를 예로 드는 것에 의해, 유저가 이체 비즈니스(transfer business)를 수행할 필요가 있는 경우, 유저는 유저에 의해 유지되는 단말기에서 이체 대상을 선택하고, 이체 금액을 입력할 수도 있다. 단말기는 유저에 의해 입력되는 콘텐츠에 따라 대응하는 트랜잭션 요청을 생성하고, 트랜잭션 요청을 제1 블록 체인 노드로 전송할 것이다.
단말기에 의해 전송되는 트랜잭션 요청(즉, 비즈니스 요청)을 수신한 이후, 제1 블록 체인 노드는 트랜잭션 요청을 미리 설정된 분산 미들웨어로 전송할 수도 있고, 그 결과, 미리 설정된 분산 미들웨어는, 제1 블록 체인 노드의 노드 식별자에 따라, 제1 블록 체인 노드에 대응하는 비즈니스 메모리에 트랜잭션 요청을 저장할 수 있다.
트랜잭션 요청을 수신하는 경우, 제1 블록 체인 노드는, 그 다음, 트랜잭션 요청을 브로드캐스팅에 의해 전체 합의 네트워크 내의 다른 블록 체인 노드, 즉 제2 블록 체인 노드로 전송할 수도 있다. 트랜잭션 요청을 수신한 이후, 제2 블록 체인 노드는 또한, 트랜잭션 요청을 미리 설정된 분산 미들웨어로 전송할 수도 있고, 그 결과, 미리 설정된 분산 미들웨어는, 제2 블록 체인 노드의 각각의 노드 식별자에 따라, 트랜잭션 요청을 제2 블록 체인 노드에 대응하는 각각의 비즈니스 메모리에 저장한다.
제1 블록 체인 노드에 의해 전송되는 비즈니스 요청을 수신하는 경우, 제2 블록 체인 노드는 또한 브로드캐스팅에 의해 비즈니스 요청을 전체 합의 네트워크 내의 다른 블록 체인 노드로 전송할 수도 있다는 것을 유의해야 한다. 정상적이고 합법적인 비즈니스 요청의 경우, 비즈니스 요청은 블록 체인 노드에 의해 수행되는 합의 검증을 통과할 수 있다는 것이 전체 합의 네트워크에 의해 실제로 예상된다. 따라서, 합의 검증이 수행되기 이전에, 비즈니스 요청은 블록 체인 노드에 대응하는 비즈니스 메모리에 존재할 수 있다는 것이 전체 합의 네트워크에 의해 실제로 예상된다.
그러나, 실제 애플리케이션에서, 블록 체인 노드 사이의 네트워크 통신은 네트워크 중단(network outage) 및 네트워크 지터(network jitter)와 같은 장애를 일반적으로 갖는다. 비즈니스 요청이 제1 블록 체인 노드에 의해서만 브로드캐스트되고, 한편, 다른 블록 체인 노드(즉, 제2 블록 체인 노드)가 비즈니스 요청을 다시 브로드캐스트하지 않는 경우, 제1 블록 체인 노드와 하나 이상의 제2 블록 체인 노드 사이의 네트워크 통신에서 장애가 발생하면, 하나 이상의 제2 블록 체인 노드는 비즈니스 요청을 수신할 수 없을 것이고, 그에 의해, 후속하는 프로시져에서의 비즈니스 요청에 대한 합의 검증에 영향을 미칠 것이다.
이러한 상황을 가능한 한 많이 방지하기 위해, 본 출원의 실시형태에서, 제1 블록 체인 노드에 의해 전송되는 비즈니스 요청을 수신한 이후, 제2 블록 체인 노드는 또한, 브로드캐스팅에 의해, 전체 합의 네트워크 내의 다른 블록 체인 노드로 비즈니스 요청을 브로드캐스트할 수도 있다. 비즈니스 요청을 수신할 때, 다른 블록 체인 노드는, 먼저, 비즈니스 요청이 이전에 수신되었는지의 여부를 판단할 수도 있고; 만약 그렇다면, 다른 블록 체인 노드는 비즈니스 요청을 무시하고; 만약 그렇지 않다면, 다른 블록 체인 노드는 미리 설정된 분산 미들웨어를 사용하는 것에 의해 비즈니스 요청을 자신에게 대응하는 비즈니스 메모리에 저장한다.
예를 들면, 도 2에서, 제1 블록 체인 노드와 제2 블록 체인 노드(3) 사이의 네트워크 통신에서 장애가 발생하는 경우, 제2 블록 체인 노드(3)는, 제2 블록 체인 노드(2) 및 제2 블록 체인 노드(4)를 사용하는 것에 의해 트랜잭션 요청을 여전히 수신할 수 있다. 따라서, 트랜잭션 요청이 정상적이고 합법적인 트랜잭션 요청인 경우 트랜잭션 요청이 전체 합의 네트워크 내의 블록 체인 노드의 비즈니스 메모리에 가능한 한 많이 저장될 것이다는 것이 보장된다.
본 출원의 실시형태에서, 비즈니스 요청을 저장하는 프로세스에서, 제1 블록 체인 노드는, 먼저, 비즈니스 요청에 대응하는 비즈니스 타입을 결정하고, 비즈니스 요청 및 앞서 수신된 비즈니스 요청을, 비즈니스 타입의 미리 설정된 우선 순위 순서에 따라, 순위를 매길 수도 있다.
실제 애플리케이션에서, 상이한 비즈니스는 상이한 비즈니스 프로세싱에 대한 상이한 지연을 필요로 한다. 예를 들면, 트랜잭션 타입 비즈니스는 비즈니스 프로세싱 지연에 대한 상대적으로 높은 요건을 일반적으로 갖는다. 즉, 전체 합의 네트워크는 비즈니스 프로세싱을 빠르게 완료할 수 있다는 것이 예상된다. 공익(public benefit) 타입의 비즈니스는 비즈니스 프로세싱 지연에 대한 상대적으로 낮은 요건을 갖는다. 즉, 전체 합의 네트워크가 장시간 이후 비즈니스를 프로세싱하더라도, 비즈니스는 크게 영향을 받지 않을 것이다.
이것에 기초하여, 본 출원의 실시형태에서, 비즈니스 요청을 제1 블록 체인 노드에 대응하는 비즈니스 메모리에 저장하는 경우, 제1 블록 체인 노드는, 비즈니스의 우선 순위 순서에 따라 비즈니스 메모리 내의 비즈니스 요청에 순위를 매길 수도 있고, 그에 의해, 비즈니스 요청을 포함하는 비즈니스 큐를 획득한다. 비즈니스 큐에서, 지연에 대한 높은 요건을 갖는 비즈니스 요청은 높은 순위를 가지며, 한편, 지연에 대한 낮은 요건을 갖는 비즈니스 요청은 낮은 순위를 갖는다. 운영 및 유지 보수 직원에 의해 미리 설정되는 비즈니스 타입의 우선 순위 순서에 따라 특정한 순위 결정 방식이 결정된다.
본 출원의 실시형태에서, 비즈니스 타입의 우선 순위 순서에 따라 비즈니스 큐에서의 비즈니스 요청의 배열 순서를 결정하는 것 외에, 제1 블록 체인 노드는 또한, 비즈니스 메모리 내의 비즈니스 요청의 저장 시간에 따라 비즈니스 메모리에서의 비즈니스 요청의 배열 순서를 포괄적으로 결정할 수도 있다는 것을 유의해야 한다. 즉, 비즈니스 메모리 내의 비즈니스 요청의 저장 시간이 너무 길면, 비즈니스 요청이 지연에 대한 낮은 요건을 갖더라도, 비즈니스 요청은 전체 비즈니스 큐의 앞쪽으로 상승될 수도 있다.
S103: 비즈니스 메모리로부터 적어도 하나의 비즈니스 요청이 획득되고, 획득된 적어도 하나의 비즈니스 요청은 사전 프로세싱된 블록으로 패키징되고, 사전 프로세싱된 블록은 제2 블록 체인 노드로 브로드캐스트되는 것에 의해, 자신에게 대응하는 비즈니스 메모리가 사전 프로세싱된 블록 내의 비즈니스 요청의 일부를 포함하지 않는다는 것을 결정하는 경우, 제2 블록 체인 노드의 각각은 다른 블록 체인 노드로부터 비즈니스 요청의 일부를 획득하고, 비즈니스 요청의 일부 및 자기 자신의 비즈니스 메모리에 저장되어 있는 비즈니스 요청을 사용하는 것에 의해 사전 프로세싱된 블록에 대한 합의 검증을 수행함.
본 출원의 실시형태에서, 제1 블록 체인 노드는, 전체 합의 네트워크를 사용하는 것에 의해, 자신에게 대응하는 비즈니스 메모리에 저장되어 있는 비즈니스 요청에 대한 합의를 확립하여, 비즈니스 요청의 프로세싱을 완료하는 것이 필요하다. 따라서, 제1 블록 체인 노드는 자신에게 대응하는 비즈니스 메모리로부터 적어도 하나의 비즈니스 요청을 획득할 수도 있고, 그 다음, 후속 프로시져에서 전체 합의 네트워크를 사용하는 것에 의해 적어도 하나의 비즈니스 요청에 대한 합의를 확립할 수도 있다.
제1 블록 체인 노드는, 비즈니스 메모리로부터 설정된 우선 순위보다 더 높은 비즈니스 타입을 갖는 비즈니스 요청을 획득할 수도 있다. 예를 들면, 비즈니스 타입을 경계로 사용하는 것에 의해, 제1 블록 체인 노드는 비즈니스 메모리로부터 비즈니스 타입보다 더 높은 우선 순위를 갖는 비즈니스 타입의 비즈니스 요청을 획득할 수도 있다.
당연히, 제1 블록 체인 노드는 또한, 비즈니스 메모리로부터 설정된 수의 비즈니스 요청을 획득할 수도 있다. 예를 들면, 비즈니스 요청이 상기 비즈니스 큐의 형태로 비즈니스 메모리에 저장되는 경우, 제1 블록 체인 노드는 비즈니스 큐로부터 설정된 수의 비즈니스 요청을 획득할 수도 있다. 또한, 설정된 수가 N에 의해 표현되면, 제1 블록 체인 노드는 비즈니스 큐로부터 처음 N 개의 비즈니스 요청을 획득할 수도 있다.
설정된 수에 따라 비즈니스 요청을 획득하는 것 외에, 제1 블록 체인 노드는 또한, 다른 표준에 따라 비즈니스 요청을 획득할 수도 있다. 예를 들면, 제1 블록 체인 노드는 비즈니스 메모리에서 미리 설정된 시간 길이를 초과하는 저장 시간을 갖는 비즈니스 요청을 획득할 수도 있다. 대안적으로, 전체 합의 네트워크를 사용하는 것에 의해 비즈니스 요청에 대한 합의를 확립하는 경우, 제1 블록 체인 노드는 비즈니스를 선택하고, 비즈니스에 대응하는 비즈니스 요청을 비즈니스 메모리로부터 획득할 수도 있다. 제1 블록 체인 노드는 비즈니스를 랜덤하게 선택할 수도 있거나, 또는 소정의 순서에 따라 비즈니스를 선택할 수도 있다. 당연히, 제1 블록 체인 노드는 또한, 다른 표준에 따라 비즈니스 요청을 획득할 수도 있는데, 그 다른 표준은 여기서는 상세히 설명되지 않는다.
제1 블록 체인 노드가 설정된 수의 비즈니스 요청을 획득한 이후, 비즈니스 요청에 대응하는 하위 특성 값이 미리 설정된 특성 값 결정 규칙에 따라 각각 결정된다. 예를 들면, 미리 설정된 특성 값 결정 규칙이 해시 알고리즘인 경우, 제1 블록 체인 노드는 비즈니스 요청에 대응하는 서브 해시 값을 각각 결정할 수도 있다. 미리 설정된 특성 값 결정 규칙이 메시지 다이제스트 알고리즘(Message Digest Algorithm)(MD5)인 경우, 제1 블록 체인 노드는 비즈니스 요청에 대응하는 서브 MD5(sub-MD5) 값을 각각 결정할 수도 있다.
제1 블록 체인 노드가 비즈니스 요청에 대응하는 하위 특성 값을 결정한 이후, 비즈니스 요청에 고유하게 대응하는 검증될 특성 값은, 결정된 특성 값 및 비즈니스 메모리에서의 비즈니스 요청의 배열 순서에 따라 결정될 수도 있다.
검증될 특성 값은, 전체적으로, 비즈니스 요청에 고유하게 대응한다. 즉, 비즈니스 요청 중의 한 비즈니스 요청의 콘텐츠가 변경되는 경우, 검증될 특성 값은 변경될 것이다. 제1 블록 체인 노드에 의해 검증될 특성 값을 결정하는 방식은, 도 3에서 도시되는 바와 같다.
도 3은, 본 출원의 실시형태에 따른, 검증될 특성 값을 결정하는 개략도이다.
도 3에서, 제1 블록 체인 노드에 의해 사용되는 특성 값 결정 규칙은 해시 알고리즘이다. 제1 블록 체인 노드가 자신에게 대응하는 비즈니스 메모리로부터 설정된 수(이것은 4임)의 비즈니스 요청을 획득한다는 것을 가정한다. 비즈니스 큐에서의 네 개의 비즈니스 요청의 배열은 도 3에서 도시되는 바와 같다. 네 개의 비즈니스 요청에 각각 대응하는 네 개의 해시 값을 결정한 이후, 제1 블록 체인 노드는 네 개의 해시 값을, 비즈니스 큐에서의 네 개의 비즈니스 요청의 순위에 따라 좌측에서부터 우측으로 머클 트리(Merkle tree)의 네 개의 리프 노드(leaf node) 상에 배치할 수도 있고, 상응하여, 머클 트리의 비 리프 노드(non-leaf node) 및 루트 노드를 결정할 수도 있다. 그 다음, 제1 블록 체인 노드는 머클 트리의 루트 노드(Hash7)를, 네 개의 비즈니스 요청에 고유하게 대응하는 검증될 특성 값으로 결정할 수도 있다.
상기에서 설명되는 검증될 특성 값을 결정하는 방법은 유일한 방법이 아니다는 것을 유의해야 한다. 제1 블록 체인 노드는 또한, 검증될 특성 값이 소정의 순서로 비즈니스 요청에 고유하게 대응한다는 것이 보장되는 한, 다른 방식으로 결정을 수행할 수도 있다.
비즈니스 요청(즉, 비즈니스 메모리로부터 획득되는 적어도 하나의 비즈니스 요청)에 고유하게 대응하는 검증될 특성 값을 결정한 이후, 제1 블록 체인 노드는 검증될 특성 값 및 비즈니스 요청을 사전 프로세싱된 블록으로 패키징할 수도 있는데, 사전 프로세싱된 블록은 비즈니스 요청 및 검증될 특성 값을 포함한다. 동시에, 사전 프로세싱된 블록 내의 비즈니스 요청은, 비즈니스 메모리에서의 비즈니스 요청의 배열 순서에 따라 배열된다.
제1 블록 체인 노드는, 도 4에서 도시되는 바와 같이, 결정된 사전 프로세싱된 블록을, 브로드캐스팅에 의해, 전체 합의 네트워크 내의 다른 블록 체인 노드(즉, 제2 블록 체인 노드)로 전송할 수도 있고, 그 다음, 전체 합의 네트워크는 사전 프로세싱된 블록에 포함되는 비즈니스 요청에 대한 합의를 확립한다.
도 4는, 본 출원의 실시형태에 따른, 제1 블록 체인 노드에 의해 전송되는 사전 프로세싱된 블록에 대한 합의 네트워크에 의한 합의를 확립하는 개략도이다.
도 4에서, 제1 블록 체인 노드는 사전 프로세싱된 블록을 전체 합의 네트워크 내의 제2 블록 체인 노드로 브로드캐스트할 수도 있다. 제2 블록 체인 노드의 각각에 있어서, 제1 블록 체인 노드에 의해 전송되는 사전 프로세싱된 블록을 수신하는 경우, 제2 블록 체인 노드는 사전 프로세싱된 블록을 파싱하여, 사전 프로세싱된 블록에 포함되는 비즈니스 요청 및 검증될 특성 값을 결정할 수도 있다.
제2 블록 체인 노드의 각각에 대해서 말하자면, 파싱에 의해 사전 프로세싱된 블록으로부터 비즈니스 요청을 획득한 이후, 제2 블록 체인 노드는, 그 다음, 파싱에 의해 획득되는 비즈니스 요청에 대한 비대칭 서명 적법성 검증을 수행하여, 비즈니스 요청이 모두 합법적인 비즈니스 요청인지의 여부를 검증하는 것을 필요로 한다.
구체적으로, 비즈니스 요청을 블록 체인 노드로 전송하는 경우, 단말기는, 일반적으로, 소유한 개인 키(이것은 당연히 또한 공개 키일 수도 있음)를 사용하는 것에 의해 비즈니스 요청을 암호화(서명)할 수도 있다. 따라서, 사전 프로세싱된 블록에 포함되는 비즈니스 요청에 대해 비대칭 서명 적법성 검증을 수행할 때, 제2 블록 체인 노드는 공개 키를 사용하는 것에 의해 비즈니스 요청을 파싱할 필요가 있고(또는, 단말기가 공개 키를 사용하는 것에 의해 암호화를 수행할 때, 제2 블록 체인 노드는 소유한 개인 키를 사용하는 것에 의해 비즈니스 요청을 파싱하고), 파싱을 통해 콘텐츠를 검증한다.
예를 들면, 사전 프로세싱된 블록 내의 트랜잭션 요청(즉, 비즈니스 요청)에 대해 비대칭 서명 적법성 검증을 수행할 때, 트랜잭션 요청에 수반되는 트랜잭션 당사자(transaction party) 둘 모두의 계정 어드레스를 획득하고, 그에 의해, 트랜잭션 당사자 둘 모두의 계정 어드레스가 합법적인지의 여부를 검증하기 위해, 제2 블록 체인 노드는 자기 자신이 소유한 공개 키를 사용하는 것에 의해 트랜잭션 요청을 암호 해제할 수도 있다. 트랜잭션 요청에서 수반되는 트랜잭션 당사자 둘 모두의 계정 어드레스가 합법적인 계정이다는 것이 결정되고, 트랜잭션 개시자의 계정에 저장되어 있는 금액의 양이 트랜잭션 요청에서 수반되는 이체 금액보다 더 크거나 또는 동일한 경우, 트랜잭션 요청은 비대칭 서명 적법성 검증을 통과한다는 것이 결정되고; 그렇지 않으면, 트랜잭션 요청은 비대칭 서명 적법성 검증에서 실패한다는 것이 결정된다.
사전 프로세싱된 블록에 포함되는 비즈니스 요청이 모두 비대칭 서명 적법성 검증을 통과한다는 것을 결정한 이후, 제2 블록 체인 노드는, 미리 설정된 특성 값 결정 규칙을 사용하는 것에 의해 비즈니스 요청에 대응하는 하위 특성 값을 추가로 결정할 수도 있다. 제2 블록 체인 노드에 의해 사용되는 특성 값 결정 규칙은 제1 블록 체인 노드에 의해 사용되는 것과 동일하다.
비즈니스 요청에 대응하는 하위 특성 값을 결정한 이후, 제2 블록 체인 노드는 사전 프로세싱된 블록에서의 비즈니스 요청의 배열 순서 및 하위 특성 값에 따라 비즈니스 요청에 고유하게 대응하는 특성 값을 결정할 수도 있다. 그 다음, 제2 블록 체인 노드는 특성 값을 사전 프로세싱된 블록 내의 검증될 특성 값과 비교한다. 두 개의 특성 값이 동일한 경우, 제1 블록 체인 노드에 의해 합의가 확립될 필요가 있는 비즈니스 요청의 콘텐츠가 변경되지 않는다는 것이 결정될 수 있다, 즉, 비즈니스 요청이 해시 무결성 검증(Hash integrity verification)을 통과한다는 것이 결정된다.
상기의 방법에 따라 제2 블록 체인 노드가 사전 프로세싱된 블록에 대해 비대칭 서명 적법성 검증 및 해시 무결성 검증을 수행한 이후, 사전 프로세싱된 블록에 대한 로컬 검증 결과가 각각 획득될 수도 있다(사전 프로세싱된 블록 내의 모든 비즈니스 요청이 비대칭 서명 적법성 검증 및 해시 무결성 검증을 통과하는 경우에만, 사전 프로세싱된 블록의 로컬 검증 결과가 성공을 나타날 수 있다; 사전 프로세싱된 블록의 로컬 검증 결과는, 검증 중 어느 하나가 성공하지 못하면 실패를 나타낸다). 그 다음, 제2 블록 체인 노드의 각각은, 전체 합의 네트워크의 합의 검증 프로시져에 진입하기 위해, 각각의 획득된 검증 결과를, 브로드캐스팅에 의해 전체 합의 네트워크 내의 다른 블록 체인 노드로 전송할 수도 있다. 서로에게 브로드캐스트되는 검증 결과를 수신한 이후, 전체 합의 네트워크 내의 블록 체인 노드의 각각은, 수신된 검증 결과 및 그 자신에 의해 획득되는 검증 결과에 따라 전체 합의 네트워크 내의 블록 체인 노드의, 사전 프로세싱된 블록에 포함되는 비즈니스 요청이 검증을 통과하는지의 여부에 관한, 통합 검증 결과를 획득할 수도 있다. 그 다음, 획득된 통합 검증 결과는 전체 합의 네트워크 내의 다른 블록 체인 노드로 추가로 브로드캐스트된다.
서로에게 브로드캐스트되는 통합 검증 결과를 수신한 이후, 합의 네트워크 내의 블록 체인 노드의 각각은 또한, 검증이 성공적이다는 것을, 합의 네트워크 내의 블록 체인 노드에 의해 획득되는 통합 검증 결과의 대부분이 나타내는지의 여부를 판단할 수도 있다. 만약 그렇다면, 사전 프로세싱된 블록에 포함되는 비즈니스 요청은 저장을 위해 블록에 기록되고, 블록은 시간 순서에 따라 블록이 저장되는 블록 체인에 추가로 기록되거나; 또는 만약 그렇지 않다면, 비즈니스 요청이 거부된다.
상기에서 설명되는 전체 합의 네트워크의 합의 검증 프로시져는 일반적인 합의 검증 프로시져이다. 본 출원의 실시형태에서, 전체 합의 네트워크에 의해 설정된 수의 비즈니스 요청에 대한 합의 검증을 수행하는 프로시져는 또한, 복잡한 합의 알고리즘, 예컨대 프랙티컬 비잔틴 장애 허용(Practical Byzantine Fault Tolerance; PBFT) 알고리즘, 일관성 알고리즘(Raft), 및 팍소스 알고리즘(Paxos algorithm)을 수반할 수도 있다. 본 출원의 실시형태에서 합의 알고리즘을 수반하는 프로시져는 종래 기술의 프로시져와 동일하며, 여기서는 상세히 설명되지 않을 것이다.
블록 체인 노드(여기에서 언급되는 블록 체인 노드는 제1 블록 체인 노드 또는 제2 블록 체인 노드일 수도 있음)가 비즈니스 요청을 블록으로서 블록 체인에 저장한 이후, 각각의 비즈니스 메모리에서 비즈니스 요청에 의해 점유되는 저장 공간은 해제될 수도 있고, 비즈니스 요청은 과거 비즈니스 요청(historical business request)을 저장하기 위해 사용되는 데이터베이스로 전송된다.
제2 블록 체인 노드는 또한, 제1 블록 체인 노드의 비즈니스 요청을 브로드캐스트할 수도 있다는 것을 유의해야 한다. 그러나, 전체 합의 네트워크 내의 일부 블록 체인 노드는 네트워크 상태의 영향에 기인하여 비즈니스 요청을 여전히 효과적으로 수신하지 못할 수도 있다. 따라서, 합의 단계 동안, 제2 블록 체인 노드가, 자신에게 대응하는 비즈니스 메모리로부터, 사전 프로세싱된 블록 내의 비즈니스 요청의 일부를 찾지 못하면, 제2 블록 체인 노드는 비즈니스 요청의 이 일부를 획득하기 위한 질의 메시지를, 미리 설정된 분산 미들웨어를 사용하는 것에 의해 다른 블록 체인 노드로 전송할 수도 있다. 질의 메시지를 수신한 이후, 다른 블록 체인 노드는, 자신에게 대응하는 비즈니스 메모리가 비즈니스 요청의 이 일부를 포함하는지의 여부를 결정할 수도 있고; 만약 그렇다면, 다른 블록 체인 노드는 제2 블록 체인 노드에 응답 메시지를 반환하고; 그렇지 않은 경우, 다른 블록 체인 노드는 응답 메시지를 제2 블록 체인 노드에 반환하지 않는다.
응답 메시지를 수신한 이후, 제2 블록 체인 노드는, 미리 설정된 분산 미들웨어를 사용하는 것에 의해, 응답 메시지를 전송하는 블록 체인 노드에 대응하는 비즈니스 메모리로부터 비즈니스 요청의 이 일부를 획득할 수도 있다. 그 다음, 제2 블록 체인 노드는 비즈니스 요청의 이 일부에 대해 비대칭 서명 적법성 검증을 수행할 수도 있다. 비즈니스 요청의 이 일부가 비대칭 서명 적법성 검증을 통과한다는 것을 결정하는 경우, 제2 블록 체인 노드는 비즈니스 요청의 이 일부를 자신에게 대응하는 비즈니스 메모리에 저장한다. 제2 블록 체인 노드는, 사전 프로세싱된 블록 내의 비즈니스 요청의 배열 순서에 따라 비즈니스 요청의 이 일부를, 자신에게 대응하는 비즈니스 메모리에 저장할 수도 있다. 비즈니스 요청의 이 일부가 비대칭 서명 적법성 검증을 통과하지 않는다는 것을 결정하는 경우, 제2 블록 체인 노드는 비즈니스 요청의 이 일부를 저장하지 않고, 제1 블록 체인 노드에 의해 전송되는 사전 프로세싱된 블록이 로컬(즉, 제2 블록 체인 노드) 합의 검증에서 실패한다는 것을 결정한다.
다른 블록 체인 노드로부터 비즈니스 요청의 이 일부를 수신한 이후, 제2 블록 체인 노드가 다른 블록 체인 노드로부터 비즈니스 요청의 이 일부를 여전히 수신하는 경우, 제2 블록 체인 노드는 후속하여 수신되는 비즈니스 요청의 이 일부를 무시할 수도 있고, 후속하여 수신되는 비즈니스 요청의 이 일부에 대해 비대칭 서명 적법성 검증을 수행하여 저장할 필요가 없다.
본 출원의 실시형태에서, 전체 합의 네트워크는 컨소시엄 체인의 합의 네트워크일 수도 있고, 블록 체인 노드는 컨소시엄 체인 내의 블록 체인 노드일 수도 있다. 본 출원의 실시형태에서, 제1 블록 체인 노드는 컨소시엄 체인 합의 알고리즘에서 리더 노드(leader node)일 수도 있고, 제2 블록 체인 노드는 컨소시엄 체인 합의 알고리즘에서 비 리더 노드(non-leader node)일 수도 있다.
상기의 방법으로부터, 제2 블록 체인 노드가, 제1 블록 체인 노드에 의해 브로드캐스트되는 비즈니스 요청을 수신한 이후, 자신에게 대응하는 비즈니스 메모리가 비즈니스 요청의 일부를 포함하지 않는다는 것을 발견하면, 제2 블록 체인 노드는 비즈니스 요청을 로컬 합의 검증에서 실패한 것으로 바로 고려하지 않는다는 것을 알 수 있다. 대신, 제2 블록 체인 노드는 전체 합의 네트워크 내의 다른 블록 체인 노드로부터 누락된 비즈니스 요청을 획득하고, 획득된 비즈니스 요청 및 자기 자신의 비즈니스 메모리에 저장되어 있는 비즈니스 요청을 사용하는 것에 의해 제1 블록 체인 노드로부터 수신되는 비즈니스 요청에 대한 합의 검증을 수행할 수도 있다. 이러한 방식으로, 네트워크 장애에 의해 야기되는 비즈니스 요청의 합의 검증에 대한 악영향이 크게 감소되고, 그에 의해, 전체 블록 체인 비즈니스의 비즈니스 프로세싱 정확도를 향상시킨다.
또한, 본 출원의 실시형태에서, 각각의 블록 체인 노드의, 비즈니스 요청을 저장하기 위한 비즈니스 메모리는 데이터베이스로서 존재한다. 각각의 블록 체인 노드가 각각의 캐시를 사용하는 것에 의해 비즈니스 요청을 저장하는 종래 기술과 비교하여, 본 출원의 실시형태에서 제공되는 데이터베이스의 형태의 비즈니스 메모리는 비즈니스 요청에 대한 저장 성능을 크게 향상시킨다. 또한, 블록 체인 노드가 전체 합의 네트워크를 사용하는 것에 의해 비즈니스 메모리 내의 비즈니스 요청의 일부에 대해 합의 검증을 수행하는 경우, 블록 체인 노드는 단말기에 의해 전송되는 비즈니스 요청을 여전히 계속 수신할 수 있다. 즉, 단말기에 의해 전송되는 비즈니스 요청을 수신하기 위해, 합의 검증을 통과하는 비즈니스 요청의 일부에 의해 점유되는 저장 공간을 활용하는 것이 불필요 하고, 블록 체인 비즈니스의 비즈니스 프로세싱 효율성이 더욱 향상된다.
본 출원의 실시형태에서 제공되는 비즈니스 검증 방법은 전술한 것에서 설명되며, 동일한 아이디어에 기초하여, 본 출원의 실시형태는 또한, 도 5 및 도 6에서 도시되는 바와 같이, 두 가지 타입의 비즈니스 검증 장치를 제공한다.
도 5는, 구체적으로 다음의 것을 포함하는, 본 출원의 실시형태에 따른 비즈니스 검증 장치의 개략도이다:
단말기에 의해 전송되는 비즈니스 요청을 수신하도록 구성되는 수신 모듈(501);
비즈니스 요청을 장치에 대응하는 비즈니스 메모리에 저장하도록, 그리고 비즈니스 요청을 제2 블록 체인 노드로 브로드캐스트하는 것에 의해, 제2 블록 체인 노드가 비즈니스 요청을 각각의 대응하는 비즈니스 메모리에 저장하도록 구성되는 저장 모듈(502); 및
비즈니스 메모리로부터 적어도 하나의 비즈니스 요청을 획득하도록, 획득된 적어도 하나의 비즈니스 요청을 사전 프로세싱된 블록으로 패키징하도록, 그리고 사전 프로세싱된 블록을 제2 블록 체인 노드로 브로드캐스트하는 것에 의해, 자신에게 대응하는 비즈니스 메모리가 사전 프로세싱된 블록 내의 비즈니스 요청의 일부를 포함하지 않는다는 것을 결정하는 경우, 제2 블록 체인 노드의 각각이 다른 블록 체인 노드로부터 비즈니스 요청의 일부를 획득하고, 비즈니스 요청의 일부 및 자기 자신의 비즈니스 메모리에 저장되어 있는 비즈니스 요청을 사용하는 것에 의해 사전 프로세싱된 블록에 대한 합의 검증을 수행하도록 구성되는 요청 획득 모듈(503).
비즈니스 메모리는 비즈니스 요청을 저장하는 데이터베이스이다.
저장 모듈(502)은 미리 설정된 분산 미들웨어를 사용하는 것에 의해 비즈니스 요청을 비즈니스 메모리에 저장하도록 구성된다.
요청 획득 모듈(503)은, 비즈니스 메모리로부터, 설정된 우선 순위보다 더 높은 비즈니스 타입을 갖는 설정된 수의 비즈니스 요청을 획득하도록 구성된다.
저장 모듈(502)은 비즈니스 요청의 비즈니스 타입 및 비즈니스 타입의 미리 설정된 우선 순위 순서에 따라 비즈니스 요청을 비즈니스 메모리에 저장하도록 구성된다.
장치는 컨소시엄 체인 합의 알고리즘에서 리더 노드이고, 제2 블록 체인 노드는 컨소시엄 체인 합의 알고리즘에서 비 리더 노드이다.
도 6은, 구체적으로 다음의 것을 포함하는, 본 출원의 실시형태에 따른 다른 비즈니스 검증 장치의 개략도이다:
제1 블록 체인 노드에 의해 브로드캐스트되는 비즈니스 요청을 수신하도록 구성되는 요청 수신 모듈(601);
비즈니스 요청을 장치에 대응하는 비즈니스 메모리에 저장하도록 구성되는 요청 저장 모듈(602);
제1 블록 체인 노드에 의해 브로드캐스트되며 적어도 하나의 비즈니스 요청을 포함하는 사전 프로세싱된 블록을 수신하도록, 그리고 자신에게 대응하는 비즈니스 메모리가 사전 프로세싱된 블록 내의 비즈니스 요청의 일부를 포함하지 않는다는 것이 결정되는 경우 다른 블록 체인 노드로부터 비즈니스 요청의 일부를 획득하도록 구성되는 수신 모듈(603); 및
비즈니스 요청의 일부 및 자신에게 대응하는 비즈니스 메모리에 저장되어 있는 비즈니스 요청을 사용하는 것에 의해 사전 프로세싱된 블록에 대한 합의 검증을 수행하도록 구성되는 검증 모듈(604).
수신 모듈(603)은, 비즈니스 메모리가 사전 프로세싱된 블록 내의 비즈니스 요청의 일부를 포함하지 않는다는 것이 결정되는 경우 비즈니스 요청의 일부를 획득하기 위한 질의 메시지를 다른 제2 블록 체인 노드 또는 제1 제1 블록 체인 노드로 전송하도록; 다른 제2 블록 체인 노드 또는 제1 블록 체인 노드에 의해 반환되는 응답 메시지 - 응답 메시지는, 응답 메시지를 전송하는 다른 제2 블록 체인 노드 또는 제1 블록 체인 노드에 대응하는 비즈니스 메모리가 비즈니스 요청의 일부를 저장하고 있다는 것을 나타냄 - 를 수신하도록; 그리고 응답 메시지를 전송하는 제2 블록 체인 노드 또는 제1 블록 체인 노드에 대응하는 비즈니스 메모리로부터 비즈니스 요청의 일부를 획득하도록 구성된다.
본 출원의 실시형태에서, 제1 블록 체인 노드는 제1 블록 체인 노드의 비즈니스 메모리로부터 획득되는 적어도 하나의 비즈니스 요청을 사전 프로세싱된 블록으로 패키징하고, 사전 프로세싱된 블록을 제2 블록 체인 노드로 브로드캐스트한다. 자신에게 대응하는 비즈니스 메모리가 사전 프로세싱된 블록 내의 비즈니스 요청의 일부를 포함하지 않는 것을 발견하면, 제2 블록 체인 노드는 다른 블록 체인 노드로부터 비즈니스 요청의 일부를 획득할 수도 있고, 비즈니스 요청의 일부 및 자기 자신의 비즈니스 메모리에 저장되어 있는 비즈니스 요청을 사용하는 것에 의해 사전 프로세싱된 블록에 포함되는 비즈니스 요청에 대한 합의 검증을 수행한다. 제2 블록 체인 노드가, 제1 블록 체인 노드에 의해 브로드캐스트되는 사전 프로세싱된 블록을 수신한 이후, 자신에게 대응하는 비즈니스 메모리가 사전 프로세싱된 블록 내의 비즈니스 요청의 일부를 포함하지 않는 것을 발견하면, 제2 블록 체인 노드는 사전 프로세싱된 블록을 로컬 합의 검증에서 실패한 것으로 바로 고려하지는 않는다. 대신, 제2 블록 체인 노드는 전체 합의 네트워크 내의 다른 블록 체인 노드로부터 누락된 비즈니스 요청을 획득하고, 획득된 비즈니스 요청 및 자기 자신의 비즈니스 메모리에 저장되어 있는 비즈니스 요청을 사용하는 것에 의해 사전 프로세싱된 블록에 대한 합의 검증을 수행할 수도 있다. 이러한 방식으로, 네트워크 장애에 의해 야기되는 비즈니스 요청의 합의 검증에 대한 악영향이 크게 감소되고, 그에 의해, 전체 블록 체인 비즈니스의 비즈니스 프로세싱 정확도를 향상시킨다.
1990년대에, 기술에 대한 향상은, 하드웨어에 대한 향상(예를 들면, 다이오드, 트랜지스터, 및 스위치와 같은 회로 구조체에 대한 향상) 또는 소프트웨어에 대한 향상(방법 프로시져에 대한 향상)으로서 명백히 구별될 수도 있다. 그러나, 기술의 발달과 함께, 현재의 많은 방법 프로시져의 향상은 하드웨어 회로 구조에 대한 직접적인 향상으로 간주될 수도 있다. 거의 모든 설계자는, 대응하는 하드웨어 회로 구조체를 획득하기 위해, 향상된 방법 프로시져를 하드웨어 회로 안으로 프로그래밍한다. 따라서, 하드웨어 엔티티 모듈을 사용하는 것에 의해 방법 프로시져의 향상이 구현될 수 없다는 것을 가정하는 것은 부적절하다. 예를 들면, 프로그래머블 논리 디바이스(Programmable Logic Device; PLD)(예를 들면, 필드 프로그래머블 게이트 어레이(field programmable gate array; FPGA))는, 그 논리적 기능이 유저에 의해 프로그래밍되는 디바이스에 의해 결정되는 그러한 집적 회로이다. 설계자는, 칩 제조자에게 전용 집적 회로 칩을 설계 및 제조할 것을 요구하지 않고도, 그들 스스로, 디지털 시스템을 PLD의 단편(piece)에 "통합"하도록 프로그래밍한다. 또한, 현재, 프로그래밍은, 집적 회로 칩을 수동으로 제조하는 대신, "논리 컴파일러" 소프트웨어를 사용하는 것에 의해 대부분 구현된다. 논리 컴파일러 소프트웨어는, 프로그램을 개발 및 작성하기 위해 사용되는 소프트웨어 컴파일러와 유사하며, 컴파일링 이전의 원본 코드는 또한, 하드웨어 기술 언어(Hardware Description Language; 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(베릴로그)가 현재 가장 일반적으로 사용된다. 기술 분야의 숙련된 자는 또한, 논리적 방법 프로시져를 구현하기 위한 하드웨어 회로가, 상기의 여러가지 하드웨어 기술 언어를 사용하여 방법 프로시져를 약간 논리적으로 프로그래밍하고 그것을 집적 회로에 프로그래밍하는 것에 의해 쉽게 획득될 수도 있다는 것을 알아야 한다.
컨트롤러는 임의의 적절한 방식으로 구현될 수도 있다. 예를 들면, 컨트롤러는, 예를 들면, 마이크로프로세서 또는 프로세서 및 (마이크로)프로세서에 의해 실행 가능한 컴퓨터 판독 가능 프로그램 코드(예를 들면, 소프트웨어 또는 펌웨어)를 저장하는 컴퓨터 판독 가능 매체, 논리 게이트, 스위치, 주문형 집적 회로(Application Specific Integrated Circuit; ASIC), 프로그래머블 논리 컨트롤러, 및 임베딩된 마이크로컨트롤러의 형태일 수도 있다. 컨트롤러의 예는 다음의 마이크로컨트롤러를 포함하지만 그러나 이들로 제한되는 것은 아니다: ARC 625D, Atmel(아트멜) AT91 SAM, Microchip(마이크로칩) PIC18F26K20, 및 Silicone Labs(실리콘 랩스) C8051F320. 메모리 컨트롤러는 또한 메모리의 제어 논리의 일부로서 구현될 수도 있다. 기술 분야의 숙련된 자는 또한, 컨트롤러가 순수한 컴퓨터 판독 가능 프로그램 코드를 사용하는 것에 의해 구현될 수도 있고, 또한, 방법 단계는, 컨트롤러가, 논리 게이트, 스위치, 주문형 집적 회로, 프로그래머블 논리 컨트롤러 및 임베딩된 마이크로컨트롤러의 형태에서 동일한 기능을 구현하는 것을 가능하게 하도록 논리적으로 프로그래밍될 수도 있다는 것을 알고 있다. 따라서, 이러한 타입의 컨트롤러는 하드웨어 컴포넌트로서 간주될 수도 있고, 다양한 기능을 구현하기 위한 그 안에 포함되는 장치는 또한, 하드웨어 컴포넌트 내부의 구조체로서 간주될 수도 있다. 또한, 다양한 기능을 구현하기 위해 사용되는 장치는, 심지어, 하드웨어 컴포넌트 내부의 구조체 및 방법을 구현하기 위한 소프트웨어 모듈 둘 모두로서 간주될 수도 있다.
상기의 실시형태에서 예시되는 시스템, 장치, 모듈 또는 유닛은, 구체적으로는, 컴퓨터 칩 또는 엔티티, 또는 소정의 기능을 갖는 제품을 사용하는 것에 의해 구체적으로 구현될 수도 있다. 통상적인 구현 디바이스는 컴퓨터이다. 구체적으로, 컴퓨터는, 예를 들면, 퍼스널 컴퓨터, 랩탑 컴퓨터, 셀룰러 전화, 카메라 폰, 스마트폰, 개인 휴대형 정보 단말기(personal digital assistant), 미디어 플레이어, 내비게이션 디바이스, 이메일 디바이스, 게임 콘솔, 태블릿 컴퓨터, 또는 웨어러블 디바이스, 또는 이들 디바이스 중 임의의 것의 조합일 수도 있다.
설명의 용이성을 위해, 장치가 설명될 때, 그것은 각각의 설명을 위한 기능 면에서 다양한 유닛으로 분할된다. 당연히, 본 출원이 구현될 때, 유닛의 기능은 소프트웨어 및/또는 하드웨어의 동일한 또는 다수의 단편으로 구현될 수도 있다.
기술 분야의 숙련된 자는, 본 발명의 실시형태가 방법, 시스템, 또는 컴퓨터 프로그램 제품으로서 제공될 수도 있다는 것을 이해해야 한다. 따라서, 본 발명은 완전한 하드웨어 실시형태, 완전한 소프트웨어 실시형태, 또는 소프트웨어와 하드웨어를 결합하는 실시형태로서 구현될 수도 있다. 또한, 본 발명은, 컴퓨터 사용 가능 프로그램 코드를 포함하는 하나 이상의 컴퓨터 사용 가능 저장 매체(자기 디스크 메모리, CD-ROM, 광학 메모리, 및 등등을 포함하지만, 그러나 이들로 제한되지는 않음) 상에서 구현되는 컴퓨터 프로그램 제품일 수도 있다.
본 출원은, 본 발명의 실시형태에 따른 방법, 디바이스(시스템), 및 컴퓨터 프로그램 제품에 따라 플로우차트 및/또는 블록도를 참조하여 설명된다. 플로우차트 및/또는 블록도에서의 각각의 프로세스 및/또는 블록 및 플로우차트 및/또는 블록도에서의 프로세스 및/또는 블록의 조합을 구현하기 위해 컴퓨터 프로그램 명령어가 사용될 수도 있다는 것이 이해되어야 한다. 이들 컴퓨터 프로그램 명령어는, 컴퓨터 또는 임의의 다른 프로그래머블 데이터 프로세싱 디바이스의 프로세서에 의해 실행되는 명령어가, 플로우차트 내의 하나 이상의 프로세스의 및/또는 블록도 내의 하나 이상의 블록의 명시된 기능을 구현하기 위한 장치를 생성하도록, 범용 컴퓨터, 특수 목적의 컴퓨터, 임베딩된 프로세서, 또는 임의의 다른 프로그래머블 데이터 프로세싱 디바이스의 프로세서에 제공되어 머신을 생성할 수도 있다.
이들 컴퓨터 프로그램 명령어는 또한, 컴퓨터 판독 가능 메모리에 저장되는 명령어가 명령어 장치를 포함하는 아티팩트(artifact)를 생성하도록, 컴퓨터 또는 임의의 다른 프로그래머블 데이터 프로세싱 디바이스에게 특정한 방식으로 작동할 것을 지시할 수 있는 컴퓨터 판독가능 메모리에 저장될 수도 있다. 명령어 장치는 플로우차트 내의 하나 이상의 프로세스의 및/또는 블록도 내의 하나 이상의 블록의 명시된 기능을 구현한다.
이들 컴퓨터 프로그램 명령어는 또한, 일련의 동작 단계가 컴퓨터 또는 다른 프로그래머블 디바이스 상에서 수행되고, 그에 의해 컴퓨터 구현 프로세싱을 생성하도록, 컴퓨터 또는 다른 프로그래머블 데이터 프로세싱 디바이스 상으로 로딩될 수도 있다. 따라서, 컴퓨터 또는 다른 프로그래머블 디바이스 상에서 실행되는 명령어는, 플로우차트 내의 하나 이상의 프로세스의 및/또는 블록도 내의 하나 이상의 블록의 명시된 기능을 구현하기 위한 단계를 제공한다.
통상적인 구성에서, 계산 디바이스(computation device)는 하나 이상의 중앙 프로세싱 유닛(central processing unit; CPU), I/O 인터페이스, 네트워크 인터페이스, 및 메모리를 포함한다.
메모리는, 휘발성 메모리, 랜덤 액세스 메모리(Random Access Memory; RAM), 및/또는 불휘발성 메모리, 예를 들면, 리드 온리 메모리(Read-Only Memory; ROM) 또는 플래시 RAM과 같은 컴퓨터 판독 가능 매체를 포함할 수도 있다. 메모리는 컴퓨터 판독 가능 매체의 한 예이다.
컴퓨터 판독 가능 매체는 불휘발성 및 휘발성 매체뿐만 아니라, 이동식(movable) 및 고정식(non-movable) 매체를 포함하며, 임의의 방법 또는 기술의 수단에 의해 정보 저장을 구현할 수 있다. 정보는 컴퓨터 판독 가능 명령어, 데이터 구조 및 프로그램 또는 다른 데이터의 모듈일 수도 있다. 컴퓨터의 저장 매체는, 예를 들면, 상 변화 메모리(phase-change memory; PRAM), 정적 랜덤 액세스 메모리(static random access memory; SRAM), 동적 랜덤 액세스 메모리(dynamic random access memory; DRAM), 다른 타입의 RAM, ROM, 전기적으로 소거가능한 프로그래머블 리드 온리 메모리(electronically erasable programmable read-only memory; EEPROM), 플래시 메모리 또는 다른 메모리 기술, 콤팩트 디스크 리드 온리 메모리(compact disk read-only memory; CD-ROM), 디지털 다기능 디스크(digital versatile disc; DVD) 또는 다른 광학 스토리지, 카세트 테이프, 자기 테이프/자기 디스크 스토리지 또는 다른 자기 스토리지 디바이스, 또는 임의의 다른 비송신 매체를 포함하지만, 그러나 이들로 제한되지는 않으며, 컴퓨팅 디바이스에 의해 액세스되는 정보를 저장하기 위해 사용될 수 있다. 본 명세서의 정의에 따르면, 컴퓨터 판독 가능 매체는 변조된 데이터 신호 및 캐리어와 같은 일시적인 매체를 포함하지 않는다.
용어 "포함한다(include)" 또는 "포함한다(comprise)" 또는 이들의 임의의 다른 변형어는, 일련의 엘리먼트를 포함하는 프로세스, 방법, 상품 또는 디바이스가 그 엘리먼트를 포함할 뿐만 아니라, 명확하게 열거되지 않은 다른 엘리먼트를 또한 포함하거나, 또는 프로세스, 방법, 상품 또는 디바이스의 고유의 엘리먼트를 더 포함하도록, 비배타적 포함을 포괄하도록 의도된다는 것을 또한 유의해야 한다. 임의의 더 이상의 제한이 없는 경우, "한(a/an) ~을 포함하는"에 의해 정의되는 엘리먼트는, 그 엘리먼트를 포함하는 프로세스, 방법, 제품 또는 디바이스가 다른 동일한 엘리먼트를 더 구비한다는 것을 배제하지는 않는다.
기술 분야의 숙련된 자는 본 출원의 실시형태가 방법, 시스템, 또는 컴퓨터 프로그램 제품으로서 제공될 수도 있다는 것을 이해해야 한다. 따라서, 본 출원은 완전한 하드웨어 실시형태, 완전한 소프트웨어 실시형태, 또는 소프트웨어와 하드웨어를 결합하는 실시형태로서 구현될 수도 있다. 또한, 본 출원은, 컴퓨터 사용 가능 프로그램 코드를 포함하는 하나 이상의 컴퓨터 사용 가능 저장 매체(자기 디스크 메모리, CD-ROM, 광학 메모리, 및 등등을 포함하지만, 그러나 이들로 제한되지는 않음) 상에서 구현되는 컴퓨터 프로그램 제품의 형태일 수도 있다.
본 출원은 컴퓨터에 의해 실행되는 컴퓨터 실행 가능 명령어, 예를 들면, 프로그램 모듈의 일반적인 맥락에서 설명될 수도 있다. 일반적으로, 프로그램 모듈은, 특정한 태스크를 실행하기 위해 또는 특정한 추상 데이터 타입을 구현하기 위해 사용되는 루틴, 프로그램, 오브젝트, 어셈블리, 데이터 구조, 및 등등을 포함한다. 본 출원은 또한 분산 컴퓨팅 환경에서 구현될 수도 있고, 분산 컴퓨터 환경에서, 통신 네트워크를 통해 연결되는 원격 프로세싱 디바이스를 사용하는 것에 의해 태스크가 실행된다. 분산 컴퓨터 환경에서, 프로그램 모듈은, 스토리지 디바이스를 포함하는 로컬 및 원격 컴퓨터 저장 매체 둘 모두에 위치될 수도 있다.
본 명세서의 실시형태는 점진적으로 설명되고, 실시형태의 동일한 또는 유사한 부분은 서로를 참조하여 획득될 수도 있으며, 그리고 각각의 실시형태는 다른 실시형태와는 상이한 부분을 강조한다. 특히, 시스템 실시형태는 기본적으로 방법 실시형태와 유사하고, 그 결과, 그것은 간단하게 설명되며, 관련 부분에 대해서는, 방법 실시형태에서의 그 부분의 설명이 참조될 수도 있다.
상기의 설명은 본 출원의 실시형태에 불과하며, 본 출원을 제한하도록 의도되지는 않는다. 기술 분야의 숙련된 자의 경우, 본 출원은 다양한 수정 및 변형을 가질 수도 있다. 본 출원의 취지와 및 원리를 벗어나지 않으면서 이루어지는 임의의 수정예, 등가적 대체예, 개선예 또는 등등은 모두 본 출원의 청구범위의 범위 내에 속해야 한다.

Claims (15)

  1. 비즈니스 검증 방법으로서,
    전체 합의 네트워크(whole consensus network) 내의 제1 블록 체인 노드에 의해, 단말기에 의해 전송되는 비즈니스 요청을 수신하는 단계;
    상기 제1 블록 체인 노드에서, 상기 비즈니스 요청을 상기 제1 블록 체인 노드에 대응하는 비즈니스 메모리 내에 저장하고, 상기 비즈니스 요청을 상기 전체 합의 네트워크의 제2 블록 체인 노드들로 브로드캐스트하는 단계;
    상기 제2 블록 체인 노드들 중 일부 제2 블록 체인 노드에서, 상기 비즈니스 요청을, 상기 제2 블록 체인 노드들 중 일부 제2 블록 체인 노드의 각각의 대응하는 비즈니스 메모리에 저장하는 단계 - 상기 제1 블록 체인 노드가 상기 수신된 비즈니스 요청을 상기 제2 블록 체인 노드들로 브로드캐스트할 때, 상기 제2 블록 체인 노드들 중 일부는 네트워크 장애와 같은 영향 요인에 기인하여 상기 제1 블록 체인 노드에 의해 브로드캐스트되는 상기 비즈니스 요청을 수신하지 않음 - ;
    상기 제1 블록 체인 노드에서, 상기 제1 블록 체인 노드의 상기 비즈니스 메모리로부터 적어도 하나의 비즈니스 요청을 획득하는 단계;
    상기 제1 블록 체인 노드에서, 상기 획득된 적어도 하나의 비즈니스 요청을 사전 프로세싱된 블록으로 패키징하고 상기 적어도 하나의 비즈니스 요청의 상기 사전 프로세싱된 블록을 합의 검증을 위해 상기 제2 블록 체인 노드들로 브로드캐스트하는 단계;
    상기 제2 블록 체인 노드들에 의해, 적어도 하나의 비즈니스 요청의 상기 사전 프로세싱된 블록을 수신하는 단계;
    상기 제2 블록 체인 노드들에서, 각각의 대응하는 비즈니스 메모리 내에 포함된 비즈니스 요청에 따라 상기 적어도 하나의 비즈니스 요청의 상기 사전 프로세싱된 블록에 대한 합의 검증을 수행하고 상기 제1 블록 체인 노드의 상기 비즈니스 메모리로부터의 상기 적어도 하나의 비즈니스 요청과 매치(match)시키는 단계;
    제2 블록 체인 노드가, 자신에게 대응하는 비즈니스 메모리가 상기 사전 프로세싱된 블록 내의 상기 비즈니스 요청의 일부를 포함하지 않는다는 것을 발견하는 경우, 상기 제2 블록 체인 노드는 상기 적어도 하나의 비즈니스 요청의 상기 사전 프로세싱된 블록을 로컬 합의 검증에서 실패한 것으로 바로 고려하지 않는 단계;
    상기 제2 블록 체인 노드에 의해, 상기 전체 합의 네트워크 내의 다른 블록 체인 노드들로부터 누락된 상기 비즈니스 요청의 상기 일부를 획득하는 단계; 및
    상기 제2 블록 체인 노드에서, 상기 비즈니스 요청의 상기 획득된 일부 및 상기 제2 블록 체인 노드의 상기 비즈니스 메모리 내에 저장되어 있는 비즈니스 요청을 사용하는 것에 의해 상기 사전 프로세싱된 블록에 포함되는 상기 비즈니스 요청에 대한 합의 검증을 수행하는 단계
    를 포함하는, 비즈니스 검증 방법.
  2. 제1항에 있어서,
    상기 제1 블록 체인 노드 및 상기 제2 블록 체인 노드의 상기 비즈니스 메모리는 비즈니스 요청을 저장하는 데이터베이스의 형태로 설정되고, 상기 메모리의 비즈니스 메모리는 대응하는 블록 체인 노드가 다운되거나 장애를 갖는 때 사라지지 않는 것인, 비즈니스 검증 방법.
  3. 제2항에 있어서,
    상기 비즈니스 요청을 상기 제1 블록 체인 노드에 대응하는 비즈니스 메모리에 저장하는 단계는, 구체적으로:
    상기 전체 합의 네트워크 내의 블록 체인 노드들과 비즈니스 메모리들 사이의 데이터 송신을 위해, 상기 단말기로부터 전송되는 상기 비즈니스 요청을, 미리 설정된 분산 미들웨어(distributed middleware)로 전송하는 단계; 및
    미리 설정된 분산 미들웨어를 사용하는 것에 의해, 상기 제1 블록 체인 노드의 노드 식별자에 따라, 상기 제1 블록 체인 노드에 대응하는 상기 비즈니스 메모리에 상기 비즈니스 요청을 저장하는 단계
    를 포함하는 것인, 비즈니스 검증 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 비즈니스 메모리로부터 적어도 하나의 비즈니스 요청을 획득하는 단계는, 구체적으로:
    상기 비즈니스 메모리로부터, 설정된 우선 순위보다 더 높은 비즈니스 타입을 갖는 설정된 수의 비즈니스 요청을 획득하는 단계를 포함하는 것인, 비즈니스 검증 방법.
  5. 제4항에 있어서,
    상기 비즈니스 요청을 상기 제1 블록 체인 노드에 대응하는 비즈니스 메모리에 저장하는 단계는, 구체적으로:
    상기 비즈니스 요청의 상기 비즈니스 타입에 따라 상기 비즈니스 요청을 상기 비즈니스 메모리에 저장하는 단계; 및
    상기 제1 블록 체인 노드에 의해, 상기 비즈니스 요청 및 이전에 수신된 비즈니스 요청을, 비즈니스 타입의 미리 설정된 우선 순위 순서에 따라 순위를 매기는(rank)단계
    를 포함하는 것인, 비즈니스 검증 방법.
  6. 제1항에 있어서,
    상기 제1 블록 체인 노드는 컨소시엄 체인 합의 알고리즘(consortium chain consensus algorithm)의 리더 노드(leader node)이고, 상기 제2 블록 체인 노드는 상기 컨소시엄 체인 합의 알고리즘의 비 리더 노드(non-leader node)인 것인, 비즈니스 검증 방법.
  7. 제1항에 있어서,
    상기 제2 블록 체인 노드에 의해, 상기 전체 합의 네트워크 내의 다른 블록 체인 노드들로부터 누락된 상기 비즈니스 요청의 상기 일부를 획득하는 단계는,
    상기 제2 블록 체인 노드의 상기 비즈니스 메모리가 상기 사전 프로세싱된 블록 내의 상기 비즈니스 요청의 상기 일부를 포함하지 않는다는 것이 결정되는 경우, 상기 비즈니스 요청의 상기 일부를 획득하기 위한 질의 메시지를 다른 제2 블록 체인 노드 또는 상기 제1 블록 체인 노드로 전송하는 단계;
    상기 다른 제2 블록 체인 노드 또는 상기 제1 블록 체인 노드에 의해 반환되는 응답 메시지 - 상기 응답 메시지는, 상기 응답 메시지를 전송하는 상기 다른 제2 블록 체인 노드 또는 상기 제1 블록 체인 노드에 대응하는 비즈니스 메모리가 상기 비즈니스 요청의 상기 일부를 저장하고 있다는 것을 나타냄 - 를 수신하는 단계; 및
    상기 응답 메시지를 전송한 상기 제2 블록 체인 노드 또는 상기 제1 블록 체인 노드에 대응하는 상기 비즈니스 메모리로부터 상기 비즈니스 요청의 상기 일부를 획득하는 단계
    를 포함하는 것인, 비즈니스 검증 방법.
  8. 제1항에 있어서,
    상기 제1 블록 체인 노드에 의해 전송되는 상기 비즈니스 요청을 수신한 이후, 상기 제2 블록 체인 노드가 또한, 상기 비즈니스 요청을 상기 전체 합의 네트워크 내의 다른 블록 체인 노드들로 브로드캐스트하는 단계;
    상기 다른 블록 체인 노드들에서, 상기 비즈니스 요청을 수신할 때, 상기 비즈니스 요청이 이전에 수신되었는지의 여부를 판단하는 단계;
    만약 그렇다면, 상기 다른 블록 체인 노드들이 상기 비즈니스 요청을 무시하는 단계; 및
    만약 그렇지 않다면, 상기 다른 블록 체인 노드들이 미리 설정된 분산 미들웨어를 사용하는 것에 의해 자신에게 대응하는 비즈니스 메모리에 상기 비즈니스 요청을 저장하는 단계
    를 더 포함하는, 비즈니스 검증 방법.
  9. 제8항에 있어서,
    상기 합의 검증 동안, 상기 사전 프로세싱된 블록을 수신한 이후, 상기 제2 블록 체인 노드에 의해, 상기 사전 프로세싱된 블록에 포함된 상기 비즈니스 요청의 비대칭 서명의 적법성(legality)을 검증하는 단계를 더 포함하는, 비즈니스 검증 방법.
  10. 제9항에 있어서,
    상기 비대칭 서명 적법성 검증 및 상기 사전 프로세싱된 블록에 대해 수행되는 해시(Hash) 무결성 검증에 따라, 상기 블록 체인 노드들 각각에 의해, 상기 사전 프로세싱된 블록이 적법한지의 여부에 관한 그 자신의 검증 결과를 획득하는 단계;
    상기 블록 체인 노드들 각각에 의해, 그 자신에 의해 획득되는 상기 검증 결과를 다른 블록 체인 노드들로 브로드캐스트하는 단계; 및
    상기 사전 프로세싱된 블록에 대한 상기 다른 블록 체인 노드들에 의해 전송되는 검증 결과 및 그 자신에 의해 획득되는 상기 검증 결과에 따라, 상기 블록 체인 노드들 각각이, 상기 전체 합의 네트워크 내의 상기 블록 체인 노드들의, 상기 사전 프로세싱된 블록이 상기 검증을 통과하는지의 여부에 관한, 통합 검증 결과를 획득하는 단계;
    상기 획득된 통합 검증 결과를 상기 다른 블록 체인 노드들로 추가로 브로드캐스트하는 단계;
    서로에게 브로드캐스트되는 상기 통합 검증 결과를 수신한 이후, 상기 합의 네트워크 내의 상기 블록 체인 노드들 각각에 의해, 상기 검증이 성공적이라는 것을, 상기 합의 네트워크 내의 상기 블록 체인 노드들에 의해 획득되는 상기 통합 검증 결과가 나타내는지의 여부를 판단하는 단계;
    만약 그렇다면, 상기 사전 프로세싱된 블록 내의 상기 비즈니스 요청을 그 자신의 블록 체인에서 블록으로서 저장하는 단계; 및
    만약 그렇지 않다면, 상기 사전 프로세싱된 블록 내의 상기 비즈니스 요청을 거부하는 단계
    를 더 포함하는, 비즈니스 검증 방법.
  11. 비즈니스 검증 장치로서,
    전체 합의 네트워크 내의 제1 블록 체인 노드에 의해 상기 전체 합의 네트워크 내의 제2 블록 체인 노드들로 브로드캐스트되는 비즈니스 요청을 수신하도록 구성되는 요청 수신 모듈;
    미리 설정된 분산 미들웨어를 사용하여 상기 비즈니스 요청을, 상기 제1 블록 체인 노드 및 상기 제2 블록 체인 노드들로부터의 일부 제2 블록 체인 노드에 대응하는 비즈니스 메모리에 저장하도록 구성되는 요청 저장 모듈(502, 602) - 상기 제1 블록 체인 노드가 상기 비즈니스 요청을 상기 제2 블록 체인 노드들로 브로드캐스트할 때, 상기 제2 블록 체인 노드들 중 일부는 네트워크 장애와 같은 영향 요인에 기인하여 상기 제1 블록 체인 노드에 의해 브로드캐스트되는 상기 비즈니스 요청을 수신하지 못함 - ;
    수신 모듈(501) - 상기 수신 모듈(501)은,
    상기 제2 블록 체인 노드들에 의해, 상기 제1 블록 체인 노드에 의해 브로드캐스트되며 적어도 하나의 비즈니스 요청을 포함하는 사전 프로세싱된 블록을 수신하고;
    각각의 대응하는 비즈니스 메모리 내에 포함된 비즈니스 요청에 따라 상기 적어도 하나의 비즈니스 요청의 상기 사전 프로세싱된 블록에 대한 합의 검증을 수행하고 상기 제1 블록 체인 노드의 상기 비즈니스 메모리로부터의 상기 적어도 하나의 비즈니스 요청과 매치시키고;
    제2 블록 체인 노드가, 자신에게 대응하는 비즈니스 메모리가 상기 사전 프로세싱된 블록 내의 상기 비즈니스 요청의 일부를 포함하지 않는다는 것을 발견하는 경우, 상기 제2 블록 체인 노드가 상기 적어도 하나의 비즈니스 요청의 상기 사전 프로세싱된 블록을 로컬 합의 검증에서 실패한 것으로 바로 고려하지 않으며;
    상기 제2 블록 체인 노드에 의해, 상기 전체 합의 네트워크 내의 다른 블록 체인 노드로부터 누락된 상기 비즈니스 요청의 상기 일부를 획득하도록 구성됨 - ;
    상기 비즈니스 요청의 상기 획득된 일부 및 상기 제2 블록 체인 노드에 대응하는 상기 비즈니스 메모리에 저장되어 있는 비즈니스 요청을 사용하는 것에 의해 상기 사전 프로세싱된 블록에 대한 합의 검증을 수행하도록 구성되는 검증 모듈(604)
    을 포함하는, 비즈니스 검증 장치.
  12. 제11항에 있어서,
    상기 제1 블록 체인 노드 및 상기 제2 블록 체인 노드의 상기 비즈니스 메모리는 비즈니스 요청을 저장하는 데이터베이스의 형태로 설정되고, 상기 메모리의 비즈니스 메모리는 대응하는 블록 체인 노드가 다운되거나 장애를 갖는 때 사라지지 않는 것인, 비즈니스 검증 장치.
  13. 제11항에 있어서,
    상기 요청 저장 모듈(502)은,
    상기 전체 합의 네트워크 내의 블록 체인 노드들과 비즈니스 메모리들 사이의 데이터 송신을 위해, 상기 비즈니스 요청을 미리 설정된 분산 미들웨어로 전송하고;
    미리 설정된 분산 미들웨어를 사용하는 것에 의해, 상기 제1 블록 체인 노드 및 상기 제2 블록 체인 노드들의 노드 식별자에 따라, 상기 제1 블록 체인 노드 및 상기 제2 블록 체인 노드들에 대응하는 상기 비즈니스 메모리에 상기 비즈니스 요청을 저장하며 - 상기 비즈니스 요청을 저장하는 것은 상기 비즈니스 요청의 비즈니스 타입에 따름 - ;
    상기 제1 블록 체인 노드에 의해, 상기 비즈니스 요청 및 이전에 수신된 비즈니스 요청을, 비즈니스 타입의 미리 설정된 우선 순위 순서에 따라 순위를 매기도록
    구성되는 것인, 비즈니스 검증 장치.
  14. 제11항에 있어서,
    상기 수신 모듈은,
    상기 제2 블록 체인 노드의 상기 비즈니스 메모리가 상기 사전 프로세싱된 블록 내의 상기 비즈니스 요청의 상기 일부를 포함하지 않는다는 것이 결정되는 경우, 상기 비즈니스 요청의 상기 일부를 획득하기 위한 질의(query) 메시지를 다른 제2 블록 체인 노드 또는 상기 제1 블록 체인 노드로 전송하고;
    상기 다른 제2 블록 체인 노드 또는 상기 제1 블록 체인 노드에 의해 반환되는 응답 메시지 - 상기 응답 메시지는, 상기 응답 메시지를 전송하는 상기 다른 제2 블록 체인 노드 또는 상기 제1 블록 체인 노드에 대응하는 비즈니스 메모리가 상기 비즈니스 요청의 상기 일부를 저장하고 있다는 것을 나타냄 - 를 수신하며;
    상기 응답 메시지를 전송한 상기 제2 블록 체인 노드 또는 상기 제1 블록 체인 노드에 대응하는 상기 비즈니스 메모리로부터 상기 비즈니스 요청의 상기 일부를 획득하도록
    구성되는 것인, 비즈니스 검증 장치.
  15. 제11항에 있어서,
    상기 검증 모듈(604)은,
    상기 사전 프로세싱된 블록을 수신한 이후, 상기 제2 블록 체인 노드에 의해, 상기 사전 프로세싱된 블록에 포함된 상기 비즈니스 요청의 비대칭 서명의 적법성을 검증하고;
    상기 비대칭 서명 적법성 검증 및 상기 사전 프로세싱된 블록에 대해 수행되는 해시 무결성 검증에 따라, 상기 블록 체인 노드들 각각에 의해, 상기 사전 프로세싱된 블록이 적법한지의 여부에 관한 그 자신의 검증 결과를 획득하고;
    상기 블록 체인 노드들 각각에 의해, 그 자신에 의해 획득되는 상기 검증 결과를 다른 블록 체인 노드들로 브로드캐스트하며;
    상기 사전 프로세싱된 블록에 대한 상기 다른 블록 체인 노드들에 의해 전송되는 검증 결과 및 그 자신에 의해 획득되는 상기 검증 결과에 따라, 상기 블록 체인 노드들 각각이, 상기 전체 합의 네트워크 내의 상기 블록 체인 노드들의, 상기 사전 프로세싱된 블록이 상기 검증을 통과하는지의 여부에 관한, 통합 검증 결과를 획득하고;
    상기 획득된 통합 검증 결과를 상기 다른 블록 체인 노드들로 추가로 브로드캐스트하고;
    서로에게 브로드캐스트되는 상기 통합 검증 결과를 수신한 이후, 상기 합의 네트워크 내의 상기 블록 체인 노드들 각각에 의해, 상기 검증이 성공적이다는 것을, 상기 합의 네트워크 내의 상기 블록 체인 노드들에 의해 획득되는 상기 통합 검증 결과가 나타내는지의 여부를 판단하고;
    만약 그렇다면, 상기 사전 프로세싱된 블록 내의 상기 비즈니스 요청을 그 자신의 블록 체인에서 블록으로서 저장하며;
    만약 그렇지 않다면, 상기 사전 프로세싱된 블록 내의 상기 비즈니스 요청을 거부하도록
    구성되는 것인, 비즈니스 검증 장치.
KR1020197027686A 2017-02-22 2018-02-22 비즈니스 검증 방법 및 장치 KR102315306B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201710096987.5A CN107040585B (zh) 2017-02-22 2017-02-22 一种业务校验的方法及装置
CN201710096987.5 2017-02-22
PCT/US2018/019228 WO2018156763A1 (en) 2017-02-22 2018-02-22 Business verification method and apparatus

Publications (2)

Publication Number Publication Date
KR20190115475A KR20190115475A (ko) 2019-10-11
KR102315306B1 true KR102315306B1 (ko) 2021-10-20

Family

ID=59534813

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197027686A KR102315306B1 (ko) 2017-02-22 2018-02-22 비즈니스 검증 방법 및 장치

Country Status (15)

Country Link
US (1) US20180240114A1 (ko)
EP (1) EP3583556A1 (ko)
JP (1) JP2020509690A (ko)
KR (1) KR102315306B1 (ko)
CN (2) CN107040585B (ko)
AU (2) AU2018225736A1 (ko)
BR (1) BR112019017409A2 (ko)
CA (1) CA3054363C (ko)
MX (1) MX2019009976A (ko)
MY (1) MY195883A (ko)
PH (1) PH12019501943A1 (ko)
RU (1) RU2722392C1 (ko)
SG (1) SG11201907679TA (ko)
TW (1) TWI691853B (ko)
WO (1) WO2018156763A1 (ko)

Families Citing this family (99)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107040585B (zh) * 2017-02-22 2020-06-19 创新先进技术有限公司 一种业务校验的方法及装置
CN107341702B (zh) 2017-03-08 2020-06-23 创新先进技术有限公司 一种业务处理的方法及装置
CN107395557B (zh) * 2017-03-28 2020-05-15 创新先进技术有限公司 一种业务请求的处理方法及装置
US20180308091A1 (en) * 2017-04-21 2018-10-25 Vmware, Inc. Fairness preserving byzantine agreements
US11871485B2 (en) * 2017-08-09 2024-01-09 Visa International Service Association Verification of interactions system and method
CN107767478B (zh) * 2017-09-06 2020-10-16 阿里巴巴集团控股有限公司 一种保存工作记录的方法及装置
CN107623865A (zh) * 2017-09-26 2018-01-23 武汉斗鱼网络科技有限公司 一种数据校验方法及服务器
CN107734021B (zh) * 2017-09-30 2020-04-07 深圳壹账通智能科技有限公司 区块链数据上传方法、系统、计算机系统及存储介质
CN108182635A (zh) * 2017-12-18 2018-06-19 深圳前海微众银行股份有限公司 区块链共识方法、系统和计算机可读存储介质
CN108111604B (zh) * 2017-12-21 2020-08-14 广州广电运通金融电子股份有限公司 区块链共识方法、装置和系统、标识信息处理方法和装置
CN108269190A (zh) * 2018-01-17 2018-07-10 深圳四方精创资讯股份有限公司 基于跨链中继平台的跨链方法及其系统
CN108280358B (zh) * 2018-02-12 2020-10-30 北京金山安全软件有限公司 一种信息提醒方法、装置及电子设备
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 成都云创智融科技有限公司 基于区块链数据库的账单处理方法、系统和可读存储介质
CN108833330B (zh) * 2018-04-08 2020-07-17 浙江商业职业技术学院 一种农村电子商务数据鉴证方法
CN108809929B (zh) * 2018-04-08 2020-07-17 浙江商业职业技术学院 一种基于区块链技术的农村金融系统
CN108595607B (zh) * 2018-04-20 2024-04-30 百度在线网络技术(北京)有限公司 登记信息的处理方法、装置、设备、系统和存储介质
CN108648078B (zh) * 2018-05-02 2021-03-23 杭州溪塔科技有限公司 一种交易预处理方法、装置及电子设备
US10579424B2 (en) * 2018-05-15 2020-03-03 International Business Machines Corporation Prioritization in a permissioned blockchain
CN110543511A (zh) * 2018-05-29 2019-12-06 阿里巴巴集团控股有限公司 供应链数据处理方法、装置、系统以及电子设备
CN110610361A (zh) * 2018-06-14 2019-12-24 普天信息技术有限公司 基于区块链的企业数据签名方法及装置
US11223606B2 (en) * 2018-06-29 2022-01-11 Intel Corporation Technologies for attesting a deployed workload using blockchain
CN108900364B (zh) * 2018-08-22 2021-11-26 泰康保险集团股份有限公司 区块链网络的管理方法、装置、介质及电子设备
CN110874492B (zh) * 2018-08-29 2023-05-26 阿里巴巴集团控股有限公司 数据处理方法、装置、计算设备及系统
CN109118230B (zh) * 2018-08-29 2022-04-05 众安信息技术服务有限公司 基于区块链的信息处理方法和装置
CN110896389B (zh) * 2018-09-12 2022-03-15 普天信息技术有限公司 一种区块链的共识方法、电子设备和计算机可读存储介质
CN109670930A (zh) * 2018-09-13 2019-04-23 深圳壹账通智能科技有限公司 欺诈设备识别方法、装置、设备及计算机可读存储介质
CN112968883B (zh) * 2018-09-27 2023-04-07 福建福链科技有限公司 一种安全性高的区块链异构共识方法及终端
CN109598518A (zh) * 2018-09-30 2019-04-09 阿里巴巴集团控股有限公司 基于区块链的防伪方法及装置、电子设备
CN109410084A (zh) * 2018-10-17 2019-03-01 郑称德 基于电子商务的农贸系统的移动支付控制方法及农贸系统
CN111192142A (zh) * 2018-10-25 2020-05-22 富士通株式会社 用于联盟链的信息公开及交易处理的装置、方法及介质
WO2020096072A1 (ko) * 2018-11-05 2020-05-14 라인플러스 주식회사 디앱에서 요구하는 높은 트랜잭션 처리량을 효율적으로 블록체인에서 처리하기 위한 방법 및 시스템
CN111182009B (zh) * 2018-11-09 2023-06-20 北京天德科技有限公司 一种区块链交易消息多汇点分发的方法
CN111223227B (zh) * 2018-11-26 2022-03-22 腾讯科技(深圳)有限公司 一种目标用户筛选方法及装置
CN111222984B (zh) * 2018-11-26 2023-04-18 本无链科技(深圳)有限公司 一种用于区块链分布式交易同步处理方法及系统
CN109584072B (zh) * 2018-11-28 2023-01-13 杭州复杂美科技有限公司 一种平行链共识的交易发送方法、设备和存储介质
CN111241188B (zh) * 2018-11-29 2024-05-17 北京京东尚科信息技术有限公司 区块链网络中的共识方法、节点及存储介质
CN109726229B (zh) * 2018-11-30 2023-10-10 深圳市元征科技股份有限公司 一种区块链数据存储方法及装置
EP3560143B1 (en) 2018-12-13 2021-09-15 Advanced New Technologies Co., Ltd. Data isolation in a blockchain network
CN109767325A (zh) * 2018-12-13 2019-05-17 重庆金融资产交易所有限责任公司 基于区块链的交易方法、装置及计算机可读存储介质
CN109753418B (zh) * 2018-12-28 2022-07-12 金蝶软件(中国)有限公司 性能测试方法、装置、计算机设备和存储介质
CN109829815B (zh) * 2019-01-12 2021-10-01 杭州复杂美科技有限公司 收款代理方法、设备和存储介质
CN109902480B (zh) * 2019-03-01 2023-03-31 重庆邮电大学 一种针对联盟链的高效认证方法
CN110800255B (zh) * 2019-03-04 2023-03-31 创新先进技术有限公司 更新区块链世界状态默克尔帕特里夏字典树子树
US11503036B2 (en) * 2019-03-13 2022-11-15 Nec Corporation Methods of electing leader nodes in a blockchain network using a role-based consensus protocol
CN110033271B (zh) * 2019-03-22 2023-12-22 湖南天河国云科技有限公司 一种跨链交易方法、系统及计算机可读存储介质
CN110086856B (zh) * 2019-04-01 2022-02-01 达闼机器人有限公司 区块链节点的控制方法、装置、存储介质及电子设备
CN110648137B (zh) * 2019-04-26 2021-08-20 腾讯科技(深圳)有限公司 一种区块处理方法和节点以及系统
CN110278211B (zh) * 2019-06-24 2023-04-07 深圳前海微众银行股份有限公司 一种基于区块链的数据检验方法及装置
CN110298756B (zh) * 2019-06-28 2022-12-20 杭州复杂美科技有限公司 平行链自共识方法、设备和存储介质
CN110471795B (zh) * 2019-07-31 2020-10-02 阿里巴巴集团控股有限公司 区块链状态数据恢复方法及装置、电子设备
CN110445843B (zh) * 2019-07-15 2021-11-02 杭州复杂美科技有限公司 平行链区块推送方法、设备和存储介质
CN110445626B (zh) * 2019-07-15 2021-11-02 杭州复杂美科技有限公司 区块打包、广播方法和系统、设备及存储介质
CN110445853B (zh) * 2019-07-29 2021-08-06 杭州复杂美科技有限公司 平行链节点激励方法、设备和存储介质
CN110443710B (zh) * 2019-08-02 2022-06-07 中国工商银行股份有限公司 一种批量签名的区块链系统及方法
CN110471827B (zh) * 2019-08-09 2023-02-17 中国信息通信研究院 一种区块链性能基准测试方法和装置
CN110730204B (zh) * 2019-09-05 2022-09-02 创新先进技术有限公司 区块链网络中删除节点的方法和区块链系统
CN110659988B (zh) * 2019-09-10 2022-11-18 杭州秘猿科技有限公司 区块链共识与执行的并行处理方法、装置和电子设备
CN110598448B (zh) * 2019-09-19 2024-03-12 腾讯科技(深圳)有限公司 基于区块链的操作数据处理方法、装置、设备及存储介质
CN110691077B (zh) * 2019-09-24 2021-06-29 支付宝(杭州)信息技术有限公司 一种联盟链的业务校验方法及联盟链系统
CN110838063B (zh) * 2019-09-30 2024-04-12 远光软件股份有限公司 基于区块链的交易处理方法、电子设备和存储介质
WO2020035090A2 (en) * 2019-11-08 2020-02-20 Alipay (Hangzhou) Information Technology Co., Ltd. Lightweight decentralized application platform
CN110971684B (zh) * 2019-11-28 2022-09-09 北京工业大学 一种基于pbft的区块链网络节点负载均衡方法
KR102141177B1 (ko) * 2019-12-12 2020-08-04 주식회사 립페이 이중 블록체인 구조 기반 미들웨어 계층에서 실행되는 트랜잭션 고속 처리 서비스 제공 방법
CN111080298B (zh) * 2019-12-26 2023-12-29 电子科技大学 一种适用于能源区块链的区块生成与交易验证方法
CN111145025B (zh) * 2019-12-30 2023-07-14 北京工商大学 一种基于区块链的供应链数据双链存储优化方法
CN111275438B (zh) * 2020-01-14 2023-04-28 北京众享比特科技有限公司 区块链网络的共识方法、装置、设备和存储介质
CN111242784B (zh) * 2020-01-16 2023-12-29 深圳大学 区块预打包方法、区块节点、装置及存储介质
US11645422B2 (en) 2020-02-12 2023-05-09 International Business Machines Corporation Document verification
CN111415259B (zh) * 2020-03-26 2024-02-06 杭州复杂美科技有限公司 交易排队方法、设备和存储介质
CN111510484B (zh) * 2020-04-10 2023-07-04 金蝶软件(中国)有限公司 区块链处理方法、系统、装置、计算机设备和存储介质
CN113538138A (zh) * 2020-04-17 2021-10-22 中国移动通信集团有限公司 一种分组共识模型生成方法、装置和计算机设备
CN111506656B (zh) * 2020-04-20 2022-06-14 腾讯科技(深圳)有限公司 区块链系统的共识处理方法、装置及智能设备、存储介质
CN111523896B (zh) * 2020-05-06 2023-05-30 杭州复杂美科技有限公司 防攻击方法、设备和存储介质
CN111524010B (zh) * 2020-05-06 2023-06-02 杭州复杂美科技有限公司 平行链共识方法、设备和存储介质
CN111524011B (zh) * 2020-05-06 2023-05-30 杭州复杂美科技有限公司 平行链共识确认方法、设备和存储介质
CN111695995B (zh) * 2020-05-12 2024-01-30 深圳点链科技有限公司 一种基于区块链技术的电子设备管理系统
CN111339106B (zh) * 2020-05-18 2020-08-28 杭州趣链科技有限公司 一种区块链数据索引的方法
CN111641707B (zh) * 2020-05-29 2021-09-17 兰州理工大学 基于区块链的数字版权保护方法
CN111917572B (zh) * 2020-07-12 2022-10-25 中信银行股份有限公司 交易请求的处理方法、装置、电子设备及可读存储介质
CN112116360A (zh) * 2020-08-14 2020-12-22 宇龙计算机通信科技(深圳)有限公司 鞋子防伪方法、装置、存储介质以及电子设备
CN112163241A (zh) * 2020-09-09 2021-01-01 法信公证云(厦门)科技有限公司 一种公证档案信息处理方法、系统、平台、设备及存储介质
CN112069259B (zh) * 2020-09-09 2023-08-18 天津大学 一种基于区块链的多云环境数据存储系统及方法
CN112243008B (zh) * 2020-10-16 2023-06-02 中国联合网络通信集团有限公司 一种数据管理方法及装置
CN112182113A (zh) * 2020-10-23 2021-01-05 网易(杭州)网络有限公司 区块链共识方法、系统、电子设备及存储介质
CN112001663B (zh) * 2020-10-30 2021-02-12 腾讯科技(深圳)有限公司 基于区块链的物资捐赠数据处理方法及相关设备
CN114697350B (zh) * 2020-12-31 2023-06-27 福建凯米网络科技有限公司 一种基于区块链的数据存储方法及存储介质
CN113032489B (zh) * 2021-03-29 2023-07-21 湖北央中巨石信息技术有限公司 一种基于区块链的异步共识方法及系统及装置及介质
CN113271345B (zh) * 2021-04-30 2022-08-12 中国科学院信息工程研究所 基于联盟区块链制造业部门协同维持数据可靠存证的方法
CN113094753B (zh) * 2021-05-08 2023-02-24 重庆银行股份有限公司 基于区块链的大数据平台hive数据修改方法以及系统
CN113542251B (zh) * 2021-07-09 2023-07-21 中国工商银行股份有限公司 数据报送方法及装置
CN113746637B (zh) * 2021-09-03 2024-02-27 华东师范大学 适用于联盟链且具有高可扩展性的segbft共识算法
CN113746922B (zh) * 2021-09-03 2023-10-20 杭州复杂美科技有限公司 节点连接方法、计算机设备和存储介质
CN114422513B (zh) * 2022-01-19 2024-02-27 贵州数创控股(集团)有限公司 一种基于Raft-PBFT的区块链共识方法
CN114090306B (zh) * 2022-01-21 2022-04-19 安徽中科晶格技术有限公司 可插拔的区块链分层共识方法、系统、设备及存储介质
CN114978526B (zh) * 2022-04-26 2023-11-28 成都质数斯达克科技有限公司 一种区块链数据传输方法、装置、设备及可读存储介质
CN115037756A (zh) * 2022-06-01 2022-09-09 蚂蚁区块链科技(上海)有限公司 一种运行联盟链网络的方法、联盟链网络和用于联盟链网络的节点设备
CN118055062A (zh) * 2022-11-10 2024-05-17 中移(上海)信息通信科技有限公司 工业区块链网络的优化方法及装置、节点和存储介质

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8001080B2 (en) * 2006-09-12 2011-08-16 Infosys Technologies Ltd. Managing real-time execution of transactions in a network
CN103544074B (zh) * 2012-07-09 2016-06-29 阿里巴巴集团控股有限公司 一种业务的校验方法及装置
US10409827B2 (en) * 2014-10-31 2019-09-10 21, Inc. Digital currency mining circuitry having shared processing logic
CN105681254A (zh) * 2014-11-18 2016-06-15 阿里巴巴集团控股有限公司 一种用户身份验证方法及装置
US9967334B2 (en) * 2015-03-02 2018-05-08 Dell Products Lp Computing device configuration and management using a secure decentralized transaction ledger
US20160283920A1 (en) * 2015-03-28 2016-09-29 Justin Fisher Authentication and verification of digital data utilizing blockchain technology
WO2017069874A1 (en) * 2015-10-21 2017-04-27 Manifold Technology, Inc. Event synchronization systems and methods
CN105630609B (zh) * 2016-02-24 2021-05-11 杭州复杂美科技有限公司 区块链的打包存储方法
CN105808325B (zh) * 2016-03-03 2019-04-12 布比(北京)网络技术有限公司 一种数据处理的方法及装置
CN106228446B (zh) * 2016-05-12 2019-09-13 北京众享比特科技有限公司 基于私有区块链的资产交易平台系统及方法
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
US10762516B2 (en) * 2016-08-08 2020-09-01 The Dun & Bradstreet Corporation Trusted platform and integrated BOP applications for networking BOP components
CN106357604B (zh) * 2016-08-18 2019-07-23 苏州超块链信息科技有限公司 一种一致性数据累积协同组装方法
CN106327173A (zh) * 2016-08-22 2017-01-11 布比(北京)网络技术有限公司 网络支付方法及装置
CN106372940B (zh) * 2016-08-31 2019-10-11 江苏通付盾科技有限公司 基于区块链网络的身份认证方法、服务器及终端设备
CN106301792B (zh) * 2016-08-31 2019-10-18 江苏通付盾科技有限公司 基于区块链的ca认证管理方法、装置及系统
US10360191B2 (en) * 2016-10-07 2019-07-23 International Business Machines Corporation Establishing overlay trust consensus for blockchain trust validation system
RU2639015C1 (ru) * 2017-01-26 2017-12-19 Игорь Сан-Сенович Дю Способ контроля подлинности и качества продукции в процессе производства и реализации
CN107040585B (zh) * 2017-02-22 2020-06-19 创新先进技术有限公司 一种业务校验的方法及装置
CN113282659A (zh) * 2017-03-28 2021-08-20 创新先进技术有限公司 一种基于区块链的数据处理方法及设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Michele D’aliessi: "How Does the Blockchain Work?", [online], 2016년 6월 2일, [2021년 7월 23일 검색], 인터넷:<https://onezero.medium.com/how-does-the-blockchain-work-98c8cd01d2ae>

Also Published As

Publication number Publication date
KR20190115475A (ko) 2019-10-11
CN107040585B (zh) 2020-06-19
TWI691853B (zh) 2020-04-21
CN111917864A (zh) 2020-11-10
BR112019017409A2 (pt) 2020-03-31
CN107040585A (zh) 2017-08-11
US20180240114A1 (en) 2018-08-23
CN111917864B (zh) 2023-08-22
JP2020509690A (ja) 2020-03-26
CA3054363C (en) 2022-06-14
MX2019009976A (es) 2019-09-26
WO2018156763A1 (en) 2018-08-30
PH12019501943A1 (en) 2020-07-13
SG11201907679TA (en) 2019-09-27
EP3583556A1 (en) 2019-12-25
AU2018225736A1 (en) 2019-09-12
AU2021203493A1 (en) 2021-06-24
TW201832098A (zh) 2018-09-01
MY195883A (en) 2023-02-27
RU2722392C1 (ru) 2020-05-29
CA3054363A1 (en) 2018-08-30

Similar Documents

Publication Publication Date Title
KR102315306B1 (ko) 비즈니스 검증 방법 및 장치
TWI685764B (zh) 共識校驗的方法及裝置
EP3531668B1 (en) Method and device for processing service request
AU2019101613A4 (en) Method and apparatus for processing transaction requests
JP2020508594A (ja) サービス処理およびコンセンサスの方法およびデバイス
KR20190099053A (ko) 블록체인에서 블록 데이터를 검증하기 위한 방법 및 장치
US11436604B2 (en) Method, apparatus and storage medium for processing ethereum-based falsified transaction
CN113935737A (zh) 基于区块链的随机数生成方法及装置

Legal Events

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