KR20200095540A - 블록체인 스마트 계약 검증 방법, 장치 및 저장 매체 - Google Patents

블록체인 스마트 계약 검증 방법, 장치 및 저장 매체 Download PDF

Info

Publication number
KR20200095540A
KR20200095540A KR1020207019610A KR20207019610A KR20200095540A KR 20200095540 A KR20200095540 A KR 20200095540A KR 1020207019610 A KR1020207019610 A KR 1020207019610A KR 20207019610 A KR20207019610 A KR 20207019610A KR 20200095540 A KR20200095540 A KR 20200095540A
Authority
KR
South Korea
Prior art keywords
block
merkle tree
smart contract
root node
verification
Prior art date
Application number
KR1020207019610A
Other languages
English (en)
Other versions
KR102431459B1 (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 KR20200095540A publication Critical patent/KR20200095540A/ko
Application granted granted Critical
Publication of KR102431459B1 publication Critical patent/KR102431459B1/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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • H04L9/0836Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q2220/00Business processing using cryptography
    • H04L2209/38

Abstract

본 발명은 블록체인 스마트 계약 검증 방법, 장치 및 저장 매체를 제공한다. 상기 방법은, 블록체인 네트워트중의 제1노드로부터 지정된 블록의 블록 헤더 정보 및 트랜잭션 리스트를 획득하는 바, 트랜잭션 리스트는 트랜잭션 아이디 및 스마트 계약의 실행 결과를 포함하고, 블록 헤더 정보는 제1머클 트리의 루트 노드, 제2머클 트리의 루트 노드 및 지정된 블록의 이전 블록의 아이디를 포함하는것; 제1머클 트리의 루트 노드 및 상기 트랜잭션 아이디에 대해 검증을 진행하는 것; 제2머클 트리의 루트 노드 및 스마트 계약 실행 결과에 대해 검증을 진행하는 것; 지정된 블록의 이전 블록의 아이디가 사전에 저장된 블록 헤더 체인 구조중에 존재하는지 여부를 검증하는 것; 및 이상의 검증이 모두 통과되였다면, 스마트 계약의 실행 결과가 유효하다고 확정하는 것을 포함한다. 본 발명의 실시예는 완정한 블록 정보를 다운로드할 필요가 없을 뿐만 아니라, 라이트노드의 로컬에서 스마트 계약을 반복적으로 실행할 필요도 없이, 스마트 계약 실행 결과의 유효성을 판단할수 있으므로, 자원을 절약하고, 효율을 향상시킬수 있다.

Description

블록체인 스마트 계약 검증 방법, 장치 및 저장 매체
본 출원은 2018년 9월 20일자로 중국지식재산권국에 제출된 출원번호가 201811101341.2이고 발명 명칭이 "블록체인 스마트 계약 검증 방법, 장치 및 저장 매체"인 중국특허출원의 우선권을 주장하며, 그 전체 내용은 참조로서 본 출원에 포함된다.
본 발명은 정보 기술 분야에 관한 것으로서, 특히 블록체인 스마트 계약 검증 방법, 장치 및 컴퓨터 판독 가능한 저장 매체에 관한 것이다.
블록체인 네트워크는 일반적으로 대량의 풀노드를 포함하며, 이런 풀노드들은 완정한 블록체인의 장부 테이터를 유지한다. 매개 블록의 완정한 테이터는 실시간으로 이런 풀노드에 동기화되므로, 블록의 유효성에 대해 정확한 판단을 할수 있다.
블록체인 네트워크에는 일부 라이트노드도 존재하며, 예를 들어 핸드폰 등 모바일 클라이언트가 존재한다. 하지만 그들의 저장 공간이 제한되여 있기 때문에, 전부의 역사적 블록 데이터를 저장할수 없다. 그리고, 모바일 클라이언트의 대폭은 한계가 있고 흐름량 비용도 꽤 높아, 블록 크기가 크고 블록 출력 속도가 빠를 경우, 매개 블록의 완정한 데이터를 실시간으로 모바일 클라이언트에 동기화하는것도 현실적으로 불가능하였다. 한편, 라이트노드의 하드웨이어 능력이 약하기 때문에, 로컬에서 스마트 계약을 반복적으로 실행하여 스마트 계약의 실행결과와 블록체인으로부터 동기화한 블록이 일치한지를 검증하는데는 코스트가 너무 높다.
현재 시중에도 라이트노드 기술이 있지만, 스마트 계약을 반복적으로 실행하지 않으면 라이트노드에서는 스마트 계약의 실행결과를 유효적으로 검증할수 없었다.
본 발명의 실시예는 블록체인 스마트 계약 검증 방법, 장치 및 컴퓨터 판독 가능한 저장 매체을 제공하여, 적어도 종래 기술 중의 하나 또는 복수의 기술 문제를 해결하도록 한다.
제1 측면에 있어서, 본 발명의 실시예는 블록체인 스마트 계약 검증 방법을 제공하며, 해당 방법은, 블록체인 네트워트중의 제1노드로부터 지정된 블록의 블록 헤더 정보 및 트랜잭션 리스트를 획득하는 바, 여기서, 상기 트랜잭션 리스트중에는 트랜잭션 아이디 및 스마트 계약의 실행 결과를 포함하고, 상기 블록 헤더 정보는 제1머클 트리의 루트 노드, 제2머클 트리의 루트 노드 및 상기 지정된 블록의 이전 블록의 아이디를 포함하는 것; 상기 제1머클 트리의 루트 노드 및 상기 트랜잭션 아이디에 대해 검증을 진행하여, 제1검증 결과를 얻는 것; 상기 제2머클 트리의 루트 노드 및 상기 스마트 계약 실행 결과에 대해 검증을 진행하여, 제2 검증 결과를 얻는 것; 상기 지정된 블록의 이전 블록의 아이디가 사전에 저장된 블록 헤더 체인 구조중에 존재하는지 여부를 검증하여, 제3검증 결과를 얻는 것; 및 상기 제1검증 결과, 상기 제2검증 결과 및 상기 제3검증 결과가 모두 검증에 통과되였다면, 상기 스마트 계약의 실행 결과가 유효하다고 확정하는 것을 포함한다.
일 실시방식에 있어서, 상기 제1머클 트리의 루트 노드 및 상기 트랜잭션 아이디에 대해 검증을 진행하는 것은, 상기 트랜잭션 리스트중의 트랜잭션 아이디를 사용하여 제3머클 트리를 구성하고, 상기 제3머클 트리의 루트 노드를 계산해내는 것; 상기 제3머클 트리의 루트 노드와 상기 제1머클 트리의 루트 노드가 일치한지를 비교하는 것; 및 일치하다면, 상기 제1머클 트리의 루트 노드와 상기 트랜잭션 아이디에 대한 검증을 통과시키는 것을 포함한다.
일 실시방식에 있어서, 상기 제2머클 트리의 루트 노드 및 상기 스마트 계약 실행 결과에 대해 검증을 진행하는 것은, 상기 트랜잭션 리스트중의 스마트 계약 실행 결과를 사용하여 제4머클 트리를 구성하고, 상기 제4머클 트리의 루트 노드를 계산해내는 것; 상기 제4머클 트리의 루트 노드와 상기 제2머클 트리의 루트 노드가 일치한지를 비교하는 것; 및 일치하다면, 상기 제2머클 트리의 루트 노드와 상기 스마트 계약 실행 결과의 검증을 통과시키는 것을 포함한다.
일 실시방식에 있어서, 상기 지정된 블록의 이전 블록의 아이디가 사전에 저장된 블록 헤더 체인 구조중에 존재하는지 여부를 검증하기 전에, 블록체인 네트워크중의 상기 제1노드 및 제2 노드로부터 상기 지정된 블록의 블록 헤더 정보를 각각 획득하는 것; 상기 제1노드중의 상기 지정된 블록의 블록 헤더 정보 및 상기 제2노드중의 상기 지정된 블록의 블록 헤더 정보가 일치한지를 비교하는 것; 일치하다면, 상기 지정된 블록을 유효한 것으로 확정하는 것; 및 상기 지정된 블록을 유효한 것으로 확정하였을 경우, 상기 지정된 블록의 이전 블록의 아이디가 사전에 저장된 블록 헤더 체인 구조중에 존재하는지 여부를 검증하는 것을 더 포함한다.
제2 측면에 있어서, 본 발명의 실시예는 블록체인 스마트 계약 검증 장치를 제공하는 바, 해당 장치는, 블록체인 네트워크중의 제1노드로부터 지정된 블록의 블록 헤더 정보 및 트랜잭션 리스트를 획득하기 위한 획득 유닛, 여기서, 상기 트랜잭션 리스트는 트랜잭션 아이디 및 스마트 계약의 실행 결과를 포함하며, 상기 블록 헤더 정보는 제1머클 트리의 루트 노드, 제2머클 트리의 루트 노드 및 상기 지정된 블록의 이전 블록의 아이디를 포함함; 상기 제1머클 트리의 루트 노드와 상기 트랜잭션 아이디에 대해 검증을 진행하여, 제1 검증 결과를 획득하기 위한 제1검증 유닛; 상기 제2머클 트리의 루트 노드와 상기 스마트 계약 실행 결과에 대해 검증을 진행하여, 제2검증 결과를 획득하기 위한 제2검증 유닛; 상기 지정된 블록의 이전 블록의 아이디가 사전에 저장된 블록 헤더 체인 구조중에 존재하는지 여부를 검증하여, 제3검증 결과를 획득하기 위한 제3검증 유닛; 및 상기 제1검증 결과, 제2검증 결과 및 제3검증 결과가 모두 검증에 통과되였다면, 상기 스마트 계약의 실행 결과가 유효하다고 확정하기 위한 확정 유닛,을 포함한다.
일 실시방식에 있어서, 상기 제1검증 유닛은 또한, 상기 트랜잭션 리스트중의 트랜잭션 아이디를 사용하여 제3머클 트리를 구성하고, 상기 제3머클 트리의 루트 노드를 계산해내고; 상기 제3머클 트리의 루트 노드와 상기 제1머클 트리의 루트 노드가 일치한지를 비교하고; 및 일치하다면, 상기 제1머클 트리의 루트 노드와 상기 트랜잭션 아이디에 대한 검증을 통과시키는데 이용된다.
일 실시방식에 있어서, 상기 제2검증 유닛은 또한 상기 트랜잭션 리스트중의 스마트 계약 실행 결과를 사용하여 제4머클 트리를 구성하고, 상기 제4머클 트리의 루트 노드를 계산해내고; 상기 제4머클 트리의 루트 노드와 상기 제2머클 트리의 루트 노드가 일치한지를 비교하고; 및 일치하다면, 상기 제2머클 트리의 루트 노드와 상기 스마트 계약 실행 결과의 검증을 통과시키는데 이용된다.
일 실시방식에 있어서, 제4검증 유닛을 더 포함하며, 상기 제4검증 유닛은, 블록체인 네트워크중의 상기 제1노드 및 제2노드로부터 상기 지정된 블록의 블록 헤더 정보를 각각 획득하고; 상기 제1노드중의 상기 지정된 블록의 블록 헤더 정보와 상기 제2노드중의 상기 지정된 블록의 블록 헤더 정보가 일치한지를 비교하고; 일치하다면, 상기 지정된 블록을 유효한 것으로 확정하고; 및 상기 지정된 불록을 유효한 것으로 확정하였을 경우, 상기 지정된 블록의 이전 블록 아이디가 사전에 저장된 블록 헤더 체인 구조중에 존재하는지 여부를 검증하는데 이용된다.
일 가능한 설계에 있어서, 블록체인 스마트 계약 검증 장치의 구조중에는 프로세서 및 메모리를 포함할수 있으며, 상기 메모리는 블록체인 스마트 계약 검증 장치가 상기 제1측면중의 블록체인 스마트 계약 검증 방법을 실행하도록 지원하는 프로그램을 저장하기 위한 것이며, 상기 프로세서는 상기 메모리중에 저장된 프로그램을 실행하도록 구성될수 있다. 상기 블록체인 스마트 계약 검증 장치는 또한 블록체인 스마트 계약 검증 장치와 기타 장치 또는 통신 네트워크와 통신하기 위한 통신 인터페이스를 포함할수 있다.
제3측면에 있어서, 본 발명의 실시예는 블록체인 스마트 계약 검증 장치를 제공하는 바, 해당 장치는, 하나 또는 복수의 프로세서; 및 하나 또는 복수의 프로그램을 저장하기 위한 저장 장치를 포함하며, 상기 하나 또는 복수의 프로세서가 하나 또는 복수의 프로그램을 실행할 시, 상기 하나 또는 복수의 프로세서로 하여금 상기 제1측면중의 어느 한 방법을 구현하도록 한다.
제4측면에 있어서, 본 발명의 실시예는 컴퓨터 프로그램을 저장하는 비휘발성 컴퓨터 판독 가능한 저장 매체를 제공하는 바, 프로세서가 상기 프로그램을 실행할 시, 상기 제1측면중의 어느 한 방법을 구현할수 있다.
상기 기술방안은 다음과 같은 장점과 유익한 효과를 갖다줄수 있다. 즉: 완정한 블록 정보를 다운로드 및 저장할 필요가 없을 뿐만 아니라, 라이트급 클라이언트 로컬에서 스마트 계약을 반복적으로 실행하지 않고도, 블록체인 네트워크에서 라이트노드를 도와 스마트 계약 실행 결과의 유효성을 판단할수 있도록 하며, 시스템 자원을 절약하고, 실행 효율을 향상시킬수 있다.
상기 요약은 단지 명세서를 위한 목적이며, 어떠한 방식으로 제한하는것을 의미하는것이 아니다. 상기 기술된 예시적 측면, 실시 방식과 특징 외, 도면과 아래의 상세한 설명을 통하여, 본 발명의 진일보의 측면, 실시 방식과 특징은 더욱 명료해질 것이다.
도면 중에서, 별도로 규정된 것 외, 복수의 도면을 통해 표시된 동일한 도면 부호는 동일하거나 유사한 부품 또는 요소를 표시한다. 이러한 도면은 반드시 비례에 따라 그려진 것이 아니다. 이러한 도면은 단지 본 발명에 기반하여 공개된 일부 실시 방식만 도시하고 있으며, 이를 본 발명의 범위를 제한하는 것으로 간주해서는 안된다.
도1은 본 발명의 일 실시예에서 제공한 블록체인 스마트 계약 검증 방법의 흐름도이다.
도2는 본 발명의 다른 한 실시예에서 제공한 블록체인 스마트 계약 검증 방법의 흐름도이다.
도3은 본 발명의 다른 한 실시예에서 제공한 블록체인 스마트 계약 검증 방법중의 풀노드에서 제2머클 트리를 계산하는 흐름도이다.
도4는 본 발명의 다른 한 실시예에서 제공한 블록체인 스마트 계약 검증 방법의 흐름도이다.
도5는 본 발명의 다른 한 실시예에서 제공한 블록체인 스마트 계약 검증 방법의 흐름도이다.
도6은 본 발명의 다른 한 실시예에서 제공한 블록체인 스마트 계약 검증 방법의 흐름도이다.
도7은 본 발명의 다른 한 실시예에서 제공한 블록체인 스마트 계약 검증 방법이 라이트노드에서의 유효성 검사 흐름도이다.
도8은 본 발명의 일 실시예에서 제공한 블록체인 스마트 계약 검증 장치의 구조 블록도이다.
도9는 본 발명의 또 다른 한 실시예에서 제공한 블록체인 스마트 계약 검증 장치의 구조 블록도이다.
도10은 본 발명의 또 다른 한 실시예에서 제공한 블록체인 스마트 계약 검증 장치의 구조 블록도이다.
이하에서는 단지 어떠한 예시적 실시예를 설명하고자 한다. 당업자들에게 숙지된 바와 같이, 본 발명의 정신과 범위를 벗어나지 않는 경우, 여러 가지 부동한 방식을 통하여 이하에서 설명된 실시예를 수정할 수 있다. 그러므로, 도면과 설명은 본질적으로는 예시적이고 비제한적인 것으로 간주한다.
도1은 본 발명의 일 실시예에서 제공한 블록체인 스마크 계약 검증 방법의 흐름도이다. 도1에서 도시한 바와 같이, 본 발명의 실시예의 블록체인 스마크 계약 검증 방법은: 단계S110, 블록체인 네트워트중의 제1노드로부터 지정된 블록의 블록 헤더 정보 및 트랜잭션 리스트를 획득하는 바, 여기서, 상기 트랜잭션 리스트중에는 트랜잭션 아이디 및 스마트 계약의 실행 결과를 포함하고, 상기 블록 헤더 정보는 제1머클 트리의 루트 노드, 제2머클 트리의 루트 노드 및 상기 지정된 블록의 이전 블록의 아이디를 포함하는 것; 단계S120, 상기 제1머클 트리의 루트 노드 및 상기 트랜잭션 아이디에 대해 검증을 진행하여, 제1검증 결과를 얻는 것; 단계S130, 상기 제2머클 트리의 루트 노드 및 상기 스마트 계약 실행 결과에 대해 검증을 진행하여, 제2 검증 결과를 얻는 것; 단계S140, 상기 지정된 블록의 이전 블록의 아이디가 사전에 저장된 블록 헤더 체인 구조중에 존재하는지 여부를 검증하여, 제3검증 결과를 얻는 것; 및 단계S150, 상기 제1검증 결과, 상기 제2검증 결과 및 상기 제3검증 결과가 모두 검증에 통과되였다면, 상기 스마트 계약의 실행 결과를 유효한 것으로 확정하는 것을 포함한다. 상기 제1머클 트리의 리프 노드는 상기 지정된 블록의 모든 트랜잭션 아이디로 구성되였으며, 상기 제2머클 트리의 리프 노드는 상기 지정된 블록의 모든 스마트 계약 실행 결과로 구성되였다.
머클 트리(Merkle trees)는 블록체인의 중요한 데이터 구조로서, 블록 데이터를 신속히 귀납하고 블록 데이터의 존재성과 완정성을 검사할수 있다. 머클 트리는 일반적으로 블록체의 밑층(트랜잭션) 데이터, 블록 헤더의 루트 해시값(즉 머클 루트) 및 밑층의 블록 데이터에서 루트 해시값까지의 모든 부랜치를 포함한다. 머클 트리 연산 과정은 일반적으로 블록체의 데이터를 그룹으로 나누어 해시 연산을 진행한 후, 생성된 새로운 해시값을 머클 트리에 삽입하고, 이렇게 마지막 하나의 루트 해시값만 남을때까지 재귀(recursion)하여 블록 헤더의 머클 루트로 표기한다. 제일 흔히 볼수 있는 머클 트리는 비트코인에서 사용한 이진 머클 트리로서, 이진 머클 트리에서의 매개 해시 노드는 항상 두개의 인접한 데이터 블록 혹은 두개의 해시값을 포함한다.
블록체인 네트워크중에는 일부 라이트노드가 존재하며, 예를 들어 핸드폰 모바일 클라이언트가 있다. 라이트노드는 저장 공간이 제한되여 있고, 하드웨어의 능력이 약하다. 때문에, 가능한 방법을 찾아서 라이트노드에서 네트워크로부터 새롭게 동기화된 스마트 계약 실행 결과의 유효성을 검증할 필요가 있다. 본 발명의 실시예는 블록체인 네트워크에서 라이트노드를 도와 스마트 계약 실행 결과의 유효성을 판단하는 방법을 제공한다. 본 발명의 실시예의 구체적인 검증 방법은,
단계S120에서, 블록 헤더 정보중의 제1 머클 트리의 루트 노드 및 트랜잭션 리스트중의 트랜잭션 아이디가 매칭되는지 여부를 검증하는 것;
단계S130에서, 블록 헤더 정보중의 제2머클 트리의 루트 노드 및 트랜잭션 리스트중의 스마트 계약 실행 결과가 매칭되는지 여부를 검증하는것;
단계S140에서, 블록 헤더 정보중의 지정된 블록의 이전 블록의 아이디가 사전에 저장된 블록 헤더 체인 구조중에 존재하는지 여부를 검증하는것을 포함한다.
여기서, 단계S120과 단계S130의 실행순서는 서로 교환할수 있다. 혹은, 다른 한 실시예에서, 단계S120과 단계S130은 병행하여 실행할수도 있다.
본 발명의 실시예는 블록체인 기술을 사용하는 어떠한 라이트노드에 적용할수 있으며, 라이트노드는 모바일 클라이언트 기기를 포함하지만 그에 제한된것은 아니다.
도2는 본 발명의 다른 한 실시예에서 제공한 블록체인 스마트 계약 검증 방법의 흐름도이다. 도2에서 도시한 바와 같이, 본 발명의 실시예의 구체적인 실시 단계는 다음과 같다.
단계S105: 로컬에서 블록 헤더의 체인 데이터 구조를 유지한다.
A. 블록 헤더는 다음과 같은 데이터를 포함한다. 즉:
i. 블록id( identification, 아이디);
ii. 이전 블록id;
iii. 제1머클 트리의 루트 노드hash(해시값);
iv. 제2머클 트리의 루트 노드hash.
B. 매개 블록 헤더는 이전 블록의 블록 헤더를 지향하며, 이로서 체인 데이터 구조를 유지한다. 최초 블록(Genesis block)의 블록 헤더가 지향하는 이전 블록 id는0이다.
제1 머클 트리의 맨 밑층의 리프 노드는 해당 블록에 포함된 모든 UTXO(Unspent Transaction Output, 사용되지 않은 트랜잭션 출력)트랜잭션 id 로 구성되였다. 여기서, 트랜잭션 id는 트랜잭션 내용에 대해 해시 연산을 진행하여 획득하는데, 트랜잭션 내용중에는 스마트 계약의 실행 결과를 포함하지 않는다.
제2머클 트리의 맨 밑층의 리프 노드는 해당 블록에 포함된 모든 스마트 계약의 실행 결과로 구성되였다. 하나의 트랜잭션이 스마트 계약의 실행에 관한 것이라면, 스마트 계약의 실행 결과가 하나의 새로운 필드에 저장될 것이다. 이런 새로운 필드는 하나의 머클 트리를 구성할 것이다.
매개 트랜잭션에 관한 스마트 계약의 실행 결과는 다음과 같은 두 부분의 내용으로 구성된다. 즉:
v-1. 한 그루의 머클 트리의 루트 노드. 매번VM (Virtual Machine, 가상 기계)가 하나의 트랜잭션에 관한 스마트 계약을 실행 완료한 후, 스마트 계약의 데이터 내용을 저장한 데이터 구조를 수정한다. 모든 데이터는 해당 머클 트리를 구성한다.
v-2. 이번 트랜잭션에 관한 스마트 계약을 실행한 후 생성된 실행 결과.
도3은 본 발명의 다른 한 실시예에서 제공한 블록 체인 스마트 계약 검증 방법중의 풀노드에서 제2 머클 트리를 계산하는 흐름도이다. 도3에서, State - Key는 스마트 계약의 실행 결과에 대응되는 가치(state)와 키 값(key) 데이터를 표시한다. "Key state snapshots when Smart Contract has been Invoked"는 스마트 계약을 실행한 후에 생성된 실행 결과에 대응되는 가치와 키값 데이터의 스냅숏을 표시한다. State - Key1 및State - Key2에 대해 각각 해시 연산을 진행하여, 두 개의 리프 노드Hash L - LEAF를 획득한다. 재차 두 개의 리프 노드Hash L - LEAF에 대해 해시 연산을 진행하여, 가지 교차점Hash X - BRANCH를 획득한다. 두개의 가지 노드Hash X - BRANCH 및 Hash Y - BRANCH에 대해 해시 연산을 진행하여, 상기 v-1중의 머클 트리의 루트 노드를 생성한다. 즉 "State DB merkle root when Smart Contract has been Invoked - Tx B(스마트 계약B를 실행한 후의 머클 트리 루트 값의 데이터 베이스)". "Smart Contract Invoke Result"는 스마크 계약 실행 결과를 표시한다. "Smart Contract Invoke Response - Tx B"는 스마크 계약B의 실행 결과를 표시한다. "State DB merkle root when Smart Contract has been Invoked - Tx B"에 대해 해시 연산을 진행하여Hash 4 - LEAF을 획득하고, "Smart Contract Invoke Response - Tx B"에 대해 해시 연산을 진행하여 Hash 3 - LEAF을 획득하고, 재차 Hash 4 - LEAF 및 Hash 3 - LEAF에 대해 해시 연산을 진행하여 가지 교차점 "Hash 6 - BRANCH(Hash of smart contract result - Tx B,즉 스마트 계약B의 실행 결과의 해시값"을 획득한다. 마지막에, 재차 Hash 6 - BRANCH 및 "Hash 5 - BRANCH(Hash of smart contract result - Tx A, 즉 스마트 계약A의 실행 결과의 해시값)"에 대해 해시 연산을 진행하여, 루트 노드"Hash 7 -Root (Hash of Branches, 즉 가지의 해시값)"을 획득한다. "Merkle Tree used for Generating Root"는 루트 노드를 생성하는 머클 트리를 표시한다.
단계S110에서, 블록체인 네트워크로부터 임의로 제1노드를 선택하거나 사용자가 제1 노드를 지정하여 데이터 동기화를 진행하여, 지정된 블록의 블록 헤더 및 트랜잭션 리스트를 획득한다. X는 지정된 블록을 표시하고, 이번 단계에서 블록X의 일부분 정보를 획득한다. 즉: 블록 헤더, UTXO트랜잭션 리스트(트랜잭션id, 트랜잭션에 관한 스마트 계약의 실행 결과 등을 포함함). 여기서, 제1 노드는 블록체인 네트워크중의 풀노드이다.
단계S115: 제1노드 및 제2 노드로부터 획득한 데이터가 일치한지를 비교한다.
도4는 본 발명의 다른 한 실시예에서 제공한 블록체인 스마트 계약 검증 방법의 흐름도이다. 도4에서 도시한 바와 같이, 일 가능한 구현 방식에 있어서, 단계S140에서는 상기 지정된 블록의 이전 블록의 아이디가 사전에 저장된 블록 헤더 체인 구조중에 존재하는지 여부를 검증하기 전에, 단계S115를 실행한다. 단계S115는 구체적으로 다음 단계를 포함할수 있다. 즉: 단계S410, 블록체인 네트워크중의 상기 제1노드 및 제2 노드로부터 상기 지정된 블록의 블록 헤더 정보를 각각 획득한다; 단계S420, 상기 제1노드중의 상기 지정된 블록의 블록 헤더 정보 및 상기 제2노드중의 상기 지정된 블록 의 블록 헤더 정보가 일치한지를 비교한다; 단계430, 일치하다면, 상기 지정된 블록을 유효한 것으로 확정한다; 및 단계S440, 상기 지정된 블록을 유효한 것으로 확정하였을 경우, 상기 지정된 블록의 이전 블록의 아이디가 사전에 저장된 블록 헤더 체인 구조중에 존재하는지 여부를 검증한다.
일 예시적 예에 있어서, 단계S115는 구체적으로 다음과 같은 단계를 포함할수 있다.
재차 블록체인 네트워크로부터 임의로 제2노드를 선택하거나 사용자가 제2노드를 지정하여 검색을 진행하는 바, 검색 조건은 단계S110에서 획득한 블록X의 헤더에 포함된 블록 id이다. 다음, 해당 목표 블록 id에 기반하여 제2노드에서 블록X에 대응하는 블록 헤더Z를 검색해낸다. 여기서, 제2노드는 블록체인 네트워크중의 풀노드이다.
블록X 헤더의 제1머클 트리의 루트, 제2머클 트리의 루트, 이전 블록id와 제2 노드에서 획득한 블록 헤더Z의 정보가 매칭되는지를 비교한다. 매칭한다면, 블록 X가 실질적으로 유효하다는 것을 설명한다.
도5는 본 발명의 다른 한 실시예에서 제공한 블록체인 스마트 계약 검증 방법의 흐름도이다. 도5에서 도시한 바와 같이, 일 가능한 구현 방식에 있어서, 단계S120에서는 상기 제1 머클 트리의 루트 노드 및 상기 트랜잭션 아이디에 대해 검증을 진행하는 바, 구체적으로 다음 단계를 포함할수 있다. 즉: 단계S210, 상기 트랜잭션 리스트중의 트랜잭션 아이디를 사용하여 제3머클 트리를 구성하고, 상기 제3머클 트리의 루트 노드를 계산해낸다; 단계S220, 상기 제3머클 트리의 루트 노드와 상기 제1머클 트리의 루트 노드가 일치한지를 비교한다; 및 단계S230, 일치하다면, 상기 제1머클 트리의 루트 노드와 상기 트랜잭션 아이디에 대한 검증을 통과시킨다.
구체적으로, 블록X의 블록 헤더와 트랜잭션 id 리스트가 매칭되는지 여부를 검사한다. 트랜잭션 id로 하나의 머클 트리 즉 제3머클 트리를 구성하고, 그의 최종 머클 트리 루트를 계산해낸다. 다음, 계산해낸 제3머클 트리 루트와 블록 헤더에 포함된 제1머클 트리의 루트 노드hash가 일치한지를 비교한다. 일치하다면, 블록X의 블록 헤더와 트랜잭션 id 리스트가 매칭되는것을 설명하며, 다시 말하면, 제1머클 트리의 루트 노드와 상기 트랜잭션 아이디가 매칭된다는것을 설명하고, 상기 제1머클 트리의 루트 노드와 상기 트랜잭션 아이디의 검증을 통과시킨다.
도6은 본 발명의 다른 한 실시예에서 제공한 블록체인 스마트 계약 검증 방법의 흐름도이다. 도6에서 도시한 바와 같이, 일 가능한 구현 방식에 있어서, 단계S130에서는, 상기 제2머클 트리의 루트 노드와 상기 스마트 계약 실행 결과에 대해 검증을 진행한다. 구체적으로 다음 단계를 포함할수 있다. 즉: 단계S310, 상기 트랜잭션 리스트중의 스마트 계약 실행 결과를 사용하여 제4머클 트리를 구성하고, 상기 제4머클 트리의 루트 노드를 계산해낸다; 단계S320, 상기 제4머클 트리의 루트 노드와 상기 제2머클 트리의 루트 노드가 일치한지를 비교한다; 및 단계S330, 일치하다면, 상기 제2머클 트리의 루트 노드와 상기 스마트 계약 실행 결과에 대한 검증을 통과시킨다.
구체적으로, 블록X의 블록 헤더와 스마트 계약 실행 결과 리스트가 매칭되는지를 검사한다. 스마트 계약 실행 결과로 하나의 머클 트리 즉 제4머클 트리를 구성하고, 그의 최종 머클 트리 루트를 계산해낸다. 다음, 계산해낸 제4머클 트리 루트와 블록 헤더에 포함된 제2머클 트리의 루트 노드가 일치한지를 비교한다. 일치하다면, 블록 X의 블록 헤더와 스마트 계약 실행 결과 리스트가 매칭되는것을 설명하며, 다시 말하면 제2머클 트리의 루트 노드와 상기 스마트 계약 실행 결과가 매칭된다는것을 설명하고, 상기 제2머클 트리의 루트 노드와 상기 스마트 계약 실행 결과에 대한 검증을 통과시킨다.
단계S140에 있어서, 블록 X의 블록 헤더에 포함된 이전 블록 id가 로컬에서 유지한 블록 헤더 체인 구조중에 존재하는지 여부를 판단한다.
단계S150에 있어서, 이상의 단계S115, 단계S120, 단계S130 및 단계S140의 검증이 통과되였다면, 상기 스마트 계약의 실행 결과가 유효하다고 확정한다. 마지막 검증 단계S140에 있어서, 블록X의 블록 헤더에 포함된 이전 블록 id가 로컬에서 유지한 블록 헤더 체인 구조중에 존재한다고 판단하면, 실질적으로 유효한 블록 X의 블록 헤더를 로컬에서 유지하는 블록체인 헤더 체인 데이터 베이스에 저장한다.
상기 단계에 있어서, 단계S115는 생략할수 있는 실행 단계이며, 검증에 대한 응답 시간 요구가 비교적 높은 경우, 단계115를 실행하지 않을수 있다.
그리고, 단계S115, 단계S120 및 단계S130은 실행 순서를 서로 교환할수 있으며, 혹은 다른 실시 방식에 있어서는 단계S115, 단계S120 및 단계S130은 병행하여 실행할수도 있다. 이 세개 단계를 실행 완료후에 다시 단계S140을 실행할수 있다.
도7은 본 발명의 다른 한 실시예에서 제공한 블록체인 스마트 계약 검증 방법이 라이트 노드에서의 유효성 검사 흐름도이다. 도7에서 도시한 바와 같이, 일 예시적 예에 있어서, 블록체인 스마트 계약 검증 방법의 구체적인 실행 단계는 다음과 같다. 즉:
1. 라이트노드는 풀노드1로부터 최신 블록의 헤더(두 개의 머클 트리를 포함하여야 함) 및 트랜잭션 id 리스트, 스마트 계약 실행 결과 리스트를 동기화한다.
2. 블록 합법성에 대해 검사를 진행한다. 검사하는 구체적인 단계는 상기 단계S115, 단계S120, 단계S130 및 단계S140을 포함할수 있다.
3. 풀노드2에서 동일한 블록의 블록 헤더를 검색하여, 두 개의 머클 트리의 루트, 지향하는 이전 블록id와 풀노드1에서 동기화한 데이터가 일치한지를 비교한다. 비교하는 구체적인 단계는 상기 단계S115를 포함할수 있다.
4. 트랜잭션id 리스트와 스마트 계약 실행 결과를 검사한다.
4.1. tx(Transaction,트랜잭션) id 리스트와 블록 헤더의 제1머클 트리 루트가 매칭하는지 여부를 판단하고, 예를 들어 단순한 결제 트랜잭션의 검증.
4.2. 스마트 계약 실행 결과 리스트와 블록 헤더의 제2머클 트리 루트가 매칭하는지를 판단하고, 즉 스마트 계약에 관한 트랜잭션을 검증하는 것이다.
상기의 단계가 모두 검증에 성공하였다면, 새로운 실질적으로 유효한 블록 헤더를 저장한다.
상기 기술방안은 다음과 같은 장점과 유익한 효과가 있다. 즉: 완정한 블록 정보를 다운로드 및 저장할 필요가 없을 뿐만 아니라, 라이트급의 클라이언트 로컬에서 스마트 계약을 반복적으로 실행할 필요도 없으며, 블록체인 네트워크에서 라이트노드를 도와 스마트 계약 실행 결과의 유효성을 판단할수 있으므로, 시스템 자원을 절약하고, 실행 효율을 향상시킬수 있다.
도8은 본 발명의 일 실시예에서 제공한 블록체인 스마트 계약 검증 장치의 구조 블록도이다. 도8에서 도시한 바와 같이, 본 발명의 실시예의 블록체인 스마트 계약 검증 장치는, 블록체인 네트워크중의 제1노드로부터 지정된 블록의 블록 헤더 정보 및 트랜잭션 리스트를 획득하기 위한 획득 유닛100, 여기서, 상기 트랜잭션 리스트는 트랜잭션 아이디 및 스마트 계약의 실행 결과를 포함하며, 상기 블록 헤더 정보는 제1머클 트리의 루트 노드, 제2머클 트리의 루트 노드 및 상기 지정된 블록의 이전 블록의 아이디를 포함함; 상기 제1머클 트리의 루트 노드와 상기 트랜잭션 아이디에 대해 검증을 진행하여, 제1 검증 결과를 획득하기 위한 제1검증 유닛200; 상기 제2머클 트리의 루트 노드와 상기 스마트 계약 실행 결과에 대해 검증을 진행하여, 제2검증 결과를 획득하기 위한 제2검증 유닛300; 상기 지정된 블록의 이전 블록의 아이디가 사전에 저장된 블록 헤더 체인 구조중에 존재하는지 여부를 검증하여, 제3검증 결과를 획득하기 위한 제3검증 유닛400; 및 상기 제1검증 결과, 제2검증 결과 및 제3검증 결과가 모두 검증에 통과되였다면, 상기 스마트 계약의 실행 결과가 유효하다고 확정하기 위한 확정 유닛500, 을 포함한다. 상기 제1머클 트리의 리프 노드는 상기 지정된 블록의 모든 트랜잭션 아이디로 구성되였으며, 상기 제2머클 트리의 리프 노드는 상기 지정된 블록의 모든 스마트 계약 실행 결과로 구성되였다.
일 실시방식에 있어서, 상기 제1검증 유닛200은 또한, 상기 트랜잭션 리스트중의 트랜잭션 아이디를 사용하여 제3머클 트리를 구성하고, 상기 제3머클 트리의 루트 노드를 계산해내고; 상기 제3머클 트리의 루트 노드와 상기 제1머클 트리의 루트 노드가 일치한지를 비교하고; 일치하다면, 상기 제1머클 트리의 루트 노드와 상기 트랜잭션 아이디의 검증을 통과시키는데 이용될수 있다.
일 실시방식에 있어서, 상기 제2검증 유닛300은 또한 상기 트랜잭션 리스트중의 스마트 계약 실행 결과를 사용하여 제4머클 트리를 구성하고, 상기 제4머클 트리의 루트 노드를 계산해내고; 상기 제4머클 트리의 루트 노드와 상기 제2머클 트리의 루트 노드가 일치한지를 비교하고; 일치하다면, 상기 제2머클 트리의 루트 노드와 상기 스마트 계약 실행 결과의 검증을 통과시키는데 이용될수 있다.
도9는 본 발명의 또 다른 한 실시예에서 제공한 블록체인 스마트 계약 검증 장치의 구조 블록도이다. 도9에서 도시한 바와 같이, 일 실시방식에 있어서, 제4검증 유닛 600을 더 포함할수 있다. 상기 제4검증 유닛600은 블록체인 네트워크중의 상기 제1노드 및 제2노드로부터 상기 지정된 블록의 블록 헤더 정보를 각각 획득하고; 상기 제1노드중의 상기 지정된 블록의 블록 헤더 정보와 상기 제2노드중의 상기 지정된 블록의 블록 헤더 정보가 일치한지를 비교하고; 일치하다면, 상기 지정된 블록을 유효한 것으로 확정하고; 상기 지정된 불록을 유효한 것으로 확정하였을 경우, 상기 지정된 블록의 이전 블록 아이디가 사전에 저장된 블록 헤더 체인 구조중에 존재하는지 여부를 검증하기 위하여 이용된다.
본 발명의 실시예의 블록체인 스마트 계약 검증 장치중의 각 유닛의 기능은 상기 방법에 대한 관련 기재를 참조할수 있기에, 여기서 다시 반복하지 않는다.
일 가능한 설계에 있어서, 블록체인 스마트 계약 검증 장치의 구조중에 프로세서 및 메모리를 포함하며, 상기 메모리는 블록체인 스마트 계약 검증 장치가 상기 블록체인 스마트 계약 검증 방법을 실행하도록 지원하는 프로그램을 저장하며, 상기 프로세서는 상기 메모리중에 저장된 프로그램을 실행하도록 구성되였다. 상기 블록체인 스마트 계약 검증 장치는 인터페이스를 더 포함할수 있으며, 블록체인 스마트 계약 검증 장치가 기타 장치 혹은 통신 네트워크와 통신하는데 이용된다.
도10는 본 발명의 또 다른 한 실시예에서 제공한 블록체인 스마트 계약 검증 장치의 구조 블록도이다. 도10에서 도시한 바와 같이, 해당 장치는 메모리(101)와 프로세서(102)를 포함하며, 메모리(101) 내에는 프로세서(102) 상에서 실행될 수 있는 컴퓨터 프로그램이 저장되어 있다. 상기 프로세서(102)가 상기 컴퓨터 프로그램을 실행할 시, 상기 실시예중의 블록체인 스마트 계약 검증 방법을 실행한다. 상기 메모리(101)와 프로세서(102)의 수량은 하나 또는 복수일 수 있다.
해당 장치는 또한,
외부 장치와 통신을 진행하고, 데이터 상호 전송을 진행하는 통신 인터페이스(103)를 포함한다.
메모리(101)는 고속 RAM 메모리를 포함할 수 있고, 또한 비휘발성 메모리(non-volatile memory)를 포함할 수 있는 바, 예를 들면 적어도 하나의 자기 디스크 메모리를 포함할 수도 있다.
메모리(101), 프로세서(102)와 통신 인터페이스(103)가 독립적으로 구현될 경우, 메모리(101), 프로세서(102)와 통신 인터페이스(103)는 버스를 통하여 상호 연결되고 또한 상호 사이의 통신을 완성할 수 있다. 상기 버스는 업계 표준 구조(ISA, Industry Standard Architecture) 버스, 주변 장치 상호 연결(PCI, Peripheral Component Interconnect) 버스 또는 확장 업계 표준 구조(EISA, Extended Industry Standard Architecture) 버스 등일 수 있다. 상기 버스는 주소 버스, 데이터 버스, 제어 버스 등으로 구분될 수 있다. 표시의 편리를 위하여, 도10에서는 하나의 굵은 선으로 표시하였지만, 단지 한 갈래의 버스 또는 한 유형의 버스만 있다는 것을 의미하는 것은 아니다.
선택적으로, 구체적인 구현에 있어서, 메모리(101), 프로세서(102)와 통신 인터페이스(103)가 하나의 칩 상에 집적될 경우, 메모리(101), 프로세서(102)와 통신 인터페이스(103)는 내부 인터페이스를 통하여 상호 사이의 통신을 완성할 수 있다.
또 다른 측면에 있어서, 본 발명의 실시예는 컴퓨터 판독 가능한 저장 매체를 제공하는 바, 해당 저장 매체는 컴퓨터 프로그램을 저장하고, 해당 프로그램이 프로세서에 의해 실행될 시 상기 블록체인 스마트 계약 검증 방법중의 어느 한 항의 방법을 구현한다.
본 명세서의 기재에 있어서, 참조 용어 "하나의 실시예", "일부 실시예", "예시", "구체적인 예시" 또는 "일부 예시" 등 기재는 해당 실시예 또는 예시를 참조하여 설명한 구체적인 특징, 구조, 재료 또는 특징이 본 발명의 적어도 하나의 실시예 또는 예시에 포함된다는 것을 의미한다. 그리고, 기재된 구체적인 특징, 구조, 재료 또는 특점은 어느 하나 또는 복수 실시예 또는 예시 중에서 적합한 방식으로 결합될 수 있다. 그리고 상호 모순되지 않는 상황하에서, 해당 분야 기술자들은 본 명세서에 기재된 서로 다른 실시예 또는 예시 및 서로 다른 실시예 또는 예시의 특징을 결합 또는 조합할 수 있다.
그리고, 용어 "제1", "제2"는 단지 기재상의 편리를 위한 것이고, 상대적인 중요성을 암시하거나 또는 지시한 기술 특징의 수량을 암시하는 것이 아니다. 그러므로, "제1", "제2"로 한정된 특징은 명시적 또는 암시적으로 적어도 하나의 해당 특징을 포함할수 있다. 본 발명에 대한 기재에 있어서, 명확하게 구체적인 한정이 없는 한, "복수"는 두 개 또는 두 개 이상을 의미한다.
흐름도 중 또는 여기에서 기타 방식으로 기재된 어떠한 과정 또는 방법에 대한 기재는, 특정 논리 기능 또는 과정을 구현하기 위한 하나 또는 더욱 많은 단계를 포함하는 실행가능한 명령 코드의 모듈, 프래그먼트 또는 일부분으로 이해될 수 있으며, 또한 본 발명의 바람직한 실시 방식의 범위는 기타 구현 방식을 포함하는 바, 이는 예시 또는 논의된 순서대로 진행하지 않을 수 있으며, 언급된 기능에 기반하여 기본 동시적인 방식 또는 반대되는 순서에 따라 기능을 실행하는 것을 포함하며, 이는 본 발명의 실시예가 속하는 기술분야의 당업자들이 이해하여야 할것이다.
흐름도에 표시되거나 또는 여기에서 기타 방식으로 기술된 논리 및/또는 단계는, 예를 들면 논리 기능을 구현하기 위한 실행 가능한 명령의 순차 리스트라 간주될 수 있으며, 구체적으로 임의의 컴퓨터 판독 가능한 매체에서 구현되어, 명령 실행 시스템, 장치 또는 설비(예를 들면 컴퓨터를 기반으로 하는 시스템, 프로세서를 포함하는 시스템 또는 기타 명령 실행 시스템, 장치 또는 설비로부터 명령을 취하고 명령을 실행하는 시스템)가 사용하도록 하거나, 또는 이러한 명령 실행 시스템, 장치 또는 설비를 결합하여 사용하도록 할 수 있다. 본 명세서로 말하면, "컴퓨터 판독 가능한 매체"는 프로그램을 포함, 저장, 통신, 전파 또는 전송하여, 명령 실행 시스템, 장치 또는 설비가 사용하도록 하거나, 또는 이러한 명령 실행 시스템, 장치 또는 설비를 결합하여 사용하도록 하는 임의의 장치일 수 있다. 컴퓨터 판독 가능한 매체의 더욱 구체적인 예시(비무한대 리스트)는, 하나 또는 복수의 배선을 구비하는 전기적 연결부(전자 장치), 휴대식 컴퓨터 디스크 박스(자기 장치), 랜덤 액세스 메모리(RAM), 읽기전용 메모리(ROM), 소거가능 프로그래머블 읽기전용 메모리(EPROM 또는 플래시 메모리), 광섬유 장치 및 휴대식 시디롬(CDROM)을 포함할 수 있다. 그리고, 컴퓨터 판독 가능한 매체는 심지어 그 위에 상기 프로그램을 프린트한 종이 또는 기타 적합한 매체일 수 있는 바, 왜냐하면 예를 들면 종이 도는 기타 매체에 대하여 광학 스캔을 진행하고, 이어 편집, 해석을 진행하거나 또는 필요 시에는 기타 적합한 방식으로 처리하여 전자 방식으로 상기 프로그램을 획득하고, 다음에 이를 컴퓨터 메모리중에 저장할 수 있기 때문이다.
본 발명의 각 부분은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 조합으로 구현될 수 있음을 이해하여야 할 것이다. 상기 실시 방식에 있어서, 복수의 단계 또는 방법은 메모리에 저장되고 또한 적합한 명령 실행 시스템에 의하여 실행되는 소프트웨어 또는 펌웨어에 통하여 구현될 수 있다. 예를 들어, 하드웨어를 통하여 구현된다면, 다른 한 실시 방식에서와 같이, 당업계에서 공지된 하기 기술중의 임의의 항 또는 이들의 조합으로 구현할 수 있는 바, 즉 데이터 신호에 대하여 논리 기능을 구현하기 위한 논리 게이트 회로를 구비하는 이산 논리 회로, 적합한 조합 논리 게이트 회로를 구비한 전용 집적 회로, 프로그램 가능한 게이트 어레이(PGA), 필드 프로그램 가능한 게이트 어레이(FPGA) 등이 있다.
해당 분야 기술자들은 상기 실시예의 방법에 포함된 전부 또는 일부 단계는 프로그램을 통하여 관련 하드웨어를 명령하여 구현할 수 있고, 상기 프로그램은 일종의 컴퓨터 판독 가능한 저장 매체에 저장될 수 있고, 해당 프로그램이 실행될 때, 방법 실시예의 단계중의 하나 또는 이들의 조합이 포함됨을 이해하여야 할 것이다.
그리고, 본 발명의 각 실시예중의 각 기능 유닛은 하나의 프로세스 모듈에 집적될 수도 있고, 각 유닛은 독립적인 물리적 존재일 수도 있으며, 또는 두개 또는 두개 이상의 유닛이 하나의 모듈에 집적되어 있을 수도 있다. 상기 집적된 모듈은 하드웨어 형식으로 구현될 수도 있고, 소프트웨어 기능 모듈의 형식으로도 구현될 수도 있을 것이다. 상기 집적된 모듈은 소프트웨어 기능 모듈의 형식으로 구현되어 독립적인 제품으로 판매 또는 사용될 때, 컴퓨터 판독 가능한 저장 매체에 저장될 수 있다. 상기 저장 매체는 읽기전용 메모리, 자기 디스크 또는 광 디스크 등일 수 있다.
이상의 기재는 본 발명의 구체적인 실시방식일뿐, 본 발명의 보호범위는 이에 한정되는것이 아니며, 해당 분야의 기술자들은 본 발명이 개시하는 기술 범위 내에서 쉽게 여러 가지 변화와 교체를 생각해낼수 있으며, 이들은 모두 본 발명의 보호범위에 속하여야 한다. 그러므로, 본 발명의 보호 범위는 첨부된 청구항들의 보호 범위를 기준으로 하여야 할 것이다.

Claims (10)

  1. 블록체인 스마트 계약 검증 방법에 있어서,
    블록체인 네트워트중의 제1노드로부터 지정된 블록의 블록 헤더 정보 및 트랜잭션 리스트를 획득하는 바, 여기서, 상기 트랜잭션 리스트중에는 트랜잭션 아이디 및 스마트 계약의 실행 결과를 포함하고, 상기 블록 헤더 정보는 제1머클 트리의 루트 노드, 제2머클 트리의 루트 노드 및 상기 지정된 블록의 이전 블록의 아이디를 포함하는것;
    상기 제1머클 트리의 루트 노드 및 상기 트랜잭션 아이디에 대해 검증을 진행하여, 제1검증 결과를 얻는 것;
    상기 제2머클 트리의 루트 노드 및 상기 스마트 계약 실행 결과에 대해 검증을 진행하여, 제2 검증 결과를 얻는 것;
    상기 지정된 블록의 이전 블록의 아이디가 사전에 저장된 블록 헤더 체인 구조중에 존재하는지 여부를 검증하여, 제3검증 결과를 얻는 것; 및
    상기 제1검증 결과, 상기 제2검증 결과 및 상기 제3검증 결과가 모두 검증에 통과되였다면, 상기 스마트 계약의 실행 결과가 유효하다고 확정하는 것,
    을 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 제1머클 트리의 루트 노드 및 상기 트랜잭션 아이디에 대해 검증을 진행하는 것은,
    상기 트랜잭션 리스트중의 트랜잭션 아이디를 사용하여 제3머클 트리를 구성하고, 상기 제3머클 트리의 루트 노드를 계산해내는 것;
    상기 제3머클 트리의 루트 노드와 상기 제1머클 트리의 루트 노드가 일치한지를 비교하는 것; 및
    일치하다면 경우, 상기 제1머클 트리의 루트 노드와 상기 트랜잭션 아이디에 대한 검증을 통과시키는 것,
    을 포함하는 것을 특징으로 하는 방법.
  3. 제1항에 있어서,
    상기 제2머클 트리의 루트 노드 및 상기 스마트 계약 실행 결과에 대해 검증을 진행하는 것은,
    상기 트랜잭션 리스트중의 스마트 계약 실행 결과를 사용하여 제4머클 트리를 구성하고, 상기 제4머클 트리의 루트 노드를 계산해내는 것;
    상기 제4머클 트리의 루트 노드와 상기 제2머클 트리의 루트 노드가 일치한지를 비교하는 것; 및
    일치하다면, 상기 제2머클 트리의 루트 노드와 상기 스마트 계약 실행 결과의 검증을 통과시키는 것,
    을 포함하는 것을 특징으로 하는 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 지정된 블록의 이전 블록의 아이디가 사전에 저장된 블록 헤더 체인 구조중에 존재하는지 여부를 검증하기 전에,
    블록체인 네트워크중의 상기 제1노드 및 제2 노드로부터 상기 지정된 블록의 블록 헤더 정보를 각각 획득하는 것;
    상기 제1노드중의 상기 지정된 블록의 블록 헤더 정보 및 상기 제2노드중의 상기 지정된 블록의 블록 헤더 정보가 일치한지를 비교하는 것;
    일치하다면, 상기 지정된 블록을 유효한 것으로 확정하는 것; 및
    상기 지정된 블록을 유효한 것으로 확정하였을 경우, 상기 지정된 블록의 이전 블록의 아이디가 사전에 저장된 블록 헤더 체인 구조중에 존재하는지 여부를 검증하는 것,
    을 더 포함하는 것을 특징으로 하는 방법.
  5. 블록체인 스마트 계약 검증 장치에 있어서,
    블록체인 네트워크중의 제1노드로부터 지정된 블록의 블록 헤더 정보 및 트랜잭션 리스트를 획득하기 위한 획득 유닛, 여기서, 상기 트랜잭션 리스트는 트랜잭션 아이디 및 스마트 계약의 실행 결과를 포함하며, 상기 블록 헤더 정보는 제1머클 트리의 루트 노드, 제2머클 트리의 루트 노드 및 상기 지정된 블록의 이전 블록의 아이디를 포함함;
    상기 제1머클 트리의 루트 노드와 상기 트랜잭션 아이디에 대해 검증을 진행하여, 제1 검증 결과를 획득하기 위한 제1검증 유닛;
    상기 제2머클 트리의 루트 노드와 상기 스마트 계약 실행 결과에 대해 검증을 진행하여, 제2검증 결과를 획득하기 위한 제2검증 유닛;
    상기 지정된 블록의 이전 블록의 아이디가 사전에 저장된 블록 헤더 체인 구조중에 존재하는지 여부를 검증하여, 제3검증 결과를 획득하기 위한 제3검증 유닛; 및
    상기 제1검증 결과, 제2검증 결과 및 제3검증 결과가 모두 검증에 통과되였다면, 상기 스마트 계약의 실행 결과가 유효하다고 확정하기 위한 확정 유닛,
    을 포함하는 것을 특징으로 하는 장치.
  6. 제5항에 있어서,
    상기 제1검증 유닛은 또한
    상기 트랜잭션 리스트중의 트랜잭션 아이디를 사용하여 제3머클 트리를 구성하고, 상기 제3머클 트리의 루트 노드를 계산해내고;
    상기 제3머클 트리의 루트 노드와 상기 제1머클 트리의 루트 노드가 일치한지를 비교하고; 및
    일치하다면, 상기 제1머클 트리의 루트 노드와 상기 트랜잭션 아이디에 대한 검증을 통과시키는데
    이용되는 것을 특징으로 하는 장치.
  7. 제5항에 있어서,
    상기 제2검증 유닛은 또한
    상기 트랜잭션 리스트중의 스마트 계약 실행 결과를 사용하여 제4머클 트리를 구성하고, 상기 제4머클 트리의 루트 노드를 계산해내고;
    상기 제4머클 트리의 루트 노드와 상기 제2머클 트리의 루트 노드가 일치한지를 비교하고; 및
    일치하다면, 상기 제2머클 트리의 루트 노드와 상기 스마트 계약 실행 결과의 검증을 통과시키는데
    이용되는 것을 특징으로 하는 장치.
  8. 제5항 내지 제7항 중의 어느 한 항에 있어서,
    제4검증 유닛을 더 포함하며, 상기 제4검증 유닛은,
    블록체인 네트워크중의 상기 제1노드 및 제2노드로부터 상기 지정된 블록의 블록 헤더 정보를 각각 획득하고;
    상기 제1노드중의 상기 지정된 블록의 블록 헤더 정보와 상기 제2노드중의 상기 지정된 블록의 블록 헤더 정보가 일치한지를 비교하고;
    일치하다면, 상기 지정된 블록을 유효한 것으로 확정하고; 및
    상기 지정된 불록을 유효한 것으로 확정하였을 경우, 상기 지정된 블록의 이전 블록 아이디가 사전에 저장된 블록 헤더 체인 구조중에 존재하는지 여부를 검증하는데
    이용되는것을 특징으로 하는 장치.
  9. 블록체인 스마트 계약 검증 장치에 있어서,
    하나 또는 복수의 프로세서; 및
    하나 또는 복수의 프로그램을 저장하기 위한 저장 장치를 포함하며,
    상기 하나 또는 복수의 프로세서가 하나 또는 복수의 프로그램을 실행할 시, 상기 하나 또는 복수의 프로세서로 하여금 청구항1 내지 청구항4중의 어느 한 항에 기재된 방법을 구현하는 것
    을 특징으로 하는 장치.
  10. 컴퓨터 프로그램을 저장하는 비휘발성 컴퓨터 판독 가능한 저장 매체에 있어서,
    프로세서가 상기 프로그램을 실행할 시, 청구항1 내지 청구항4중의 어느 한 항에 기재된 방법을 구현하는 것
    을 특징으로 하는 저장 매체.
KR1020207019610A 2018-09-20 2019-06-17 블록체인 스마트 계약 검증 방법, 장치 및 저장 매체 KR102431459B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201811101341.2 2018-09-20
CN201811101341.2A CN109345388B (zh) 2018-09-20 2018-09-20 区块链智能合约验证方法、装置及存储介质
PCT/CN2019/091475 WO2020057196A1 (zh) 2018-09-20 2019-06-17 区块链智能合约验证方法、装置及存储介质

Publications (2)

Publication Number Publication Date
KR20200095540A true KR20200095540A (ko) 2020-08-10
KR102431459B1 KR102431459B1 (ko) 2022-08-11

Family

ID=65305888

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207019610A KR102431459B1 (ko) 2018-09-20 2019-06-17 블록체인 스마트 계약 검증 방법, 장치 및 저장 매체

Country Status (6)

Country Link
US (1) US20200412526A1 (ko)
EP (1) EP3678346B1 (ko)
JP (1) JP7018517B2 (ko)
KR (1) KR102431459B1 (ko)
CN (1) CN109345388B (ko)
WO (1) WO2020057196A1 (ko)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109345388B (zh) * 2018-09-20 2020-09-08 百度在线网络技术(北京)有限公司 区块链智能合约验证方法、装置及存储介质
SG11201908551QA (en) * 2019-03-04 2019-10-30 Alibaba Group Holding Ltd Methods and devices for performing off-chain testing on smart contract
CN111695991B (zh) * 2019-03-14 2024-02-06 北京沃东天骏信息技术有限公司 基于区块的合约处理方法、装置、区块链节点及存储介质
CN110335131B (zh) * 2019-06-04 2023-12-05 创新先进技术有限公司 基于树的相似度匹配的金融风险控制方法及装置
CN110365768B (zh) * 2019-07-15 2021-07-06 腾讯科技(深圳)有限公司 分布式系统的数据同步方法、装置、介质、电子设备
CN110336677B (zh) * 2019-07-15 2022-02-11 杭州复杂美科技有限公司 区块打包、广播方法和系统、设备及存储介质
CN111368003B (zh) * 2020-03-06 2020-10-16 安徽中科智链信息科技有限公司 一种多链锚定数据的管理方法
CN111159750B (zh) * 2020-04-07 2021-02-05 南京邮电大学 基于联盟链的汽车维修数据存储方法
CN111432027B (zh) * 2020-04-14 2023-04-14 杭州复杂美科技有限公司 平行链区块同步方法、设备和存储介质
CN111523896B (zh) * 2020-05-06 2023-05-30 杭州复杂美科技有限公司 防攻击方法、设备和存储介质
CN111884807B (zh) * 2020-07-13 2021-10-26 腾讯科技(深圳)有限公司 基于区块链的物品预约方法、装置、设备以及介质
CN111915301B (zh) * 2020-08-05 2022-08-26 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、装置、电子设备及可读介质
CN112037055B (zh) * 2020-08-17 2023-05-05 成都质数斯达克科技有限公司 交易处理方法、装置、电子设备及可读存储介质
CN114175011A (zh) * 2020-10-27 2022-03-11 支付宝(杭州)信息技术有限公司 具有高效世界状态数据结构的区块链系统
CN112085504B (zh) * 2020-11-16 2021-02-09 腾讯科技(深圳)有限公司 一种数据处理方法、装置、计算机设备及存储介质
CN112769894B (zh) * 2020-12-17 2022-05-17 国网浙江省电力有限公司信息通信分公司 一种基于区块链Merkle树验证的设备认证方法
CN112948350B (zh) * 2021-02-02 2023-08-01 中央财经大学 一种基于mpt验证的分布式账本模型冷数据归档及迁移存储方法
CN112559637B (zh) * 2021-02-19 2021-06-18 腾讯科技(深圳)有限公司 基于分布式存储的数据处理方法、装置、设备以及介质
CN113282798B (zh) * 2021-05-07 2022-03-25 广州中国科学院计算机网络信息中心 一种基于梅克尔树的标识资源版本验证方法及系统
CN113592645B (zh) * 2021-07-02 2023-11-14 中国人民银行数字货币研究所 数据验证的方法和装置
CN113259135B (zh) * 2021-07-06 2022-01-21 常州市建筑科学研究院集团股份有限公司 用于检测数据防篡改的轻量级区块链通信认证装置及其方法
CN113254163B (zh) * 2021-07-06 2021-11-09 支付宝(杭州)信息技术有限公司 区块链数据的处理方法及装置
CN113542396B (zh) * 2021-07-13 2024-03-08 华润数字科技有限公司 一种区块链存储及通讯方法、系统及其相关组件
CN113657900B (zh) * 2021-07-13 2024-03-22 中国人民银行数字货币研究所 一种跨链交易验证方法、系统以及跨链交易系统
CN113362068B (zh) * 2021-08-10 2022-03-29 北京连琪科技有限公司 一种轻节点验证区块链状态转移的方法
CN113704271A (zh) * 2021-09-03 2021-11-26 杭州复杂美科技有限公司 默克尔树生成方法、非法节点识别方法、设备和存储介质
CN113626532B (zh) * 2021-09-03 2023-11-24 杭州复杂美科技有限公司 非法节点识别方法、防作弊方法、计算机设备和存储介质
CN114401091B (zh) * 2021-12-16 2023-10-24 北京航空航天大学 基于区块链的设备跨域认证管理方法及装置
WO2023148042A1 (en) * 2022-02-07 2023-08-10 Nchain Licensing Ag Blockchain based privacy enhanced outsourced data storage
GB2615752B (en) * 2022-02-15 2024-04-24 Nchain Licensing Ag Attesting to membership of a set
CN116028990B (zh) * 2023-03-30 2023-07-18 中国科学技术大学 一种基于区块链的防篡改隐私保护日志审计方法
CN116308368B (zh) * 2023-05-24 2023-07-18 国网区块链科技(北京)有限公司 一种中继区块链跨链数据安全存储方法、装置及相关设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106899412A (zh) * 2017-03-30 2017-06-27 北京链银博科技有限责任公司 一种区块链隐私保护方法、装置及系统
CN107077674A (zh) * 2016-12-29 2017-08-18 深圳前海达闼云端智能科技有限公司 交易验证处理方法、装置及节点设备
WO2017148245A1 (zh) * 2016-03-01 2017-09-08 华为技术有限公司 版权管理方法和系统

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017189027A1 (en) 2016-04-29 2017-11-02 Digital Asset Holdings Digital asset modeling
US10447478B2 (en) * 2016-06-06 2019-10-15 Microsoft Technology Licensing, Llc Cryptographic applications for a blockchain system
EP3491605A1 (en) * 2016-08-01 2019-06-05 Cryptowerk Corp. Computer-implemented method and system of tamper-evident recording of a plurality of service data items
KR101849917B1 (ko) * 2016-10-13 2018-05-31 주식회사 코인플러그 스마트 컨트랙트 기반의 인증서 서비스를 제공하는 방법 및 이를 이용한 서버
US10554746B2 (en) * 2016-11-14 2020-02-04 International Business Machines Corporation Decentralized immutable storage blockchain configuration
CN107025559B (zh) 2017-01-26 2020-09-18 创新先进技术有限公司 一种业务处理方法及装置
CN107040582B (zh) 2017-02-17 2020-08-14 创新先进技术有限公司 一种数据处理方法及装置
CN107196900B (zh) * 2017-03-24 2020-04-24 创新先进技术有限公司 一种共识校验的方法及装置
EP4184404A1 (en) * 2017-05-26 2023-05-24 nChain Licensing AG Script-based blockchain interaction
US11055703B2 (en) * 2017-06-19 2021-07-06 Hitachi, Ltd. Smart contract lifecycle management
US11281644B2 (en) * 2017-07-28 2022-03-22 Hitachi, Ltd. Blockchain logging of data from multiple systems
US11416942B1 (en) * 2017-09-06 2022-08-16 State Farm Mutual Automobile Insurance Company Using a distributed ledger to determine fault in subrogation
US20190253256A1 (en) * 2018-02-13 2019-08-15 Texas Precious Metals LLC Tracking and verifying authenticity of an asset via a distributed ledger
US10904009B2 (en) * 2018-05-30 2021-01-26 International Business Machines Corporation Blockchain implementing delta storage
US11334439B2 (en) * 2018-08-29 2022-05-17 International Business Machines Corporation Checkpointing for increasing efficiency of a blockchain
CN109345388B (zh) * 2018-09-20 2020-09-08 百度在线网络技术(北京)有限公司 区块链智能合约验证方法、装置及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017148245A1 (zh) * 2016-03-01 2017-09-08 华为技术有限公司 版权管理方法和系统
CN107077674A (zh) * 2016-12-29 2017-08-18 深圳前海达闼云端智能科技有限公司 交易验证处理方法、装置及节点设备
CN106899412A (zh) * 2017-03-30 2017-06-27 北京链银博科技有限责任公司 一种区块链隐私保护方法、装置及系统

Also Published As

Publication number Publication date
JP2021515311A (ja) 2021-06-17
US20200412526A1 (en) 2020-12-31
CN109345388A (zh) 2019-02-15
KR102431459B1 (ko) 2022-08-11
EP3678346B1 (en) 2022-09-07
CN109345388B (zh) 2020-09-08
EP3678346A1 (en) 2020-07-08
WO2020057196A1 (zh) 2020-03-26
JP7018517B2 (ja) 2022-02-10
EP3678346A4 (en) 2021-09-29

Similar Documents

Publication Publication Date Title
KR102431459B1 (ko) 블록체인 스마트 계약 검증 방법, 장치 및 저장 매체
AU2019295815C1 (en) Blockchain-based data verification method and apparatus, and electronic device
CN109242500B (zh) 区块链交易有效性验证方法、装置及存储介质
KR102424841B1 (ko) 스마트 계약 시스템에서 블록체인을 생성하고 무결성을 검증하는 방법
US20210049715A1 (en) Blockchain-based data procesing method, apparatus, and electronic device
CN108932348B (zh) 区块链的合并处理方法、装置、区块链节点及存储介质
CN110737664A (zh) 一种区块链节点同步的方法及装置
US20210109917A1 (en) System and Method for Processing a Database Query
CN110866029B (zh) sql语句构建方法、装置、服务器及可读存储介质
WO2020220251A1 (zh) 区块链系统数据处理方法和区块的生成方法
CN109189859B (zh) 区块链网络中的节点初始化方法和装置
WO2022247201A1 (zh) 一种数据查询方法及装置
CN111782551B (zh) 针对区块链项目的测试方法、装置及计算机设备
CN114239060A (zh) 数据获取方法、装置、电子设备及存储介质
CN113362068B (zh) 一种轻节点验证区块链状态转移的方法
CN113037505B (zh) 一种可信Web应用的实现方法及系统
Bandyopadhyay et al. Poster: An efficient equivalence checking method for petri net based models of programs
CN114157550B (zh) 一种基于无冲突事务合并的联盟区块链系统
CN110032341A (zh) 一种模组的数据处理方法、装置、电子设备及介质
CN114358948A (zh) Nft原子交换方法、系统、计算机可读存储介质及终端设备
Choi et al. LMPTs: Eliminating Storage Bottlenecks for Processing Blockchain Transactions
CN112000671A (zh) 基于区块链的数据库表处理方法、装置及系统
CN114812695B (zh) 一种产品测试方法、装置、计算机设备和存储介质
CN112783954A (zh) 数据访问方法、装置及服务器
CN109165208A (zh) 一种用于将数据加载到数据库中的方法及系统

Legal Events

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