KR20200069370A - 크로스 블록체인 상호작용 방법, 장치, 시스템, 및 전자 디바이스 - Google Patents

크로스 블록체인 상호작용 방법, 장치, 시스템, 및 전자 디바이스 Download PDF

Info

Publication number
KR20200069370A
KR20200069370A KR1020207014903A KR20207014903A KR20200069370A KR 20200069370 A KR20200069370 A KR 20200069370A KR 1020207014903 A KR1020207014903 A KR 1020207014903A KR 20207014903 A KR20207014903 A KR 20207014903A KR 20200069370 A KR20200069370 A KR 20200069370A
Authority
KR
South Korea
Prior art keywords
blockchain
message
cross
client
subscription
Prior art date
Application number
KR1020207014903A
Other languages
English (en)
Other versions
KR102215248B1 (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 KR20200069370A publication Critical patent/KR20200069370A/ko
Application granted granted Critical
Publication of KR102215248B1 publication Critical patent/KR102215248B1/ko

Links

Images

Classifications

    • 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/64Protecting data integrity, e.g. using checksums, certificates or 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/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
    • 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/9024Graphs; Linked lists
    • 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/903Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • 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
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/133Protocols for remote procedure calls [RPC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • H04L2209/38
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Business, Economics & Management (AREA)
  • Computational Linguistics (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Telephonic Communication Services (AREA)

Abstract

본 출원의 하나 이상의 구현예는 크로스 블록체인 상호작용을 제공한다. 제1 블록체인과 제2 블록체인 사이의 크로스 블록체인 상호작용 단말을 사용함으로써 그리고 블록체인 노드에 대응하는 구독(subscribing) 클라이언트를 사용함으로써 제2 블록체인에서 제2 계약에 의해 생성된 메시지가 제1 블록체인 내의 블록체인 노드에 의해 결정되고, 구독 클라이언트는, 메시지 큐를 사용하여 대응하는 블록체인 노드에 대한 매핑을 수행하기 위해 복수의 블록체인 노드들과 일대일로 대응하는 복수의 메시지 큐들을 유지하도록 구성된다. 제2 계약에 의해 생성된 메시지가 블록체인 노드의 구독 조건을 만족시키는 경우, 대응하는 계약 동작을 트리거하도록 제1 블록체인에서의 제1 계약이 블록체인 노드에 의해 호출된다.

Description

크로스 블록체인 상호작용 방법, 장치, 시스템, 및 전자 디바이스
본 출원은 2018년 4월 3일에 출원된 중국 특허 출원 201810290446.0에 대한 우선권을 청구하며, 이 중국 특허 출원의 전문은 참조로서 본 명세서 내에서 원용된다.
본 출원의 하나 이상의 구현예는 블록체인 기술 분야에 관한 것이며, 특히 크로스 블록체인(cross-blockchain) 상호작용 방법, 장치, 시스템, 및 전자 디바이스에 관한 것이다.
블록체인 기술(분산 원장(distributed ledger) 기술이라고도 칭함)은 탈중앙화 분산형 데이터베이스 기술이며, 이는 탈중앙화, 개방성과 투명성, 변조 방지, 및 신뢰성 등을 특징으로 한다. 따라서, 블록체인 기술은 높은 데이터 신뢰성을 요구하는 많은 응용 시나리오들에 적용가능하다.
이를 고려하여, 본 출원의 하나 이상의 구현예는 크로스 블록체인 상호작용 방법, 장치, 시스템, 및 전자 디바이스를 제공한다.
상기 목적을 달성하기 위해, 본 출원의 하나 이상의 구현예는 다음의 기술적 해결책들을 제공한다:
본 출원의 하나 이상의 구현예의 제1 양태에 따르면, 크로스 블록체인 상호작용 시스템이 제공되고, 본 시스템은 다음을 포함한다: 제1 블록체인과 제2 블록체인; 구독(subscribing) 클라이언트 - 구독 클라이언트는 제1 블록체인 내의 블록체인 노드에 대응하고, 블록체인 노드에 대응하는 메시지 큐(message queue)를 유지하도록 구성되고, 메시지 큐는 블록체인 노드가 구독한 메시지를 포함함 -; 발행(publishing) 클라이언트 - 발행 클라이언트는 제2 블록체인에 대응하고, 제2 블록체인에서 제2 스마트 계약에 의해 생성된 메시지를 획득하도록 구성됨 -; 및 크로스 블록체인 상호작용 단말 - 크로스 블록체인 상호작용 단말은, 블록체인 노드의 구독 조건을 획득하고, 메시지 큐가 구독 조건을 만족시키는 메시지를 포함하지 않은 경우, 구독 조건을 만족시키는 메시지를 발행 클라이언트로부터 요청하고 이 메시지를 구독 클라이언트에 전송하여 메시지 큐에 이 메시지를 업데이트하며, 메시지 큐가 구독 조건을 만족시키는 메시지를 포함한다고 결정한 경우, 블록체인 노드는 대응하는 계약 동작을 트리거하도록 제1 블록체인에서 제1 스마트 계약을 호출한다.
본 출원의 하나 이상의 구현예의 제2 양태에 따르면, 크로스 블록체인 상호작용 방법이 제공되고, 본 방법은 다음을 포함한다: 제1 블록체인 내의 블록체인 노드에 의해, 제1 블록체인과 제2 블록체인 사이의 크로스 블록체인 상호작용 단말을 사용함으로써 제2 블록체인에서 제2 스마트 계약에 의해 생성된 메시지를 결정하는 단계; 및 제2 스마트 계약에 의해 생성된 메시지가 블록체인 노드의 구독 조건을 만족시키는 경우, 블록체인 노드에 의해, 대응하는 계약 동작을 트리거하도록 제1 블록체인에서 제1 스마트 계약을 호출하는 단계.
본 출원의 하나 이상의 구현예의 제3 양태에 따르면, 크로스 블록체인 상호작용 방법이 제공되고, 본 방법은 다음을 포함한다: 구독 클라이언트에 의해, 제2 블록체인에서 제2 스마트 계약에 의해 생성된 메시지를 획득하는 단계 - 상기 메시지는 제2 블록체인으로부터 제1 블록체인과 제2 블록체인 사이의 크로스 블록체인 상호작용 단말에 의해 획득되고, 상기 메시지는 제1 블록체인 내의 블록체인 노드에 의해 크로스 블록체인 상호작용 단말에 제공된 구독 조건을 만족시킴 -; 및 구독 클라이언트에 의해, 블록체인 노드가 제1 블록체인에서 제1 스마트 계약을 호출하는 것을 트리거하도록, 상기 메시지를 블록체인 노드에 제공하는 단계.
본 출원의 하나 이상의 구현예의 제4 양태에 따르면, 크로스 블록체인 상호작용 방법이 제공되고, 본 방법은 다음을 포함한다: 크로스 블록체인 상호작용 단말에 의해, 제1 블록체인 내의 블록체인 노드에 의해 개시된 구독 요청을 획득하는 단계 - 구독 요청은 구독 조건을 포함함 -; 크로스 블록체인 상호작용 단말에 의해, 구독 조건을 만족시키고 제2 블록체인에서 제2 스마트 계약에 의해 생성된 메시지를 획득하는 단계; 및 블록체인 노드가 상기 메시지에 기초하여 제1 블록체인에서 제1 스마트 계약을 호출하도록, 크로스 블록체인 상호작용 단말에 의해, 상기 메시지를 블록체인 노드에 제공하는 단계.
본 출원의 하나 이상의 구현예의 제5 양태에 따르면, 크로스 블록체인 상호작용 방법이 제공되고, 본 방법은 다음을 포함한다: 발행 클라이언트에 의해, 제2 블록체인에서 제2 스마트 계약에 의해 생성된 메시지를 획득하는 단계; 및 블록체인 노드가 제1 블록체인에서 제1 스마트 계약을 호출하는 것을 트리거하기 위해, 발행 클라이언트에 의해, 제1 블록체인과 제2 블록체인 사이의 크로스 블록체인 상호작용 단말을 사용함으로써 제1 블록체인 내의 블록체인 노드에 상기 메시지를 제공하는 단계.
본 출원의 하나 이상의 구현예의 제6 양태에 따르면, 크로스 블록체인 상호작용 장치가 제공되고, 본 장치는 다음을 포함한다: 제1 블록체인과 제2 블록체인 사이의 크로스 블록체인 상호작용 단말을 사용함으로써 제2 블록체인에서 제2 스마트 계약에 의해 생성된 메시지를 결정하도록 구성된 결정 유닛; 및 제2 스마트 계약에 의해 생성된 메시지가 블록체인 노드의 구독 조건을 만족시키는 경우, 대응하는 계약 동작을 트리거하도록 제1 블록체인에서 제1 스마트 계약을 호출하도록 구성된 호출 유닛.
본 출원의 하나 이상의 구현예의 제7 양태에 따르면, 크로스 블록체인 상호작용 장치가 제공되고, 본 장치는 다음을 포함한다: 제2 블록체인에서 제2 스마트 계약에 의해 생성된 메시지를 획득하도록 구성된 취득 유닛 - 상기 메시지는 제2 블록체인으로부터 제1 블록체인과 제2 블록체인 사이의 크로스 블록체인 상호작용 단말에 의해 획득되고, 상기 메시지는 제1 블록체인 내의 블록체인 노드에 의해 크로스 블록체인 상호작용 단말에 제공된 구독 조건을 만족시킴 -; 및 블록체인 노드가 제1 블록체인에서 제1 스마트 계약을 호출하는 것을 트리거하도록, 상기 메시지를 블록체인 노드에 제공하도록 구성된 제공 유닛.
본 출원의 하나 이상의 구현예의 제8 양태에 따르면, 크로스 블록체인 상호작용 장치가 제공되고, 본 장치는 다음을 포함한다: 제1 블록체인 내의 블록체인 노드에 의해 개시된 구독 요청을 획득하도록 구성된 요청 취득 유닛 - 구독 요청은 구독 조건을 포함함 -; 구독 조건을 만족시키고 제2 블록체인에서 제2 스마트 계약에 의해 생성된 메시지를 획득하도록 구성된 메시지 취득 유닛; 및 블록체인 노드가 상기 메시지에 기초하여 제1 블록체인에서 제1 스마트 계약을 호출하도록, 상기 메시지를 블록체인 노드에 제공하도록 구성된 제공 유닛.
본 출원의 하나 이상의 구현예의 제9 양태에 따르면, 크로스 블록체인 상호작용 장치가 제공되고, 본 장치는 다음을 포함한다: 제2 블록체인에서 제2 스마트 계약에 의해 생성된 메시지를 획득하도록 구성된 취득 유닛; 및 블록체인 노드가 제1 블록체인에서 제1 스마트 계약을 호출하는 것을 트리거하기 위해, 제1 블록체인과 제2 블록체인 사이의 크로스 블록체인 상호작용 단말을 사용함으로써 제1 블록체인 내의 블록체인 노드에 상기 메시지를 제공하도록 구성된 제공 유닛.
본 출원의 하나 이상의 구현예의 제10 양태에 따르면, 전자 디바이스가 제공되고, 본 디바이스는 다음을 포함한다: 프로세서; 및 프로세서에 의해 실행될 수 있는 명령어를 저장하도록 구성된 메모리 - 상기 프로세서는 이전 구현예들 중 어느 하나의 구현예에 따른 방법을 구현하도록 구성된다.
본 출원의 하나 이상의 구현예의 제11 양태에 따르면, 크로스 블록체인 상호작용 시스템이 제공되고, 본 시스템은 다음을 포함한다: 제1 블록체인과 제2 블록체인; 구독 클라이언트 - 구독 클라이언트는 제1 블록체인 내의 블록체인 노드에 대응하고, 블록체인 노드에 대응하는 메시지 큐를 유지하도록 구성되고, 메시지 큐는 블록체인 노드가 구독한 메시지를 포함함 -; 발행 클라이언트 - 발행 클라이언트는 제2 블록체인에 대응하고, 제2 블록체인에서 제2 스마트 계약에 의해 생성된 메시지를 획득하도록 구성됨 -; 및 크로스 블록체인 상호작용 단말 - 크로스 블록체인 상호작용 단말은, 블록체인 노드의 구독 조건을 획득하고, 메시지 큐가 구독 조건을 만족시키는 메시지를 포함하지 않은 경우, 구독 조건을 만족시키는 메시지를 발행 클라이언트로부터 요청하고 이 메시지를 구독 클라이언트에 전송하여 메시지 큐에 이 메시지를 업데이트하며, 메시지 큐가 구독 조건을 만족시키는 메시지를 포함한다고 결정한 경우, 블록체인 노드는 대응하는 계약 동작을 트리거하도록 제1 블록체인에서 제1 스마트 계약을 호출하며, 구독 조건은 계약 동작과 관련이 있다.
도 1은 예시적인 구현예에 따른, 크로스 블록체인 상호작용 방법을 나타내는 흐름도이다.
도 2는 예시적인 구현예에 따른, 다른 크로스 블록체인 상호작용 방법을 나타내는 흐름도이다.
도 3은 예시적인 구현예에 따른, 또다른 크로스 블록체인 상호작용 방법을 나타내는 흐름도이다.
도 4는 예시적인 구현예에 따른, 또다른 크로스 블록체인 상호작용 방법을 나타내는 흐름도이다.
도 5는 예시적인 구현예에 따른, 크로스 블록체인 상호작용 시스템을 나타내는 아키텍처도이다.
도 6은 예시적인 구현예에 따른, 다른 크로스 블록체인 상호작용 시스템을 나타내는 아키텍처도이다.
도 7은 예시적인 구현예에 따른, 크로스 블록체인 이체 관련 시스템을 나타내는 아키텍처도이다.
도 8은 예시적인 구현예에 따른, 크로스 블록체인 메시지 교환 프로세스를 나타내는 개략도이다.
도 9는 예시적인 구현예에 따른, 디바이스를 나타내는 구조도이다.
도 10은 예시적인 구현예에 따른, 크로스 블록체인 상호작용 장치를 나타내는 블록도이다.
도 11은 예시적인 구현예에 따른, 다른 크로스 블록체인 상호작용 장치를 나타내는 블록도이다.
도 12는 예시적인 구현예에 따른, 또다른 크로스 블록체인 상호작용 장치를 나타내는 블록도이다.
도 13은 예시적인 구현예에 따른, 또다른 크로스 블록체인 상호작용 장치를 나타내는 블록도이다.
도 14는 본 발명개시의 구현예에 따른, 크로스 블록체인 상호작용들에서의 데이터 전송을 개선시키기 위한 컴퓨터 구현 방법의 예시를 나타내는 흐름도이다.
여기서는 예시적인 구현예들을 상세히 설명하며, 이 예시적인 구현예들의 예시들은 첨부 도면에서 제시된다. 아래의 설명이 첨부 도면을 참조할 때, 달리 명시되지 않는 한, 상이한 첨부 도면들에서 동일한 번호는 동일하거나 유사한 엘리먼트들을 나타낸다. 아래에서 설명되는 구현예들은 본 출원의 하나 이상의 구현예와 일치하는 모든 구현예들을 나타내는 것은 아니다. 반대로, 본 구현예들은 첨부된 청구범위에서 상세히 설명되고 본 출원의 하나 이상의 구현예의 일부 양태들과 일치하는 장치 및 방법의 단지 예시일 뿐이다.
다른 구현예들에서, 대응하는 방법에서의 단계들은 반드시 본 출원에서 도시되고 설명된 시퀀스에 따라 수행될 필요가 없다는 것을 주목할 가치가 있다. 일부 다른 구현예들에서, 본 방법은 본 출원에서 설명된 것보다 더 많거나 더 적은 수의 단계들을 포함할 수 있다. 또한, 본 출원에서 설명된 단일 단계는 다른 구현예들에서 복수의 단계들로 분해될 수 있으며, 본 출원에서 설명된 복수의 단계들은 다른 구현예들에서 단일 단계로 결합될 수 있다.
도 1은 예시적인 구현예에 따른, 크로스 블록체인 상호작용 방법을 나타내는 흐름도이다. 도 1에서 도시된 바와 같이, 방법은 제1 블록체인 내의 블록체인 노드에 적용되며, 다음 단계들을 포함할 수 있다.
단계 102: 제1 블록체인 내의 블록체인 노드는, 제1 블록체인과 제2 블록체인 사이의 크로스 블록체인 상호작용 단말을 사용함으로써 제2 블록체인에서 제2 스마트 계약에 의해 생성된 메시지를 결정한다.
구현예에서, 크로스 블록체인 상호작용 단말은 제1 블록체인과 제2 블록체인 사이에 배치되어, 제1 블록체인과 제2 블록체인은 크로스 블록체인 상호작용 단말에 기초하여 메시지들을 교환할 수 있으며, 이에 의해 복수의 블록체인들 사이의 크로스 블록체인 상호작용을 구현할 수 있다.
구현예에서, 제1 블록체인은 크로스 블록체인 상호작용에서 상호작용 메시지를 수신하는 당사자를 나타내고, 제2 블록체인은 크로스 블록체인 상호작용에서 상호작용 메시지를 제공하는 당사자를 나타낸다. 달리 말해서, "제1 블록체인"과 "제2 블록체인"은 특정 블록체인을 제1 블록체인 또는 제2 블록체인으로 한정시키는 것 대신에, 대응하는 블록체인이 크로스 블록체인 상호작용에서 수행하는 역할에 의존한다. 달리 말해서, 블록체인이 크로스 블록체인 상호작용에서 다른 블록체인으로부터 상호작용 메시지를 수신하는 경우, 그 블록체인은 이 프로세스에서 "제1 블록체인"이며; 블록체인이 크로스 블록체인 상호작용에서 다른 블록체인에 상호작용 메시지를 제공하는 경우, 그 블록체인은 이 프로세스에서 "제2 블록체인"이다.
구현예에서, 블록체인 노드에 의해 획득된 메시지는 블록체인 노드의 구독 조건을 만족시키고 제2 블록체인에서 제2 스마트 계약에 의해 생성된 메시지를 포함한다. 예를 들어, 사용자 A는 제2 블록체인에서 자산 1을 사용자 B에게 이체시키고 사용자 B는 제1 블록체인에서 자산 2를 사용자 A에게 이체시킬 필요가 있다. 이 경우, 사용자 A는 먼저 제2 블록체인에서 제2 스마트 계약을 호출하여 자산 1을 사용자 B에게 이체시키고, 제1 블록체인이 이 동작에 대응하는 동작 완료 메시지를 수신한 후, 사용자 B는 제1 블록체인에서 제1 스마트 계약을 호출하여 자산 2를 사용자 A에게 이체시킨다. 사용자 A와 사용자 B 간의 상기 자산 이체 프로세스에서, 제1 블록체인 내의 블록체인 노드의 구독 조건은 "사용자 A가 자산 1을 사용자 B에게 이체시켰음을 표시하는 메시지를 수신했음"일 수 있다. 따라서, 블록체인 노드는, 블록체인 노드가 제1 스마트 계약을 호출하는 것을 트리거하기 위해, 제2 블록체인에서 제2 스마트 계약에 의해 생성된 "사용자 A가 자산 1을 사용자 B에게 이체시켰음"의 메시지를 획득할 필요가 있다. 이에 따라, 사용자 B는 자산 2를 사용자 A에게 이체시킬 수 있다.
구현예에서, 블록체인 노드는 크로스 블록체인 상호작용 단말에 대한 구독 요청을 개시할 수 있으며, 여기서 구독 요청은, 크로스 블록체인 상호작용 단말이, 구독 조건을 만족시키고 제2 스마트 계약에 의해 생성된 메시지를 획득하고, 이 메시지를 블록체인 노드에 대응하는 구독 클라이언트에 의해 유지된 메시지 큐에 추가하도록, 구독 조건을 크로스 블록체인 상호작용 단말에게 표시하는데 사용된다. 그런 후, 메시지 큐가 구독 조건을 만족시키는 메시지를 포함한 경우, 블록체인 노드는, 제2 스마트 계약이 구독 조건을 만족시키는 메시지를 생성했다고 결정한다.
단계 104: 블록체인 노드는, 제2 스마트 계약에 의해 생성된 메시지가 블록체인 노드의 구독 조건을 만족시키는 경우, 대응하는 계약 동작을 트리거하도록 제1 블록체인에서 제1 스마트 계약을 호출한다.
구현예에서, 크로스 블록체인 상호작용 단말은, 제2 블록체인에서 제2 스마트 계약에 의해 생성된 메시지를 획득하고, 제1 블록체인 내의 블록체인 노드가 상기 메시지에 기초하여 제1 스마트 계약을 호출하는 것을 트리거하여, 제1 블록체인과 제2 블록체인은 메시지의 신뢰적인 크로스 블록체인 상호작용을 구현할 수 있다. 이와 같이, 제2 스마트 계약에 의해 생성된 메시지는 제1 스마트 계약에 비동기식으로 전송되어, 제1 스마트 계약의 호출을 자동으로 트리거함으로써, 대응하는 계약 동작이 적시에 효율적으로 수행될 수 있는 것을 보장한다.
도 2는 예시적인 구현예에 따른, 다른 크로스 블록체인 상호작용 방법을 나타내는 흐름도이다. 도 2에서 도시된 바와 같이, 본 방법은 구독 클라이언트에 적용되며, 이하의 단계들을 포함할 수 있다.
단계 202: 구독 클라이언트는 제2 블록체인에서 제2 스마트 계약에 의해 생성된 메시지를 획득하고, 상기 메시지는 제2 블록체인으로부터 제1 블록체인과 제2 블록체인 사이의 크로스 블록체인 상호작용 단말에 의해 획득되고, 상기 메시지는 제1 블록체인 내의 블록체인 노드에 의해 크로스 블록체인 상호작용 단말에 제공된 구독 조건을 만족시킨다.
구현예에서, 구독 클라이언트는 블록체인 노드 상에서 구성될 수 있으며, 달리 말하면, 구독 클라이언트는 블록체인 노드 상에서 구현되거나 확장된 메시지 구독 기능으로서 이해될 수 있다. 다른 구현예들에서, 구독 클라이언트는 제1 블록체인 외부의 노드 상에서 구성될 수 있다. 구현예들은 본 출원에서 제한되지 않는다.
단계 204: 구독 클라이언트는, 블록체인 노드가 제1 블록체인에서 제1 스마트 계약을 호출하는 것을 트리거하도록, 상기 메시지를 블록체인 노드에 제공한다.
구현예에서, 구독 클라이언트는 블록체인 노드에 대응하는 메시지 큐를 유지할 수 있고, 메시지 큐는 블록체인 노드가 구독하는 메시지를 포함하는데, 달리 말하면, 구독 클라이언트는 블록체인 노드에 의해 제공된 구독 조건을 만족시키는 메시지를 메시지 큐에 추가하여, 블록체인 노드가 메시지 큐 내에 포함된 메시지를 소비할 수 있도록 한다.
구현예에서, 크로스 블록체인 상호작용 단말이 구독 클라이언트에 기초하여 대응하는 블록체인 노드에 대한 매핑을 수행할 수 있도록 구독 클라이언트들은 블록체인 노드들과 일대일로 대응하여, 정확한 메시지 전송을 보장할 수 있다. 다른 구현예들에서, 하나의 구독 클라이언트는 복수의 블록체인 노드들에 대응할 수 있다. 예를 들어, 구독 클라이언트는, 메시지 큐를 사용하여 대응하는 블록체인 노드에 대한 매핑을 수행하기 위해, 복수의 블록체인 노드들과 일대일로 대응하는 복수의 메시지 큐들을 유지할 수 있다.
구현예에서, 구독 클라이언트는 메시지 큐의 큐 상태를 크로스 블록체인 상호작용 단말에 제공할 수 있고, 큐 상태는 메시지 큐 내에 포함된 메시지를 표시한다. 이에 따라, 구독 조건을 만족시키는 메시지를 메시지 큐가 포함한다는 것을 큐 상태가 표시하면, 크로스 블록체인 상호작용 단말은 메시지를 다시 획득할 필요가 없다. 구독 조건을 만족시키는 메시지를 메시지 큐가 포함하지 않는다는 것을 큐 상태가 표시하면, 메시지를 메시지 큐에 업데이트시키기 위해, 크로스 블록체인 상호작용 단말은, 구독 조건을 만족시키고 제2 블록체인에서 제2 스마트 계약에 의해 생성된 메시지를 획득할 수 있다.
구현예에서, 구독 클라이언트는 상태 질의 요청에 응답하여 큐 상태를 크로스 블록체인 상호작용 단말에 반환하기 위해, 크로스 블록체인 상호작용 단말에 의해 개시된 상태 질의 요청을 수신할 수 있다. 달리 말하면, 메시지 큐와 메시지 큐의 큐 상태 둘 다는 크로스 블록체인 상호작용 단말 대신에 블록체인 노드에 대응하는 구독 클라이언트에 의해 유지되므로, 크로스 블록체인 상호작용 단말 상에서 관련 인원에 의해 수행되는 악의적인 행동들을 감소시키고, 메시지 전송 신뢰성을 향상시킨다.
구현예에서, 구독 클라이언트는 메시지를 메시지 큐에 추가할 수 있고, 블록체인 노드가 메시지 큐를 소비하는 것을 트리거하기 위해, 구독 클라이언트는 제1 블록체인에서 메시지의 도착 이벤트를 트리거할 수 있다. 이 경우, 구독 조건을 만족시키고 제2 스마트 계약에 의해 생성된 메시지를 메시지 큐가 포함한다고 결정될 때, 블록체인 노드는 제1 스마트 계약을 호출하도록 트리거될 수 있다.
구현예에서, 메시지가 검증된 후에 메시지를 블록체인 노드에 제공하기 위해, 구독 클라이언트는 미리 앵커링된 검증 루트를 사용하여 크로스 블록체인 상호작용 단말에 의해 제공된 메시지에 대한 검증을 수행할 수 있다. 상황에 따라, 구독 클라이언트는 메시지가 실제로 제2 블록체인에 존재하는지 여부를 능동적으로 검증할 수 있다. 예를 들어, SPV(simplified payment verification) 클라이언트가 구독 클라이언트 상에서 구성될 수 있고, SPV 클라이언트는 제2 블록체인에 대응하는 단순화된 블록체인(각 블록의 헤더만을 포함함)을 유지하며, 검증 루트는 단순화된 블록체인을 포함할 수 있다. 따라서, 메시지가 제2 블록체인에 실제로 존재하는지 여부는 메시지에 기초하여 결정될 수 있다. 다른 상황에서, 구독 클라이언트와는 상이한 미리결정된 오라클 클라이언트는 메시지가 실제로 제2 블록체인에 존재하는지 여부를 검증할 수 있고, 구독 클라이언트는 오라클 클라이언트에서 절대적 신뢰를 갖는다. 이 경우, 오라클 클라이언트는, 메시지가 실제로 제2 블록체인에 존재한다고 결정될 때 오라클 클라이언트의 시그너처(signature)를 메시지에 추가할 수 있다. 검증 루트는 시그너처에 대한 검증 정보를 포함할 수 있기 때문에, 구독 클라이언트는, 시그너처가 실제로 오라클 클라이언트로부터 비롯된 것이라고 검증할 때 메시지가 실제로 제2 블록체인에 존재한다는 것을 오라클 클라이언트가 검증했다고 결정할 수 있다. 메시지의 시그너처가 검증되지 않으면, 구독 클라이언트는 메시지가 실제로 제2 블록체인에 존재하지 않는 것으로 간주하여, 메시지를 폐기할 수 있다. 물론, 구독 클라이언트는 다른 방식으로 메시지에 대한 검증을 수행할 수 있다. 구현예들은 본 출원에서 제한되지 않는다.
구현예에서, 대응하는 계약 동작은 제1 스마트 계약이 호출될 때 트리거될 수 있다. 계약 동작의 실행 프로세스는 상기 메시지와 독립적일 수 있는데, 달리 말하면, 메시지는 단지 제1 스마트 계약의 호출을 트리거하는데 사용된다. 또는, 상기 메시지는 계약 동작의 실행 프로세스에 적용될 수 있는데, 예를 들어, 상기 메시지는 계약 동작의 입력 정보로서 사용되며, 이에 따라 상기 메시지는 계약 동작의 실행 프로세스에서 수반된다.
도 3은 예시적인 구현예에 따른, 또다른 크로스 블록체인 상호작용 방법을 나타내는 흐름도이다. 도 3에서 도시된 바와 같이, 본 방법은 크로스 블록체인 상호작용 단말에 적용되며, 이하의 단계들을 포함할 수 있다.
단계 302: 크로스 블록체인 상호작용 단말은 제1 블록체인 내의 블록체인 노드에 의해 개시된 구독 요청을 획득하며, 구독 요청은 구독 조건을 포함한다.
구현예에서, 크로스 블록체인 상호작용 단말은 블록체인 노드에 대응하는 구독 클라이언트에 대한 상태 질의 요청을 개시할 수 있고, 구독 클라이언트는 블록체인 노드에 대응하는 메시지 큐를 유지하고, 메시지 큐는 블록체인 노드가 구독하는 메시지를 포함한다. 그런 후, 큐 상태에 기초하여 구독 조건을 만족시키는 메시지를 메시지 큐가 포함하지 않는다고 결정할 때, 구독 조건을 만족시키고 제2 블록체인에서 제2 스마트 계약에 의해 생성된 메시지를 획득하기 위해, 크로스 블록체인 상호작용 단말은 구독 클라이언트에 의해 반환된 메시지 큐의 큐 상태를 수신한다. 물론, 구독 조건을 만족시키는 메시지를 메시지 큐가 포함한다는 것을 큐 상태가 표시하면, 크로스 블록체인 상호작용 단말은 메시지를 다시 획득할 필요가 없다. 달리 말하면, 크로스 블록체인 상호작용 단말 상에서 관련 인원에 의해 수행되는 악의적인 행동들을 감소시켜서, 메시지 전송 신뢰성을 향상시키기 위해, 메시지 큐와 메시지 큐의 큐 상태 둘 다는 크로스 블록체인 상호작용 단말 대신에 블록체인 노드에 대응하는 구독 클라이언트에 의해 유지된다.
단계 304: 크로스 블록체인 상호작용 단말은, 구독 조건을 만족시키고 제2 블록체인에서 제2 스마트 계약에 의해 생성된 메시지를 획득한다.
구현예에서, 크로스 블록체인 상호작용 단말은 발행 클라이언트를 사용하여 가교화를 통해 제2 블록체인에서 미리결정된 저장 공간에 연결될 수 있다(발행 클라이언트는 가교화를 통해 크로스 블록체인 상호작용 단말과 미리결정된 저장 공간을 연결하는데 사용됨). 미리결정된 저장 공간은 제2 스마트 계약에 의해 생성된 메시지들을 저장하는데 사용된다. 그런 후, 크로스 블록체인 상호작용 단말은, 발행 클라이언트에 의해 제공된 질의 인터페이스를 사용하여, 미리결정된 저장 공간이 구독 조건을 만족시키는 메시지를 포함하는지 여부를 질의한다. 크로스 블록체인 상호작용 단말은 발행 클라이언트에 대한 메시지 취득 요청을 개시할 수 있어서, 발행 클라이언트는 미리결정된 저장 공간으로부터 구독 조건을 만족시키는 메시지를 획득하고, 메시지를 크로스 블록체인 상호작용 단말에 반환한다.
구현예에서, 발행 클라이언트는 가교로서 기능하므로, 크로스 블록체인 상호작용 단말은, 발행 클라이언트가 가교화를 통해 미리결정된 저장 공간에 연결되는 방법, 발행 클라이언트가 관련 메시지를 획득하는 방법 등을 학습하지 않고도 발행 클라이언트에 대한 연결을 구현할 필요만 있어서, 크로스 블록체인 상호작용 단말의 구성을 단순화하고 시스템 복잡성을 감소시킨다.
구현예에서, 미리결정된 저장 공간은 다음 중 적어도 하나를 포함할 수 있다: 제2 블록체인에서의 제3 스마트 계약 및 제2 블록체인에서의 미리결정된 블록체인 데이터 구조. 미리결정된 저장 공간이 제2 블록체인에서 제3 스마트 계약을 포함하는 일례에서, 제3 스마트 계약은 제2 스마트 계약에 의해 생성된 메시지를 저장하는데 독점적으로 사용될 수 있다. 미리결정된 저장 공간이 미리결정된 블록체인 데이터 구조를 포함하는 다른 예에서, 발행 클라이언트가 미리결정된 블록체인 데이터 구조를 알고 있다면, 발행 클라이언트는 제2 블록체인에서의 블록체인 원장 내에 포함된 미리결정된 블록체인 데이터 구조를 획득함으로써 가교화를 통해 미리결정된 저장 공간에 정확하게 연결될 수 있다. 물론, 미리결정된 저장 공간은 다른 형태들을 더 포함할 수 있으며, 그 형태들은 본 출원에서 제한되지 않는다.
단계 306: 블록체인 노드가 메시지에 기초하여 제1 블록체인에서 제1 스마트 계약을 호출하도록, 크로스 블록체인 상호작용 단말은 메시지를 블록체인 노드에 제공한다.
도 4는 예시적인 구현예에 따른, 또다른 크로스 블록체인 상호작용 방법을 나타내는 흐름도이다. 도 4에서 도시된 바와 같이, 본 방법은 발행 클라이언트에 적용되며, 이하의 단계들을 포함할 수 있다.
단계 402: 발행 클라이언트는 제2 블록체인에서 제2 스마트 계약에 의해 생성된 메시지를 획득한다.
구현예에서, 발행 클라이언트는 가교화를 통해 제2 블록체인 내의 미리결정된 저장 공간에 연결되고, 미리결정된 저장 공간은 제2 스마트 계약에 의해 생성된 메시지를 저장하는데 사용되고, 발행 클라이언트는 제2 스마트 계약에 의해 생성된 메시지를 미리결정된 저장 공간으로부터 획득할 수 있다.
구현예에서, 미리결정된 저장 공간은 다음 중 적어도 하나를 포함할 수 있다: 제2 블록체인에서의 제3 스마트 계약 및 제2 블록체인에서의 미리결정된 블록체인 데이터 구조. 예를 들어, 제3 스마트 계약은 제2 스마트 계약에 의해 생성된 메시지를 저장하는데 독점적으로 사용될 수 있다. 이 경우에서, 발행 클라이언트가 미리결정된 블록체인 데이터 구조를 알고 있다면, 발행 클라이언트는 제2 블록체인에서의 블록체인 원장 내에 포함된 미리결정된 블록체인 데이터 구조를 획득함으로써 가교화를 통해 미리결정된 저장 공간에 정확하게 연결될 수 있다. 물론, 미리결정된 저장 공간은 다른 형태들을 더 포함할 수 있으며, 그 형태들은 본 출원에서 제한되지 않는다.
구현예에서, 미리결정된 저장 공간에 대한 질의 인터페이스는 발행 클라이언트를 위해 구성된다. 발행 클라이언트는 크로스 블록체인 상호작용 단말에 대한 질의 인터페이스를 열어서, 크로스 블록체인 상호작용 단말은 질의 인터페이스를 사용하여 미리결정된 저장 공간에서 질의를 수행한다. 발행 클라이언트는 크로스 블록체인 상호작용 단말에 의해 개시된 메시지 취득 요청에 기초하여 크로스 블록체인 상호작용 단말에 의해 식별된 메시지를 획득하고, 메시지를 크로스 블록체인 상호작용 단말에 반환할 수 있다. 크로스 블록체인 상호작용 단말에 의해 식별된 메시지는 블록체인 노드에 의해 크로스 블록체인 상호작용 단말에 제공된 구독 조건과 일치한다.
단계 404: 블록체인 노드가 제1 블록체인에서 제1 스마트 계약을 호출하는 것을 트리거하기 위해, 발행 클라이언트는 제1 블록체인과 제2 블록체인 사이의 크로스 블록체인 상호작용 단말을 사용함으로써 제1 블록체인 내의 블록체인 노드에 메시지를 제공한다.
구현예에서, 발행 클라이언트는 크로스 블록체인 상호작용 단말에 의해 개시된 메시지 취득 요청을 수신할 수 있고, 메시지 취득 요청은 블록체인 노드에 의해 크로스 블록체인 상호작용 단말에 제공된 구독 조건과 일치한다. 그런 후, 발행 클라이언트는 메시지 취득 요청과 일치하고 제2 스마트 계약에 의해 생성된 메시지를 크로스 블록체인 상호작용 단말에 전송하여, 크로스 블록체인 상호작용 단말은 메시지를 블록체인 노드에 제공할 수 있다.
구현예에서, 발행 클라이언트는 획득된 메시지에 대해 수행된 검증의 결과에 기초하여 검증된 메시지에 시그너처를 추가할 수 있다. 발행 클라이언트는 크로스 블록체인 상호작용 단말을 사용하여 블록체인 노드에 대응하는 구독 클라이언트에 메시지를 전송하여, 시그너처가 구독 클라이언트에 의해 검증된 후 구독 클라이언트는 블록체인 노드에 대응하는 메시지 큐에 메시지를 추가한다. 메시지 큐가 구독 조건을 만족시키는 메시지를 포함한다고 결정한 경우, 블록체인 노드는 제1 스마트 계약을 호출한다. 메시지가 제2 블록체인에서 실제로 존재하는지 여부를 결정하기 위해, 발행 클라이언트가 획득된 메시지에 대한 검증을 수행할 수 있도록, 오라클 기능이 발행 클라이언트 상에서 구성될 수 있다(이것은 발행 클라이언트가 오라클 클라이언트로서 구현될 수 있다는 것을 의미함). 발행 클라이언트는 메시지가 실제로 제2 블록체인에 존재한다고 결정할 때 메시지에 시그너처를 추가할 수 있어서, 시그너처가 구독 클라이언트에 의해 검증된 후, 메시지가 제2 블록체인에서 실제로 존재한다는 것을 발행 클라이언트가 검증했다는 것을 구독 클라이언트는 능동적으로 검증을 수행하지 않고서, 직접 결정할 수 있다.
도 5는 예시적인 구현예에 따른, 크로스 블록체인 상호작용 시스템을 나타내는 아키텍처도이다. 도 5에서 도시된 바와 같이, 크로스 블록체인 상호작용 시스템은 제1 블록체인과 제2 블록체인; 구독 클라이언트; 발행 클라이언트; 및 크로스 블록체인 상호작용 단말을 포함할 수 있다.
본 출원에서, 제1 블록체인은 메시지 구독자로서의 블록체인이고, 제2 블록체인은 메시지 발행자로서의 블록체인이다. 달리 말해서, "제1 블록체인"과 "제2 블록체인"은 특정 블록체인을 제1 블록체인 또는 제2 블록체인으로 제한하는 대신, 상이한 블록체인들이 수행하는 역할들 간을 구별하기 위해 사용될 뿐이다.
구독 클라이언트는 제1 블록체인 내의 블록체인 노드에 대응하고, 블록체인 노드에 대응하는 메시지 큐를 유지하도록 구성되고, 메시지 큐는 블록체인 노드가 구독한 메시지를 포함한다. 구현예에서, 구독 클라이언트는 제1 블록체인 외부의 디바이스, 노드, 플랫폼 등 상에서 구성될 수 있다.
다른 구현예에서, 구독 클라이언트는 제1 블록체인 내의 블록체인 노드 상에서 구성될 수 있으며, 블록체인 노드가 관련 기술로부터 확장되는 구독 기능과 동등하다.
발행 클라이언트는 제2 블록체인에 대응하고, 제2 블록체인에서 제2 스마트 계약에 의해 생성된 메시지를 획득하도록 구성된다. 블록체인의 분산 회계 특징에 기초하여, 제2 블록체인 내의 모든 블록체인 노드들은 합의(consensus), 즉 블록체인 원장을 통해 동일한 내용의 모든 회계 데이터를 유지할 수 있다. 크로스 블록체인 상호작용 단말이 메시지를 획득하도록, 발행 클라이언트는, 블록체인 원장으로부터, 발행될 수 있는 메시지를 획득할 수 있다. 구현예에서, 발행 클라이언트는 제2 블록체인 외부의 디바이스, 노드, 플랫폼 등 상에서 구성될 수 있다. 다른 구현예에서, 발행 클라이언트는 제2 블록체인 내의 블록체인 노드 상에서 구성될 수 있으며, 블록체인 노드가 관련 기술로부터 확장되는 발행 기능과 동등하다.
크로스 블록체인 상호작용 단말은 제1 블록체인 내의 블록체인 노드에 의해 개시된 구독 요청을 수신할 수 있고, 구독 요청은 블록체인 노드의 구독 요건을 표시하는 구독 조건을 포함한다. 크로스 블록체인 상호작용 단말은 구독 클라이언트에 대한 상태 질의 메시지를 개시하고, 구독 클라이언트에 의해 반환된 메시지 큐의 큐 상태에 기초하여 메시지 큐가 구독 조건을 만족시키는 메시지를 포함하는지 여부를 결정할 수 있다. 그러한 경우, 크로스 블록체인 상호작용 단말은 메시지를 다시 획득할 필요가 없다. 그렇지 않은 경우, 크로스 블록체인 상호작용 단말은 발행 클라이언트로부터 구독 조건을 만족시키는 메시지를 획득할 필요가 있다. 크로스 블록체인 상호작용 단말은 발행 클라이언트로부터 구독 조건을 만족시키는 메시지를 요청하고, 발행 클라이언트에 의해 반환된 메시지를 구독 클라이언트에 전송하여, 제1 블록체인 내의 블록체인 노드가 소비하도록 구독 클라이언트가 메시지를 메시지 큐로 업데이트할 수 있다. 크로스 블록체인 상호작용 단말은 발행 클라이언트와 구독 클라이언트 간에 메시지들을 전송할 뿐이며, 메시지를 지속시킬 필요는 없다. 구현예에서, 크로스 블록체인 상호작용 단말은 제1 블록체인 및 제2 블록체인 외부의 디바이스, 노드, 플랫폼 등 상에서 구성될 수 있다. 다른 구현예에서, 크로스 블록체인 상호작용 단말은 제1 블록체인 내의 블록체인 노드 상에서 구성될 수 있으며, 블록체인 노드가 관련 기술로부터 확장되는 크로스 블록체인 상호작용 기능과 동등하다. 다른 구현예에서, 크로스 블록체인 상호작용 단말은 제2 블록체인 내의 블록체인 노드 상에서 구성될 수 있으며, 블록체인 노드가 관련 기술로부터 확장되는 크로스 블록체인 상호작용 기능과 동등하다.
상황에 따라, 제2 스마트 계약에 의해 생성된 메시지는 비동기식 메시지일 수 있다. 크로스 블록체인 상호작용 단말이 비동기식 메시지를 획득하도록, 제1 블록체인 내의 블록체인 노드는 크로스 블록체인 상호작용 단말에게 구독 조건을 제공할 수 있다. 발행 클라이언트를 사용하여 비동기식 메시지를 획득한 후, 구독 클라이언트가 비동기식 메시지를 메시지 큐에 추가하도록, 크로스 블록체인 상호작용 단말은 비동기식 메시지를 구독 클라이언트에 전송할 수 있다. 메시지 큐가 비동기식 메시지를 포함한다고 결정할 때 제1 블록체인 내의 블록체인 노드가 제1 스마트 계약을 호출하는 것이 트리거될 수 있도록, 구독 클라이언트는 제1 블록체인에서 메시지의 도착 이벤트를 트리거할 수 있다.
다른 상황에서, 제2 스마트 계약에 의해 생성된 메시지는 동기식 메시지일 수 있다. 제1 블록체인 내의 블록체인 노드는 대응하는 계약 동작을 트리거하도록 제1 스마트 계약을 호출할 수 있다. 계약 동작의 실행 프로세스에서, 동기식 메시지는 입력 정보로서 사용될 필요가 있다. 따라서, 크로스 블록체인 상호작용 단말이 동기식 메시지를 획득하도록, 블록체인 노드는 크로스 블록체인 상호작용 단말에게 구독 조건을 제공할 수 있다. 발행 클라이언트를 사용하여 동기식 메시지를 획득한 후, 구독 클라이언트가 동기식 메시지를 메시지 큐에 추가하도록, 크로스 블록체인 상호작용 단말은 동기식 메시지를 구독 클라이언트에 전송할 수 있다. 계약 동작이 더 수행되는 것을 트리거하기 위해, 구독 클라이언트는 제1 블록체인에서 메시지의 도착 이벤트를 트리거할 수 있다. 메시지의 도착 이벤트가 검출될 때까지 계약 동작은 수행될 수 없다.
도 5에서 도시된 구현예에서의 구독 클라이언트, 발행 클라이언트, 크로스 블록체인 상호작용 단말 등에 기초하여, 제1 블록체인 내의 블록체인 노드에 대응하는 메시지 큐는 블록체인 노드에 대응하는 구독 클라이언트에 의해 유지되고, 블록체인 노드에 의해 메시지 큐 내의 메시지를 소비하는 상태는 블록체인 노드 상에서 유지되지만, 크로스 블록체인 상호작용 단말, 발행 클라이언트 등은 그 어느 것도 소비 상태를 유지할 필요가 없다. 이와 같이, 크로스 블록체인 상호작용 단말, 발행 클라이언트 등이 구독 클라이언트에게 부정확하거나 무효인 메시지들을 제공하는 것이 방지된다.
크로스 블록체인 상호작용 단말에 의해 구독 클라이언트에게 제공되는 메시지는 발행 클라이언트로부터 비롯된 것이고, 발행 클라이언트에 의해 제공되는 메시지는 제2 블록체인으로부터 비롯된 것이다. 발행 클라이언트는 메시지 큐의 큐 상태를 유지하지 않으므로, 메시지 내용을 변조할 수 없다. 또한, 구독 클라이언트가 제2 블록체인에서 유지된 블록체인 원장에 기초하여 내용에 대한 검증을 수행할 수 있기 때문에 크로스 블록체인 상호작용 단말이 메시지 내용를 변조하는 것은 의미가 없다. 따라서, 메시지 내용은 신뢰할 수 있다. 예를 들어, 구독 클라이언트는 예를 들어, 제2 블록체인에 대응하고 구독 클라이언트에 의해 유지되는 SPV 블록체인을 사용하여, 메시지가 실제로 제2 블록체인에 존재하는지 여부를 결정하기 위해, 수신된 메시지에 대한 검증을 능동적으로 수행한다. 다른 예에서, 구독 클라이언트는 메시지의 시그너처가 미리결정된 오라클 클라이언트로부터 비롯된 것인지 여부를 검증하고, 구독 클라이언트에 의해 시그너처가 검증된 후 메시지가 제2 블록체인에 실제로 존재한다고 결정할 수 있다.
일부 상황들에서, 크로스 블록체인 상호작용 단말은 서비스 거부 공격을 개시할 수 있고, 따라서 구독 클라이언트는 발행 클라이언트에 의해 발행된 메시지를 획득할 수 없다. 이러한 상황들의 경우, 크로스 블록체인 상호작용 단말 1이 서비스 거부 공격을 개시하더라도 구독 클라이언트가 크로스 블록체인 상호작용 단말 2를 사용하여 발행 클라이언트에 의해 발행된 메시지를 여전히 획득할 수 있도록, 도 6에서 도시된 바와 같이, 크로스 블록체인 상호작용 단말 1, 크로스 블록체인 상호작용 단말 2 등과 같은 복수의 독립적인 크로스 블록체인 상호작용 단말들이 구독 클라이언트와 발행 클라이언트 사이에 구성될 수 있다.
이해의 용이성을 위해, 본 출원의 하나 이상의 구현의 기술적 해결책들이 예로서 크로스 블록체인 이체 관련 시나리오를 사용하여 설명된다. 도 7은 예시적인 구현예에 따른, 크로스 블록체인 이체 관련 시스템을 나타내는 아키텍처도이다. 도 7에서 도시된 바와 같이, 사용자 A는 블록체인 1에서 계정 A1를 그리고 블록체인 2에서 계정 A2를 가지며, 사용자 B는 블록체인 1에서 계정 B1을 그리고 블록체인 2에서 계정 B2를 갖는다고 가정한다. 블록체인 1에서의 계정 A1과 계정 B1은 일 유형의 자산 객체(예컨대, RMB)를 유지하는데 사용되고, 블록체인 2에서의 계정 A2와 계정 B2는 다른 유형의 자산 객체(예컨대, 증권)를 유지하는데 사용된다. 이 경우, 사용자 A가 사용자 B에게 증권을 판매하려는 것이 예상되는 경우, 다음의 이체 관련 로직이 사용될 수 있다. 지정된 수량의 증권들이 계정 A2에서 계정 B2로 이체되고, 그런 후 지정된 금액의 RMB가 계정 B1에서 계정 A1로 이체된다.
이체 신뢰도를 향상시키기 위해, 상기 2개의 이체 프로세스들이 자동으로 완료되어, 사용자의 수동적인 이체 프로세스에서 야기된 의도적이거나 또는 의도적이지 않은 이체액 오류, 지연 등을 감소시켜서, 빠르고 정확한 이체 프로세스를 보장하도록, 대응하는 스마트 계약들은 블록체인 1과 블록체인 2에서 개별적으로 설정될 수 있다. 본 출원의 기술적 해결책에 기초하여, 블록체인 1과 블록체인 2 사이에서 크로스 블록체인 메시지 교환이 구현될 수 있어서, 블록체인 1이 계정 A2에서 계정 B2로의 이체 동작이 완료되었다고 결정한 후 블록체인 1에서 계정 B1에서 계정 A1로 이체 동작이 수행될 수 있다.
도 7에서 도시된 구현예에서, 블록체인 1이 블록체인 노드 1, 블록체인 노드 2, 블록체인 노드 3 등을 포함하고, 구독 클라이언트 1이 블록체인 노드 1 상에서 구성되고, 구독 클라이언트 2가 블록체인 노드 2 상에서 구성되며, 구독 클라이언트 3이 블록체인 노드 3 상에서 구성되는 식으로 이루어져 있다고 가정한다. 구독 클라이언트 1~구독 클라이언트 3은 반드시 블록체인 노드 1~블록체인 노드 3 상에서 구성될 필요는 없으며, 블록체인 1 외부의 노드들 상에서 구성될 수 있다. 구현예들은 본 출원에서 제한되지 않는다. 구독 클라이언트 1은 블록체인 노드 1에 대응하는 메시지 큐 1을 유지하고, 구독 클라이언트 2는 블록체인 노드 2에 대응하는 메시지 큐 2를 유지하며, 구독 클라이언트 3은 블록체인 노드 3에 대응하는 메시지 큐 3을 유지한다. 대응하는 발행 클라이언트가 블록체인 2를 위해 구성되어 있다. 발행 클라이언트는 블록체인 2 내의 블록체인 노드 상에서 구성될 수 있거나, 또는 블록체인 2 외부의 노드 상에서 구성될 수 있다. 구현예들은 본 출원에서 제한되지 않는다. 크로스 블록체인 상호작용 단말은 구독 클라이언트 1~구독 클라이언트 3과 발행 클라이언트 사이에 구성된다. 크로스 블록체인 상호작용 단말은 블록체인 1 내의 블록체인 노드 상에서 구성될 수 있거나, 또는 블록체인 2 내의 블록체인 노드 상에서 구성될 수 있거나, 또는 블록체인 1과 블록체인 2 외부의 노드 상에서 구성될 수 있다. 구현예들은 본 출원에서 제한되지 않는다.
구독 클라이언트 1~구독 클라이언트 3에 의해 각각 유지된 메시지 큐 1~메시지 큐 3은 블록체인 노드 1~블록체인 노드 3이 개별적으로 구독하는 메시지들을 포함한다. 구독 클라이언트 1 내지 구독 클라이언트 3은 블록체인 노드 1~블록체인 노드 3에 의한 메시지 큐 1~메시지 큐 3에서의 각각의 메시지 소비 상태들에 기초하여 메시지 큐 1~메시지 큐 3의 큐 상태들을 유지할 수 있다. 그러나, 크로스 블록체인 상호작용 단말과 발행 클라이언트 모두가 큐 상태들을 유지할 필요가 없다. 발행 클라이언트는 블록체인 2에서 발행될 메시지들을 획득할 수 있으며, 크로스 블록체인 상호작용 단말은 메시지를 대응하는 메시지 큐로 업데이트하기 위해, 구독 클라이언트 1~구독 클라이언트 3으로부터 큐 상태들을 질의하고, 발행 클라이언트로부터 대응하는 메시지를 요청할 수 있다. 다음은 블록체인 노드 1을 예로서 사용하여 크로스 블록체인 메시지 교환 프로세스를 설명한다. 도 8은 예시적인 구현예에 따른, 크로스 블록체인 메시지 교환 프로세스를 나타내는 개략도이다. 도 8에서 도시된 바와 같이, 메시지 교환 프로세스는 다음 단계들을 포함할 수 있다.
단계 801: 크로스 블록체인 상호작용 단말이 구독 클라이언트 1으로부터 큐 상태를 요청한다.
단계 802: 크로스 블록체인 상호작용 단말이 구독 클라이언트 1에 의해 반환된 상태를 수신한다.
구현예에서, 구독 클라이언트 1은 블록체인 노드 1에 대응하는 메시지 큐(즉, 메시지 큐 1)를 유지하며, 여기서 메시지 큐는 블록체인 노드 1이 구독한 메시지를 포함하고, 큐 상태는 블록체인 노드 1에 의해 각각의 메시지를 소비한 상태를 포함하여, 크로스 블록체인 상호작용 단말이 소비 상태에 기초하여 발행 클라이언트로부터 획득하고자 요청할 필요가 있는 다음 메시지를 크로스 블록체인 상호작용 단말이 알 수 있도록 한다.
구체적으로, 블록체인 노드 1은 크로스 블록체인 상호작용 단말에 대한 구독 요청을 개시하고, 구독 요청은 구독 조건을 포함한다. 사용자 A와 사용자 B 사이의 상기 설명된 이체 거래의 예에서, 구독 조건은 계정 A2에서 계정 B2로 지정된 수량의 증권들을 이체시키는 거래가 성공적으로 완료되었다는 것이라고 가정한다. 이 경우, 크로스 블록체인 상호작용 단말은, 큐 상태를 질의함으로써, 구독 클라이언트 1에 의해 유지된 메시지 큐가 구독 조건을 만족시키는 메시지, 즉 계정 A2에서 계정 B2로 지정된 수량의 증권들을 이체시키는 거래가 성공적이라는 것을 표시하는 메시지를 포함하는지 여부를 결정할 수 있다. 구독 조건을 만족시키는 메시지가 존재하면, 크로스 블록체인 상호작용 단말은 메시지를 다시 획득할 필요가 없고, 구독 요청에 대한 응답이 성공적으로 이루어졌다고 결정한다. 구독 조건을 만족시키는 메시지가 존재하지 않은 경우, 크로스 블록체인 상호작용 단말은 다음으로 획득될 메시지가, 계정 A2에서 계정 B2로 지정된 수량의 증권들을 이체시키는 거래가 성공적이라는 것을 표시하는 메시지이라고 결졍하고, 후속 단계들을 수행하여 다음 메시지를 획득할 필요가 있다.
단계 803: 크로스 블록체인 상호작용 단말은 발행 클라이언트에 대한 메시지 취득 요청을 개시한다.
구현예에서, 사용자 A와 사용자 B 사이의 상기 설명된 이체 거래의 예에서, 블록체인 노드 1이 블록체인 2에서 다음 메시지를 구독했다고 가정한다: 계정 A2에서 계정 B2로 지정된 수량의 증권들을 이체시키는 거래가 성공적이라는 것을 표시하는 메시지. 이 경우, 큐 상태에 기초하여 획득될 다음 메시지가 거래 성공 메시지이라고 결정한 경우, 크로스 블록체인 상호작용 단말은 거래 성공 메시지를 획득하기 위해 발행 클라이언트에 대응하는 메시지 취득 요청을 개시할 수 있다.
단계 804: 크로스 블록체인 상호작용 단말은 발행 클라이언트에 의해 반환된 메시지를 획득한다.
구현예에서, 발행 클라이언트는 메시지 취득 요청을 파싱함으로써 크로스 블록체인 상호작용 단말에 의해 필요한 메시지를 결정할 수 있다. 발행 클라이언트가 거래 성공 메시지를 획득한 경우, 발행 클라이언트는 거래 성공 메시지를 크로스 블록체인 상호작용 단말에 직접 반환할 수 있다. 발행 클라이언트가 거래 성공 메시지를 획득하지 못한 경우, 발행 클라이언트는 취득 실패를 크로스 블록체인 상호작용 단말에 통지할 수 있어서, 크로스 블록체인 상호작용 단말은, 발행 클라이언트가 거래 성공 메시지를 획득할 때까지, 미리결정된 기간에 기초하여 질의를 반복적으로 개시할 수 있다. 일부 상황들에서, 발행 클라이언트가 거래 성공 메시지를 획득하지 못한 경우, 발행 클라이언트는 거래 성공 메시지를 모니터링하고, 거래 성공 메시지가 획득되었다고 결정한 후 거래 성공 메시지를 크로스 블록체인 상호작용 단말에 능동적으로 전송할 수 있다.
구현예에서, 블록체인 2에서 계정 A2로부터 계정 B2로 수행된 이체 동작은 스마트 계약을 호출함으로써 블록체인 2 내의 블록체인 노드에 의해 완료될 수 있거나, 또는 미리결정된 트리거 조건에 기초하여 스마트 계약에 의해 자동으로 트리거될 수 있다. 구현예들은 본 출원에서 제한되지 않는다.
단계 805: 크로스 블록체인 상호작용 단말은 획득된 메시지를 구독 클라이언트 1에 전송한다.
구현예에서, 크로스 블록체인 상호작용 단말은 구독 클라이언트 1과 발행 클라이언트 사이의 데이터 전송 기능만을 담당하고, 메시지 큐 또는 큐 상태를 유지하지 않거나, 데이터 내용에 중점을 두지 않거나, 데이터에 대한 지속적인 처리를 수행할 필요가 없다. 간단히 말해서, 크로스 블록체인 상호작용 단말은 데이터 전송을 위한 "파이프라인"으로서만 기능한다.
단계 806: 구독 클라이언트 1은 메시지 큐를 유지하기 위해, 크로스 블록체인 상호작용 단말에 의해 전송된 메시지를 메시지 큐에 추가한다.
구현예에서, 구독 클라이언트 1 또는 블록체인 노드 1은, 메시지가 실제로 블록체인 2로부터 비롯된 것이고 내용이 신뢰할 수 있고 변조되지 않았음을 보장하기 위해, 수신된 메시지에 대한 검증을 수행할 수 있다. 구독 클라이언트 1 또는 블록체인 노드 1은 다양한 검증 방법들을 사용할 수 있다. 본 방법들은 본 출원에서 제한되지 않는다. 예를 들어, 구독 클라이언트 1 또는 블록체인 노드 1은 블록체인 2에서 메시지가 위치해 있는 블록이 가장 긴 체인에 있는지 여부를 체크하고, 해당 블록 뒤에 오는 블록들의 개수를 결정할 수 있다. 메시지가 위치해 있는 블록이 가장 긴 체인에 있고 해당 블록 뒤에 오는 블록들의 개수가 6개보다 작지 않으면 해당 메시지는 검증된 것이다. 다른 예에서, 구독 클라이언트 1 또는 블록체인 노드 1은 PBFT 알고리즘에 기초하여 또는 오라클을 사용하여 메시지에 대한 검증을 수행할 수 있다. 또다른 예에서, 구독 클라이언트 1 또는 블록체인 노드 1은 블록체인 2에 대응하는 구성된 SPV 블록체인을 사용하여 메시지에 대한 검증을 수행할 수 있다.
실제로, 블록체인의 분산 원장 기술로 인해, 크로스 블록체인 상호작용 단말, 발행 클라이언트, 및 블록체인 2 내의 일부 블록체인 노드들이 메시지 내용을 변조하는 것은 무의미하다. 따라서, 블록체인 2의 블록체인 원장에 기록된 데이터는 영향을 받지 않으므로, 구독 클라이언트 1 또는 블록체인 노드 1이 수신된 메시지에 대해 유효한 검증을 수행할 수 있는 것이 보장된다.
구현예에서, 대응하는 스마트 계약이 블록체인 1에서 미리 생성되고, 거래 성공 메시지가 획득되면 스마트 계약이 트리거되고, 계약 동작의 내용이 계정 B1에서 계정 A1으로 지정된 금액의 RMB를 이체시키는 것이라고 가정한다. 이 경우, 블록체인 노드 1이 구독 클라이언트 1에 의해 유지된 메시지 큐로부터 거래 성공 메시지를 획득한 후, 스마트 계약이 자동으로 호출될 수 있고, 지정된 금액의 RMB를 계정 B1에서 계정 A1로 자동 이체하기 위해 대응하는 계약 동작이 개시된다. 이와 같이, 사용자 A와 사용자 B 사이의 이체 동작이 지연(수동적 동작에 의해 야기되는 지연이며, 데이터를 전송하고 처리하기 위한 시간을 포함하지 않음)없이 신뢰적으로 완료될 수 있다.
도 9는 예시적인 구현예에 따른, 디바이스를 나타내는 구조도이다. 도 9를 참조하면, 하드웨어 측면에서, 디바이스는 프로세서(902), 내부 버스(904), 네트워크 인트페이스(906), 메모리(908), 및 비휘발성 메모리(910)를 포함하며, 물론 서비스에 의해 필요한 다른 하드웨어를 더 포함할 수 있다. 프로세서(902)는 비휘발성 메모리(910)로부터 메모리(908)로 대응하는 컴퓨터 프로그램을 판독하고, 그런 후, 대응하는 컴퓨터 프로그램을 실행하여, 논리적 크로스 블록체인 상호작용 장치를 형성한다. 물론, 소프트웨어 구현 이외에, 본 출원의 하나 이상의 구현예는 다른 구현예, 예를 들어, 논리 디바이스 또는 하드웨어와 소프트웨어의 조합을 포함한다. 달리 말하면, 이하의 처리 절차의 집행 주체는 각각의 논리 유닛으로 한정되지 않고, 하드웨어 또는 논리 디바이스일 수 있다.
구현예에서, 도 10을 참조하면, 소프트웨어 구현예에서, 크로스 블록체인 상호작용 장치는 다음을 포함할 수 있다: 제1 블록체인과 제2 블록체인 사이의 크로스 블록체인 상호작용 단말을 사용함으로써 제2 블록체인에서 제2 스마트 계약에 의해 생성된 메시지를, 제1 블록체인의 블록체인 노드들에 의해, 결정하도록 구성된 결정 유닛(1001); 및 제2 스마트 계약에 의해 생성된 메시지가 블록체인 노드의 구독 조건을 만족시키는 경우, 대응하는 계약 동작을 트리거하도록 제1 블록체인에서 제1 스마트 계약을, 블록체인 노드에 의해, 호출하도록 구성된 호출 유닛(1002).
선택적으로, 결정 유닛(1001)은 크로스 블록체인 상호작용 단말에 대한 구독 요청을, 블록체인 노드에 의해, 개시하고 - 여기서 구독 요청은, 크로스 블록체인 상호작용 단말이, 구독 조건을 만족시키고 제2 스마트 계약에 의해 생성된 메시지를 획득하고, 이 메시지를 블록체인 노드에 대응하는 구독 클라이언트에 의해 유지된 메시지 큐에 추가하도록, 구독 조건을 크로스 블록체인 상호작용 단말에게 표시하는데 사용됨; 메시지 큐가 구독 조건을 만족시키는 메시지를 포함한 경우, 제2 스마트 계약이 구독 조건을 만족시키는 메시지를 생성했다고 결정하도록 구성된다.
다른 구현예에서, 도 11을 참조하면, 소프트웨어 구현예에서, 크로스 블록체인 상호작용 장치는 다음을 포함할 수 있다: 제2 블록체인에서 제2 스마트 계약에 의해 생성된 메시지를, 구독 클라이언트에 의해, 획득하도록 구성된 취득 유닛(1101) - 상기 메시지는 제2 블록체인으로부터 제1 블록체인과 제2 블록체인 사이의 크로스 블록체인 상호작용 단말에 의해 획득되고, 상기 메시지는 제1 블록체인 내의 블록체인 노드에 의해 크로스 블록체인 상호작용 단말에 제공된 구독 조건을 만족시킴 -; 및 블록체인 노드가 제1 블록체인에서 제1 스마트 계약을 호출하는 것을 트리거하도록, 구독 클라이언트에 의해, 상기 메시지를 블록체인 노드에 제공하도록 구성된 제공 유닛(1102).
선택적으로, 장치는 구독 클라이언트에 의해, 블록체인 노드에 대응하는 메시지 큐를 유지하도록 구성된 유지보수 유닛(1103)을 더 포함하고, 여기서 메시지 큐는 블록체인 노드가 구독한 메시지를 포함한다.
취득 유닛(1101)은, 구독 클라이언트에 의해, 메시지 큐의 큐 상태를 크로스 블록체인 상호작용 단말에 제공하도록 구성되어, 크로스 블록체인 상호작용 단말이, 큐 상태에 기초하여 구독 조건을 만족시키는 메시지를 메시지 큐가 포함하지 않는다고 결정할 때, 구독 조건을 만족시키고 제2 블록체인에서 제2 스마트 계약에 의해 생성된 메시지를 획득하도록 한다.
선택적으로, 본 장치는 다음을 더 포함한다: 상태 질의 요청에 응답하여 큐 상태를 크로스 블록체인 상호작용 단말에 반환하기 위해, 크로스 블록체인 상호작용 단말에 의해 개시된 상태 질의 요청을, 구독 클라이언트에 의해, 수신하도록 구성된 수신 유닛(1104).
선택적으로, 제공 유닛(1102)은, 구독 클라이언트에 의해, 상기 메시지를 메시지 큐에 추가하고; 블록체인 노드가 메시지 큐를 소비하는 것을 트리거하기 위해, 제1 블록체인에서 메시지의 도착 이벤트를 트리거하도록 구성된다.
선택적으로, 본 장치는 다음을 더 포함한다: 크로스 블록체인 상호작용 단말에 의해 제공된 메시지가 제2 블록체인으로부터 비롯된 것이라고 결정될 때 메시지를 블록체인 노드에 제공하기 위해, 미리 앵커링된 검증 루트를 사용하여 크로스 블록체인 상호작용 단말에 의해 제공된 메시지에 대한 검증을, 구독 클라이언트에 의해 수행하도록 구성된 검증 유닛(1105).
선택적으로, 검증 유닛(1105)은, 구독 클라이언트에 의해, 상기 메시지가 오라클 클라이언트의 시그너처를 포함하는지 여부를 결정하고; 상기 시그너처가 구독 클라이언트에 의해 검증된 후에 제2 블록체인에서 상기 메시지가 실제로 존재한다고 오라클 클라이언트가 검증했다는 것을, 구독 클라이언트에 의해 결정하거나; 또는 상기 메시지가 제2 블록체인에서 실제로 존재하는지 여부를 능동적으로 검증하도록 구성된다.
또다른 구현예에서, 도 12를 참조하면, 소프트웨어 구현예에서, 크로스 블록체인 상호작용 장치는 다음을 포함할 수 있다: 제1 블록체인 내의 블록체인 노드에 의해 개시된 구독 요청을, 크로스 블록체인 상호작용 단말에 의해 획득하도록 구성된 요청 취득 유닛(1201) - 구독 요청은 구독 조건을 포함함 -; 크로스 블록체인 상호작용 단말에 의해, 구독 조건을 만족시키고 제2 블록체인에서 제2 스마트 계약에 의해 생성된 메시지를 획득하도록 구성된 메시지 취득 유닛(1202); 및 블록체인 노드가 상기 메시지에 기초하여 제1 블록체인에서 제1 스마트 계약을 호출하도록, 크로스 블록체인 상호작용 단말에 의해, 상기 메시지를 블록체인 노드에 제공하도록 구성된 제공 유닛(1203).
선택적으로, 본 장치는 다음을 더 포함한다: 블록체인 노드에 대응하는 구독 클라이언트에 대한 상태 질의 요청을, 크로스 블록체인 상호작용 단말에 의해 개시하도록 구성된 요청 개시 유닛(1204) - 구독 클라이언트는 블록체인 노드에 대응하는 메시지 큐를 유지하고, 메시지 큐는 블록체인 노드가 구독하는 메시지를 포함함 -; 및 큐 상태에 기초하여 구독 조건을 만족시키는 메시지를 메시지 큐가 포함하지 않는다고 결정할 때, 구독 조건을 만족시키고 제2 블록체인에서 제2 스마트 계약에 의해 생성된 메시지를 획득하기 위해, 크로스 블록체인 상호작용 단말에 의해, 구독 클라이언트에 의해 반환된 메시지 큐의 큐 상태를 수신하도록 구성된 상태 수신 유닛(1205).
선택적으로, 메시지 취득 유닛(1202)은, 크로스 블록체인 상호작용 단말에 의해, 발행 클라이언트를 사용하여 가교화를 통해 제2 블록체인에서 미리결정된 저장 공간에 연결되고 - 미리결정된 저장 공간은 제2 스마트 계약에 의해 생성된 메시지를 저장하는데 사용됨 -; 크로스 블록체인 상호작용 단말에 의해, 발행 클라이언트에 의해 제공된 질의 인터페이스를 사용하여, 미리결정된 저장 공간이 구독 조건을 만족시키는 메시지를 포함하는지 여부를 질의하며; 발행 클라이언트가 미리결정된 저장 공간으로부터 구독 조건을 만족시키는 메시지를 획득하고 상기 메시지를 크로스 블록체인 상호작용 단말에 반환하도록, 크로스 블록체인 상호작용 단말에 의해, 발행 클라이언트에 대한 메시지 취득 요청을 개시하도록 구성된다.
또다른 구현예에서, 도 13을 참조하면, 소프트웨어 구현예에서, 크로스 블록체인 상호작용 장치는 다음을 포함할 수 있다: 제2 블록체인에서 제2 스마트 계약에 의해 생성된 메시지를, 발행 클라이언트에 의해 획득하도록 구성된 취득 유닛(1301); 및 블록체인 노드가 제1 블록체인에서 제1 스마트 계약을 호출하는 것을 트리거하기 위해, 제1 블록체인과 제2 블록체인 사이의 크로스 블록체인 상호작용 단말을 사용함으로써 제1 블록체인 내의 블록체인 노드에 상기 메시지를, 발행 클라이언트에 의해 제공하도록 구성된 제공 유닛(1302).
선택적으로, 제공 유닛(1302)은, 발행 클라이언트에 의해, 크로스 블록체인 상호작용 단말에 의해 개시된 메시지 취득 요청을 수신하며 - 메시지 취득 요청은 블록체인 노드에 의해 크로스 블록체인 상호작용 단말에 제공된 구독 조건과 일치함 -; 크로스 블록체인 상호작용 단말이 메시지를 블록체인 노드에 제공하도록, 발행 클라이언트에 의해, 메시지 취득 요청과 일치하고 제2 스마트 계약에 의해 생성된 메시지를 크로스 블록체인 상호작용 단말에 전송하도록 구성된다.
선택적으로, 발행 클라이언트는 가교화를 통해 제2 블록체인에서 미리결정된 저장 공간에 연결되고, 미리결정된 저장 공간은 제2 스마트 계약에 의해 생성된 메시지를 저장하는데 사용되며, 취득 유닛(1301)은 미리결정된 저장 공간으로부터 제2 스마트 계약에 의해 생성된 메시지를, 발행 클라이언트에 의해 획득하도록 구성된다.
선택적으로, 미리결정된 저장 공간을 위한 질의 인터페이스는 발행 클라이언트를 위해 구성되며, 본 장치는 다음을 더 포함한다: 크로스 블록체인 상호작용 단말이 질의 인터페이스를 사용하여 미리결정된 저장 공간에서 질의를 수행하도록, 발행 클라이언트에 의해, 크로스 블록체인 상호작용 단말에 대한 질의 인터페이스를 열도록 구성된 인터페이스 관리 유닛(1303); 및 발행 클라이언트에 의해, 크로스 블록체인 상호작용 단말에 의해 개시된 메시지 취득 요청에 기초하여 크로스 블록체인 상호작용 단말에 의해 식별된 메시지를 획득하고, 크로스 블록체인 상호작용 단말에 상기 메시지를 반환하도록 구성된 메시지 반환 유닛(1304) - 크로스 블록체인 상호작용 단말에 의해 식별된 메시지는 블록체인 노드에 의해 크로스 블록체인 상호작용 단말에 제공된 구독 조건과 일치함 -.
선택적으로, 미리결정된 저장 공간은 다음 중 적어도 하나를 포함한다: 제2 블록체인에서의 제3 스마트 계약 및 제2 블록체인에서의 미리결정된 블록체인 데이터 구조.
선택적으로, 본 장치는, 획득된 메시지에 대해 수행된 검증의 결과에 기초하여, 발행 클라이언트에 의해, 검증된 메시지에 시그너처를 추가하도록 구성된 시그너처 추가 유닛(1305)을 더 포함한다.
제공 유닛(1302)은, 시그너처가 구독 클라이언트에 의해 검증된 후 구독 클라이언트가 블록체인 노드에 대응하는 메시지 큐에 상기 메시지를 추가하도록, 발행 클라이언트에 의해, 크로스 블록체인 상호작용 단말을 사용하여 블록체인 노드에 대응하는 구독 클라이언트에 상기 메시지를 전송하도록 구성되며, 메시지 큐가 구독 조건을 만족시키는 메시지를 포함한다고 결정한 경우, 블록체인 노드는 제1 스마트 계약을 호출한다.
상기 구현예들에서 예시된 시스템, 장치, 모듈, 또는 유닛은 컴퓨터 칩 또는 엔티티를 사용하여 구현될 수 있거나, 또는 특정 기능을 갖는 제품을 사용하여 구현될 수 있다. 일반적인 구현 디바이스는 컴퓨터이고, 컴퓨터는 퍼스널 컴퓨터, 랩톱 컴퓨터, 셀룰러 폰, 카메라 폰, 스마트폰, 개인 휴대 정보 단말기, 미디어 플레이어, 네비게이션 디바이스, 이메일 송수신 디바이스, 게임 콘솔, 태블릿, 착용가능형 디바이스, 또는 이들 디바이스들의 임의의 조합일 수 있다.
일반적인 구성에서, 컴퓨터는 하나 이상의 프로세서(CPU), 하나 이상의 입력/출력 인터페이스, 하나 이상의 네트워크 인터페이스, 및 하나 이상의 메모리를 포함한다.
메모리는 비영구적 저장장치, RAM(random access memory), 비휘발성 메모리, 및/또는 다른 형태의 컴퓨터 판독가능 매체, 예를 들어, ROM(read-only memory) 또는 플래시 메모리(플래시 RAM)를 포함할 수 있다. 메모리는 컴퓨터 판독가능 매체의 예시이다.
컴퓨터 판독가능 매체는 임의의 방법 또는 기술을 사용함으로써 정보를 저장할 수 있는, 영구적, 비영구적, 탈착형, 및 비탈착형 매체를 포함한다. 정보는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 다른 데이터일 수 있다. 컴퓨터 저장 매체의 예시는, 비제한적인 예시로서, PRAM(phase change random access memory), SRAM(static random access memory), DRAM(dynamic random access memory), 다른 유형의 RAM(random access memory), ROM(read-only memory), EEPROM(electrically erasable programmable read-only memory), 플래시 메모리 또는 다른 메모리 기술, CD-ROM(compact disc read-only memory), DVD(digital versatile disc) 또는 다른 광학 저장장치, 자기 테잎, 자기 디스크 저장장치, 양자 메모리, 그래핀 기반 저장 매체, 다른 자기 저장 디바이스, 또는 임의의 다른 비전송 매체를 포함한다. 컴퓨터 저장 매체는 컴퓨팅 디바이스에 의해 액세스될 수 있는 정보를 저장하는데 사용될 수 있다. 본 출원에서의 정의에 기초하여, 컴퓨터 판독가능 매체는 변조 데이터 신호 및 반송파와 같은 임시적 컴퓨터 판독가능 매체(임시 매체)를 포함하지 않는다.
용어 "포함한다", "구비한다" 또는 이들의 임의의 다른 변형체는 비 배타적인 포함을 커버하도록 의도되었으므로, 구성요소들의 리스트를 포함하는 프로세스, 방법, 제품, 또는 디바이스는 이들 구성요소들을 포함할뿐만이 아니라, 명시적으로 나열되지 않은 다른 구성요소들도 포함하거나, 또는 그러한 프로세스, 방법, 제품, 또는 디바이스에 내재된 구성요소들을 더 포함한다는 것에 주목할 가치가 있다. "...을 포함한다" 앞에 오는 구성요소는, 더 많은 제약성이 없는 한, 대응 구성요소를 포함하는 프로세스, 방법, 제품, 또는 디바이스에서의 추가적인 동일한 구성요소들의 존재를 배제하지 않는다.
본 출원의 특정 구현예들이 상술되었다. 다른 구현예들이 첨부된 청구항의 범위 내에 있다. 일부 상황들에서, 청구항에 기재된 동작들 또는 단계들은 구현예에서의 순서와는 상이한 순서로 수행될 수 있고, 원하는 결과가 여전히 달성될 수 있다. 또한, 첨부된 도면에 기재된 프로세스는 원하는 결과를 달성하기 위해 반드시 특정 실행 순서를 요구하지는 않는다. 일부 구현예들에서, 멀티 태스킹 및 병렬 처리가 유리할 수 있다.
본 출원의 하나 이상의 구현예에서 사용된 용어들은 단지 특정 구현예를 설명하기 위한 것일 뿐이며, 본 출원의 하나 이상의 구현예를 제한하려는 의도는 없다. 본 출원의 하나 이상의 구현예와 첨부된 청구항에서 사용된 단수 형태의 용어들은 또한, 문맥에서 명백히 달리 규정되지 않는 한, 복수 형태를 포함하는 것으로 의도된다. 본 출원에서 사용된 "및/또는"의 용어는 나열된 하나 이상의 관련 항목의 임의의 또는 모든 가능한 조합을 나타내고 이를 포함한다는 것을 또한 이해해야 한다.
다양한 유형의 정보를 기술하기 위해 본 출원의 하나 이상의 구현예에서는 "제1", "제2", "제3"의 용어가 사용될 수 있지만, 정보는 이 용어들로 제한되지 않는다는 것을 이해해야 한다. 이들 용어들은 동일한 유형의 정보 간을 차별화하기 위해서만 사용된다. 예를 들어, 본 출원의 하나 이상의 구현예의 범위를 벗어나지 않으면서, 제1 정보는 제2 정보라고도 지칭될 수 있고, 마찬가지로, 제2 정보는 제1 정보라고도 지칭될 수 있다. 문맥에 따라, 예를 들어, 여기서 사용된 "만약"의 단어는 "~하는 때" 또는 "~하는 경우" 또는 "결정에 응답하여"로서 설명될 수 있다.
상기 설명들은 본 출원의 하나 이상의 구현예의 단지 예시적인 구현예들일 뿐이며, 본 출원의 하나 이상의 구현예를 제한하려는 의도는 없다. 본 출원의 하나 이상의 구현예의 사상과 원리를 벗어나지 않고서 행해지는 임의의 수정, 동등한 대체, 및 개선은 본 출원의 하나 이상의 구현예의 보호 범위 내에 있다.
도 14는 본 발명개시의 구현예에 따른, 크로스 블록체인 상호작용들에서의 데이터 전송을 개선시키기 위한 컴퓨터 구현 방법(1400)의 예시를 나타내는 흐름도이다. 설명의 명료화를 위해, 이하의 설명은 본 설명에서의 다른 도면들의 환경에서 방법(1400)을 일반적으로 설명한다. 그러나, 방법(1400)은 예를 들어, 임의의 시스템, 환경, 소프트웨어, 및 하드웨어, 또는 시스템, 환경, 소프트웨어, 및 하드웨어의 조합에 의해 적절하게 수행될 수 있다는 것을 이해할 것이다. 일부 구현예들에서, 방법(1400)의 다양한 단계들은 병렬로, 조합 형태로, 루프 형태로, 또는 임의의 순서로 실행될 수 있다.
단계 1402에서, 제1 블록체인과 연관된 블록체인 노드에 의해 개시된 구독 요청이 크로스 블록체인 상호작용 단말에 의해 수신되고, 구독 요청은 구독 조건을 포함한다. 일부 구현예들에서, 메시지는 제2 블록체인과 연관된 제2 스마트 계약에 의해 생성된다. 단계 1402로부터, 방법(1400)은 단계 1404로 진행한다.
단계 1404에서, 구독 조건을 만족시키는 메시지가 크로스 블록체인 상호작용 단말에 의해 그리고 제2 블록체인에 대응하는 발행 클라이언트로부터 획득된다. 일부 구현예들에서, 메시지를 획득하는 단계는 크로스 블록체인 상호작용 단말로부터, 메시지 취득 요청을 발행 클라이언트에 전송하는 단계를 포함할 수 있으며, 여기서 메시지 취득 요청은 구독 조건과 일치한다. 일부 구현예들에서, 방법(1400)은 또한, 크로스 블록체인 상호작용 단말에서 그리고 발행 클라이언트로부터 메시지를 수신하는 단계를 포함할 수 있으며, 여기서 메시지는 메시지 취득 요청과 일치하고 제2 블록체인과 연관된 제2 스마트 계약에 의해 생성된다.
일부 구현예들에서, 방법(1400)은, 메시지 취득 요청을 발행 클라이언트에 전송하기 전에, 크로스 블록체인 상호작용 단말에 의해 그리고 발행 클라이언트에 의해 제공된 질의 인터페이스를 사용하여, 제2 블록체인에서의 미리결정된 저장 공간이 구독 조건을 만족시키는 특정 메시지를 포함하는지 여부에 대해 질의하는 단계를 더 포함할 수 있으며, 미리결정된 저장 공간은 제2 블록체인에 대응하는 제2 스마트 계약에 의해 생성된 복수의 메시지들을 저장한다. 상기 결정이 예(YES)이면, 구독 조건을 만족시키는 특정 메시지를 미리결정된 저장 공간으로부터 획득하기 위해 메시지 취득 요청이 크로스 블록체인 상호작용 단말에 의해 발행 클라이언트에 대해 개시된다. 단계 1404로부터, 방법(1400)은 단계 1406으로 진행한다.
단계 1406에서, 메시지는 크로스 블록체인 상호작용 단말로부터 블록체인 노드에 대응하는 구독 클라이언트에 전송되며, 여기서 블록체인 노드는 메시지에 기초하여 대응하는 계약 동작을 트리거하기 위해 제1 블록체인과 연관된 제1 스마트 계약을 호출한다.
일부 구현예들에서, 방법(1400)은 메시지를 획득하기 전에: 1) 크로스 블록체인 상호작용 단말에 의해, 구독 클라이언트에 대한 상태 질의 요청을 개시하는 단계 - 여기서 구독 클라이언트는 블록체인 노드에 대응하는 메시지 큐를 유지함 -; 2) 크로스 블록체인 상호작용 단말에서, 구독 클라이언트로부터 메시지 큐와 연관된 큐 상태를 수신하는 단계; 3) 크로스 블록체인 상호작용 단말에 의해, 수신된 큐 상태에 기초하여 구독 조건을 만족시키는 메시지를 메시지 큐가 포함하는지 여부를 결정하는 단계; 및 4) 구독 조건을 만족시키는 메시지를 메시지 큐가 포함하지 않는다고 결정되면, 크로스 블록체인 상호작용 단말에 의해, 제2 블록체인에 대응하는 발행 클라이언트로부터 구독 조건을 만족시키는 다른 메시지를 획득하는 단계를 더 포함한다.
일부 구현예들에서, 메시지는 발행 클라이언트에 의해 추가된 시그너처를 포함할 수 있고, 구독 클라이언트는, 구독 클라이언트가 시그너처를 검증한 후에 메시지를 특정 메시지 큐에 추가함으로써 블록체인 노드에 대응하는 메시지 큐를 업데이트한다. 일부 구현예들에서, 블록체인 노드는 메시지 큐가 업데이트된 것으로 결정되면 제1 스마트 계약을 호출할 수 있다. 단계 1406 이후, 방법(1400)은 정지한다.
본 출원의 구현예들은 블록체인 네트워크 데이터 전송 및 데이터 저장에서의 기술적 문제를 해결할 수 있다. 종래의 데이터베이스 구현에서는, 기록된 데이터를 수신할 때, 데이터베이스는 데이터 로그를 저장하고, 그런 후 데이터베이스에 데이터를 기록한다. 데이터베이스에서 데이터 손실이 발생하면, 기록된 데이터 로그를 재실행하여 손실된 데이터를 복구할 수 있다. 블록체인 데이터는 비슷한 방식으로 블록체인에 기록된다. 각 블록은 블록 검증에 의해 전달된 데이터 로그를 기록하고, 데이터 로그가 실행된 후 데이터 상태 변경을 저장한다. 그러나, 종래의 구현에서, 데이터는 상이한 블록체인들에 걸쳐 전송될 수 없다. 따라서, 여러 단계들을 포함하는 거래들은 기존 기술을 사용한 크로스 블록체인 상호작용을 통해 구현될 수 없다. 종래의 구현예에서 이러한 문제를 우회하고, 크로스 블록체인 상호작용을 위한 보다 효율적이고 통합된 방법을 제공하는 기술이 필요하다.
본 출원의 구현은 크로스 블록체인 상호작용에서 데이터 전송을 개선하기 위한 방법 및 장치를 제공한다. 이러한 구현의 해결책에는 비동기식 크로스 체인 스마트 계약 호출이 포함된다. 블록체인 상에서의 스마트 계약은 다른 체인 상에서의 스마트 계약에 비동기식 메시지를 전송하여, 메시지가 인증가능한 발행-구독 프레임워크를 통해 도착할 수 있도록 한다. 이들 구현예들에 따르면, 제1 블록체인 내의 블록체인 노드는 크로스 블록체인 상호작용 단말에게 구독 조건을 제공할 수 있으며, 크로스 블록체인 상호작용 단말은 비동기식 메시지를 획득한다. 발행 클라이언트를 사용하여 비동기식 메시지를 획득한 후, 크로스 블록체인 상호작용 단말은 비동기식 메시지를 구독 클라이언트에 전송할 수 있으며, 구독 클라이언트는 비동기식 메시지를 메시지 큐에 추가한다. 구독 클라이언트는 제1 블록체인에서 메시지의 도착 이벤트를 트리거할 수 있으며, 메시지 큐가 비동기식 메시지를 포함한다고 결정할 때 제1 블록체인 내의 블록체인 노드가 제1 스마트 계약을 호출하는 것이 트리거될 수 있다.
본 명세서에서 설명된 실시예들 및 동작들은 본 명세서에서 개시된 구조들을 비롯하여, 디지털 전자 회로에서, 또는 다른 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어에서 또는 이들의 하나 이상의 조합으로 구현될 수 있다. 동작들은 하나 이상의 컴퓨터 판독가능 저장 디바이스 상에 저장된 데이터 또는 다른 소스로부터 수신된 데이터에 대해 데이터 처리 장치에 의해 수행되는 동작들로서 구현될 수 있다. 데이터 처리 장치, 컴퓨터, 또는 컴퓨팅 디바이스는 예로서, 프로그램가능 프로세서, 컴퓨터, 칩 상의 시스템, 또는 복수의 것들, 또는 이들의 조합을 비롯하여, 데이터를 처리하기 위한 장치, 디바이스, 및 머신을 망라할 수 있다. 장치는 특수 목적 논리 회로, 예를 들어, 중앙 처리 장치(CPU), 필드 프로그래머블 게이트 어레이(FPGA) 또는 주문형 집적 회로(ASIC)를 포함할 수 있다. 또한, 장치는 해당 컴퓨터 프로그램을 위한 실행 환경을 생성하는 코드, 예를 들어, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영체제(예를 들어, 운영체제 또는 운영체제들의 조합), 크로스 플랫폼 런타임 환경, 가상 머신, 또는 이들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다. 장치 및 실행 환경은 웹 서비스, 분산형 컴퓨팅 및 그리드 컴퓨팅 인프라구조와 같은, 다양한 컴퓨팅 모델 인프라구조를 실현할 수 있다.
컴퓨터 프로그램(이는 프로그램, 소프트웨어, 소프트웨어 애플리케이션, 소프트웨어 모듈, 스크립트, 또는 코드로서 알려짐)은 컴파일링되거나 또는 해석 언어를 비롯한, 임의의 형태의 프로그래밍 언어, 또는 평문 또는 절차적 언어로 작성될 수 있고, 독립형 프로그램으로서 또는 컴퓨팅 환경에서의 이용에 적절한 모듈, 컴포넌트, 서브루틴, 또는 다른 유닛으로서를 비롯하여, 임의의 형태로 배치될 수 있다. 프로그램은 다른 프로그램 또는 다른 데이터(예를 들어, 마크업 언어 문서 내에 저장된 하나 이상의 스크립들)를 유지하는 파일의 일부에, 관련되어 있는 프로그램에 전용되는 단일의 파일에, 또는 복수의 코디네이션된 파일(예를 들어, 하나 이상의 모듈, 서브프로그램, 또는 코드 부분을 저장하는 파일)에 저장될 수 있다. 컴퓨터 프로그램은 하나의 장소에 위치되거나 또는 복수의 장소들에 걸쳐 분산되어 통신 네트워크에 의해 상호연결된 복수의 컴퓨터 상에서 또는 하나의 컴퓨터 상에서 실행될 수 있다.
컴퓨터 프로그램의 실행을 위한 프로세서들은 예로서, 범용 마이크로프로세서와 특수 목적 마이크로프로세서 양쪽 모두를, 그리고 임의의 유형의 디지털 컴퓨터의 임의의 하나 이상의 프로세서를 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 이 둘 다로부터 데이터 및 명령어를 수신할 것이다. 컴퓨터의 필수 엘리먼트는 데이터 및 명령어를 저장하기 위한 하나 이상의 메모리 디바이스와 명령어에 따라 동작들을 수행하기 위한 프로세서이다. 일반적으로, 컴퓨터는 또한, 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스로부터 데이터를 수신하거나 또는 이들에 데이터를 전송하거나 또는 이 둘 다를 행하도록 동작가능하게 결합되거나 또는 이를 포함할 것이다. 컴퓨터는 다른 디바이스, 예를 들어, 모바일 디바이스, 개인 휴대 정보 단말기(PDA), 게임 콘솔, GPS(Global Positioning System) 수신기, 또는 휴대용 저장 디바이스에 내장될 수 있다. 컴퓨터 프로그램 명령어 및 데이터를 저장하기에 적절한 디바이스들은 예로서, 반도체 메모리 디바이스, 자기 디스크, 및 광 자기 디스크를 비롯한, 비휘발성 메모리, 매체 및 메모리 디바이스를 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로부에 의해 추가되거나 또는 특수 목적 논리 회로부 내에 통합될 수 있다.
모바일 디바이스는 핸드셋, 사용자 장비(UE), 이동 전화기(예컨대, 스마트 폰), 태블릿, 착용식 디바이스(예컨대, 스마트 시계 및 스마트 안경), 인체 내부의 이식 디바이스(예컨대, 바이오 센서, 달팽이관 임플란트), 또는 다른 유형의 모바일 디바이스를 포함할 수 있다. 모바일 디바이스는 다양한 통신 네트워크(이하에서 설명됨)에 무선으로(예컨대, 무선 주파수(RF) 신호를 사용하여) 통신할 수 있다. 모바일 디바이스는 모바일 디바이스의 현재 환경의 특성을 결정하기 위한 센서를 포함할 수 있다. 센서는 카메라, 마이크로폰, 근접 센서, GPS 센서, 모션 센서, 가속도계, 주변 광 센서, 습도 센서, 자이로스코프, 컴퍼스, 기압계, 지문 센서, 얼굴 인식 시스템, RF 센서(예컨대, Wi-Fi 및 셀룰러 무선기), 열 센서, 또는 기타 유형의 센서를 포함할 수 있다. 예를 들어, 카메라는 이동식 또는 고정식 렌즈가 있는 전방 또는 후방 카메라, 플래시, 이미지 센서, 및 이미지 프로세서를 포함할 수 있다. 카메라는 얼굴 및/또는 홍채 인식을 위한 세부정보를 캡처할 수 있는 메가픽셀 카메라일 수 있다. 데이터 프로세서와 더불어 카메라는 메모리에 저장되거나 원격으로 액세스되는 인증 정보와 함께 얼굴 인식 시스템을 형성할 수 있다. 얼굴 인식 시스템 또는 하나 이상의 센서, 예컨대, 마이크로폰, 모션 센서, 가속도계, GPS 센서, 또는 RF 센서가 사용자 인증을 위해 사용될 수 있다.
사용자와의 상호작용을 제공하기 위해, 실시예들은 디스플레이 디바이스 및 입력 디바이스, 예를 들어, 사용자에게 정보를 디스플레이하기 위한 액정 디스플레이(LCD) 또는 유기 발광 다이오드(OLED)/가상 현실(VR)/증강 현실(AR) 디스플레이, 및 사용자가 컴퓨터에 입력을 제공할 수 있는 터치 스크린, 키보드, 및 포인팅 디바이스를 갖는 컴퓨터 상에서 구현될 수 있다. 사용자와의 상호작용을 제공하기 위해 다른 종류의 디바이스들이 또한 이용할 수 있는데, 예를 들어, 사용자에게 제공된 피드백은 임의의 형태의 감각 피드백, 예를 들어, 시각 피드백, 청각 피드백 또는 촉각 피드백일 수 있고, 사용자로부터의 입력은 음향, 스피치 또는 촉각적 입력을 비롯한 임의의 형태로 수신될 수 있다. 또한, 컴퓨터는, 예를 들어, 웹 브라우저로부터 수신된 요청에 응답하여 사용자의 클라이언트 디바이스 상의 웹 브라우저에 웹 페이지를 전송함으로써 사용자에 의해 사용된 디바이스로부터 문서를 수신하고 디바이스에 문서를 전송함으로써 사용자와 상호작용할 수 있다.
실시예들은 임의의 형태 또는 매체의 유선 또는 무선 디지털 데이터 통신(또는 이들의 조합), 예를 들어, 통신 네트워크에 의해 상호연결된 컴퓨팅 디바이스들을 사용하여 구현될 수 있다. 상호연결된 디바이스들의 예시들은 일반적으로 서로로부터 원격일 수 있고 통상적으로 통신 네트워크를 통해 상호작용하는 클라이언트와 서버이다. 클라이언트, 예를 들어, 모바일 디바이스는 서버와 함께, 또는 서버를 통해 트랜잭션 자체를 수행할 수 있는데, 예를 들어, 트랜잭션을 구매하기, 판매하기, 지불하기, 제공하기, 보내기, 또는 대여하기 또는 이를 권한부여하기를 수행할 수 있다. 이러한 거래들은 행동과 응답이 시간적으로 근접하도록 실시간으로 이루어질 수 있는데, 예를 들어, 개인은 실질적으로 동시에 발생하는 행동과 응답을 인지하고, 개인의 행동에 뒤따르는 응답의 시간차는 1밀리초(ms) 미만 또는 1초(s) 미만이거나, 또는 시스템의 계정 처리 제한을 고려하여 응답은 의도적인 지연이 없다.
통신 네트워크의 예시들은 LAN(Local Area Network), RAN(Radio Access Network), MAN(Metropolitan Area Network), 및 WAN(Wide Area Network)을 포함한다. 통신 네트워크는 인터넷의 전체 또는 일부, 다른 통신 네트워크, 또는 통신 네트워크들의 조합을 포함할 수 있다. 정보는 LTE(Long Term Evolution), 5G, IEEE 802, 인터넷 프로토콜(IP), 또는 다른 프로토콜 또는 프로토콜들의 조합을 포함하는 다양한 프로토콜 및 표준에 따라 통신 네트워크 상에서 전송될 수 있다. 통신 네트워크는 연결된 컴퓨팅 디바이스들 간에 음성, 비디오, 생체인식 또는 인증 데이터, 또는 기타 정보를 전송할 수 있다.
개별 구현예들로서 기술된 특징들은 조합 형태로, 단일 구현예로 구현될 수 있지만, 단일 구현예로서 기술된 특징들은 복수의 구현예들에서 개별적으로 또는 임의의 적절한 하위 조합으로 구현될 수 있다. 특정 순서로 기술되고 청구된 동작들은 특정 순서를 요구하는 것으로서 이해되어서도 않되고, 모든 예시된 동작들이 수행되어야 한다는 것을 요구하는 것으로서 이해되어서도 안된다(일부 동작들은 선택사항일 수 있다). 필요에 따라, 멀티태스킹 또는 병렬 처리(또는 멀티태스킹과 병렬 처리의 조합)가 수행될 수 있다.

Claims (11)

  1. 크로스 블록체인(cross-blockchain) 상호작용을 위한 방법에 있어서,
    제1 블록체인 내의 블록체인 노드에 의해, 상기 제1 블록체인과 제2 블록체인 사이의 크로스 블록체인 상호작용 단말을 사용함으로써 그리고 상기 블록체인 노드에 대응하는 구독(subscribing) 클라이언트를 사용함으로써 상기 제2 블록체인에서 제2 스마트 계약에 의해 생성된 메시지를 결정하는 단계 - 상기 구독 클라이언트는, 메시지 큐를 사용하여 대응하는 블록체인 노드에 대한 매핑을 수행하기 위해, 복수의 블록체인 노드들과 일대일로 대응하는 복수의 메시지 큐들을 유지하도록 구성됨(102) -; 및
    상기 제2 스마트 계약에 의해 생성된 메시지가 상기 블록체인 노드의 구독 조건을 만족시키는 경우, 상기 블록체인 노드에 의해, 대응하는 계약 동작을 트리거하도록 상기 제1 블록체인에서 제1 스마트 계약을 호출하는 단계(104)
    를 포함하는 크로스 블록체인 상호작용을 위한 방법.
  2. 제1항에 있어서,
    상기 메시지를 결정하는 단계는,
    상기 블록체인 노드에 의해, 상기 크로스 블록체인 상호작용 단말에 대한 구독 요청을 개시하는 단계 - 상기 구독 요청은, 상기 크로스 블록체인 상호작용 단말이, 상기 구독 조건을 만족시키고 상기 제2 스마트 계약에 의해 생성된 메시지를 획득하고, 상기 메시지를 상기 블록체인 노드에 대응하는 구독 클라이언트에 의해 유지된 메시지 큐에 추가하도록, 상기 구독 조건을 상기 크로스 블록체인 상호작용 단말에게 표시하는데 사용됨 -; 및
    상기 메시지 큐가 상기 구독 조건을 만족시키는 메시지를 포함한 경우, 상기 블록체인 노드에 의해, 상기 제2 스마트 계약이 상기 구독 조건을 만족시키는 메시지를 생성했다고 결정하는 단계
    를 포함한 것인 크로스 블록체인 상호작용을 위한 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 블록체인 노드가 상기 제1 블록체인에서 상기 제1 스마트 계약을 호출하는 것을 트리거하는 상기 메시지를 상기 구독 클라이언트로부터 수신하는 단계(204)
    를 더 포함하는 크로스 블록체인 상호작용을 위한 방법.
  4. 제3항에 있어서,
    상기 크로스 블록체인 상호작용 단말이, 상기 큐 상태에 기초하여 상기 구독 조건을 만족시키는 메시지를 상기 메시지 큐가 포함하지 않는다고 결정할 때, 상기 구독 조건을 만족시키고 상기 제2 블록체인에서 상기 제2 스마트 계약에 의해 생성된 메시지를 획득하도록, 상기 구독 클라이언트로부터, 상기 크로스 블록체인 상호작용 단말에 대한 상기 메시지 큐의 큐 상태를 수신하는 단계
    를 더 포함하는 크로스 블록체인 상호작용을 위한 방법.
  5. 제4항에 있어서,
    상기 구독 클라이언트는, 상태 질의 요청에 응답하여 상기 큐 상태를 상기 크로스 블록체인 상호작용 단말에 반환하기 위해, 상기 크로스 블록체인 상호작용 단말에 의해 개시된 상기 상태 질의 요청을 수신하는 것인 크로스 블록체인 상호작용을 위한 방법.
  6. 제4항에 있어서,
    상기 메시지를 수신하는 단계는,
    상기 구독 클라이언트에 의해, 상기 메시지를 상기 메시지 큐에 추가하는 단계; 및
    상기 구독 클라이언트에 의해, 상기 블록체인 노드가 상기 메시지 큐를 소비하는 것을 트리거하기 위해, 상기 제1 블록체인에서 상기 메시지의 도착 이벤트를 트리거하는 단계
    를 포함한 것인 크로스 블록체인 상호작용을 위한 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 구독 클라이언트는 동작들을 수행하도록 구성되고, 상기 동작들은,
    상기 크로스 블록체인 상호작용 단말에 의해 제공된 메시지가 상기 제2 블록체인으로부터 비롯된 것이라고 상기 구독 클라이언트가 결정할 때 상기 메시지를 상기 블록체인 노드에 제공하기 위해, 미리 앵커링된 검증 루트를 사용하여 상기 크로스 블록체인 상호작용 단말에 의해 제공된 상기 메시지에 대한 검증을 수행하는 동작
    을 포함한 것인 크로스 블록체인 상호작용을 위한 방법.
  8. 제7항에 있어서,
    상기 검증을 수행하는 동작은,
    상기 구독 클라이언트에 의해, 상기 메시지가 오라클 클라이언트의 시그너처를 포함하는지 여부를 결정하는 동작; 및 상기 시그너처가 상기 구독 클라이언트에 의해 검증된 후에 상기 제2 블록체인에서 상기 메시지가 실제로 존재한다고 상기 오라클 클라이언트가 검증했다는 것을, 상기 구독 클라이언트에 의해 결정하는 동작; 또는
    상기 구독 클라이언트에 의해, 상기 메시지가 실제로 상기 제2 블록체인에 존재하는지 여부를 능동적으로 검증하는 동작
    을 포함한 것인 크로스 블록체인 상호작용을 위한 방법.
  9. 제4항 내지 제8항 중 어느 한 항에 있어서,
    상기 구독 조건을 만족시키는 메시지를 획득하는 단계는,
    상기 크로스 블록체인 상호작용 단말에 의해, 발행(publishing) 클라이언트를 사용하여 가교화를 통해 상기 제2 블록체인에서 미리결정된 저장 공간에 연결되는 단계 - 상기 미리결정된 저장 공간은 상기 제2 스마트 계약에 의해 생성된 메시지를 저장하는데 사용됨 -;
    상기 크로스 블록체인 상호작용 단말에 의해, 상기 발행 클라이언트에 의해 제공된 질의 인터페이스를 사용하여, 상기 미리결정된 저장 공간이 상기 구독 조건을 만족시키는 메시지를 포함하는지 여부를 질의하는 단계; 및
    상기 발행 클라이언트가 상기 미리결정된 저장 공간으로부터 상기 구독 조건을 만족시키는 메시지를 획득하고 상기 메시지를 상기 크로스 블록체인 상호작용 단말에 반환하도록, 상기 크로스 블록체인 상호작용 단말에 의해, 상기 발행 클라이언트에 대한 메시지 취득 요청을 개시하는 단계
    를 포함한 것인 크로스 블록체인 상호작용을 위한 방법.
  10. 제9항에 있어서,
    상기 미리결정된 저장 공간은,
    상기 제2 블록체인에서의 제3 계약, 및
    상기 제2 블록체인에서의 미리결정된 블록체인 데이터 구조
    중 적어도 하나를 포함한 것인 크로스 블록체인 상호작용을 위한 방법.
  11. 제1항 내지 제10항 중 어느 한 항의 방법을 수행하도록 구성된 복수의 모듈들을 포함하는, 크로스 블록체인 상호작용을 위한 장치.
KR1020207014903A 2018-04-03 2019-03-28 크로스 블록체인 상호작용 방법, 장치, 시스템, 및 전자 디바이스 KR102215248B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201810290446.0 2018-04-03
CN201810290446.0A CN108848119B (zh) 2018-04-03 2018-04-03 跨区块链的交互方法及装置、系统、电子设备
PCT/US2019/024520 WO2019195071A1 (en) 2018-04-03 2019-03-28 Cross-blockchain interaction method, apparatus, system, and electronic device

Publications (2)

Publication Number Publication Date
KR20200069370A true KR20200069370A (ko) 2020-06-16
KR102215248B1 KR102215248B1 (ko) 2021-02-16

Family

ID=64211796

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207014903A KR102215248B1 (ko) 2018-04-03 2019-03-28 크로스 블록체인 상호작용 방법, 장치, 시스템, 및 전자 디바이스

Country Status (11)

Country Link
US (2) US10615964B2 (ko)
EP (1) EP3701413B1 (ko)
JP (1) JP6929497B2 (ko)
KR (1) KR102215248B1 (ko)
CN (2) CN111787072B (ko)
AU (1) AU2019248524C1 (ko)
CA (1) CA3084080C (ko)
PH (1) PH12020550739A1 (ko)
SG (1) SG11202004836UA (ko)
TW (1) TWI710979B (ko)
WO (1) WO2019195071A1 (ko)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11030331B2 (en) 2017-06-01 2021-06-08 Schvey, Inc. Distributed privately subspaced blockchain data structures with secure access restriction management
US10476847B1 (en) 2017-12-08 2019-11-12 Symbiont.Io, Inc. Systems, methods, and devices for implementing a smart contract on a distributed ledger technology platform
CN111787072B (zh) 2018-04-03 2023-02-28 创新先进技术有限公司 跨区块链的交互方法及装置、系统、电子设备
CN114662159A (zh) 2018-10-26 2022-06-24 蚂蚁双链科技(上海)有限公司 一种数据的处理方法、装置及设备
CN110008686B (zh) * 2018-11-16 2020-12-04 创新先进技术有限公司 跨区块链的数据处理方法、装置、客户端、区块链系统
CN111224793B (zh) * 2018-11-27 2021-06-01 华为技术有限公司 数据存储方法、装置、计算机设备及可读存储介质
CN109446273B (zh) * 2018-12-04 2022-07-22 深圳前海环融联易信息科技服务有限公司 区块链的数据同步方法、装置、计算机设备及存储介质
CN109600367A (zh) * 2018-12-07 2019-04-09 众安信息技术服务有限公司 用于实现跨链消息处理的方法以及设备
CN110032599B (zh) * 2018-12-20 2020-05-05 阿里巴巴集团控股有限公司 数据结构的读取及更新方法、装置、电子设备
CN110009369A (zh) * 2018-12-20 2019-07-12 阿里巴巴集团控股有限公司 容器检验方法及装置、电子设备
EP3571653A4 (en) 2018-12-28 2020-04-08 Alibaba Group Holding Limited EXECUTING PARALLEL TRANSACTIONS IN A BLOCK CHAIN NETWORK
JP7012730B2 (ja) 2018-12-28 2022-01-28 アドバンスド ニュー テクノロジーズ カンパニー リミテッド スマートコントラクトホワイトリストに基づくブロックチェーンネットワークにおけるトランザクションの並列実行
CN109873861B (zh) * 2019-01-11 2022-04-12 平安科技(深圳)有限公司 跨区块链节点的交互方法及装置、存储介质及电子设备
US20220123947A1 (en) * 2019-01-18 2022-04-21 Zeu Technologies, Inc. A Method for Generating Random Numbers in Blockchain Smart Contracts
US10901983B2 (en) * 2019-03-01 2021-01-26 Wanchain Ltd. System and method for universal blockchain interoperability
CN109857580B (zh) * 2019-03-12 2022-06-07 深圳市迅雷网络技术有限公司 区块链跨链合约调用方法、装置及存储介质
CN109981679B (zh) * 2019-04-08 2021-08-10 上海点融信息科技有限责任公司 在区块链网络中执行事务的方法和装置
US10825024B1 (en) * 2019-04-12 2020-11-03 Symbiont.Io, Inc. Systems, devices, and methods for DLT-based data management platforms and data products
CN110098979B (zh) * 2019-04-16 2023-04-14 深圳前海微众银行股份有限公司 一种基于区块链的短链接消息监听方法及装置
CN113835910A (zh) * 2019-04-19 2021-12-24 创新先进技术有限公司 在区块链网络之间建立通信的方法和设备
US11995647B2 (en) * 2019-04-30 2024-05-28 Salesforce, Inc. System and method of providing interoperable distributed and decentralized ledgers using consensus on consensus and delegated consensus
CN110247842A (zh) * 2019-06-28 2019-09-17 江苏物联网研究发展中心 一种基于消息订阅机制的通讯方法
US11336451B2 (en) 2019-06-28 2022-05-17 Advanced New Technologies Co., Ltd. Cross-blockchain resource transmission
CN110443704B (zh) * 2019-06-28 2021-02-19 创新先进技术有限公司 一种跨链发送资源的方法和装置
WO2021018048A1 (zh) 2019-07-26 2021-02-04 华为技术有限公司 一种跨链交易方法和装置
WO2021022369A1 (en) * 2019-08-06 2021-02-11 Zeu Crypto Networks Inc. Distributed blockchain transaction system
CN110442652B (zh) * 2019-08-15 2021-09-21 腾讯科技(深圳)有限公司 一种基于区块链的跨链数据处理方法及装置
CN110532038B (zh) * 2019-08-19 2021-07-30 杭州趣链科技有限公司 一种基于Java智能合约的并行执行方法
CA3098769C (en) 2019-11-27 2021-08-17 Alipay (Hangzhou) Information Technology Co., Ltd. Asynchronous processing of blockchain blocks
CA3160594A1 (en) 2019-12-02 2021-06-10 Jeffrey SCHVEY Cross-partition calls in partitioned, tamper-evident data stores
CN113111389A (zh) * 2020-01-13 2021-07-13 梅特勒-托利多(常州)精密仪器有限公司 测量设备的信息管理方法及装置
CN111008840B (zh) * 2020-03-05 2020-07-31 支付宝(杭州)信息技术有限公司 一种业务处理系统、业务处理的方法、装置及设备
CN112182096A (zh) * 2020-04-02 2021-01-05 支付宝(杭州)信息技术有限公司 跨链数据订阅方法及装置
CN111769948B (zh) * 2020-06-15 2023-06-02 布比(北京)网络技术有限公司 基于区块链的链间交互方法、系统、装置和计算机设备
CN111782707B (zh) * 2020-06-19 2024-04-16 京东科技信息技术有限公司 一种数据查询方法及系统
CN112104606B (zh) * 2020-08-12 2022-06-17 北京智融云河科技有限公司 一种基于随机多节点的可信执行方法和系统
CN114116883A (zh) * 2020-08-28 2022-03-01 京东方科技集团股份有限公司 数据管理方法、数据管理装置、区块链网络和系统
CN112153124B (zh) * 2020-09-11 2021-05-25 北京天德科技有限公司 一种区块链及智能合约系统协作层设计
CN112380266A (zh) * 2020-10-16 2021-02-19 广州市百果园网络科技有限公司 消息数据处理方法、装置、设备和存储介质
US11368288B2 (en) 2020-11-20 2022-06-21 Hong Kong Applied Science and Technology Research Institute Company Limited Apparatus and method of lightweight communication protocols between multiple blockchains
CN112235110B (zh) * 2020-12-14 2021-03-23 支付宝(杭州)信息技术有限公司 区块链的跨链业务处理方法、装置及电子设备
CN112511355B (zh) * 2020-12-18 2022-02-08 四川大学 一种跨链智能合约合作可能性评估方法
CN112737862B (zh) * 2021-01-08 2023-12-22 江苏众享金联科技有限公司 一种基于智能合约的跨链数据共享方法
CN112396427B (zh) * 2021-01-19 2021-04-23 北京连琪科技有限公司 一种面向通用场景的跨链互换操作方法
CN113032482B (zh) * 2021-03-10 2022-05-13 杭州链网科技有限公司 一种跨链转接桥的构建方法及系统
CN112737782B (zh) * 2021-03-30 2021-06-25 支付宝(杭州)信息技术有限公司 提供跨链消息的方法和装置
CN112732800B (zh) * 2021-03-30 2021-07-13 支付宝(杭州)信息技术有限公司 提供跨链消息的方法和装置
CN112948499A (zh) * 2021-03-31 2021-06-11 北京金山云网络技术有限公司 信息获取方法和装置、电子设备和存储介质
CN113077342B (zh) * 2021-04-06 2023-01-20 立旃(上海)科技有限公司 基于区块链进行跨境使用数据的方法及装置
CN113222766B (zh) * 2021-05-13 2023-02-07 杭州趣链科技有限公司 金融产品的信息监管方法、装置、计算机设备及介质
CN113328935B (zh) * 2021-05-20 2022-11-11 福建思特电子有限公司 基于工业互联网的分布式安全追溯区块链系统
CN113259131B (zh) * 2021-06-23 2021-10-08 北京笔新互联网科技有限公司 区块链节点、系统和区块链构建方法
CN113688317B (zh) * 2021-08-24 2022-06-17 江苏中润普达信息技术有限公司 一种基于区块链的信息推荐方法及系统
CN114157671B (zh) * 2021-11-26 2024-06-18 支付宝(杭州)信息技术有限公司 将区块链网络承载的信息向多个客户端节点分发的方法
CN114257487B (zh) * 2021-11-26 2024-03-29 蚂蚁区块链科技(上海)有限公司 管理网络节点集的系统和方法
CN114390097A (zh) * 2022-01-10 2022-04-22 北京新华夏信息技术有限公司 基于消息队列的区块链运行方法、系统及其应用
CN114827071B (zh) * 2022-03-29 2023-05-09 中国人民解放军军事科学院战争研究院 一种基于信息目录的跨业务区域消息交互方法、装置、电子设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018006072A1 (en) * 2016-06-30 2018-01-04 Clause, Inc. Systems and method for forming, storing, managing,and executing contracts

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104092767B (zh) * 2014-07-21 2017-06-13 北京邮电大学 一种增加消息队列模型的发布/订阅系统及其工作方法
US10812274B2 (en) * 2015-05-07 2020-10-20 Blockstream Corporation Transferring ledger assets between blockchains via pegged sidechains
US20170132626A1 (en) 2015-11-05 2017-05-11 Mastercard International Incorporated Method and system for processing of a blockchain transaction in a transaction processing network
US20170140408A1 (en) * 2015-11-16 2017-05-18 Bank Of America Corporation Transparent self-managing rewards program using blockchain and smart contracts
US10135870B2 (en) 2016-02-22 2018-11-20 Bank Of America Corporation System for external validation of secure process transactions
US10142312B2 (en) 2016-02-22 2018-11-27 Bank Of America Corporation System for establishing secure access for users in a process data network
US10097344B2 (en) 2016-07-15 2018-10-09 Mastercard International Incorporated Method and system for partitioned blockchains and enhanced privacy for permissioned blockchains
CN106485495A (zh) * 2016-09-18 2017-03-08 江苏通付盾科技有限公司 交易信息订阅方法、装置、服务器以及系统
US11182851B2 (en) 2016-10-20 2021-11-23 International Business Machines Corporation Inter-ledger messaging in a blockchain
TWI614713B (zh) * 2017-01-23 2018-02-11 現代財富控股有限公司 基於區塊鏈的智能合約版本控管系統及其方法
CN106874087A (zh) * 2017-01-25 2017-06-20 上海钜真金融信息服务有限公司 一种区块链智能合约定时任务调度方法
CN106960388A (zh) * 2017-03-01 2017-07-18 中钞信用卡产业发展有限公司北京智能卡技术研究院 跨区块链的数字资产流转的方法和装置
KR102414732B1 (ko) * 2017-04-05 2022-06-28 삼성에스디에스 주식회사 블록체인 기반 디지털 아이덴티티 관리 방법
CN107103473A (zh) * 2017-04-27 2017-08-29 电子科技大学 一种基于区块链的智能合约实现方法
CN107231299A (zh) * 2017-06-07 2017-10-03 众安信息技术服务有限公司 一种链路由及实现区块链跨链通信的系统
CN107301536B (zh) * 2017-06-12 2019-07-12 腾讯科技(深圳)有限公司 资源转移方法及装置
CN107248076A (zh) * 2017-06-24 2017-10-13 北京天德科技有限公司 一种双链式跨链交易的区块链互联网模型的核心算法
US10944546B2 (en) * 2017-07-07 2021-03-09 Microsoft Technology Licensing, Llc Blockchain object interface
TWM554608U (zh) * 2017-09-01 2018-01-21 國泰人壽保險股份有限公司 基於區塊鏈的保險服務系統
CN107742210A (zh) * 2017-10-13 2018-02-27 布比(北京)网络技术有限公司 一种不同区块链间的跨链转账系统和方法
US10567320B2 (en) * 2017-10-17 2020-02-18 American Express Travel Related Services Company, Inc. Messaging balancing and control on blockchain
US20190156938A1 (en) * 2017-11-20 2019-05-23 Michael Brunner System, method and data model for secure prescription management
CN111787072B (zh) 2018-04-03 2023-02-28 创新先进技术有限公司 跨区块链的交互方法及装置、系统、电子设备
US20190050854A1 (en) * 2018-09-28 2019-02-14 Intel Corporation Blockchain-based digital data exchange

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018006072A1 (en) * 2016-06-30 2018-01-04 Clause, Inc. Systems and method for forming, storing, managing,and executing contracts

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Vitalik Buterin, "Chain Interoperability", 2016.09.09, *

Also Published As

Publication number Publication date
CN108848119B (zh) 2020-04-28
SG11202004836UA (en) 2020-06-29
US20200213088A1 (en) 2020-07-02
US10693630B1 (en) 2020-06-23
JP2021504847A (ja) 2021-02-15
CN108848119A (zh) 2018-11-20
KR102215248B1 (ko) 2021-02-16
US20190305935A1 (en) 2019-10-03
TWI710979B (zh) 2020-11-21
EP3701413A1 (en) 2020-09-02
WO2019195071A1 (en) 2019-10-10
TW201942816A (zh) 2019-11-01
CN111787072B (zh) 2023-02-28
AU2019248524A1 (en) 2020-06-18
US10615964B2 (en) 2020-04-07
CA3084080C (en) 2023-03-14
EP3701413B1 (en) 2022-02-23
CN111787072A (zh) 2020-10-16
JP6929497B2 (ja) 2021-09-01
PH12020550739A1 (en) 2021-04-19
AU2019248524C1 (en) 2021-04-08
AU2019248524B2 (en) 2021-01-07
CA3084080A1 (en) 2019-10-10

Similar Documents

Publication Publication Date Title
KR102215248B1 (ko) 크로스 블록체인 상호작용 방법, 장치, 시스템, 및 전자 디바이스
US10785232B2 (en) Method, apparatus, system, and electronic device for cross-blockchain interaction
KR102403581B1 (ko) 블록체인에 기반한 트랜잭션을 실행하기 위한 방법, 장치, 및 전자 디바이스
US11016961B2 (en) Blockchain-based smart contract invocation method and apparatus, and electronic device
US11468048B2 (en) Asset management method and apparatus, and electronic device
KR102270518B1 (ko) 크로스 블록체인 인증 방법 및 장치
AU2019222743B2 (en) Asset management method and apparatus, and electronic device
AU2019248525A1 (en) Cross-blockchain authentication method, apparatus, and electronic device

Legal Events

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