KR102343782B1 - 블록체인 기반 스마트 계약 호출 방법 및 장치, 전자 디바이스 - Google Patents

블록체인 기반 스마트 계약 호출 방법 및 장치, 전자 디바이스 Download PDF

Info

Publication number
KR102343782B1
KR102343782B1 KR1020207015564A KR20207015564A KR102343782B1 KR 102343782 B1 KR102343782 B1 KR 102343782B1 KR 1020207015564 A KR1020207015564 A KR 1020207015564A KR 20207015564 A KR20207015564 A KR 20207015564A KR 102343782 B1 KR102343782 B1 KR 102343782B1
Authority
KR
South Korea
Prior art keywords
data
blockchain
smart contract
target
storage system
Prior art date
Application number
KR1020207015564A
Other languages
English (en)
Other versions
KR20200088827A (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 KR20200088827A publication Critical patent/KR20200088827A/ko
Application granted granted Critical
Publication of KR102343782B1 publication Critical patent/KR102343782B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6272Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database by registering files or documents with a third party
    • 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/20
    • 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/53Network services using third party service providers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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/3297Cryptographic 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 time stamps, e.g. generation of time stamps
    • 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)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Bioethics (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 명세서의 구현들은 블록체인 기반 스마트 계약 호출 프로세싱을 개시한다. 일 구현에서, 스마트 계약의 호출을 개시하는 데 사용된 호출 데이터를 포함하는 타깃 트랜잭션이 수신되고, 여기서 호출 데이터의 적어도 일부분은, 블록체인과 상호연결된 제3자 저장 시스템에 저장된 타깃 데이터의 데이터 다이제스트를 포함한다. 데이터 다이제스트에 대응하는 타깃 데이터가 제3자 저장 시스템으로부터 질의된다. 실행 조건이 만족되는지 여부를 결정함으로써 타깃 데이터에 대한 콘텐츠의 검증이 수행된다. 타깃 데이터에 대한 검증이 성공한 것으로 결정하는 것에 응답하여, 타깃 트랜잭션에서의 호출 데이터에 대한 스마트 계약 계산을 수행하도록 스마트 계약이 호출된다. 스마트 계약 계산이 완료된 후에 블록체인의 분산 데이터베이스에 계산 결과가 저장된다.

Description

블록체인 기반 스마트 계약 호출 방법 및 장치, 전자 디바이스
관련 출원들에 대한 상호 참조
본 출원은 2018년 6월 27일자로 출원된 중국 특허 출원 제201810681249.1호에 대한 우선권을 주장하고, 이 중국 특허 출원은 이로써 그 전체가 참조로 포함된다.
기술분야
본 명세서의 하나 이상의 구현들은 블록체인 기술들의 분야, 그리고 특히, 블록체인 기반 스마트 계약 호출(blockchain-based smart contract invocation) 방법 및 장치, 그리고 전자 디바이스에 관한 것이다.
분산 원장 기술(distributed ledger technology)이라고도 또한 지칭되는 블록체인 기술은 몇몇 컴퓨팅 디바이스들이 공동으로 "어카운팅(accounting)"에 참여하여 완전한 분산 데이터베이스를 유지하는 최신 기술이다. 블록체인 기술은 탈중앙집중화(decentralization) 및 투명성을 특징으로 하고, 각각의 컴퓨팅 디바이스는 데이터베이스에 데이터를 기록할 수 있으며, 데이터는 컴퓨팅 디바이스들 사이에서 급속히 동기화될 수 있다. 그에 따라, 블록체인 기술은 많은 기술분야들에 널리 적용되었다.
본 명세서는 블록체인 기반 스마트 계약 호출 방법을 제공하는데, 이 방법은: 스마트 계약의 호출을 개시하는 데 사용된 타깃 트랜잭션(target transaction)을 수신하는 단계 - 여기서 타깃 트랜잭션은 호출 데이터를 포함하고, 호출 데이터의 적어도 일부분은, 블록체인과 상호연결된 제3자 저장 시스템(third-party storage system)에 저장된 타깃 데이터의 데이터 다이제스트(data digest)를 포함함 -; 제3자 저장 시스템으로부터 데이터 다이제스트에 대응하는 타깃 데이터를 질의하고, 타깃 데이터에 대한 콘텐츠 검증을 수행하는 단계; 및 타깃 데이터에 대한 검증이 성공한 경우, 타깃 트랜잭션에서의 호출 데이터에 대한 스마트 계약 계산을 수행하도록 스마트 계약을 호출하고, 스마트 계약 계산이 완료된 후에 블록체인의 분산 데이터베이스에 계산 결과를 저장하는 단계를 포함한다.
임의로, 제3자 저장 시스템은 타깃 데이터와 타깃 데이터의 데이터 다이제스트 사이의 매핑 관계를 저장하고; 제3자 저장 시스템으로부터 데이터 다이제스트에 대응하는 타깃 데이터를 질의하는 단계는: 데이터 다이제스트에 대응하는 타깃 데이터를 질의하기 위해, 데이터 다이제스트를 질의 인덱스로서 사용함으로써 제3자 저장 시스템에 대한 질의를 개시하는 단계를 포함한다.
임의로, 타깃 데이터에 대한 콘텐츠 검증을 수행하는 단계는: 미리 결정된 다이제스트 알고리즘에 기초하여 타깃 데이터의 데이터 다이제스트를 계산하는 단계; 계산된 데이터 다이제스트가 타깃 트랜잭션에서의 타깃 데이터의 데이터 다이제스트와 일치하는지 여부를 결정하는 단계; 및 계산된 데이터 다이제스트가 타깃 트랜잭션에서의 타깃 데이터의 데이터 다이제스트와 일치하는 경우, 타깃 데이터에 대한 검증이 성공한 것으로 결정하는 단계를 포함한다.
임의로, 제3자 저장 시스템은 중앙집중화(centralized) 콘텐츠 어드레싱가능 저장(content addressable storage)(CAS) 시스템 또는 분산 CAS 시스템을 포함한다.
임의로, 블록체인은, 몇몇 멤버 블록체인들을 포함하는 컨소시엄 블록체인(consortium blockchain)에서의 임의의 멤버 블록체인이다.
임의로, 제3자 저장 시스템은, 컨소시엄 블록체인에서의 블록체인과의 크로스 체인 데이터 참조 관계를 갖는 다른 멤버 블록체인이다.
본 명세서는 블록체인 기반 스마트 계약 호출 장치를 더 제공하는데, 이 장치는: 스마트 계약의 호출을 개시하는 데 사용된 타깃 트랜잭션을 수신하도록 구성되는 수신 모듈 - 여기서 타깃 트랜잭션은 호출 데이터를 포함하고, 호출 데이터의 적어도 일부분은, 블록체인과 상호연결된 제3자 저장 시스템에 저장된 타깃 데이터의 데이터 다이제스트를 포함함 -; 제3자 저장 시스템으로부터 데이터 다이제스트에 대응하는 타깃 데이터를 질의하고, 타깃 데이터에 대한 콘텐츠 검증을 수행하도록 구성되는 질의 모듈; 및 타깃 데이터에 대한 검증이 성공한 경우, 타깃 트랜잭션에서의 호출 데이터에 대한 스마트 계약 계산을 수행하도록 스마트 계약을 호출하고, 스마트 계약 계산이 완료된 후에 블록체인의 분산 데이터베이스에 계산 결과를 저장하도록 구성되는 호출 모듈을 포함한다.
임의로, 제3자 저장 시스템은 타깃 데이터와 타깃 데이터의 데이터 다이제스트 사이의 매핑 관계를 저장하고; 질의 모듈은: 데이터 다이제스트에 대응하는 타깃 데이터를 질의하기 위해, 데이터 다이제스트를 질의 인덱스로서 사용함으로써 제3자 저장 시스템에 대한 질의를 개시하도록 구성된다.
임의로, 질의 모듈은: 미리 결정된 다이제스트 알고리즘에 기초하여 타깃 데이터의 데이터 다이제스트를 계산하고; 계산된 데이터 다이제스트가 타깃 트랜잭션에서의 타깃 데이터의 데이터 다이제스트와 일치하는지 여부를 결정하고; 계산된 데이터 다이제스트가 타깃 트랜잭션에서의 타깃 데이터의 데이터 다이제스트와 일치하는 경우, 타깃 데이터에 대한 검증이 성공한 것으로 결정하도록 추가로 구성된다.
임의로, 제3자 저장 시스템은 중앙집중화 콘텐츠 어드레싱가능 저장(CAS) 시스템 또는 분산 CAS 시스템을 포함한다.
임의로, 블록체인은, 몇몇 멤버 블록체인들을 포함하는 컨소시엄 블록체인에서의 임의의 멤버 블록체인이다.
임의로, 제3자 저장 시스템은, 컨소시엄 블록체인에서의 블록체인과의 크로스 체인 데이터 참조 관계를 갖는 다른 멤버 블록체인이다.
본 명세서는 전자 디바이스를 추가로 제공하는데, 이 전자 디바이스는: 프로세서; 및 머신 실행가능 명령어를 저장하도록 구성되는 메모리를 포함하고, 여기서 메모리에 저장되고 블록체인 기반 스마트 계약 호출의 제어 로직에 대응하는 머신 실행가능 명령어를 판독 및 실행함으로써, 프로세서는: 스마트 계약의 호출을 개시하는 데 사용된 타깃 트랜잭션을 수신하고 - 여기서 타깃 트랜잭션은 호출 데이터를 포함하고, 호출 데이터의 적어도 일부분은, 블록체인과 상호연결된 제3자 저장 시스템에 저장된 타깃 데이터의 데이터 다이제스트를 포함함 -; 제3자 저장 시스템으로부터 데이터 다이제스트에 대응하는 타깃 데이터를 질의하고, 타깃 데이터에 대한 콘텐츠 검증을 수행하고; 타깃 데이터에 대한 검증이 성공한 경우, 타깃 트랜잭션에서의 호출 데이터에 대한 스마트 계약 계산을 수행하도록 스마트 계약을 호출하고, 스마트 계약 계산이 완료된 후에 블록체인의 분산 데이터베이스에 계산 결과를 저장하도록 구성된다.
앞선 구현들에 따르면, 스마트 계약의 호출을 개시하는 데 사용된 트랜잭션은, 제3자 저장 시스템에 저장된 타깃 데이터의 데이터 다이제스트를 포함하여, 블록체인에서 트랜잭션을 수신한 노드 디바이스가 데이터 다이제스트에 기초하여 제3자 저장 시스템으로부터 대응하는 타깃 데이터를 질의하고, 타깃 데이터에 대한 콘텐츠 검증을 수행하고, 타깃 데이터에 대한 검증이 성공한 후에, 트랜잭션에서의 호출 데이터에 대한 스마트 계약 계산을 수행하도록 스마트 계약을 호출하고, 스마트 계약 계산이 완료된 후에 블록체인의 분산 데이터베이스에 계산 결과를 저장할 수 있도록 한다. 이와 같이, 블록체인과 상호연결된 제3자 저장 시스템에 저장된 타깃 데이터는 스마트 계약의 호출을 개시하는 데 사용된 트랜잭션에서 호출 데이터로서 참조되어, 제3자 저장 시스템에 저장된 타깃 데이터의 원본 콘텐츠를 블록체인에서의 각각의 노드 디바이스와 동기화시킴으로써 야기되는 블록체인 데이터 저장 리던던시(redundancy)를 완화시킬 수 있다.
도 1은 예시적인 구현에 따른, 블록체인 기반 스마트 계약 호출 방법을 예시하는 흐름도이다.
도 2는 예시적인 구현에 따른, 컨소시엄 블록체인을 예시하는 개략적인 구조적 다이어그램이다.
도 3은 예시적인 구현에 따른, 전자 디바이스를 예시하는 개략적인 구조적 다이어그램이다.
도 4는 예시적인 구현에 따른, 블록체인 기반 스마트 계약 호출 장치를 예시하는 블록 다이어그램이다.
블록체인의 종래의 스마트 계약 호출 프로세스에서, 스마트 계약을 호출하도록 요구되는 호출 데이터(즉, 스마트 계약에 입력되는 호출 파라미터들)는 통상적으로, 블록체인의 분산 데이터베이스(즉, 블록체인 원장)에 저장된 데이터 콘텐츠로부터 발생되고, 외부 메모리에 저장된 데이터 콘텐츠는 참조될 수 없다. 그에 따라, 블록체인 네트워크에서의 각각의 노드 디바이스가 스마트 계약을 호출할 때 스마트 계약 계산을 위해 사용된 호출 데이터는 통상적으로 체인으로부터 발생되어, 그에 의해 "폐쇄된 데이터 사용 루프"를 형성한다.
그러나, 본 명세서는 블록체인의 "폐쇄된 데이터 사용 루프"를 해소하기 위해, 스마트 계약이 호출될 때 제3자 저장 플랫폼 상에 저장된 변경불가능한 데이터 콘텐츠가 트랜잭션 콘텐츠로서 참조되는 기술적 솔루션을 개시하는 것을 목표로 한다.
구현 동안, 블록체인이 미리 제3자 저장 시스템과 상호연결될 수 있고, 제3자 저장 시스템은 블록체인에 배치된 스마트 계약에서 참조될 수 있는 변경불가능한 데이터 콘텐츠의 몇몇 조각들을 미리 저장할 수 있다.
스마트 계약의 호출을 개시할 때, 블록체인에 액세스한 멤버 사용자가, 제3자 저장 시스템에 저장된 데이터 콘텐츠의 데이터 다이제스트를, 스마트 계약의 호출을 개시하는 데 사용된 트랜잭션에 부가하여, 제3자 저장 시스템에 저장된 데이터 콘텐츠를 호출 데이터로서 참조할 수 있다.
멤버 사용자에 의해 게시된 트랜잭션을 수신할 때, 블록체인에서의 노드 디바이스는 데이터 다이제스트에 기초하여 제3자 저장 시스템에 대한 질의를 개시하여, 데이터 다이제스트에 대응하는 데이터 콘텐츠를 질의하고, 식별된 데이터 콘텐츠에 대한 콘텐츠 검증을 수행할 수 있다. 콘텐츠 검증이 성공할 때, 노드 디바이스는 스마트 계약에서 선언된 스마트 계약 프로그램을 선언하도록 스마트 계약을 호출하고, 트랜잭션에서의 완전한 호출 데이터에 대한 스마트 계약 계산을 수행하며, 스마트 계약 계산이 완료된 후에 블록체인의 분산 데이터베이스에 계산 결과를 저장할 수 있다.
앞선 구현에서, 스마트 계약의 호출을 개시하는 데 사용된 트랜잭션은, 제3자 저장 시스템에 저장된 타깃 데이터의 데이터 다이제스트를 포함하여, 블록체인에서 트랜잭션을 수신한 노드 디바이스가 데이터 다이제스트에 기초하여 제3자 저장 시스템으로부터 대응하는 타깃 데이터를 질의하고, 타깃 데이터에 대한 콘텐츠 검증을 수행하고, 타깃 데이터에 대한 검증이 성공한 후에, 트랜잭션에서의 호출 데이터에 대한 스마트 계약 계산을 수행하도록 스마트 계약을 호출하며, 스마트 계약 계산이 완료된 후에 블록체인의 분산 데이터베이스에 계산 결과를 저장할 수 있도록 한다. 이와 같이, 블록체인과 상호연결된 제3자 저장 시스템에 저장된 타깃 데이터는 스마트 계약의 호출을 개시하는 데 사용된 트랜잭션에서 호출 데이터로서 참조되어, 제3자 저장 시스템에 저장된 타깃 데이터의 원본 콘텐츠를 블록체인에서의 각각의 노드 디바이스와 동기화시킴으로써 야기되는 블록체인 데이터 저장 리던던시를 완화시킬 수 있다.
다음은 적용 시나리오들과 관련하여 구현들을 사용함으로써 본 명세서를 설명한다.
도 1을 참조하면, 도 1은 본 명세서의 구현에 따른, 블록체인 기반 스마트 계약 호출 방법을 도시한다. 이 방법은 블록체인에서의 노드 디바이스에 적용되고, 다음의 단계들을 포함한다.
단계 102: 스마트 계약의 호출을 개시하는 데 사용된 타깃 트랜잭션을 수신, 여기서 타깃 트랜잭션은 호출 데이터를 포함하고, 호출 데이터의 적어도 일부분은, 블록체인과 상호연결된 제3자 저장 시스템에 저장된 타깃 데이터의 데이터 다이제스트를 포함한다.
단계 104: 제3자 저장 시스템으로부터 데이터 다이제스트에 대응하는 타깃 데이터를 질의하고, 타깃 데이터에 대한 콘텐츠 검증을 수행.
단계 106: 타깃 데이터에 대한 검증이 성공한 경우, 타깃 트랜잭션에서의 호출 데이터에 대한 스마트 계약 계산을 수행하도록 스마트 계약을 호출하고, 스마트 계약 계산이 완료된 후에 블록체인의 분산 데이터베이스에 계산 결과를 저장.
본 명세서에서 설명되는 블록체인은, 블록체인과 상호연결된 제3자 저장 시스템에 저장된 변경불가능한 데이터 콘텐츠가, 지원된 스마트 계약에 의해 호출 데이터로서 참조될 수 있는 임의의 타입의 블록체인 네트워크를 포함할 수 있다.
예를 들어, 일 시나리오에서, 블록체인은, 몇몇 멤버 블록체인들을 포함하는 컨소시엄 블록체인에서의 임의의 멤버 블록체인일 수 있다. 컨소시엄 블록체인에서, 다른 멤버 블록체인에 저장된 데이터 콘텐츠는 각각의 멤버 블록체인에 의해 지원된 각각의 스마트 계약에 의해 체인들에 걸쳐 호출 데이터로서 참조될 수 있다.
제3자 저장 시스템은, 블록체인에 대한 신뢰성있는 데이터 저장 서비스를 제공하는 콘텐츠 어드레싱가능 저장(CAS) 플랫폼을 포함한다. 콘텐츠 어드레싱가능성(content addressability)은 저장 시스템에서 데이터 저장 오프셋 대신에 데이터 콘텐츠에 기초하여 어드레싱이 수행된다는 것을 의미한다.
CAS 플랫폼 상에서, 저장된 데이터 콘텐츠의 데이터 다이제스트가 원본 데이터 콘텐츠의 질의 인덱스로서 사용될 수 있고, 질의 인덱스와 원본 데이터 콘텐츠 사이의 매핑 관계가 저장되어, 데이터 질의 당사자가 데이터 다이제스트를 질의 인덱스로서 사용함으로써 CAS 플랫폼으로부터 대응하는 원본 데이터 콘텐츠를 질의할 수 있다.
예를 들어, 일 구현에서, 데이터 다이제스트는, 데이터 콘텐츠에 대한 해시 계산을 수행함으로써 획득된 해시 값일 수 있다. 데이터 질의 당사자는 해시 값을 질의 인덱스로서 사용하여, CAS 플랫폼으로부터 해시 값에 대응하는 원본 데이터 콘텐츠를 질의할 수 있다.
실제 적용예들에서, 제3자 저장 시스템은 종래의 중앙집중화 콘텐츠 어드레싱가능 저장(CAS) 시스템을 포함할 수 있거나, 또는 탈중앙집중화 분산 CAS 시스템을 포함할 수 있다.
예를 들어, 일 시나리오에서, 블록체인은, 몇몇 멤버 블록체인들을 포함하는 컨소시엄 블록체인에서의 임의의 멤버 블록체인일 수 있다. 부가적으로, 제3자 저장 시스템은, 컨소시엄 블록체인에 배치되고 컨소시엄 블록체인에서의 각각의 멤버 블록체인과 상호연결될 수 있는 분산 시스템, 예컨대, 오브젝트 저장 서비스(object storage service)(OSS) 아키텍처일 수 있다.
대안적으로, 다른 예에서, 컨소시엄 블록체인에서 블록체인과의 크로스 체인 데이터 참조 관계를 갖는 다른 멤버 블록체인은, 블록체인과 상호연결된 제3자 저장 시스템으로서 사용되어, 멤버 블록체인들 사이의 크로스 체인 데이터 참조를 구현할 수 있다. 다시 말해, 제3자 저장 시스템은, 블록체인과의 크로스 체인 참조 관계를 갖는 다른 블록체인일 수 있다. 본 명세서의 기술적 솔루션들은 "제3자 저장 시스템의 배치", "호출 데이터의 참조", 및 "스마트 계약의 호출 및 실행"과 관련하여, 블록체인이, 몇몇 멤버 블록체인들을 포함하는 컨소시엄 블록체인에서의 멤버 블록체인인 예를 사용함으로써 아래에 상세히 설명된다.
(1) 제3자 저장 시스템의 배치
본 명세서에서, 오퍼레이터는 몇몇 멤버 블록체인들을 포함하는 컨소시엄 블록체인을 미리 확립할 수 있다. 컨소시엄 블록체인에서, 각각의 멤버 블록체인은 컨소시엄 블록체인의 컨소시엄 멤버이다. 앞선 블록체인은 컨소시엄 블록체인에서의 임의의 멤버 블록체인일 수 있다.
컨소시엄 블록체인의 오퍼레이터는 컨소시엄 블록체인에 제3자 저장 시스템을 추가로 배치할 수 있다. 제3자 저장 시스템은 컨소시엄 블록체인에서의 각각의 멤버 블록체인과 상호연결되고, 각각의 멤버 블록체인에 대해 신뢰성있는 데이터 저장 서비스를 제공한다.
예를 들어, 제3자 저장 시스템은 각각의 멤버 블록체인에 대해 지속적으로 신뢰성있는 API 액세스 인터페이스를 제공할 수 있어서, 컨소시엄 블록체인에서의 각각의 멤버 블록체인은 API 액세스 인터페이스에 액세스함으로써 제3자 저장 시스템과 상호연결될 수 있다.
컨소시엄 블록체인에의 제3자 저장 시스템 배치 동안, 컨소시엄 블록체인에 대해 글로벌 제3자 저장 시스템이 배치될 수 있거나, 또는 컨소시엄 블록체인에서의 각각의 멤버 블록체인에 대해 독립적인 제3자 저장 시스템이 배치될 수 있다. 구현들은 본 명세서에서 제한되지 않는다.
본 명세서에서, 제3자 저장 시스템은, 콘텐츠 어드레싱가능성을 지원하는 CAS 시스템일 수 있다. 실제 적용예들에서, 제3자 저장 시스템은 종래의 중앙집중화 CAS 시스템일 수 있거나 또는 분산 CAS 시스템일 수 있다.
분산 CAS 시스템은 종래의 중앙집중화 분산 시스템 및 탈중앙집중화 분산 시스템을 포함할 수 있다.
예시된 구현에서, 제3자 저장 시스템은, 컨소시엄 블록체인에 배치되고 컨소시엄 블록체인에서의 각각의 멤버 블록체인과 상호연결될 수 있는 OSS 아키텍처 기반 중앙집중화 분산 시스템 등일 수 있다.
다른 예시된 구현에서, 제3자 저장 시스템은 탈중앙집중화 분산 시스템일 수 있다. 구현 동안, 블록체인과의 크로스 체인 데이터 참조 관계를 갖는 컨소시엄 블록체인에서의 다른 멤버 블록체인은, 블록체인과 상호연결된 제3자 저장 시스템으로서 사용될 수 있다. 다시 말해, 컨소시엄 블록체인에서의 임의의 멤버 블록체인은, 다른 멤버 블록체인과 상호연결된 제3자 저장 시스템으로서 사용되어, 크로스 체인 데이터 참조를 구현할 수 있다.
예를 들어, 일 시나리오에서, 오퍼레이터는 실제 서비스 요건에 기초하여 컨소시엄 블록체인을 확립하고, 컨소시엄 블록체인에서의 멤버 블록체인들에 상이한 서비스 역할들을 할당할 수 있다. 구체적으로는, 컨소시엄 블록체인은 완전한 서비스 프로세스에 대응하고, 각각의 멤버 블록체인은 완전한 서비스 프로세스의 하나의 서브프로세스에 대응할 수 있다.
서비스 요건 "온라인 주택 임대 트랜잭션"에 기초하여 오퍼레이터에 의해 확립되는 컨소시엄 블록체인이 일 예로서 사용되고, 컨소시엄 블록체인을 형성하는 각각의 멤버 블록체인은 "트랜잭션 체인", "인증 체인", 및 "데이터 체인"을 포함할 수 있다. "트랜잭션 체인", "인증 체인", 및 "데이터 체인"은 "온라인 주택 임대 트랜잭션"의 서비스 프로세스의 하나의 서브프로세스에 별개로 대응할 수 있다. 예를 들어, "데이터 체인"은 주택 임대 사용자의 실명 데이터를 유지하는 데 사용되고; "인증 체인"은 사용자별 주택 임대 실명 인증을 완료하는 데 사용되며; "트랜잭션 체인"은 온라인 주택 임대 트랜잭션들을 완료하는 데 사용된다.
그 후에, 오퍼레이터는 멤버 블록체인들 사이의 단방향 크로스 체인 데이터 참조 관계에 기초하여 서비스 레벨에서 방향성 비사이클 그래프(Directed Acyclic Graph)(DAG) 토폴로지의 토폴로지 다이어그램으로서 컨소시엄 블록체인을 확립할 수 있다.
멤버 블록체인들 사이의 단방향 크로스 체인 데이터 참조 관계는 통상적으로 실제 서비스 요건에 의존하고, 본 명세서에서 제한되지 않는다는 것에 주목할 가치가 있다.
예를 들어, 도 2를 참조하면, 도 2는 일 예에 도시된 DAG 구조체의 컨소시엄 블록체인을 예시하는 개략적 다이어그램이다.
도 2에 도시된 바와 같이, 서비스 요건 "온라인 주택 임대 트랜잭션"에 기초하여 오퍼레이터에 의해 확립되는 컨소시엄 블록체인이 일 예로서 여전히 사용되고, 컨소시엄 블록체인을 형성하는 멤버 블록체인들 각각은 "트랜잭션 체인", "인증 체인", 및 "데이터 체인"을 포함할 수 있다. "데이터 체인"은 주택 임대 사용자의 실명 데이터를 유지하는 데 사용되고, 사용자는 "데이터 체인"에 트랜잭션을 게시함으로써 "데이터 체인"의 분산 데이터베이스에 실명 데이터를 저장할 수 있다. "인증 체인"은 "데이터 체인"에 게시된 사용자의 실명 데이터를 참조하여, 사용자별 주택 임대 실명 인증을 완료하는 데 사용되고, 사용자는 "인증 체인"에 트랜잭션을 게시함으로써 실명 인증을 완료하고, "인증 체인"의 분산 데이터베이스에 실명 인증 결과를 게시할 수 있다. "트랜잭션 체인"은 "인증 체인"에 게시된 사용자별 실제 인증 결과를 참조하는 데 사용되어, 사용자는 "트랜잭션 체인"에 트랜잭션을 게시함으로써 온라인 주택 임대 트랜잭션을 완료하고, "인증 체인"의 분산 데이터베이스에 트랜잭션 결과를 게시할 수 있다.
컨소시엄 블록체인에서의 임의의 타깃 멤버 블록체인과의 크로스 체인 데이터 참조 관계를 갖는 다른 멤버 블록체인은, 타깃 멤버 블록체인과 상호연결된 분산 저장 플랫폼으로서 사용된다.
멤버 블록체인들 사이의 크로스 체인 데이터 참조는 서비스 레벨에서 구현될 수 있다.
부가적으로, 제3자 저장 시스템으로서 사용된 멤버 블록체인이 배치된 스마트 계약을 호출하고 실행할 때, 제3자 저장 시스템에 저장된 타깃 데이터가 스마트 계약 계산을 위해 사용된 호출 데이터에서 참조되는 경우, 참조된 타깃 데이터의 원본 콘텐츠는 더 이상 타깃 멤버 블록체인에서의 각각의 노드 디바이스와 동기화될 필요가 없고, 타깃 멤버 블록체인은 더 이상 참조된 타깃 데이터의 원본 콘텐츠를 저장할 필요가 없다.
그에 따라, 타깃 멤버 블록체인은 더 이상, 타깃 멤버 블록체인에 저장된 타깃 데이터의 원본 콘텐츠와, 제3자 저장 시스템으로서 사용된 멤버 블록체인으로부터 동기화된 참조된 타깃 데이터 사이에, 부가적인 데이터 연관을 설정할 필요가 없고, 단지 참조된 타깃 데이터의 데이터 다이제스트만을 사용함으로써 2개의 상이한 블록체인들에서의 참조된 타깃 데이터 사이의 데이터 연관을 구현하여, 그에 의해 제3자 저장 시스템으로서 사용된 멤버 블록체인에 저장된 참조된 타깃 데이터에 의한 서비스 의미론의 관점에서, 타깃 멤버 블록체인에 배치된 스마트 계약에서 참조된 타깃 데이터가 일치한다는 것을 보장할 수 있다.
(2) 호출 데이터의 참조
본 명세서에서, 컨소시엄 블록체인에 액세스할 필요가 있는 사용자는 컨소시엄 블록체인에의 사용자 등록을 미리 수행하여, 컨소시엄 블록체인에 의해 반환되는 한 쌍의 공개 키 및 개인 키를 획득할 수 있다. 등록이 완료된 후에, 컨소시엄 블록체인은 사용자에 대한 대응하는 어카운트 오브젝트(account object)를 생성할 수 있다.
등록을 완료한 사용자는 컨소시엄 블록체인에서의 각각의 멤버 블록체인에 의해 제공된 API 인터페이스를 사용함으로써 각각의 멤버 블록체인에 액세스하고, 각각의 멤버 블록체인에 대한 보유된 개인 키에 기초하여 서명된 트랜잭션을 게시하여, 각각의 멤버 블록체인에 배치된 스마트 계약을 호출할 수 있다.
도 2에 도시된 컨소시엄 블록체인에서의 "트랜잭션 체인"이 일 예로서 사용된다. 컨소시엄 블록체인의 오퍼레이터는, "트랜잭션 체인"에, 온라인 임대 주택 어카운팅을 완료하는 데 사용된 스마트 계약을 게시할 수 있고, 사용자는 "트랜잭션 체인"에서 트랜잭션을 게시하여, 스마트 계약의 호출을 트리거링하고, 온라인 주택 임대 트랜잭션 어카운팅을 완료할 수 있다.
컨소시엄 블록체인의 오퍼레이터가 컨소시엄 블록체인에 스마트 계약을 배치하는 상세한 프로세스가 본 명세서에서는 단순화를 위해 생략된다. 본 기술분야의 통상의 기술자는 본 명세서에서 설명되는 기술적 솔루션들을 실시할 때 관련 기술 기록들을 참조할 수 있다.
예를 들어, 컨소시엄 블록체인에 액세스한 복수의 멤버들은 스마트 계약을 공동으로 협상하고, 스마트 계약에서 개발된 스마트 계약 프로그램(예를 들어, 호출될 수 있는 일부 함수들과 관련된 프로그램 코드)을 선언한 후에, 컨소시엄 블록체인에서 스마트 계약을 게시할 수 있어서, 컨소시엄 블록체인에서의 노드 디바이스가 합의 프로세싱(consensus processing)을 수행하고, 합의가 달성된 후에, 컨소시엄 블록체인의 분산 데이터베이스에 스마트 계약을 기록 및 저장하여, 스마트 계약의 배치를 완료하도록 한다.
본 명세서에서, 컨소시엄 블록체인의 오퍼레이터는 컨소시엄 블록체인에 액세스한 멤버 사용자를 위한 클라이언트 소프트웨어(예를 들어, APP)를 개발할 수 있고, 멤버 사용자는, 클라이언트 소프트웨어를 사용함으로써, 컨소시엄 블록체인에 의해 지원된 표준 트랜잭션 포맷에 기초하여 트랜잭션 데이터를 어셈블하고, 각각의 멤버 블록체인에 의해 제공된 API 인터페이스를 호출함으로써, 멤버 사용자에 의해 특정된 컨소시엄 블록체인에서의 타깃 멤버 블록체인에 어셈블된 트랜잭션 데이터를 게시하여, 타깃 멤버 블록체인에 배치된 스마트 계약의 호출을 개시할 수 있다.
클라이언트 소프트웨어를 사용함으로써 멤버 사용자에 의해 어셈블된 트랜잭션 데이터는, 멤버 사용자에 의해 제공된 호출 데이터를 포함할 수 있고, 호출 데이터는 스마트 계약에 입력되는 호출 파라미터로서 사용된다. 호출 데이터의 적어도 일부분이 데이터 다이제스트로 대체될 수 있다.
예시된 구현에서, 멤버 사용자가, 클라이언트 소프트웨어를 사용함으로써, 타깃 멤버 블록체인에서 실행될 필요가 있는 트랜잭션 데이터를 어셈블할 때, 멤버 사용자는, 클라이언트 소프트웨어를 사용함으로써, 트랜잭션에 포함될 필요가 있는 호출 데이터를 작성할 수 있다. 클라이언트 소프트웨어는 멤버 사용자에 의해 작성된 호출 데이터를 파싱하여, 타깃 멤버 블록체인과 상호연결된 제3자 저장 시스템에 저장된 데이터가 멤버 사용자에 의해 작성된 호출 데이터에 존재하는지 여부를 결정할 수 있다, 다시 말해, 제3자 저장 시스템에 저장된 데이터가 멤버 사용자에 의해 작성된 호출 데이터에서 참조되는지 여부를 결정할 수 있다.
제3자 저장 시스템에 저장된 데이터가 멤버 사용자에 의해 작성된 호출 데이터에 존재하는 경우, 호출 데이터에 대응하는 데이터 다이제스트(즉, 질의 인덱스)가 제3자 저장 시스템으로부터 질의될 수 있거나, 또는 제3자 저장 시스템에 의해 지원된 데이터 다이제스트 알고리즘과 동일한 데이터 다이제스트 알고리즘에 기초하여 트랜잭션 콘텐츠에 대해 데이터 다이제스트가 재계산될 수 있고, 그 후에 데이터 다이제스트가 표준 트랜잭션 포맷으로 작성될 수 있다.
예를 들어, 구현 동안, 호출 데이터를 포함하는 데 사용된 데이터 다이제스트 필드는 컨소시엄 블록체인에 의해 지원된 표준 트랜잭션 포맷으로 확장될 수 있다. 표준 트랜잭션 포맷으로 트랜잭션 데이터를 어셈블할 때, 클라이언트 소프트웨어는 제3자 저장 시스템에 저장된 참조 데이터의 모든 데이터 다이제스트들을 데이터 다이제스트 필드에 채울 수 있다.
(3) 스마트 계약의 호출 및 실행
본 명세서에서, 개인 키에 기초하여 멤버 사용자에 의해 게시된 트랜잭션을 수신한 후에, 타깃 멤버 블록체인에서의 노드 디바이스는 먼저, 사용자에 의해 보유된 개인 키에 대응하는 공개 키에 기초하여 사용자의 신원 인증(identity authentication)을 수행할 수 있다.
예를 들어, 실제 적용예들에서, 사용자는 보유된 개인 키에 기초하여 개시된 트랜잭션에 서명할 수 있고, 블록체인에서의 노드 디바이스는 사용자에 의해 보유된 개인 키에 대응하는 공개 키에 기초하여 서명을 인증할 수 있다. 서명에 대한 인증이 성공한 경우, 사용자의 신원 인증이 성공한다.
신원 인증이 성공한 후에, 노드 디바이스는 타깃 멤버 블록체인에서의 트랜잭션에 대해 합의 프로세싱을 개시하고, 합의가 달성된 후에, 트랜잭션을 타깃 멤버 블록체인의 분산 데이터베이스에 기록 및 저장할 수 있다. 일단 트랜잭션이 타깃 멤버 블록체인의 분산 데이터베이스에 성공적으로 기록되고 저장되면, 스마트 계약에서 선언된 스마트 계약 프로그램을 실행하도록, 분산 데이터베이스에 기록된 트랜잭션에 기초하여 스마트 계약의 호출이 후속적으로 트리거링될 수 있다.
예를 들어, 구현 동안, 엄격한 트리거링 실행 조건은 통상적으로 스마트 계약에서 스마트 계약 프로그램에 대해 미리 결정된다. 스마트 계약은 분산 데이터베이스에 현재 기록된 트랜잭션이 실행 조건을 만족하는지 여부를 주기적으로 체크하고, 검증될 트랜잭션 큐에, 실행 조건을 만족시키고 분산 데이터베이스에 저장되는 트랜잭션을 부가하며, 트랜잭션 큐에서 트랜잭션에 대한 합의 프로세싱을 수행할 수 있다. 합의가 달성되는 경우, 스마트 계약에서 선언된 스마트 계약 프로그램의 실행이 트리거링될 수 있다.
타깃 멤버 블록체인에서의 트랜잭션에 대해 합의 프로세싱이 수행될 때 사용된 합의 알고리즘은 본 명세서에서 제한되지 않는다는 것에 주목할 가치가 있다. 멤버 블록체인들에 의해 지원된 합의 알고리즘들은 동일할 수 있거나 또는 상이할 수 있다. 예를 들어, 컨소시엄 블록체인은 PBFT와 같은 메인스트림 합의 알고리즘을 사용할 수 있거나, 또는 컨소시엄 블록체인은 합의 알고리즘을 독립적으로 개발할 수 있다.
본 명세서에서, 스마트 계약에서 선언된 스마트 계약 프로그램을 실행하도록 트랜잭션에 기초하여 스마트 계약의 호출이 트리거링될 때, 스마트 계약은 먼저, 트랜잭션에 포함된 호출 데이터를 파싱하여, 트랜잭션에 포함된 호출 데이터에 데이터 다이제스트가 있는지 여부를 결정할 수 있다.
예를 들어, 노드 디바이스는, 파싱을 통해, 표준 트랜잭션 포맷으로부터 확장되고 트랜잭션 콘텐츠를 포함시키는 데 사용되는 데이터 다이제스트 필드가 널(null) 값인지 여부를 결정하여, 트랜잭션에 포함된 트랜잭션 콘텐츠에 데이터 다이제스트가 있는지 여부를 결정할 수 있다.
트랜잭션에 포함된 호출 데이터에 데이터 다이제스트가 있는 경우, 제3자 저장 시스템에 저장된 데이터 콘텐츠는 트랜잭션에서의 일부 호출 데이터에서 참조된다. 그러한 경우에, 트랜잭션에 포함된 완전한 호출 데이터를 획득하기 위해, 스마트 계약은 타깃 멤버 블록체인과 상호연결된 제3자 저장 시스템으로부터 데이터 다이제스트에 대응하는 타깃 데이터를 질의할 수 있다.
구현 동안, 스마트 계약은 질의 요청을 확립하고, 데이터 다이제스트를 질의 인덱스로서 사용함으로써 질의 요청에 데이터 다이제스트를 부가한 후에, 질의 요청을 제3자 저장 시스템에 제출할 수 있다. 질의 요청을 수신한 후에, 제3자 저장 시스템은 질의 요청으로부터 질의 인덱스를 판독한 후에, 질의 인덱스에 기초하여, 로컬로 저장된 데이터 콘텐츠와 데이터 다이제스트 사이의 매핑 관계들을 검토하여, 질의 인덱스에 대응하는 타깃 데이터를 질의하고, 식별된 타깃 데이터를 스마트 계약에 반환할 수 있다.
제3자 저장 시스템은 타깃 멤버 블록체인과의 크로스 체인 참조 관계를 갖는 다른 멤버 블록체인일 수 있다는 것에 주목할 가치가 있다. 그에 따라, 스마트 계약에 의해 확립된 질의 요청은 제3자 저장 시스템으로서 사용된 다른 멤버 블록체인에서의 노드 디바이스들로 브로드캐스팅될 수 있다.
실제 적용예들에서, 다른 멤버 블록체인에 사용된 합의 알고리즘들 사이의 차이 때문에, 스마트 계약이 질의 요청을 다른 멤버 블록체인에서의 노드 디바이스들에 전송한 후에 상이한 질의 결과들이 획득될 수 있다.
예를 들어, 블록체인에 사용된 합의 알고리즘들은 통상적으로 분산 일치성(distributed consistency)에 기초하여 2개의 타입들로 분류될 수 있다. 분산 일치성은 합의 알고리즘을 사용함으로써 합의가 달성된 후에 블록체인에서의 모든 노드 디바이스들 상에 저장된 데이터가 완전히 동일하다는 것을 의미한다.
첫 번째 타입의 합의 알고리즘은 각각의 노드 디바이스의 분산 일치성을 보장할 수 있는 합의 알고리즘이다. 예를 들어, 장애 허용 메커니즘은 PBFT 합의 알고리즘에서 합의를 달성하는 데 사용되어, 합의가 달성된 후에 각각의 노드 디바이스에 의해 저장된 데이터가 정확히 동일하도록 한다.
두 번째 타입의 합의 알고리즘은 각각의 노드 디바이스의 분산 일치성을 보장할 수 없는 합의 알고리즘이다. 예를 들어, 경쟁 기반 원장 메커니즘이 PoS 또는 PoW 합의 알고리즘에서 합의에 도달하는 데 사용된다. 결과적으로, 합의가 달성된 후에 각각의 노드 디바이스에 의해 저장된 데이터가 동일하다는 것이 보장될 수 없다. PoW 합의 알고리즘이 일 예로서 사용된다. 워크로드 계산을 통해 원장 권한을 획득한 노드 디바이스는, 노드 디바이스에 의해 제안된 블록의 데이터만을 단지 저장할 수 있고, 결과적으로, 노드 디바이스들에 의해 로컬로 저장된 블록 데이터는 상이할 수 있다.
그에 따라, 일단 제3자 저장 시스템으로서 사용된 다른 멤버 블록체인에 의해 사용된 합의 알고리즘이 상술된 두 번째 타입의 합의 알고리즘이면, 일부 노드 디바이스들은 관련된 데이터를 로컬로 식별할 수 없지만, 다른 노드 디바이스들은 스마트 계약이 다른 멤버 블록체인에서의 각각의 노드 디바이스에 질의 요청을 전송한 후에 식별할 수 있는 것이 가능하다.
일 시나리오에서, 제3자 저장 시스템으로서 사용된 다른 멤버 블록체인에 의해 사용된 합의 알고리즘이 상술된 첫 번째 타입의 합의 알고리즘인 경우, 스마트 계약은, 합의 알고리즘을 또한 지원하는 질의 클라이언트 소프트웨어를 사용함으로써, 다른 멤버 블록체인에 대한 데이터 질의를 수행하여 일치성 질의 결과를 획득할 수 있다.
PBFT 합의 알고리즘이 일 예로서 사용된다. 제3자 저장 시스템으로서 사용된 다른 멤버 블록체인에서의 노드 디바이스들의 수가 3f+1이라고 가정한다. 스마트 계약이 질의 클라이언트 소프트웨어를 사용함으로써 다른 멤버 블록체인에서의 노드 디바이스들로 질의 요청을 별개로 전송한 후에, f+1개의 노드 디바이스들에 의해 반환된 동일한 질의 결과가 수신되는 경우, 질의 결과가 최종 질의 결과인 것으로 간주될 수 있다.
일 시나리오에서, 제3자 저장 시스템으로서 사용된 다른 멤버 블록체인에 의해 사용된 합의 알고리즘이 상술된 두 번째 타입의 합의 알고리즘인 경우, 안정적이고 신뢰성있는 노드 디바이스가 다른 멤버 블록체인에서의 질의 노드로서 특정될 필요가 있다. 스마트 계약은 질의 요청을 질의 노드에 전송하고, 관련 데이터에 대해 질의 노드에 의해 로컬로 저장된 데이터를 탐색할 수 있다.
다시 말해, 그러한 시나리오에서, 질의 노드에 의해 로컬로 저장된 데이터는 데이터 참조 당사자에 대한 일치성 결과이며, 단지 질의 노드에 의해 로컬로 저장된 데이터만이 다른 멤버 블록체인에 배치된 스마트 계약에 의해 참조될 수 있는 것으로 간주될 수 있다.
실제 적용예들에서, 질의 요청은, 데이터 다이제스트에 대응하는 타깃 데이터를 신속하게 식별하기 위해, 질의 인덱스로서 사용되는 데이터 다이제스트에 부가적으로, 일부 보조 질의 파라미터들을 포함할 수 있다는 것에 주목할 가치가 있다.
예를 들어, 타깃 멤버 블록체인과 상호연결된 제3자 저장 시스템은, 타깃 멤버 블록체인과의 크로스 체인 데이터 참조 관계를 갖는 다른 멤버 블록체인이다. 제3자 저장 시스템으로서 사용된 다른 멤버 블록체인에 저장되는 참조된 데이터 콘텐츠 및 대응하는 데이터 다이제스트는 통상적으로 블록의 형태로 블록체인의 분산 데이터베이스에 저장된다. 그에 따라, 질의의 용이성을 위해, 질의 요청은, 데이터 다이제스트가 위치되는 멤버 블록체인의 블록 번호 및 시퀀스 번호와 같은 보조 질의 파라미터들을 더 포함할 수 있다.
본 명세서에서, 스마트 계약이 타깃 멤버 블록체인과 상호연결된 제3자 저장 시스템으로부터의 수신된 트랜잭션에 포함된 데이터 다이제스트에 대응하는 타깃 데이터를 식별한 후에, 스마트 계약의 호출이 개시되어, 스마트 계약에서 선언된 스마트 계약 프로그램을 실행하고, 트랜잭션에 포함된 완전한 호출 데이터에 대한 스마트 계약 계산을 수행할 수 있다.
먼저, 스마트 계약은 식별된 타깃 데이터가 트랜잭션에 포함된 데이터 다이제스트에 대응하는 데이터 콘텐츠와 일치한다는 것을 보정하기 위해, 식별된 타깃 데이터에 대한 콘텐츠 검증을 수행할 수 있다.
구현 동안, 스마트 계약은 식별된 타깃 데이터의 데이터 다이제스트를 재계산한 후에, 수신된 트랜잭션에 포함된 데이터 다이제스트와 재계산된 데이터 다이제스트를 매칭시켜, 재계산된 데이터 다이제스트가, 수신된 트랜잭션에 포함된 데이터 다이제스트와 일치하는지 여부를 결정할 수 있다.
이들이 일치하는 경우, 식별된 타깃 데이터에 대한 콘텐츠 검증이 성공하고, 트랜잭션은 유효한 트랜잭션이다. 스마트 계약은 트랜잭션에 포함된 완전한 호출 데이터를 획득하고, 스마트 계약에서 선언된 스마트 계약 프로그램의 입력 파라미터들로서 완전한 호출 파라미터들을 사용하며, 스마트 계약 계산을 위해 스마트 계약 프로그램에 그 파라미터들을 입력할 수 있다.
이들이 일치하지 않은 경우, 식별된 타깃 데이터에 대한 콘텐츠 검증이 실패한다. 그러한 경우에, 제3자 저장 시스템에 저장된 원본의 참조된 타깃 데이터는 시스템 비신뢰성으로 인해 수정 및 업데이트될 수도 있다. 결과적으로, 트랜잭션은 무효한 트랜잭션이며, 스마트 계약을 호출한 프로세스가 바로 종료될 수 있다.
스마트 계약이 식별된 타깃 데이터의 데이터 다이제스트를 재계산할 때, 타깃 데이터의 데이터 구조체, 타깃 데이터에 대한 인코딩 방법, 및 사용된 다이제스트 알고리즘 모두가 제3자 저장 시스템의 것들과 일치할 필요가 있어서, 노드 디바이스 및 제3자 저장 시스템이 동일한 타깃 데이터에 대한 데이터 다이제스트 계산을 수행할 때 동일한 계산 결과를 획득할 수 있다는 것을 보장한다는 것에 주목할 가치가 있다.
본 명세서에서, 트랜잭션에 포함된 완전한 호출 데이터가 입력 파라미터로서 사용되고 스마트 계약 계산을 완료하기 위해 스마트 계약에서 선언된 스마트 계약 프로그램에 입력된 후에, 트랜잭션의 실행이 완료되고, 스마트 계약 계산의 계산 결과(즉, 트랜잭션의 실행 결과)가 타깃 멤버 블록체인의 분산 데이터베이스에 추가로 저장될 수 있다.
블록체인의 분산 데이터베이스에 기록된 정보는 통상적으로 트랜잭션 로그 및 트랜잭션 상태를 포함한다.
트랜잭션 로그는 트랜잭션 로그를 저장하는 데 사용되고, 발생의 순서대로 직렬로 연결되는 블록들(블록)을 포함하며, 분산 데이터베이스에서의 트랜잭션 레코드이다. 트랜잭션에 대한 합의가 달성된 후에, 트랜잭션은 트랜잭션 로그의 대응하는 블록에 기록 및 저장될 수 있다.
트랜잭션 상태는 분산 데이터베이스에 기록된 트랜잭션의 실행에 의해 야기된 스테이터스 변화(status change)를 저장하는 데 사용된다. 예를 들어, 블록체인은, 많은 작은 오브젝트들(예컨대, 어카운트 오브젝트, 계약 오브젝트, 및 자산 오브젝트)을 통상적으로 포함한다. 트랜잭션이 블록체인의 분산 데이터베이스에 기록될 때마다, 트랜잭션과 관련된 스테이터스가 트랜잭션의 실행이 완료된 후에 동기적으로 업데이트된다. 블록체인에 제출되는 온라인 이체 트랜잭션(online transfer transaction)이 일 예로서 사용된다. 관련된 스마트 계약을 호출함으로써 트랜잭션이 실행된 후에, 현재 이체와 관련된 어카운트 오브젝트의 잔액이 동기적으로 업데이트된다.
그러한 경우에, 트랜잭션에 포함된 완전한 호출 데이터에 대한 스마트 계약 계산을 완료한 후에, 스마트 계약은 스마트 계약 계산의 계산 결과를 트랜잭션 상태에 추가로 저장하여, 트랜잭션에 의해 야기된 관련 오브젝트의 스테이터스 변화를 업데이트할 수 있다. 블록체인에 제출되는 온라인 이체 트랜잭션이 여전히 일 예로서 사용된다. 트랜잭션에 포함된 완전한 호출 데이터에 대한 스마트 계약 계산을 완료한 후에, 스마트 계약은 트랜잭션 상태에서의 현재 이체와 관련된 어카운트 오브젝트의 잔액을 업데이트할 수 있다.
앞선 구현에서, 스마트 계약의 호출을 개시하는 데 사용된 트랜잭션은, 제3자 저장 시스템에 저장된 타깃 데이터의 데이터 다이제스트를 포함하여, 블록체인에서 트랜잭션을 수신한 노드 디바이스가 데이터 다이제스트에 기초하여 제3자 저장 시스템으로부터 대응하는 타깃 데이터를 질의하고, 타깃 데이터에 대한 콘텐츠 검증을 수행할 수 있다. 타깃 데이터에 대한 검증이 성공한 후에, 트랜잭션에서의 호출 데이터에 대한 스마트 계약 계산을 수행하도록 스마트 계약을 호출하고, 스마트 계약 계산이 완료된 후에 블록체인의 분산 데이터베이스에 계산 결과를 저장한다. 이와 같이, 블록체인과 상호연결된 제3자 저장 시스템에 저장된 타깃 데이터는 스마트 계약의 호출을 개시하는 데 사용된 트랜잭션에서 호출 데이터로서 참조되어, 제3자 저장 시스템에 저장된 타깃 데이터의 원본 콘텐츠를 블록체인에서의 각각의 노드 디바이스와 동기화시킴으로써 야기되는 블록체인 데이터 저장 리던던시를 완화시킬 수 있다.
예를 들어, 타깃 블록체인과 상호연결된 제3자 저장 시스템은, 블록체인과의 크로스 체인 데이터 참조 관계를 갖는 다른 블록체인이다. 다른 블록체인이 5개의 노드 디바이스들을 포함하고, 타깃 블록체인이 50개의 노드 디바이스들을 포함한다고 가정한다. 다른 블록체인에 저장된 참조된 데이터 콘텐츠가 여전히 타깃 블록체인과 동기화되는 경우, 참조된 데이터 콘텐츠는 타깃 블록체인에서의 50개의 노드들과 별개로 동기화될 필요가 있어서, 타깃 블록체인에서 참조된 데이터 콘텐츠의 많은 양의 리던던시를 초래한다. 그러나, 타깃 블록체인이 참조된 데이터 콘텐츠의 데이터 다이제스트만을 단지 저장하는 경우, 다른 블록체인은 참조된 데이터 콘텐츠를 50개의 노드 디바이스들과 별개로 동기화시킬 필요가 없다. 이와 같이, 타깃 블록체인에서의 데이터 저장 리던던시가 상당히 감소될 수 있다.
방법 구현에 대응하여, 본 명세서는 블록체인 기반 스마트 계약 호출 장치의 구현을 추가로 제공한다. 본 명세서에서, 블록체인 기반 스마트 계약 호출 장치의 구현은 전자 디바이스에 적용될 수 있다. 장치 구현은 소프트웨어, 하드웨어, 또는 하드웨어와 소프트웨어의 조합에 의해 구현될 수 있다. 소프트웨어 구현이 예로서 사용된다. 논리 장치로서, 장치는, 장치가 위치되는 전자 디바이스의 프로세서에 의해, 비휘발성 메모리로부터 전자 디바이스의 메모리까지의 대응하는 컴퓨터 프로그램 명령어를 판독함으로써 형성된다. 하드웨어의 관점에서, 도 3에 도시된 바와 같이, 도 3은 본 명세서에 따른, 블록체인 기반 스마트 계약 호출 장치가 위치되는 전자 디바이스의 하드웨어 구조체를 예시하는 다이어그램이다. 도 3에 도시된 프로세서, 메모리, 네트워크 인터페이스, 및 비휘발성 메모리에 부가적으로, 본 구현에서 장치가 위치되는 전자 디바이스는 통상적으로 전자 디바이스의 실제 기능에 기초하여 다른 하드웨어를 포함할 수 있다. 단순화를 위해 세부사항들이 생략된다.
도 4는 본 명세서의 예시적인 구현에 따른, 블록체인 기반 스마트 계약 호출 장치를 예시하는 블록 다이어그램이다.
도 4를 참조하면, 블록체인 기반 스마트 계약 호출 장치(40)는 도 3에 도시된 전자 디바이스에 적용될 수 있고, 수신 모듈(401), 질의 모듈(402), 및 호출 모듈(403)을 포함한다.
수신 모듈(401)은 스마트 계약의 호출을 개시하는 데 사용된 타깃 트랜잭션을 수신하도록 구성되고, 여기서 타깃 트랜잭션은 호출 데이터를 포함하고, 호출 데이터의 적어도 일부분은, 블록체인과 상호연결된 제3자 저장 시스템에 저장된 타깃 데이터의 데이터 다이제스트를 포함한다.
질의 모듈(402)은 제3자 저장 시스템으로부터 데이터 다이제스트에 대응하는 타깃 데이터를 질의하고, 타깃 데이터에 대한 콘텐츠 검증을 수행하도록 구성된다.
호출 모듈(403)은: 타깃 데이터에 대한 검증이 성공한 경우, 타깃 트랜잭션에서의 호출 데이터에 대한 스마트 계약 계산을 수행하도록 스마트 계약을 호출하고, 스마트 계약 계산이 완료된 후에 블록체인의 분산 데이터베이스에 계산 결과를 저장하도록 구성된다.
본 구현에서, 제3자 저장 시스템은 타깃 데이터와 타깃 데이터의 데이터 다이제스트 사이의 매핑 관계를 저장한다.
질의 모듈(402)은: 데이터 다이제스트에 대응하는 타깃 데이터를 질의하기 위해, 데이터 다이제스트를 질의 인덱스로서 사용함으로써 제3자 저장 시스템에 대한 질의를 개시하도록 구성된다.
본 구현에서, 질의 모듈(402)은: 미리 결정된 다이제스트 알고리즘에 기초하여 타깃 데이터의 데이터 다이제스트를 계산하고; 계산된 데이터 다이제스트가 타깃 트랜잭션에서의 타깃 데이터의 데이터 다이제스트와 일치하는지 여부를 결정하고; 계산된 데이터 다이제스트가 타깃 트랜잭션에서의 타깃 데이터의 데이터 다이제스트와 일치하는 경우, 타깃 데이터에 대한 검증이 성공한 것으로 결정하도록 추가로 구성된다.
본 구현에서, 제3자 저장 시스템은 중앙집중화 콘텐츠 어드레싱가능 저장(CAS) 시스템 또는 분산 CAS 시스템을 포함한다.
본 구현에서, 블록체인은, 몇몇 멤버 블록체인들을 포함하는 컨소시엄 블록체인에서의 임의의 멤버 블록체인이다.
본 구현에서, 제3자 저장 시스템은, 컨소시엄 블록체인에서의 블록체인과의 크로스 체인 데이터 참조 관계를 갖는 다른 멤버 블록체인이다.
장치에서의 모듈들의 기능들 및 역할들의 구현 프로세스에 대해, 앞선 방법에서의 대응하는 단계들의 구현 프로세스에 대한 참조들이 이루어질 수 있다. 단순화를 위해 여기서는 세부사항들이 생략된다.
장치 구현은 기본적으로 방법 구현에 대응하기 때문에, 관련 부분들에 대해서는, 방법 구현에서의 일부 설명들에 대한 참조들이 이루어질 수 있다. 앞서 설명된 장치 구현은 단지 예일 뿐이다. 별개의 부분들로서 설명되는 모듈들은 물리적으로 분리될 수도 있거나 또는 분리되지 않을 수도 있고, 모듈들로서 디스플레이되는 부분들은 물리적 모듈들일 수도 있거나 또는 아닐 수도 있거나, 하나의 위치에 위치될 수 있거나, 또는 복수의 네트워크 모듈들 상에 분산될 수 있다. 본 명세서의 솔루션들의 목표들을 달성하기 위해 실제 요건들에 기초하여 모듈들 중 일부 또는 전부가 선택될 수 있다. 본 기술분야의 통상의 기술자는 창조적 노력들 없이 본 명세서의 구현들을 이해하고 구현할 수 있다.
앞선 구현들에서 예시된 시스템, 장치, 또는 모듈은 컴퓨터 칩 또는 엔티티를 사용함으로써 구현될 수 있거나, 또는 특정 기능을 갖는 제품을 사용함으로써 구현될 수 있다. 전형적인 구현 디바이스는 컴퓨터이고, 컴퓨터의 형태는 퍼스널 컴퓨터, 랩톱 컴퓨터, 셀룰러 폰, 카메라 폰, 스마트폰, 개인 휴대 정보 단말기(personal digital assistant), 미디어 플레이어, 내비게이션 디바이스, 이메일 수신 및 전송 디바이스, 게임 콘솔, 태블릿 컴퓨터, 웨어러블 디바이스, 또는 이들 디바이스들의 임의의 조합일 수 있다.
앞선 방법 구현에 대응하여, 본 명세서는 전자 디바이스의 일 구현을 추가로 제공한다. 전자 디바이스는, 머신 실행가능 명령어를 저장하도록 구성되는 메모리 및 프로세서를 포함한다. 프로세서 및 메모리는 통상적으로 내부 버스를 사용함으로써 서로 연결된다. 다른 가능한 구현에서, 디바이스는 외부 인터페이스를 더 포함할 수 있어서, 디바이스가 다른 디바이스들 또는 컴포넌트들과 통신할 수 있다.
본 구현에서, 메모리에 저장되고 블록체인 기반 스마트 계약 호출의 제어 로직에 대응하는 머신 실행가능 명령어를 판독 및 실행함으로써, 프로세서는: 스마트 계약의 호출을 개시하는 데 사용된 타깃 트랜잭션을 수신하고 - 여기서 타깃 트랜잭션은 호출 데이터를 포함하고, 호출 데이터의 적어도 일부분은, 블록체인과 상호연결된 제3자 저장 시스템에 저장된 타깃 데이터의 데이터 다이제스트를 포함함 -; 제3자 저장 시스템으로부터 데이터 다이제스트에 대응하는 타깃 데이터를 질의하고, 타깃 데이터에 대한 콘텐츠 검증을 수행하고; 타깃 데이터에 대한 검증이 성공한 경우, 타깃 트랜잭션에서의 호출 데이터에 대한 스마트 계약 계산을 수행하도록 스마트 계약을 호출하고, 스마트 계약 계산이 완료된 후에 블록체인의 분산 데이터베이스에 계산 결과를 저장하도록 구성된다.
본 구현에서, 제3자 저장 시스템은 타깃 데이터와 타깃 데이터의 데이터 다이제스트 사이의 매핑 관계를 저장한다.
메모리에 저장되고 블록체인 기반 스마트 계약 호출의 제어 로직에 대응하는 머신 실행가능 명령어를 판독 및 실행함으로써, 프로세서는: 데이터 다이제스트를 질의 인덱스로서 사용함으로써 제3자 저장 시스템에 대한 질의를 개시하여, 데이터 다이제스트에 대응하는 타깃 데이터를 질의하도록 구성된다.
본 구현에서, 메모리에 저장되고 블록체인 기반 스마트 계약 호출의 제어 로직에 대응하는 머신 실행가능 명령어를 판독 및 실행함으로써, 프로세서는: 미리 결정된 다이제스트 알고리즘에 기초하여 타깃 데이터의 데이터 다이제스트를 계산하고; 계산된 데이터 다이제스트가 타깃 트랜잭션에서의 타깃 데이터의 데이터 다이제스트와 일치하는지 여부를 결정하고; 계산된 데이터 다이제스트가 타깃 트랜잭션에서의 타깃 데이터의 데이터 다이제스트와 일치하는 경우, 타깃 데이터에 대한 검증이 성공한 것으로 결정하도록 구성된다.
본 기술분야의 통상의 기술자는 본 명세서를 숙고하여 여기서의 본 개시내용을 실시한 후에 본 명세서의 다른 구현을 용이하게 파악할 수 있다. 본 명세서는 본 명세서의 임의의 변형들, 사용들, 또는 적응들을 커버하도록 의도되고, 이들 변형들, 사용들, 또는 적응들은 본 명세서의 일반적인 원리를 따르고 본 명세서의 기술분야에서 개시되지 않은 종래의 기법들 또는 통상의 지식을 포함한다. 본 명세서 및 구현들은 단지 예들로서 간주될 뿐이고, 본 명세서의 실제 범주 및 사상은 다음의 청구범위에 의해 나타내어진다.
본 명세서는 상기에 설명되고 첨부 도면들에 도시되는 정밀한 구조체들로 제한되지 않으며, 본 개시내용의 범주로부터 벗어남이 없이 다양한 수정들 및 변경들이 이루어질 수 있다는 것을 이해해야 한다. 본 명세서의 범주는 첨부된 청구범위에 의해서만 제한된다.
앞선 설명들은 단지 본 명세서의 선호되는 구현들일 뿐이고, 본 명세서를 제한하려고 의도된 것이 아니다. 본 명세서의 사상 및 원리로부터 벗어남이 없이 이루어지는 임의의 수정, 동등한 대체, 또는 개선이 본 명세서의 보호 범주 내에 있어야 한다.
본 명세서에서 설명되는 실시예들 및 동작들은 디지털 전자 회로부로, 본 명세서에 개시된 구조체들을 포함하는 컴퓨터 소프트웨어, 펌웨어, 또는 하드웨어로, 또는 이들 중 하나 이상의 것의 조합들로 구현될 수 있다. 동작들은 하나 이상의 컴퓨터 판독가능 저장 디바이스들 상에 저장되거나 또는 다른 소스들로부터 수신되는 데이터에 대해 데이터 프로세싱 장치에 의해 수행되는 동작들로서 구현될 수 있다. 데이터 프로세싱 장치, 컴퓨터, 또는 컴퓨팅 디바이스는, 예로서, 프로그래밍가능 프로세서, 컴퓨터, 시스템 온 칩(system on a chip), 또는 전술한 것의 다수의 것들, 또는 조합들을 포함하여, 데이터를 프로세싱하기 위한 장치, 디바이스들, 및 머신들을 포괄할 수도 있다. 장치는 특수 목적 로직 회로부, 예를 들어, 중앙 프로세싱 유닛(central processing unit)(CPU), 필드 프로그래밍가능 게이트 어레이(field programmable gate array)(FPGA) 또는 주문형 집적 회로(application-specific integrated circuit)(ASIC)를 포함할 수 있다. 장치는 또한 문제의 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어, 프로세서 펌웨어를 구성하는 코드, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제(예를 들어, 운영 체제 또는 운영 체제들의 조합), 크로스 플랫폼 런타임 환경, 가상 머신, 또는 이들 중 하나 이상의 것의 조합을 포함할 수 있다. 장치 및 실행 환경은 웹 서비스들, 분산 컴퓨팅 및 그리드 컴퓨팅 인프라스트럭처들과 같은 다양한 컴퓨팅 모델 인프라스트럭처들을 실현할 수 있다.
컴퓨터 프로그램(예를 들어, 프로그램, 소프트웨어, 소프트웨어 애플리케이션, 소프트웨어 모듈, 소프트웨어 유닛, 스크립트, 또는 코드라고도 또한 알려져 있음)은 컴파일링된 또는 인터프리팅된 언어들, 선언적 또는 절차적 언어들을 포함하는 임의의 형태의 프로그래밍 언어로 작성될 수 있고, 그것은 독립형 프로그램으로서 또는 모듈, 컴포넌트, 서브루틴, 오브젝트, 또는 컴퓨팅 환경에서의 사용에 적합한 다른 유닛으로서 포함하는 임의의 형태로 배치될 수 있다. 프로그램은 다른 프로그램들 또는 데이터(예를 들어, 마크업 언어 문서에 저장된 하나 이상의 스크립트들)를 보유하는 파일의 일부분에, 문제의 프로그램에 전용된 단일 파일에, 또는 다수의 조정된 파일들(예를 들어, 하나 이상의 모듈들, 서브프로그램들, 또는 코드의 부분들을 저장하는 파일들)에 저장될 수 있다. 컴퓨터 프로그램은 하나의 사이트에 위치되거나 또는 다수의 사이트들에 걸쳐 분산되고 통신 네트워크에 의해 상호연결되는 다수의 컴퓨터들 상에서 또는 하나의 컴퓨터 상에서 실행될 수 있다.
컴퓨터 프로그램의 실행을 위한 프로세서들은, 예로서, 범용 및 특수 목적 양측 모두의 마이크로프로세서들, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서들을 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 이들 양측 모두로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 요소들은, 명령어들에 따라 액션들을 수행하기 위한 프로세서, 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스들이다. 일반적으로, 컴퓨터는 또한, 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스들을 포함하거나, 또는 이들로부터 데이터를 수신하거나 또는 이들로 데이터를 전송하기 위해 동작적으로 커플링되거나, 또는 이들 양측 모두로 될 것이다. 컴퓨터는 다른 디바이스, 예를 들어, 모바일 디바이스, 개인 휴대 정보 단말기(PDA), 게임 콘솔, 글로벌 포지셔닝 시스템(Global Positioning System)(GPS) 수신기, 또는 휴대용 저장 디바이스에 내장될 수 있다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 디바이스들은, 예로서, 반도체 메모리 디바이스들, 자기 디스크들, 및 광자기 디스크들을 포함하는, 비휘발성 메모리, 미디어 및 메모리 디바이스들을 포함한다. 프로세서 및 메모리는 특수 목적 로직 회로부에 의해 보충되거나 또는 그에 포함될 수 있다.
모바일 디바이스들은 핸드셋들, 사용자 장비(radio frequency)(UE), 모바일 전화기들(예를 들어, 스마트폰들), 태블릿들, 웨어러블 디바이스들(예를 들어, 스마트 시계들 및 스마트 안경들), 인체 내의 이식된 디바이스들(예를 들어, 바이오센서들, 인공 와우(cochlear implant)들), 또는 다른 타입들의 모바일 디바이스들을 포함할 수 있다. 모바일 디바이스들은 무선으로(예를 들어, 라디오 주파수(radio frequency)(RF) 신호들을 사용하여) 다양한 통신 네트워크들(아래에 설명됨)과 통신할 수 있다. 모바일 디바이스들은, 모바일 디바이스의 현재 환경의 특성들을 결정하기 위한 센서들을 포함할 수 있다. 센서들은 카메라들, 마이크로폰들, 근접 센서들, GPS 센서들, 모션 센서들, 가속도계들, 주변 광 센서들, 수분 센서들, 자이로스코프들, 나침반들, 기압계들, 지문 센서들, 얼굴 인식 시스템들, RF 센서들(예를 들어, Wi-Fi 및 셀룰러 라디오들), 열 센서들, 또는 다른 타입들의 센서들을 포함할 수 있다. 예를 들어, 카메라들은, 이동가능한 또는 고정된 렌즈들, 플래시, 이미지 센서, 및 이미지 프로세서를 갖는 전방 또는 후방 대향 카메라를 포함할 수 있다. 카메라는, 얼굴 및/또는 홍채 인식을 위해 상세한 것들을 캡처하는 것이 가능한 메가픽셀 카메라일 수 있다. 카메라는, 메모리에 저장되거나 또는 원격으로 액세스되는 데이터 프로세서 및 인증 정보와 함께 얼굴 인식 시스템을 형성할 수 있다. 얼굴 인식 시스템 또는 하나 이상의 센서들, 예를 들어, 마이크로폰들, 모션 센서들, 가속도계들, GPS 센서들, 또는 RF 센서들이 사용자 인증을 위해 사용될 수 있다.
사용자와의 상호작용을 제공하기 위해, 실시예들은 디스플레이 디바이스 및 입력 디바이스, 예를 들어, 사용자에게 정보를 디스플레이하기 위한 액정 디스플레이(liquid crystal display)(LCD) 또는 유기 발광 다이오드(organic light-emitting diode)(OLED)/가상 현실(virtual-reality)(VR)/증강 현실(augmented-reality)(AR) 디스플레이, 및 사용자가 컴퓨터에 입력을 제공할 수 있게 하는 터치스크린, 키보드, 및 포인팅 디바이스를 갖는 컴퓨터 상에서 구현될 수 있다. 다른 종류들의 디바이스들이 또한 사용자와의 상호작용을 제공하는 데 사용될 수 있고; 예를 들어, 사용자에게 제공되는 피드백은 임의의 형태의 감각 피드백, 예를 들어, 시각 피드백, 청각 피드백, 또는 촉각 피드백일 수 있고; 사용자로부터의 입력은 음향, 음성, 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다. 부가적으로, 컴퓨터는 사용자에 의해 사용되는 디바이스로 문서들을 전송하고 디바이스로부터 문서들을 수신함으로써; 예를 들어, 웹 브라우저로부터 수신된 요청들에 응답하여 사용자의 클라이언트 디바이스 상의 웹 브라우저에 웹 페이지들을 전송함으로써 사용자와 상호작용할 수 있다.
실시예들은 임의의 형태 또는 매체의 유선 또는 무선 디지털 데이터 통신(또는 이들의 조합), 예를 들어, 통신 네트워크에 의해 상호연결되는 컴퓨팅 디바이스들을 사용하여 구현될 수 있다. 상호연결된 디바이스들의 예들은, 전형적으로 통신 네트워크를 통해 상호작용하는, 일반적으로 서로 원격으로 있는 클라이언트 및 서버이다. 클라이언트, 예를 들어, 모바일 디바이스는 트랜잭션들 자체를 서버와 함께 또는 서버를 통해 수행하여, 예를 들어, 구매, 판매, 지불, 제공, 전송, 또는 대출 트랜잭션들을 수행하거나, 또는 이를 인가할 수 있다. 그러한 트랜잭션들은 실시간으로 될 수도 있어서 액션 및 응답이 시간적으로 근접한데; 예를 들어, 개인은 액션 및 응답이 실질적으로 동시에 발생한다는 것을 지각하고, 개인의 액션에 뒤따르는 응답에 대한 시간 차이가 1 밀리초(ms) 미만 또는 1 초(s) 미만이거나, 또는 응답에는 시스템의 프로세싱 제한들을 고려한 의도적인 딜레이가 없다.
통신 네트워크들의 예들은 로컬 영역 네트워크(local area network)(LAN), 라디오 액세스 네트워크(radio access network)(RAN), 도시 영역 네트워크(metropolitan area network)(MAN), 및 광역 네트워크(wide area network)(WAN)를 포함한다. 통신 네트워크는 인터넷의 전부 또는 일부, 다른 통신 네트워크, 또는 통신 네트워크들의 조합을 포함할 수 있다. 롱 텀 에볼루션(Long Term Evolution)(LTE), 5G, IEEE 802, 인터넷 프로토콜(Internet Protocol)(IP), 또는 다른 프로토콜들 또는 프로토콜들의 조합들을 포함하는 다양한 프로토콜들 및 표준들에 따라 통신 네트워크 상에서 정보가 송신될 수 있다. 통신 네트워크는 연결된 컴퓨팅 디바이스들 사이에서 보이스, 비디오, 생체인식(biometric), 또는 인증 데이터, 또는 다른 정보를 송신할 수 있다.
별개의 구현들로서 설명되는 피처들은 단일 구현으로 조합하여 구현될 수도 있는 한편, 단일 구현으로서 설명되는 피처들은 다수의 구현들로, 별개로, 또는 임의의 적합한 하위 조합으로 구현될 수도 있다. 특정 순서로 설명되고 청구되는 동작들은 특정 순서, 또는 모든 예시된 동작들이 수행되어야 한다고 요구하는 것으로 이해되어서는 안 된다(일부 동작들은 임의적일 수 있다). 적절한 경우, 멀티태스킹 또는 병렬 프로세싱(또는 멀티태스킹과 병렬 프로세싱의 조합)이 수행될 수 있다.

Claims (13)

  1. 블록체인 기반 스마트 계약(smart contract) 호출(invocation)을 위한 방법에 있어서,
    스마트 계약의 호출을 개시하는 데 사용된 타깃 트랜잭션(target transaction)을 수신하는 단계 - 상기 타깃 트랜잭션은 호출 데이터를 포함하고, 상기 호출 데이터의 적어도 일부분은, 블록체인과 상호연결된 제3자 저장 시스템(third-party storage system)에 저장된 타깃 데이터의 데이터 다이제스트(data digest)를 포함함 -;
    상기 제3자 저장 시스템으로부터 상기 데이터 다이제스트에 대응하는 타깃 데이터를 질의하는 단계;
    실행 조건이 만족되는지 여부를 결정함으로써 상기 타깃 데이터에 대한 콘텐츠의 검증을 수행하는 단계;
    상기 타깃 데이터에 대한 검증이 성공한 것으로 결정하는 것에 응답하여, 상기 타깃 트랜잭션에서의 상기 호출 데이터에 대한 스마트 계약 계산을 수행하도록 상기 스마트 계약을 호출하는 단계; 및
    상기 스마트 계약 계산이 완료된 후에 상기 블록체인의 분산 데이터베이스에 계산 결과를 저장하는 단계
    를 포함하는, 블록체인 기반 스마트 계약 호출 방법.
  2. 제1항에 있어서,
    상기 제3자 저장 시스템은 상기 타깃 데이터와 상기 타깃 데이터의 상기 데이터 다이제스트 사이의 매핑 관계를 저장하는 것인, 블록체인 기반 스마트 계약 호출 방법.
  3. 제2항에 있어서,
    상기 제3자 저장 시스템으로부터 상기 데이터 다이제스트에 대응하는 타깃 데이터를 질의하는 단계는:
    상기 데이터 다이제스트에 대응하는 타깃 데이터를 질의하기 위해, 상기 데이터 다이제스트를 질의 인덱스로서 사용함으로써 상기 제3자 저장 시스템에 대한 질의를 개시하는 단계를 포함하는 것인, 블록체인 기반 스마트 계약 호출 방법.
  4. 제1항에 있어서,
    상기 타깃 데이터에 대한 콘텐츠의 검증을 수행하는 단계는:
    미리 결정된 다이제스트 알고리즘에 기초하여 상기 타깃 데이터의 데이터 다이제스트를 계산하는 단계;
    상기 계산된 데이터 다이제스트가 상기 타깃 트랜잭션에서의 상기 타깃 데이터의 데이터 다이제스트와 일치하는지 여부를 결정하는 단계; 및
    상기 계산된 데이터 다이제스트가 상기 타깃 트랜잭션에서의 상기 타깃 데이터의 데이터 다이제스트와 일치한다고 결정하는 것에 응답하여, 상기 타깃 데이터에 대한 검증이 성공한 것으로 결정하는 단계
    를 포함하는 것인, 블록체인 기반 스마트 계약 호출 방법.
  5. 제1항에 있어서,
    상기 제3자 저장 시스템은 중앙집중화(centralized) 콘텐츠 어드레싱가능 저장(content addressable storage)(CAS) 시스템 또는 분산 CAS 시스템을 포함하는 것인, 블록체인 기반 스마트 계약 호출 방법.
  6. 제1항에 있어서,
    상기 블록체인은, 복수의 멤버 블록체인들을 포함하는 컨소시엄 블록체인(consortium blockchain)에서의 임의의 멤버 블록체인인 것인, 블록체인 기반 스마트 계약 호출 방법.
  7. 제6항에 있어서,
    상기 제3자 저장 시스템은, 상기 컨소시엄 블록체인에서의 블록체인과의 크로스 체인 데이터 참조 관계를 갖는 다른 멤버 블록체인인 것인, 블록체인 기반 스마트 계약 호출 방법.
  8. 제1항에 있어서,
    상기 제3자 저장 시스템은 중앙집중화 콘텐츠 어드레싱가능 저장 시스템, 또는 탈중앙집중화 분산 시스템을 포함하는 것인, 블록체인 기반 스마트 계약 호출 방법.
  9. 제8항에 있어서,
    상기 제3자 저장 시스템은, 상기 블록체인에 배치되고 오브젝트 저장 서비스 아키텍처에 따라 상기 블록체인의 각각의 멤버와 상호연결되는 분산 시스템을 포함하는 것인, 블록체인 기반 스마트 계약 호출 방법.
  10. 제1항에 있어서,
    트랜잭션 큐에서 상기 타깃 트랜잭션에 대한 합의 프로세싱(consensus processing)을 수행하는 단계를 더 포함하는, 블록체인 기반 스마트 계약 호출 방법.
  11. 제10항에 있어서,
    상기 합의 프로세싱을 수행하는 단계는 합의 알고리즘에 기초하는 것인, 블록체인 기반 스마트 계약 호출 방법.
  12. 제11항에 있어서,
    상기 합의 알고리즘은 실용적 비잔틴 장애 허용 알고리즘(Practical Byzantine Fault Tolerance algorithm)을 포함하는 것인, 블록체인 기반 스마트 계약 호출 방법.
  13. 블록체인 기반 스마트 계약 호출을 위한 장치에 있어서,
    제1항 내지 제12항 중 어느 한 항의 방법을 수행하도록 구성되는 복수의 모듈들을 포함하는, 블록체인 기반 스마트 계약 호출 장치.
KR1020207015564A 2018-06-27 2019-06-27 블록체인 기반 스마트 계약 호출 방법 및 장치, 전자 디바이스 KR102343782B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201810681249.1 2018-06-27
CN201810681249.1A CN109003078B (zh) 2018-06-27 2018-06-27 基于区块链的智能合约调用方法及装置、电子设备
PCT/US2019/039386 WO2020006164A1 (en) 2018-06-27 2019-06-27 Blockchain-based smart contract invocation method and apparatus, and electronic device

Publications (2)

Publication Number Publication Date
KR20200088827A KR20200088827A (ko) 2020-07-23
KR102343782B1 true KR102343782B1 (ko) 2021-12-27

Family

ID=64601302

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207015564A KR102343782B1 (ko) 2018-06-27 2019-06-27 블록체인 기반 스마트 계약 호출 방법 및 장치, 전자 디바이스

Country Status (11)

Country Link
US (3) US10776348B2 (ko)
EP (1) EP3701673B1 (ko)
JP (1) JP6975332B2 (ko)
KR (1) KR102343782B1 (ko)
CN (1) CN109003078B (ko)
AU (1) AU2019294726B2 (ko)
CA (1) CA3084084A1 (ko)
PH (1) PH12020550743B1 (ko)
SG (1) SG11202005051UA (ko)
TW (1) TWI746905B (ko)
WO (1) WO2020006164A1 (ko)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108898390B (zh) 2018-06-27 2021-01-12 创新先进技术有限公司 基于区块链的智能合约调用方法及装置、电子设备
CN109003078B (zh) 2018-06-27 2021-08-24 创新先进技术有限公司 基于区块链的智能合约调用方法及装置、电子设备
GB2576375A (en) * 2018-08-17 2020-02-19 Uvue Ltd Transaction system and method of operation thereof
US11068470B2 (en) * 2018-11-09 2021-07-20 Innoplexus Ag System and method for interoperability of blockchains
CN109885612B (zh) * 2018-12-26 2021-04-20 联动优势科技有限公司 区块链智能合约的同步生效方法及装置
CN109754249A (zh) * 2018-12-27 2019-05-14 石更箭数据科技(上海)有限公司 数据交易方法及系统、平台、存储介质
US20220122073A1 (en) 2018-12-28 2022-04-21 Love The Block, Inc. System architecture for enabling distributed temporary control of discrete units of an asset
CN109710617B (zh) * 2018-12-29 2021-07-30 杭州趣链科技有限公司 一种基于默克尔证明的安全数据交易方法
WO2020152893A1 (ja) * 2019-01-23 2020-07-30 株式会社Scalar 改ざん検知性を有するデータ管理システム
CN112966311A (zh) * 2019-03-15 2021-06-15 创新先进技术有限公司 智能合约校验方法及装置和电子设备
CN110033244B (zh) * 2019-03-15 2021-10-22 创新先进技术有限公司 基于区块链的智能合约执行方法及装置和电子设备
CN113421088A (zh) * 2019-03-26 2021-09-21 创新先进技术有限公司 基于区块链的数据处理方法及装置和电子设备
CN110060162B (zh) * 2019-03-29 2023-10-27 创新先进技术有限公司 基于区块链的数据授权、查询方法和装置
CN110147409B (zh) * 2019-04-02 2021-07-13 爱驰汽车有限公司 用于查询车辆的电池信息的方法、设备以及介质
CN110188097A (zh) * 2019-04-19 2019-08-30 阿里巴巴集团控股有限公司 区块链中智能合约的存储、执行方法及装置和电子设备
CN110210961A (zh) * 2019-05-21 2019-09-06 平安普惠企业管理有限公司 基于联盟链的数据获取方法、服务器及计算机存储介质
CN110310203B (zh) * 2019-06-21 2023-10-13 普洛斯科技(重庆)有限公司 一种区块链交易方法和装置
US11252166B2 (en) 2019-07-31 2022-02-15 Advanced New Technologies Co., Ltd. Providing data authorization based on blockchain
US11251963B2 (en) 2019-07-31 2022-02-15 Advanced New Technologies Co., Ltd. Blockchain-based data authorization method and apparatus
US11057189B2 (en) * 2019-07-31 2021-07-06 Advanced New Technologies Co., Ltd. Providing data authorization based on blockchain
CN110505311A (zh) * 2019-09-12 2019-11-26 杭州秘猿科技有限公司 一种同构区块链跨链交互方法和系统
CN110659907B (zh) * 2019-09-24 2021-11-12 北京海益同展信息科技有限公司 用于执行智能合约的方法和装置
CN110879687B (zh) * 2019-10-18 2021-03-16 蚂蚁区块链科技(上海)有限公司 一种基于磁盘存储的数据读取方法、装置及设备
CN110781200B (zh) * 2019-10-30 2022-07-08 百度在线网络技术(北京)有限公司 一种区块链异常数据的处理方法、装置、设备和介质
CN110543526B (zh) * 2019-10-31 2020-05-19 成都四方伟业软件股份有限公司 一种基于区块链的优化储存方法及系统
KR102505911B1 (ko) * 2019-11-27 2023-03-06 한국전자통신연구원 정책기반 스마트 계약을 생성하기 위한 방법 및 그 장치
US11620722B2 (en) 2019-11-27 2023-04-04 Electronics And Telecommunications Research Institute Method and apparatus of generating policy-based smart contract
CN111224962B (zh) * 2019-12-30 2022-01-04 杭州羿贝科技有限公司 一种基于区块链的物联网设备联网控制方法、控制系统
US11310051B2 (en) 2020-01-15 2022-04-19 Advanced New Technologies Co., Ltd. Blockchain-based data authorization method and apparatus
CN111275553B (zh) * 2020-01-20 2023-08-11 联动优势科技有限公司 一种区块链的数据存储方法及区块链系统
CN111249745B (zh) * 2020-02-18 2023-05-30 杭州复杂美科技有限公司 游戏部署方法、游戏运营方法、设备和存储介质
GB2592222A (en) * 2020-02-19 2021-08-25 Nchain Holdings Ltd Distributed database
CN111339188B (zh) * 2020-02-20 2023-10-31 百度在线网络技术(北京)有限公司 基于区块链的媒介内容处理方法、装置、设备和介质
CN111092726B (zh) * 2020-03-18 2020-07-28 支付宝(杭州)信息技术有限公司 生成共享合约密钥的方法及装置
CN111339067B (zh) * 2020-05-22 2020-08-14 中科软科技股份有限公司 一种联盟链账本平台的数据结构构建方法及系统
CN111737312A (zh) * 2020-06-05 2020-10-02 中国银行股份有限公司 一种信息查询方法、装置、设备及存储介质
EP4165521A4 (en) * 2020-06-16 2024-03-06 Microsoft Technology Licensing Llc IMPROVE ACCESSIBILITY OF APPLICATIONS RELATED TO TOPOLOGY DIAGRAM
CN112035895A (zh) * 2020-07-20 2020-12-04 江苏傲为控股有限公司 一种基于交易方式的电子合同取证方法及系统
CN111738710B (zh) * 2020-07-23 2020-12-01 支付宝(杭州)信息技术有限公司 对智能合约的执行进行资源扣除的方法和处理器
EP3955224A1 (en) * 2020-08-14 2022-02-16 Nagravision S.A. Localized betting system and method
CN112561624B (zh) * 2020-11-06 2024-01-05 国网安徽省电力有限公司信息通信分公司 一种基于区块链的多维度因子的动态信用评价方法及系统
CN112650742A (zh) * 2020-12-30 2021-04-13 北京百度网讯科技有限公司 跨链数据验证方法、装置、设备和存储介质
CN112818038A (zh) * 2021-02-02 2021-05-18 山东伏羲智库互联网研究院 基于区块链和ipfs组合的数据管理方法及相关设备
CN112819468A (zh) * 2021-02-24 2021-05-18 浙江蓝景科技有限公司 智能合约的处理方法、装置和电子设备
CN113077342B (zh) * 2021-04-06 2023-01-20 立旃(上海)科技有限公司 基于区块链进行跨境使用数据的方法及装置
US11924222B2 (en) 2022-01-13 2024-03-05 Bank Of America Corporation Intelligent real time dynamic smart contract generation for secure processing of internet of things (IoT) device based events

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180174158A1 (en) 2016-12-21 2018-06-21 Merck Patent Gmbh Composite security marking

Family Cites Families (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7720727B2 (en) * 2001-03-01 2010-05-18 Fisher-Rosemount Systems, Inc. Economic calculations in process control system
TWI351864B (en) * 2005-03-25 2011-11-01 Via Tech Inc Apparatus and method for employing cyrptographic f
EP3565187B1 (en) * 2010-11-05 2021-05-26 Mark Cummings Orchestrating wireless network operations
US20150379510A1 (en) 2012-07-10 2015-12-31 Stanley Benjamin Smith Method and system to use a block chain infrastructure and Smart Contracts to monetize data transactions involving changes to data included into a data supply chain.
US8793506B2 (en) 2012-08-31 2014-07-29 Intel Corporation Mechanism for facilitating encryption-free integrity protection of storage data at computing systems
US9363267B2 (en) 2014-09-25 2016-06-07 Ebay, Inc. Transaction verification through enhanced authentication
US9992028B2 (en) 2015-11-26 2018-06-05 International Business Machines Corporation System, method, and computer program product for privacy-preserving transaction validation mechanisms for smart contracts that are included in a ledger
WO2017098519A1 (en) 2015-12-08 2017-06-15 Tallysticks Limited A system and method for automated financial transaction validation, processing and settlement using blockchain smart contracts
US20170236123A1 (en) * 2016-02-16 2017-08-17 Blockstack Inc. Decentralized processing of global naming systems
GB2561727A (en) 2016-02-23 2018-10-24 Nchain Holdings Ltd Blockchain-based exchange with tokenisation
KR20180114942A (ko) 2016-02-23 2018-10-19 엔체인 홀딩스 리미티드 분산형 해시 테이블 및 블록체인을 사용하여 컴퓨터 소프트웨어를 보호하기 위한 방법 및 시스템
WO2017173271A1 (en) 2016-04-01 2017-10-05 Jpmorgan Chase Bank, N.A. Systems and methods for providing data privacy in a private distributed ledger
CN107306183B (zh) * 2016-04-22 2021-12-21 索尼公司 客户端、服务端、方法和身份验证系统
GB201607477D0 (en) 2016-04-29 2016-06-15 Eitc Holdings Ltd A method and system for controlling the performance of a contract using a distributed hash table and a peer to peer distributed ledger
US11829998B2 (en) * 2016-06-07 2023-11-28 Cornell University Authenticated data feed for blockchains
US10108954B2 (en) 2016-06-24 2018-10-23 PokitDok, Inc. System and method for cryptographically verified data driven contracts
WO2018006072A1 (en) 2016-06-30 2018-01-04 Clause, Inc. Systems and method for forming, storing, managing,and executing contracts
US10114980B2 (en) * 2016-07-21 2018-10-30 Acronis International Gmbh System and method for verifying data integrity using a blockchain network
GB201613144D0 (en) * 2016-07-29 2016-09-14 Eitc Holdings Ltd Computer-implemented method and system
US10380359B2 (en) 2016-08-05 2019-08-13 Sensoriant, Inc. Software-based switch for providing products and/or services to users without compromising their privacy
CN107819582A (zh) 2016-09-14 2018-03-20 陈新 智能区块链互联系统
US11188883B2 (en) * 2016-09-23 2021-11-30 International Business Machines Corporation Using ledger sensors to enable contextual contracts across various enterprise blockchain applications
US11128603B2 (en) * 2016-09-30 2021-09-21 Nec Corporation Method and system for providing a transaction forwarding service in blockchain implementations
CN107967416B (zh) * 2016-10-19 2021-07-09 华为技术有限公司 版权维权检测的方法、装置和系统
US20180123779A1 (en) 2016-11-01 2018-05-03 Jiangang Zhang Flexible Blockchain Smart-Contract Deployment
US11176519B2 (en) 2016-11-11 2021-11-16 International Business Machines Corporation Smart contract admission check and fault tolerance in a blockchain
JP6533771B2 (ja) * 2016-11-15 2019-06-19 富士通株式会社 通信方法、装置、及びプログラム
CN106559211B (zh) 2016-11-22 2019-12-13 中国电子科技集团公司第三十研究所 一种区块链中隐私保护智能合约方法
CN106598549B (zh) * 2016-12-08 2019-02-01 天津米游科技有限公司 一种基于区块链的智能合约系统及实现方法
WO2018111295A1 (en) 2016-12-16 2018-06-21 Hitachi, Ltd. Blockchain monitoring and management
CN107392610A (zh) * 2017-03-06 2017-11-24 钱德君 一种分布式网络的可靠数据源的实现方法
US10320566B2 (en) * 2017-04-04 2019-06-11 International Business Machines Corporation Distributed logging of application events in a blockchain
CN107274186A (zh) * 2017-05-11 2017-10-20 上海点融信息科技有限责任公司 在区块链中获得智能合约接口的方法和设备
CN107193490B (zh) * 2017-05-16 2020-04-17 北京中星仝创科技有限公司 一种基于区块链的分布式数据存储系统及方法
CN107425982B (zh) 2017-07-07 2020-05-12 众安信息技术服务有限公司 一种实现智能合约数据加密的方法和区块链
WO2019033074A1 (en) 2017-08-11 2019-02-14 Dragonchain, Inc. SYSTEMS AND METHODS OF INTERACTION WITH DISTRIBUTED REGISTERS
CN107464118A (zh) * 2017-08-16 2017-12-12 济南浪潮高新科技投资发展有限公司 一种基于区块链智能合约的数据交易方法
CN107464148A (zh) 2017-08-23 2017-12-12 众安信息技术服务有限公司 一种基于联盟链的智能合约升级方法和系统
CN107688927A (zh) * 2017-09-19 2018-02-13 中国银行股份有限公司 一种调用区块链上的智能合约的方法及系统
EP3692699A4 (en) 2017-10-04 2021-08-25 Algorand Inc. DECLARATIVE INTELLIGENT CONTRACTS
US10963400B2 (en) * 2017-10-11 2021-03-30 International Business Machines Corporation Smart contract creation and monitoring for event identification in a blockchain
CN108063752B (zh) * 2017-11-02 2020-05-08 暨南大学 基于区块链与代理重加密的可信基因检测及数据共享方法
US11257077B2 (en) 2017-11-30 2022-02-22 Visa International Service Association Blockchain system for confidential and anonymous smart contracts
US11205178B2 (en) 2017-12-28 2021-12-21 International Business Machines Corporation Converting processes into multiple blockchain smart contracts
CN108111312B (zh) 2017-12-28 2019-09-27 电子科技大学 一种基于区块链的智能终端安全通信方法
CN108055138B (zh) 2018-02-01 2020-03-17 国家计算机网络与信息安全管理中心 基于区块链的应用分发记录方法和系统
US20190251199A1 (en) * 2018-02-14 2019-08-15 Ivan Klianev Transactions Across Blockchain Networks
CN112767158A (zh) 2018-02-27 2021-05-07 创新先进技术有限公司 基于区块链的交易执行方法及装置、电子设备
US20190287107A1 (en) 2018-03-15 2019-09-19 International Business Machines Corporation Resource equity for blockchain
US20190394267A1 (en) * 2018-06-26 2019-12-26 Anami Holdings, Inc. Dynamic voting nodes in blockchain networks
CN109003078B (zh) 2018-06-27 2021-08-24 创新先进技术有限公司 基于区块链的智能合约调用方法及装置、电子设备
CN108898390B (zh) 2018-06-27 2021-01-12 创新先进技术有限公司 基于区块链的智能合约调用方法及装置、电子设备

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180174158A1 (en) 2016-12-21 2018-06-21 Merck Patent Gmbh Composite security marking

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Emmanuel Boateng Sifah et al., Chain-based big data access control infrastructure, 2018.03.14. <DOI: https://doi.org/10.1007/s11227-018-2308-7>
Thomas Renner et al., Endolith: A Blockchain-Based Framework to Enhance Data Retention in Cloud Storages, 2018.03.21. <DOI: 10.1109/PDP2018.2018.00105>

Also Published As

Publication number Publication date
CA3084084A1 (en) 2020-01-02
TWI746905B (zh) 2021-11-21
CN109003078A (zh) 2018-12-14
US20210263914A1 (en) 2021-08-26
US20200349148A1 (en) 2020-11-05
EP3701673A1 (en) 2020-09-02
EP3701673B1 (en) 2021-10-06
US10776348B2 (en) 2020-09-15
AU2019294726A1 (en) 2020-06-18
PH12020550743A1 (en) 2021-04-19
SG11202005051UA (en) 2020-06-29
US11347727B2 (en) 2022-05-31
WO2020006164A1 (en) 2020-01-02
KR20200088827A (ko) 2020-07-23
US20200004737A1 (en) 2020-01-02
TW202001608A (zh) 2020-01-01
US11016961B2 (en) 2021-05-25
PH12020550743B1 (en) 2021-04-19
JP2021512379A (ja) 2021-05-13
CN109003078B (zh) 2021-08-24
JP6975332B2 (ja) 2021-12-01
AU2019294726B2 (en) 2021-08-19

Similar Documents

Publication Publication Date Title
KR102343782B1 (ko) 블록체인 기반 스마트 계약 호출 방법 및 장치, 전자 디바이스
AU2019227618B2 (en) Method, apparatus, and electronic device for executing transactions based on blockchain
AU2019292928B2 (en) Blockchain-based smart contract invocation method and apparatus, and electronic device
CA3084081C (en) Cross-blockchain authentication method and apparatus
CA3083819A1 (en) Cross-blockchain authentication method, apparatus, and electronic device

Legal Events

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