KR20220079958A - 블록체인 메시지 처리 방법 및 장치, 컴퓨터 및 판독 가능한 저장 매체 - Google Patents

블록체인 메시지 처리 방법 및 장치, 컴퓨터 및 판독 가능한 저장 매체 Download PDF

Info

Publication number
KR20220079958A
KR20220079958A KR1020227015840A KR20227015840A KR20220079958A KR 20220079958 A KR20220079958 A KR 20220079958A KR 1020227015840 A KR1020227015840 A KR 1020227015840A KR 20227015840 A KR20227015840 A KR 20227015840A KR 20220079958 A KR20220079958 A KR 20220079958A
Authority
KR
South Korea
Prior art keywords
service
contract
event
node
oracle
Prior art date
Application number
KR1020227015840A
Other languages
English (en)
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 KR20220079958A publication Critical patent/KR20220079958A/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/3827Use of message hashing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Power Engineering (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • General Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Tourism & Hospitality (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Finance (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

빅 데이터의 데이터 송신에 사용할 수 있는 블록체인 메시지 처리 방법 및 장치, 컴퓨터 및 판독 가능한 저장 매체를 개시한다. 상기 방법은, 서비스 계약 정보를 취득하고, 상기 서비스 계약 정보를 오라클 계약에 추가하는 단계(S301) - 상기 서비스 계약 정보는 서비스 스마트 계약의 계약 식별자 및 상기 서비스 스마트 계약에 대응하는 서비스 요청 이벤트를 포함함 -; 타깃 체인 외부 노드를 취득하고, 상기 오라클 계약을 통해 상기 서비스 계약 정보를 상기 타깃 체인외 노드에 전송하여(S302), 상기 타깃 체인외 노드가 상기 서비스 요청 이벤트에 대응하는 이벤트 요청 결과를 취득하도록 하는 단계; 및 상기 타깃 체인 외부 노드에 의해 송신되는 이벤트 요청 결과를 취득하고, 상기 이벤트 요청 결과를 상기 계약 식별자에 대응하는 서비스 스마트 계약에 회신하는 단계(S303)를 포함한다.

Description

블록체인 메시지 처리 방법 및 장치, 컴퓨터 및 판독 가능한 저장 매체
관련 출원
본 출원은 2020년 6월 3일에 출원된 "BLOCKCHAIN MESSAGE PROCESSING METHOD AND APPARATUS, COMPUTER AND READABLE STORAGE MEDIUM"이라는 명칭의 중국 특허 출원 제202010492628.3호에 대한 우선권을 주장하며, 이는 그 전체가 원용에 의해 본 출원에 포함된다.
본 출원은 블록체인 기술 분야에 관한 것으로, 특히 블록체인 메시지 처리 방법 및 장치, 컴퓨터 및 판독 가능한 저장 매체에 관한 것이다.
블록체인의 탈중앙화(decentralization) 및 기타 특성과 함께 블록체인 기술이 점점 더 성숙해짐에 따라, 블록체인의 적용은 점점 더 광범위해지고 있다. 다시 말해, 블록체인의 가장 큰 핵심적인 혁신은 신뢰 문제를 탈중앙화 방식으로 해결하여, 제3자 기관을 신뢰하거나 의존할 필요 없이 가치 이전(value transfer)이 수행되도록 하는 것이다. 스마트 계약(smart contract)은 블록체인의 중요한 부분이다. 스마트 계약은 디지털 형식으로 정의된 계약의 세트이며 계약 참가자가 태스크(task)를 완료하기 위한 프로토콜을 실행하는 것을 돕는다. 블록체인상의 스마트 계약과 탈중앙화된 애플리케이션(decentralized application, Dapp)은 외부 데이터에 대해 상호작용 요건(interactive requirement)이 있다. 블록체인은 네트워크 호출을 능동적으로 시작할 수 없으며, 체인상의 일부 스마트 계약은 후속 서비스가 실행되도록 추가로 트리거되기 전에 이벤트의 처리 결과를 취득해야 한다. 이벤트의 처리 결과는, 인터넷을 통해 사용자가 취득해야 하고 사용자가 트랜잭션 데이터로서 블록체인 네트워크에 송신해야 한다. 그러나 사용자가 이벤트의 처리 결과를 자율적으로 취득하는 데 지연이 발생하는 경우가 많고, 이는 스마트 계약이 이벤트의 처리 결과를 제시간에 취득할 수 없게 하고 후속 서비스 실행에 영향을 미쳐, 블록체인 메시지 처리의 효율이 저하된다.
본 출원의 실시예는 블록체인 메시지 처리 방법 및 장치, 컴퓨터 기기, 및 판독 가능한 저장 매체를 제공한다.
본 출원의 실시예의 일 측면은 오라클 계약 노드(oracle contract node)에 의해 수행되는 블록체인 메시지 처리 방법을 제공하며, 상기 오라클 계약 노드는 컴퓨터 기기이고, 상기 블록체인 메시지 처리 방법은,
서비스 계약 정보를 취득하고, 상기 서비스 계약 정보를 오라클 계약(oracle contract)에 추가하는 단계 - 상기 서비스 계약 정보는 서비스 스마트 계약의 계약 식별자 및 상기 서비스 스마트 계약에 대응하는 서비스 요청 이벤트를 포함함 -;
타깃 오프체인 노드(target off-chain node)를 취득하고, 상기 오라클 계약을 통해 상기 서비스 계약 정보를 상기 타깃 오프체인 노드에 송신하여, 상기 타깃 오프체인 노드가 상기 서비스 요청 이벤트에 대응하는 이벤트 요청 결과를 취득하도록 하는 단계; 및
상기 타깃 오프체인 노드에 의해 송신되는 이벤트 요청 결과를 취득하고, 상기 이벤트 요청 결과를 상기 계약 식별자에 대응하는 서비스 스마트 계약에 회신하는 단계를 포함한다.
본 출원의 실시예의 일 측면은 타깃 오프체인 노드에 의해 수행되는 블록체인 메시지 처리 방법을 제공하며, 상기 타깃 오프체인 노드는 컴퓨터 기기이고, 상기 블록체인 메시지 처리 방법은,
오라클 계약을 통해 오라클 계약 노드에 의해 송신되는 서비스 계약 정보를 취득하는 단계 - 상기 서비스 계약 정보는 서비스 스마트 계약의 계약 식별자 및 상기 서비스 스마트 계약에 대응하는 서비스 요청 이벤트를 포함함 -;
상기 서비스 요청 이벤트에 기초하여 데이터 취득 주소를 결정하는 단계; 및
상기 데이터 취득 주소에 액세스하여, 상기 서비스 요청 이벤트에 대응하는 이벤트 요청 결과를 취득하고, 상기 이벤트 요청 결과를 상기 오라클 계약 노드에 송신하여, 상기 오라클 계약 노드가 상기 이벤트 요청 결과를 상기 계약 식별자에 대응하는 서비스 스마트 계약에 피드백하도록 하는 단계를 포함한다.
본 출원의 실시예의 일 측면은 메시지 처리 장치를 제공하며, 상기 블록체인 메시지 처리 장치는,
서비스 계약 정보를 취득하고, 상기 서비스 계약 정보를 오라클 계약에 추가하도록 구성된 서비스 취득 모듈 - 상기 서비스 계약 정보는 서비스 스마트 계약의 계약 식별자 및 상기 서비스 스마트 계약에 대응하는 서비스 요청 이벤트를 포함함 -;
타깃 오프체인 노드를 취득하고, 상기 오라클 계약을 통해 상기 서비스 계약 정보를 상기 타깃 오프체인 노드에 송신하여, 상기 타깃 오프체인 노드가 상기 서비스 요청 이벤트에 대응하는 이벤트 요청 결과를 취득하게 하도록 구성된 노드 취득 모듈; 및
상기 타깃 오프체인 노드에 의해 송신되는 이벤트 요청 결과를 취득하고, 상기 이벤트 요청 결과를 상기 계약 식별자에 대응하는 서비스 스마트 계약에 회신하도록 구성된 결과 취득 모듈을 포함한다.
본 출원의 실시예의 일 측면은 블록체인 메시지 처리 장치를 제공하며, 상기 블록체인 메시지 처리 장치는,
오라클 계약을 통해 오라클 계약 노드에 의해 송신되는 서비스 계약 정보를 취득하도록 구성된 서비스 취득 모듈 - 상기 서비스 계약 정보는 서비스 스마트 계약의 계약 식별자 및 상기 서비스 스마트 계약에 대응하는 서비스 요청 이벤트를 포함함 -;
상기 서비스 요청 이벤트에 기초하여 데이터 취득 주소를 결정하도록 구성된 주소 결정 모듈; 및
상기 데이터 취득 주소에 액세스하여, 상기 서비스 요청 이벤트에 대응하는 이벤트 요청 결과를 취득하고, 상기 이벤트 요청 결과를 상기 오라클 계약 노드에 송신하여, 상기 오라클 계약 노드가 상기 이벤트 요청 결과를 상기 계약 식별자에 대응하는 서비스 스마트 계약에 피드백하게 하도록 구성된 결과 취득 모듈한다.
메모리 및 하나 이상의 프로세서를 포함하는 컴퓨터 기기가 제공되며, 상기 메모리는 컴퓨터로 판독 가능한 명령어를 저장하고, 상기 컴퓨터로 판독 가능한 명령어는 상기 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금 전술한 블록체인 메시지 처리 방법에서의 동작을 구현하게 한다.
컴퓨터로 판독 가능한 명령어를 저장하는, 컴퓨터로 판독 가능한 하나 이상의 비휘발성 저장 매체가 제공되며, 상기 컴퓨터로 판독 가능한 명령어는 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금, 전술한 블록체인 메시지 처리 방법에서의 동작을 구현하게 한다.
컴퓨터로 판독 가능한 명령어를 포함하는 컴퓨터 프로그램 제품 또는 컴퓨터 프로그램이 제공되며, 상기 컴퓨터로 판독 가능한 명령어는 컴퓨터로 판독 가능한 저장 매체에 저장되고, 컴퓨터 기기의 프로세서는 상기 컴퓨터가 판독 가능한 저장매체로부터 상기 컴퓨터로 판독 가능한 명령어를 판독하고, 상기 프로세서는 상기 컴퓨터로 판독 가능한 명령어를 실행하여, 상기 컴퓨터 기기로 하여금 전술한 블록체인 메시지 처리 방법의 동작을 수행하게 한다.
본 출원의 실시예 또는 관련 기술 분야의 기술적 방안을 보다 명확하게 설명하기 위해, 이하에서는 실시예 또는 관련 기술을 설명하는 데 필요한 첨부 도면에 대해 간략하게 설명한다. 명백하게, 다음 설명에 첨부된 도면은 본 출원의 일부 실시예만을 도시하며, 당업자는 창의적인 노력 없이 첨부된 도면으로부터 다른 도면을 도출할 수 있을 것이다.
도 1은 본 출원의 일 실시예에 따른 블록체인 메시지 처리 네트워크의 개략도이다.
도 2는 본 출원의 일 실시예에 따른 블록체인 메시지 처리 시나리오의 개략도이다.
도 3은 본 출원의 일 실시예에 따른 블록체인 메시지 처리 방법의 흐름도이다.
도 4는 본 출원의 일 실시예에 따른 서비스 계약 정보 처리 시나리오의 개략도이다.
도 5는 본 출원의 일 실시예에 따른 블록체인 메시지 처리의 다른 개략적인 흐름도이다.
도 6은 본 출원의 일 실시예에 따른 블록체인 메시지 처리의 상호작용 흐름도이다.
도 7은 본 출원의 일 실시예에 따른 서비스 계약 정보 저장 시나리오의 개략도이다.
도 8은 본 출원의 일 실시예에 따른 오라클의 개략적인 구성도이다.
도 9는 본 출원의 일 실시예에 따른 블록체인 메시지 처리 장치의 개략도이다.
도 10은 본 출원의 실시예에 따른 다른 블록체인 메시지 처리 장치의 개략도이다.
도 11은 본 출원의 일 실시예에 따른 컴퓨터 기기의 개략적인 구성도이다.
본 출원의 실시예의 기술적 방안은 본 출원의 실시예의 첨부 도면을 참조하여 이하에서 명확하고 완전하게 설명된다. 명백하게, 설명된 실시예는 본 출원의 모든 실시예가 아니라 단지 일부에 불과하다. 창의적인 노력 없이 본 출원의 실시예에 기초하여 당업자에 의해 취득된 다른 모든 실시예는 본 출원의 보호 범위에 속한다.
본 출원의 실시예는 빅 데이터(big data)의 데이터 송신 기술을 적용할 수 있으며, 데이터 송신 기술은 클라우드 분야(클라우드 기술)에 속한다.
클라우드 기술은 데이터의 컴퓨팅, 저장, 처리 및 공유를 구현하기 위해 광역 통신망 또는 근거리 통신망에서 하드웨어, 소프트웨어, 및 네트워크와 같은 일련의 자원을 통합하는 호스팅 기술이다.
클라우드 기술은 클라우드 컴퓨팅 비즈니스 모드의 애플리케이션을 기반으로 하는 네트워크 기술, 정보 기술, 통합 기술, 관리 플랫폼 기술, 응용 기술 등의 총칭으로서, 필요에 따라 사용되며 유연하고 편리한 자원 풀(resource pool)이다. 클라우드 컴퓨팅 기술은 중요한 지원이 된다. 기술 네트워크 시스템의 백그라운드 서비스에는 비디오 웹 사이트, 이미지 웹 사이트 및 기타 포털 웹 사이트와 같은 대량의 컴퓨팅 및 스토리지 자원이 필요하다. 인터넷 산업이 고도로 발달하고 적용됨에 따라, 각각의 물품(article)은 미래에 독자의 식별자를 가질 수 있으며, 논리적 처리를 위해 백그라운드 시스템으로 송신되어야 한다. 서로 다른 수준의 데이터는 개별적으로 처리되며, 다양한 산업계의 데이터는 클라우드 컴퓨팅을 통해서만 구현될 수 있는 강력한 시스템 지원을 필요로 한다.
빅 데이터는 일정 시간 범위 내에서 종래의 소프트웨어 도구로 포착, 관리, 처리될 수 없는 데이터의 모음을 의미한다. 빅 데이터는 향상된 의사 결정, 통찰력 발견 및 프로세스 최적화를 가능하게 하는 새로운 처리 모드가 필요한 대용량, 고속 및 고 다양성의 다양한 정보 자산이다. 클라우드 시대의 도래와 함께, 빅 데이터도 주목받고 있으며, 빅 데이터는 경과 시간을 용인하는 대용량 데이터를 효율적으로 처리하기 위한 특별한 기술을 요구한다. 빅 데이터에 적용할 수 있는 기술로는 대규모 병렬처리 데이터베이스, 데이터 마이닝, 분산형 파일 시스템, 분산형 데이터베이스, 클라우드 컴퓨팅 플랫폼, 인터넷, 확장 가능한(scalable) 저장 시스템 등이 있다. 본 출원에서 처리되어야 할 스마트 계약 데이터가 많은 경우, 빅 데이터의 데이터 송신 기술을 기반으로 오라클 계약 노드와 오프체인 노드 간의 데이터 상호작용이 구현될 수 있다.
도 1은 본 출원의 일 실시예에 따른 블록체인 메시지 처리 네트워크의 개략도이다. 도 1에 도시된 바와 같이, 오라클은 오라클 계약 노드와 오프체인 노드를 포함하며, 오라클 계약 노드는 블록체인으로부터 스마트 계약의 데이터를 취득하고 오프체인 노드로부터 취득된 데이터를 스마트 계약에 회신하도록 구성된다. 오프체인 노드는 오라클 계약 노드의 오라클 계약을 호출하여 서비스 계약 정보를 획득하고, 서비스 계약 정보 내의 서비스 요청 이벤트를 수행하여 서비스 요청 이벤트의 이벤트 요청 결과를 획득하고, 이벤트 요청 결과를 오라클 계약 노드에 회신한다. 오라클 계약 노드는 이벤트 요청 결과를 스마트 계약에 피드백한다.
예를 들어, 도 2에 도시된 바와 같이, 블록체인(101)은 서비스 스마트 계약(1011), 서비스 스마트 계약(1012), 서비스 스마트 계약(1013) 등을 포함하는 적어도 하나의 서비스 스마트 계약을 포함한다. 오라클 계약(1014)을 통해 적어도 하나의 서비스 스마트 계약을 관리하기 위해, 각각의 서비스 스마트 계약에 대응하는 서비스 계약 정보가 오라클 계약(1014)에 추가되며, 오라클 계약(1014)은 오라클 계약 노드에 저장된다. 오라클 계약(1014)은 서비스 계약 정보 세트를 유지한다. 서비스 계약 정보 세트는 적어도 하나의 서비스 계약 정보를 포함하고, 서비스 계약 정보 세트는 차트 또는 매핑 관계 텍스트와 같은 포맷으로 저장될 수 있다. 예를 들어, 아래의 표 1을 참조할 수 있다.
[표 1]
Figure pct00001
표 1에 나타낸 바와 같이, 서비스 계약 정보는 서비스 스마트 계약의 계약 식별자 및 서비스 스마트 계약에 대응하는 서비스 요청 이벤트를 포함한다. 서비스 요청 이벤트는 서비스 처리 시간, 서비스 요청 객체 등을 포함할 수 있다. 트랜잭션 해시는 대응하는 서비스 처리 이벤트의 해시 값이다. 서비스 요청 객체는 대응하는 서비스 스마트 계약이 트리거된 후 요청된 데이터 개체를 나타내는 데 사용된다. 예를 들어, 서비스 요청 객체는 "A팀과 B팀의 경쟁 점수"일 수 있다.
구체적으로, 오라클 계약 노드는 오라클 계약(1014)을 통해 서비스 스마트 계약(서비스 스마트 계약(1011), 서비스 스마트 계약(1012), 서비스 스마트 계약(1013) 등 포함)에 대응하는 서비스 계약 정보를 관리한다. 하나의 서비스 스마트 계약은 하나 또는 적어도 두 개의 서비스 계약 정보에 대응할 수 있다. 서비스 스마트 계약(1011)을 예로 들면, 오라클 계약 노드는 서비스 스마트 계약(1011)에 대응하는 서비스 계약 정보를 타깃 오프체인 노드(102)로 송신한다. 타깃 오프체인 노드(102)는 서비스 계약 정보 내의 서비스 요청 이벤트에 기초하여 이벤트 요청 결과를 취득하고, 이벤트 요청 결과를 오라클 계약 노드에 송신한다. 오라클 계약 노드는 취득한 이벤트 요청 결과를 계약 식별자에 대응하는 서비스 스마트 계약(1011)에 피드백한다.
오라클 계약 노드와 타깃 오프체인 노드(102)는 오라클을 구성하고, 오라클 계약 노드와 서비스 스마트 계약은 블록체인(101)에 배치된다.
구체적으로, 도 2는 본 출원의 일 실시예에 따른 블록체인 메시지 처리 시나리오의 개략도이다. 도 2에 도시된 바와 같이, 서비스 스마트 계약(201)에 대응하는 서비스 계약 정보(2031)를 오라클 계약 노드에 푸시되고(pushed), 오라클 계약 노드는 서비스 계약 정보(2031)를 오라클 계약(202)에 추가하여, 오라클 계약(202)을 통해 모든 취득된 서비스 계약 정보를 관리한다. 선택적으로, 오라클 계약(202)은 서비스 계약 정보 세트(203)를 포함하고, 오라클 계약 노드는 서비스 계약 정보(2031)를 서비스 계약 정보 세트(203)에 추가한다. 서비스 계약 정보(2031)는 서비스 스마트 계약(201)의 계약 식별자와 서비스 스마트 계약(201)에 대응하는 서비스 요청 이벤트를 포함한다. 오라클 계약 노드는 서비스 계약 정보(2031)를 타깃 오프체인 노드(204)에 송신한다. 서비스 계약 정보(2031)를 취득한 후, 타깃 오프체인 노드(204)는 서비스 계약 정보(2031)에서 서비스 처리 시간을 취득한다. 서비스 처리 시간은 서비스 처리 이벤트에 속한다. 타깃 오프체인 노드(204)는 서비스 처리 시간에 기초하여 서비스 계약 정보에 대한 서비스 타이머(205)를 생성한다.
서비스 타이머(205)의 값이 서비스 처리 시간에 도달한 때, 서비스 처리 이벤트에 대응하는 데이터 취득 주소(206)가 취득되고, 데이터 취득 주소(206)가 액세스되고, 서비스 처리 이벤트에 대응하는 이벤트 요청 결과(207)가 취득되며, 이벤트 요청 결과(207)는 오라클 계약 노드(202)에 피드백된다. 오라클 계약 노드(202)는 이벤트 요청 결과(207)에 대응하는 계약 식별자를 취득하고, 서비스 스마트 계약(301)에 기초하여 이벤트 요청 결과(207)를 이벤트 결과 블록으로 캡슐화하기 위해 이벤트 요청 결과(207)를 대응하는 서비스 스마트 계약(301)에 송신한다. 이벤트 결과 블록에 대해 합의(consensus)가 수행된 후 이벤트 결과 블록이 블록체인에 추가된다.
본 출원의 실시예에서, 오라클 계약에 기초한 블록체인에서의 서비스 스마트 계약과 블록체인 밖에서의 타깃 오프체인 노드 사이의 데이터 상호작용을 구현하기 위해, 오라클 계약은 오라클 계약 노드에 의해 관리된다. 오프체인 노드는 취득된 서비스 계약 정보에 기초하여 실시간으로 이벤트 요청 결과를 취득하고, 이벤트 요청 결과를 오라클 계약 노드에 회신할 수 있으므로, 오라클 계약 노드는 이벤트 요청 결과를 스마트 계약에 제시간에 회신할 수 있어, 서비스 스마트 계약에 의한 데이터 수집의 실시간 성능을 향상시키고, 블록체인 메시지 처리의 효율을 더욱 향상시킨다.
본 출원의 실시예에서, 서비스 계약 정보가 취득되어 오라클 계약에 추가된다. 서비스 계약 정보는 서비스 스마트 계약의 계약 식별자 및 서비스 스마트 계약에 대응하는 서비스 요청 이벤트를 포함한다. 타깃 오프체인 노드가 취득되고, 서비스 계약 정보가 오라클 계약을 통해 타깃 오프체인 노드에 송신되므로, 타깃 오프체인 노드는 서비스 요청 이벤트에 대응하는 이벤트 요청 결과를 취득한다. 타깃 오프체인 노드에 의해 송신되는 이벤트 요청 결과가 취득되고, 이벤트 요청 결과는 계약 식별자에 대응하는 서비스 스마트 계약에 피드백된다. 본 출원의 실시예에서, 오라클 계약은 오라클 계약 노드에 기록되고, 오라클 계약 노드는 오프체인 노드로부터 데이터를 취득해야 하는 각각의 스마트 계약의 내용, 즉 스마트 계약에 대응하는 서비스 계약 정보를 저장한다. 오라클 계약 노드와 오프체인 노드 사이에 데이터 상호작용이 수행된다. 오프체인 노드는 취득된 서비스 계약 정보에 따라 실시간으로 이벤트 요청 결과를 취득하는 단계를 트리거하고, 취득된 이벤트 요청 결과를 오라클 계약 노드에 회신할 수 있다. 오프체인 노드는 이벤트 요청 결과를 자동으로 취득하여 송신하므로, 오프체인 노드는 적시에 서비스 계약 정보에 대응하는 이벤트 요청 결과를 취득할 수 있다. 또한, 오라클 계약 노드는 오프체인 노드로부터 적시에 데이터를 취득하고, 취득한 데이터를 대응하는 스마트 계약에 회신함으로써 블록체인에서 온체인(on-chain)과 오프체인 간의 데이터 상호작용의 실시간 성능을 향상시킬 수 있고, 블록체인 메시지 처리의 효율을 향상시킨다.
오라클 계약 노드는 서버 또는 단말 기기, 또는 서버와 단말 기기로 구성된 시스템일 수 있으며, 단말 기기는 이동 전화(휴대폰), 태블릿 컴퓨터, 데스크톱 컴퓨터, 노트북 컴퓨터, 팜톱 컴퓨터, 이동 인터넷 기기(mobile internet device, MID), 웨어러블 기기(예: 스마트 시계 또는 스마트 팔찌) 등을 포함한 전자 기기일 수 있으나 이에 한정되지 않는다. 서버는 독립적인 물리 서버일 수 있거나, 복수의 물리 서버 또는 분산형 시스템을 포함하는 서버 클러스터일 수 있거나, 클라우드 컴퓨팅 서비스를 제공하는 클라우드 서버일 수 있다. 단말 기기와 서버는 유선 또는 무선 통신 방식으로 직접 또는 간접적으로 연결될 수 있다. 본 출원은 이에 한정되지 않는다.
타깃 오프체인 노드는 컴퓨터 기기이고, 컴퓨터 기기는 서버 또는 단말 기기일 수 있다.
또한, 도 3은 본 출원의 일 실시예에 따른 블록체인 메시지 처리 방법의 흐름도이다. 도 3에 도시된 바와 같이, 전술한 오라클 계약 노드를 설명을 위한 실행 주체로 사용하고, 오라클 계약 노드는 오라클 계약을 저장한다. 블록체인 메시지 처리 프로세스는 다음 단계를 포함한다:
단계 S301. 서비스 계약 정보를 취득하고, 서비스 계약 정보를 오라클 계약에 추가한다.
구체적으로, 오라클 계약 노드는 서비스 스마트 계약에 대응하는 서비스 계약 정보를 취득하고, 서비스 계약 정보를 오라클 계약에 추가한다. 서비스 계약 정보는 서비스 스마트 계약의 계약 식별자 및 서비스 스마트 계약에 대응하는 서비스 요청 이벤트를 포함한다. 서비스 요청 이벤트는 서비스 처리 시간, 서비스 요청 객체 등을 포함할 수 있다. 각각의 서비스 요청 이벤트는 서비스 스마트 계약의 하나의 트랜잭션 데이터에 대응할 수 있다. 선택적으로, 하나의 서비스 스마트 계약에는 복수의 트랜잭션 데이터가 있을 수 있으므로, 오라클 계약 노드는 서비스 스마트 계약으로부터 복수의 서비스 계약 정보를 취득하고, 취득한 복수의 서비스 계약 정보를 오라클 계약에 추가할 수 있다. 본 출원의 실시예에서는 하나의 서비스 스마트 계약이 하나의 트랜잭션 데이터를 포함하는 예를 설명을 위해 사용한다.
오라클 계약 노드는 블록체인에서 블록 체이닝 상태(block chaining status)를 모니터링하고, 계약 블록의 블록 체이닝 메시지를 취득하며, 블록 체이닝 메시지는 서비스 스마트 계약을 포함한다. 계약 블록은 서비스 스마트 계약을 블록체인에 추가하기 위해 사용되는 트랜잭션 블록을 말한다. 다시 말해, 블록체인에 계약 블록이 추가될 때, 메시지 송신 프로세스가 트리거되고, 계약 블록의 블록 체이닝 메시지가 오라클 계약 노드에 송신된다. 블록 체이닝 메시지를 수신한 후, 오라클 계약 노드는 블록 체이닝 메시지에서 서비스 스마트 계약을 취득한다. 오라클 계약 노드는 서비스 스마트 계약의 계약 식별자를 취득하고, 서비스 스마트 계약을 파싱하여 서비스 스마트 계약이 트리거된 후 요청된 데이터 객체를 나타내는 데 사용되는 서비스 요청 이벤트를 취득한다. 서비스 계약 정보는 계약 식별자 및 서비스 요청 이벤트에 따라 생성된다.
구체적으로, 도 4는 본 출원의 일 실시예에 따른 서비스 계약 정보 처리 시나리오의 개략도이다. 도 4에 도시된 바와 같이, 서비스 계약 노드는 서비스 스마트 계약(401)에 따라 계약 블록(402)을 생성하고, 계약 블록(402)을 합의 노드(consensus node)에 브로드캐스트하여, 합의 노드가 계약 블록(402)에 대해 합의를 수행하도록 한다. 계약 블록(402)에 대해 합의에 도달한 경우, 계약 블록(402)이 블록체인(403)에 추가된다. 오라클 계약 노드(404)가 서비스 스마트 계약(401)에 대응하는 계약 블록(402)의 체이닝 동작(chaining operation)을 모니터링하는 경우, 오라클 계약 노드(404)는 계약의 블록의 블록 체이닝 메시지를 취득하고, 서비스 스마트 계약(401)의 계약 식별자를 취득하고, 서비스 스마트 계약(402)을 파싱하여 서비스 요청 이벤트를 취득한다. 오라클 계약 노드(404)는 서비스 스마트 계약(401)의 트랜잭션 데이터를 취득하고, 서비스 요청 이벤트에 대응하는 서비스 요청 파라미터에 따라 트랜잭션 데이터로부터 서비스 요청 이벤트를 획득할 수 있다. 오라클 계약 노드(404)는 계약 식별자 및 서비스 요청 이벤트에 따라 서비스 계약 정보를 생성하고, 오라클 계약(405)에 서비스 계약 정보를 추가한다. 오라클 계약(405)은 0개 또는 적어도 하나의 서비스 계약 정보를 포함한다. 또한, 오라클 계약(405)에 포함된 서비스 계약 정보를 총칭하여 계약 정보 세트라고 할 수 있다. 선택적으로, 서비스 계약 정보 세트는 위의 표 1에 표시된 포맷과 같이, 차트 또는 매핑 관계 텍스트와 같은 포맷으로 오라클 계약(405)에 저장될 수 있다.
단계 S302. 타깃 오프체인 노드를 취득하고, 오라클 계약을 통해 서비스 계약 정보를 타깃 오프체인 노드에 송신한다.
구체적으로, 오라클 계약 노드는 타깃 오프체인 노드를 취득하고, 오라클 계약을 통해 타깃 오프체인 노드에 서비스 계약 정보를 송신하여, 타깃 오프체인 노드가 서비스 계약 정보에 기초한 서비스 요청 이벤트에 대응하는 이벤트 요청 결과를 취득하도록 한다.
선택적으로, 타깃 오프체인 노드가 취득되는 경우, 오라클은 복수의 오프체인 노드를 포함할 수 있고, 오라클 계약 노드는 복수의 오프체인 노드로부터 유휴 상태의 오프체인 노드를 후보 오프체인 노드로 취득한다. 후보 오프체인 노드의 네트워크 품질 파라미터가 취득되며, 가장 높은 네트워크 품질 파라미터를 가진 후보 오프체인 노드를 타깃 오프체인 노드로서 결정한다. 네트워크 품질 파라미터는 네트워크 대역폭, 네트워크 지연, 네트워크 처리량, 네트워크 송신 레이트 등을 포함하지만 이에 한정되지 않는다. 네트워크 품질 파라미터는 하나 이상의 파라미터로 구성될 수 있다. 예를 들어, 네트워크 품질 파라미터가 네트워크 대역폭인 경우, 가장 큰 네트워크 대역폭을 가진 오프체인 노드가 타깃 오프체인 노드로서 복수의 오프체인 노드로부터 취득된다.
선택적으로, 타깃 오프체인 노드가 취득되는 경우, 오라클 계약 노드는 서비스 요청 이벤트가 속하는 타깃 서비스 유형을 취득할 수 있고, 타깃 서비스 유형에 대응하는 오프체인 노드를 타깃 오프체인 노드로서 취득할 수 있다.
단계 S303. 타깃 오프체인 노드에 의해 송신되는 이벤트 요청 결과를 취득하고, 이벤트 요청 결과를 서비스 스마트 계약에 회신한다.
구체적으로, 오라클 계약 노드는 타깃 오프체인 노드에 의해 송신되는 이벤트 요청 결과를 취득하고, 오라클 계약에 기초한 서비스 스마트 계약에 이벤트 요청 결과를 피드백한다. 선택적으로, 오라클 계약 노드는 타깃 오프체인 노드에 의해 송신되는 이벤트 요청 결과를 취득하고, 이벤트 요청 결과에 대응하는 서비스 요청 이벤트의 프로토콜 데이터 포맷을 취득하고, 이벤트 요청 결과의 데이터 포맷을 프로토콜 데이터 포맷으로 변환하여 변환 실행 결과를 획득한다. 프로토콜 데이터 포맷은 블록체인에서의 각각의 네트워크 노드가 인식할 수 있는 데이터 포맷을 말하며, 프로토콜 데이터 포맷은 오라클 계약 노드와 서비스 계약 노드 간의 협상(negotiation)을 통해 취득될 수 있다. 선택적으로, 서비스 스마트 계약은 프로토콜 데이터 포맷을 포함할 수 있다. 이벤트 요청 결과를 취득한 후, 오라클 계약 노드는 이벤트 요청 결과에 대응하는 서비스 스마트 계약을 취득하고 서비스 스마트 계약으로부터 프로토콜 데이터 포맷을 취득한다. 대안적으로, 서비스 계약 정보를 취득하는 경우, 오라클 계약 노드도 프로토콜 데이터 포맷을 취득할 수 있다. 프로토콜 데이터 포맷을 취득하는 방식은 여기에서 다시 반복되지 않는다.
선택적으로, 이벤트 요청 결과를 취득한 후, 오라클 계약 노드는 이벤트 요청 결과에 따라 결과 피드백 블록을 생성하고, 결과 피드백 블록를 합의 수행을 위해 합의 노드에 브로드캐스트하며, 결과 피드백 블록에 대해 합의에 도달한 경우, 이벤트 요청 결과의 데이터 포맷을 변환하여 변환 실행 결과를 획득하고, 변환 실행 결과를 서비스 스마트 계약에 피드백한다. 대안적으로, 오라클 계약 노드는 이벤트 요청 결과의 데이터 포맷을 변환하여 변환 실행 결과를 획득하고, 변환 실행 결과에 따라 결과 피드백 블록을 생성하고, 결과 피드백 블록을 합의 수행을 위해 합의 노드에 브로드캐스트하며, 결과 피드백 블록에 대해 합의에 도달한 경우, 이벤트 요청 결과를 서비스 스마트 계약에 회신한다.
본 출원의 실시예에서, 서비스 계약 정보는 전술한 블록체인 메시지 처리 프로세스를 통해 취득되고 오라클 계약에 추가된다. 서비스 계약 정보는 서비스 스마트 계약의 계약 식별자 및 서비스 스마트 계약에 대응하는 서비스 요청 이벤트를 포함한다. 타깃 오프체인 노드를 취득하고 서비스 계약 정보를 오라클 계약을 통해 타깃 오프체인 노드에 송신하여, 타깃 오프체인 노드가 서비스 요청 이벤트에 대응하는 이벤트 요청 결과를 취득하도록 한다. 타깃 오프체인 노드에 의해 송신되는 이벤트 요청 결과가 취득되고 이벤트 요청 결과는 계약 식별자에 대응하는 서비스 스마트 계약으로 피드백된다. 본 출원에 따르면, 블록체인 내의 네트워크 노드와 블록체인 외부의 오프체인 노드는 오라클 계약 노드를 통해 연결된다. 블록체인에서의 서비스 스마트 계약의 데이터 관리 및 오프체인 노드와의 데이터 상호작용은 오라클 계약 노드에 의해 구현된다. 오프체인 노드는 서비스 계약 정보에 대응하는 이벤트 요청 결과를 취득하는 프로세스를 자동으로 트리거하고, 이벤트 요청 결과를 오라클 계약 노드에 송신함으로써, 블록체인에서 온체인과 오프체인 사이의 데이터 상호작용의 실시간 성능을 향상시킬 수 있고, 블록체인 메시지 처리의 효율을 더욱 향상시킨다.
또한, 도 5는 본 출원의 일 실시예에 따른 블록체인 메시지 처리의 다른 개략적인 흐름도이다. 도 5에 도시된 바와 같이, 타깃 오프체인 노드를 실행 주체로 하며, 블록체인 메시지 처리 방법은 다음 단계를 포함한다.
단계 S501. 오라클 계약을 통해 오라클 계약 노드에 의해 송신되는 서비스 계약 정보를 취득한다.
구체적으로, 타깃 오프체인 노드는 오라클 계약을 통해 오라클 계약 노드에 의해 송신되는 서비스 계약 정보를 취득하며, 서비스 계약 정보는 서비스 스마트 계약의 계약 식별자 및 서비스 스마트 계약에 대응하는 서비스 요청 이벤트를 포함한다. 타깃 오프체인 노드는 서비스 요청 이벤트에 따라 대응하는 서비스 스마트 계약에 의해 요구되는 데이터를 취득할 수 있으며, 데이터는 이벤트 요청 결과로서 기록될 수 있다.
단계 S502. 서비스 계약 정보에서의 서비스 요청 이벤트에 기초하여 데이터 취득 주소를 결정한다.
구체적으로, 타깃 오프체인 노드는 서비스 요청 이벤트에 기초하여 데이터 취득 주소를 결정한다. 서비스 요청 이벤트는 서비스 요청 객체를 포함할 수 있으며, 서비스 요청 객체는 서비스 스마트 계약이 트리거된 후 요청된 데이터 객체를 나타내는 데 사용되며, 타깃 오프체인 노드는 서비스 요청 객체에 기초하여 데이터 취득 주소를 결정할 수 있다.
단계 S503. 데이터 취득 주소에 액세스하여, 서비스 요청 이벤트에 대응하는 이벤트 요청 결과를 취득하고, 이벤트 요청 결과를 오라클 계약 노드에 송신한다.
구체적으로, 타깃 오프체인 노드는 데이터 취득 주소에 액세스하여, 데이터 취득 주소에 대응하는 콘텐츠 데이터를 취득하고, 콘텐츠 데이터로부터 서비스 요청 이벤트와 연관된 데이터를 서비스 요청에 대응하는 이벤트 요청 결과로서 취득한다. 이벤트 요청 결과는 오라클 계약 노드에 송신되므로, 오라클 계약 노드는 계약 식별자에 대응하는 서비스 스마트 계약에 이벤트 요청 결과를 회신할 수 있다.
본 출원의 실시예에서, 타깃 오프체인 노드는 오라클 계약 노드에 의해 송신되는 서비스 계약 정보에 기초하여 서비스 계약 정보에서 서비스 요청 이벤트를 취득하고, 서비스 요청 이벤트에 따라 인터넷으로부터 이벤트 요청 결과를 취득하고, 이벤트 요청 결과를 오라클 계약 노드에 송신하여, 오라클 계약 노드가 이벤트 요청 결과를 대응하는 서비스 스마트 계약에 회신할 수 있도록 한다. 본 출원 실시예에서, 타깃 오프체인 노드는 블록체인 외부로부터 데이터를 취득한다. 블록체인에서의 서비스 스마트 계약과 블록체인 외부의 오프체인 노드는 오라클 계약 노드를 통해 연결되고, 서비스 스마트 계약과 오프체인 노드 사이의 데이터 상호작용이 구현되어, 블록체인에서 온체인과 오프체인 사이의 데이터 상호작용을 보다 편리하고 빠르게 만든다. 또한, 오프체인 노드는 서비스 계약 정보를 통해 이벤트 요청 결과를 취득하는 프로세스를 자동으로 트리거하여, 오프체인 노드가 이벤트 요청 결과를 실시간으로 취득하고 이벤트 요청 결과를 적시에 오라클 계약 노드에 회신할 수 있도록 함으로써, 블록체인에서 온체인과 오프체인 사이의 데이터 상호작용의 실시간 성능을 향상시키고, 블록체인 메시지 처리의 효율을 더욱 향상시킨다.
또한, 도 6은 본 출원의 일 실시예에 따른 블록체인 메시지 처리의 상호작용 흐름도이다. 도 6에 도시된 바와 같이, 블록체인 메시지 처리 상호작용 프로세스는 다음 단계를 포함한다:
단계 S601. 서비스 스마트 계약을 체이닝한다.
구체적으로, 서비스 계약 노드는 서비스 스마트 계약에 따라 계약 블록을 생성하고, 블록체인의 합의 노드 각각에 계약 블록을 브로드캐스트하여 합의를 수행하고, 계약 블록에 대해 합의에 도달한 경우, 계약 블록을 블록체인에 추가하고, 단계 S602를 트리거한다.
단계 S602. 서비스 계약 노드는 서비스 스마트 계약의 블록 체이닝 메시지를 오라클 계약 노드에 송신한다.
구체적으로, 서비스 계약 노드는 서비스 스마트 계약의 블록 체이닝 메시지를 오라클 계약 노드에 송신한다. 선택적으로, 오라클 계약 노드는 계약 블록의 체이닝 상태를 모니터링할 수 있으며, 계약 블록이 체이닝되는 것을 모니터링하는 경우 블록 체이닝 메시지를 취득할 수 있다.
단계 S603. 오라클 계약 노드는 서비스 계약 정보를 취득한다.
구체적으로, 오라클 계약 노드는 서비스 계약 정보를 취득하고, 서비스 계약 정보를 오라클 계약에 추가한다. 이 프로세스에 대해서는 도 3의 단계 S301에 도시된 구체적인 설명을 참조할 수 있다. 서비스 요청 이벤트는 서비스 요청 객체, 서비스 처리 시간 등을 포함할 수 있다. 또한, 오라클 계약 노드는 서비스 요청 이벤트의 해시 값을 트랜잭션 해시로서 생성하고, 계약 식별자, 트랜잭션 해시 및 서비스 요청 이벤트에 따라 서비스 계약 정보를 생성할 수 있다. 선택적으로, 서비스 스마트 계약은 복수의 트랜잭션 데이터를 포함할 수 있다. 오라클 계약 노드는 서비스 스마트 계약에서의 데이터를 취득하여, 복수의 트랜잭션 데이터를 획득하고, 트랜잭션 데이터에 따라 서비스 계약 정보를 취득한다. 예를 들어, 서비스 스마트 계약은 N개의 트랜잭션 데이터를 포함하고, 오라클 계약 노드는 서비스 스마트 계약에 따라 N개의 서비스 계약 정보를 취득하며, 트랜잭션 데이터는 서비스 계약 정보와 일대일 대응관계에 있고, N은 양의 정수이다.
선택적으로, 오라클 계약은 서비스 매핑 표를 포함하며, 서비스 매핑 표는 서비스 유형 및 서비스 유형에 대응하는 서비스 데이터 세트를 포함한다. 서비스 계약 정보를 취득한 후, 오라클 계약 노드는 서비스 계약 정보의 서비스 요청 이벤트가 속하는 타깃 서비스 유형을 취득하고, 오라클 계약으로부터 타깃 서비스 유형에 대응하는 타깃 서비스 데이터 세트를 취득하고, 서비스 계약 정보를 타깃 서비스 데이터 세트에 추가한다.
예를 들어, 도 7은 본 출원의 일 실시예에 따른 서비스 계약 정보 저장 시나리오의 개략도이다. 도 7에 도시된 바와 같이, 오라클 계약 노드(702)는 트랜잭션 데이터 1, 트랜잭션 데이터 2 및 트랜잭션 데이터 3을 포함하는 계약 블록(701)에서 트랜잭션 데이터를 취득한다. 서비스 계약 정보 1은 트랜잭션 데이터 1에 따라 생성되고, 서비스 계약 정보 2는 트랜잭션 데이터 2에 따라 생성되고 서비스 계약 정보 3은 트랜잭션 데이터 3에 따라 생성된다. 오라클 계약 노드(702)는 서비스 계약 정보 1에서 서비스 요청 이벤트에 대응하는 서비스 유형을 서비스 유형 1로서 취득하고 서비스를 취득하고, 서비스 계약 정보 2에서 서비스 요청 이벤트에 대응하는 유형을 서비스 유형 2로서 취득하고, 서비스 계약 정보 3에서 서비스 요청 이벤트에 대응하는 서비스 유형을 서비스 유형 3으로서 취득한다. 오라클 계약 노드(702)는 모든 서비스 계약 정보를 오라클 계약(703)에 제공한다. 구체적으로 서비스 계약 정보 1 및 서비스 계약 정보 3은 서비스 유형 1에 대응하는 서비스 데이터 세트(704)에 추가되고 서비스 계약 정보 2는 서비스 유형 2에 대응하는 서비스 데이터 세트(705)에 추가된다.
단계 S604. 오라클 계약 노드는 타깃 오프체인 노드를 취득한다.
구체적으로, 오라클 계약 노드는 타깃 오프체인 노드를 취득한다. 선택적으로, 오프체인 노드가 복수인 경우, 오라클 계약 노드는 복수의 오프체인 노드로부터 타깃 오프체인 노드를 취득한다. 자세한 내용은 도 3의 단계 S302에 도시된 구체적인 설명을 참조할 수 있다. 또한, 오라클 계약이 서비스 매핑 표를 포함하는 경우, 서비스 유형 및 서비스 유형에 대응하는 서비스 데이터 세트가 존재한다. 오라클 계약 노드는 서비스 계약 정보를 타깃 서비스 데이터 세트에 추가하고 타깃 서비스에 대응하는 오프체인 노드를 타깃 오프체인 노드로서 취득한다. 오라클 계약의 서비스 매핑 표에 포함된 모든 서비스 계약 정보는 총칭하여 서비스 계약 정보 세트라고 할 수 있으며, 서비스 매핑 표의 각각의 서비스 유형에 대응하는 서비스 계약 정보는 총칭하여 서비스 유형에 대응하는 서비스 데이터 세트라고 할 수 있다. 서비스 계약 정보 세트와 서비스 데이터 세트는 서로 다른 상태의 서비스 계약 정보를 설명하는 데 사용되는 명칭으로 간주될 수 있으며, 엔터티(entity)를 나타내지 않을 수 있다.
도 7을 사용하면, 오라클 계약 노드(702)는 서비스 데이터 세트(704)에 대응하는 타깃 오프체인 노드(706)를 취득하고, 서비스 데이터 세트(705)에 대응하는 타깃 오프체인 노드(707)를 취득할 수 있다.
서비스 매핑 표는 아래의 표 2에 나타낸 것일 수 있다:
[표 2]
Figure pct00002
전술한 표 2의 서비스 유형에 대응하는 서비스 데이터 세트는 하나 이상의 서비스 계약 정보로 구성되거나, 서비스 데이터 세트가 비어 있을 수 있다.
단계 S605. 오라클 계약 노드는 서비스 계약 정보를 타깃 오프체인 노드에 송신한다.
구체적으로, 오라클 계약 노드는 서비스 계약 정보를 타깃 오프체인 노드에 송신한다. 자세한 내용은 도 3의 단계 S302에 도시된 구체적인 설명을 참조할 수 있다. 선택적으로, 서비스 계약 정보가 서비스 요청 이벤트에 대응하는 트랜잭션 해시를 포함하는 경우, 오라클 계약 노드는 오라클 계약을 통해 트랜잭션 해시 및 서비스 요청 이벤트를 타깃 오프체인 노드에 직접 송신할 수 있다. 도 7에 도시된 바와 같이, 오라클 계약 노드(702)는 오라클 계약(703)을 통해 서비스 계약 정보 1 및 서비스 계약 정보 3을 타깃 오프체인 노드(706)로 송신하고, 서비스 계약 정보 2를 타깃 오프체인 노드(707)에 송신한다.
선택적으로, 오라클 계약 노드는 서비스 계약 정보에 따라 서비스 계약 블록을 생성하고, 합의를 수행하기 위해 서비스 계약 블록을 각각의 합의 노드에 브로드캐스트할 수 있다. 합의에 도달한 경우, 서비스 계약 정보가 타깃 오프체인 노드에 송신된다. 합의에 도달하지 못한 경우, 서비스 스마트 계약에 따라 서비스 계약 정보가 재생성되고, 합의에 도달할 때까지 서비스 계약 정보에 대해 합의가 수행되며, 서비스 계약 정보는 타깃 오프체인 노드에 송신한다. 선택적으로, 오라클 계약 노드의 합의 실패 횟수가 합의 예외 임계값 이상인 경우, 오라클에서 오라클 계약 노드가 다시 생성될 수 있다.
단계 S606. 타깃 오프체인 노드는 서비스 계약 정보를 확인한다.
구체적으로, 서비스 계약 정보가 트랜잭션 해시를 포함하는 경우, 타깃 오프체인 노드는 서비스 요청 이벤트의 검증 해시를 생성하고, 검증 해시와 트랜잭션 해시를 비교한다. 트랜잭션 해시가 검증 해시와 동일한 경우, 단계 S607이 트리거된다. 트랜잭션 해시가 검증 해시와 다른 경우, 서비스 데이터 예외 메시지가 오라클 계약 노드에 송신된다. 선택적으로, 타깃 오프체인 노드는 서비스 계약 정보에서 서비스 요청 이벤트를 취득하고, 서비스 요청 이벤트의 비정상 상태를 검출할 수 있다. 구체적으로, 타깃 오프체인 노드는 서비스 요청 이벤트의 서비스 요청 객체 및 서비스 처리 시간의 비정상 상태를 검출할 수 있다. 예를 들어, 서비스 요청 객체와 연관된 데이터가 서비스 처리 시간 내에 취득될 수 있는지가 검출된다. 서비스 요청 이벤트가 비정상인 경우, 서비스 데이터 예외 메시지가 오라클 계약 노드에 송신된다. 서비스 요청 이벤트가 정상인 경우, 단계 S607이 트리거된다. 예를 들어, 서비스 처리 시간이 2020년 6월 2일 15:00인 경우, 서비스 요청 객체는 제1 시합에서 제1 시합 참가자와 제2 시합 참가자의 시합 결과이다. 타깃 오프체인 노드는 2020년 6월 2일 15:00에 제1 시합에서 제1 시합 참가자와 제2 시합 참가자 사이에 시합이 있는지 감지합니다. 시합이 있으면, 서비스 요청 이벤트는 정상인 것으로 결정된다. 시합이 없으면, 서비스 요청 이벤트는 비정상인 것으로 결정된다.
단계 S607. 타깃 오프체인 노드는 서비스 계약 정보에 기초하여 이벤트 요청 결과를 취득한다.
구체적으로, 서비스 계약 정보는 실시간으로 처리되는 서비스 계약 정보 및 처리를 위해 지연된 서비스 계약 정보를 포함하며, 서비스 처리 시간을 포함하는 처리를 위해 지연된 서비스 계약 정보를 포함한다. 서비스 계약 정보가 실시간으로 처리되는 서비스 계약 정보인 경우, 타깃 오프체인 노드는 서비스 계약 정보의 서비스 요청 이벤트에 기초하여 데이터 취득 주소를 결정한다. 구체적으로, 타깃 오프체인 노드는 서비스 요청 이벤트에서의 서비스 요청 객체에 기초하여 데이터 취득 주소를 결정하고, 데이터 취득 주소에 액세스한다.
서비스 계약 정보가 처리를 위해 지연된 서비스 계약 정보인 경우, 타깃 오프체인 노드는 서비스 처리 시간에 기초하여 서비스 계약 정보에 대응하는 서비스 타이머를 생성한다. 서비스 타이머의 값이 서비스 처리 시간과 동일한 경우, 타깃 오프체인 노드는 서비스 계약 정보의 서비스 요청 이벤트에 기초하여 데이터 취득 주소를 결정하고, 데이터 취득 주소에 액세스한다. 선택적으로, 서비스 계약 정보가 처리를 위해 지연된 서비스 계약 정보인 경우, 데이터 취득 주소를 결정한 후, 타깃 오프체인 노드는 서비스 처리 시간에 기초하여 서비스 타이머를 생성할 수 있다. 서비스 타이머의 값이 서비스 처리 시간과 동일한 경우, 타깃 오프체인 노드는 데이터 취득 주소에 액세스한다.
타깃 오프체인 노드는 데이터 취득 주소에 액세스하여, 서비스 요청 이벤트에 대응하는 이벤트 요청 결과를 취득한다. 데이터 취득 주소를 결정하는 프로세스에 대해서는 도 5의 단계 S502를 참조할 수 있으며, 데이터 취득 주소에 액세스하여 서비스 요청 이벤트에 대응하는 이벤트 요청 결과를 취득하는 프로세스는 도 5의 단계 S503을 참조할 수 있다. 예를 들어, 서비스 처리 시간이 2020년 6월 2일 15:00인 경우, 서비스 요청 객체는 제1 시합에서 제1 시합 참가자와 2차 시합 참가자의 시합 결과이다. 타깃 오프체인 노드는 서비스 요청 타깃에 기초하여 데이터 취득 주소를 취득하고, 데이터 취득 주소는 제1 시합의 공식 웹사이트 주소, 제1 시합의 시합 결과 통계 웹사이트 등일 수 있다. 즉, 데이터 취득 주소는 서비스 요청 객체와 연관된 데이터를 취득할 수 있는 웹사이트이다. 타깃 오프체인 노드는 데이터 취득 주소에 액세스하여 서비스 요청 객체와 연련된 데이터를 이벤트 요청 결과로서 취득한다.
단계 S608. 타깃 오프체인 노드는 이벤트 요청 결과를 오라클 계약 노드에 송신한다.
구체적으로, 서비스 계약 정보는 트랜잭션 해시를 포함할 수 있다. 타깃 오프체인 노드는 트랜잭션 해시를 취득하고 트랜잭션 해시와 이벤트 요청 결과를 서비스 응답 메시지로 캡슐화하며, 트랜잭션 해시는 오라클 계약 노드가 계약 식별자를 취득하기 위한 근거(basis)를 나타내는 데 사용된다. 대안적으로, 서비스 계약 정보가 계약 식별자를 포함하는 경우, 타깃 오프체인 노드는 계약 식별자를 취득하고, 계약 식별자와 이벤트 요청 결과를 서비스 응답 메시지로 캡슐화한다. 타깃 오프체인 노드는 서비스 응답 메시지를 오라클 계약 노드에 송신한다.
오라클 계약 노드는 타깃 오프체인 노드에 의해 송신되는 서비스 응답 메시지를 수신하고, 서비스 응답 메시지에서 이벤트 요청 결과를 취득한다. 서비스 응답 메시지는 이벤트 요청 결과 및 트랜잭션 해시를 포함하거나, 서비스 응답 메시지는 이벤트 요청 결과 및 계약 식별자를 포함한다.
단계 S609. 오라클 계약 노드는 이벤트 요청 결과를 서비스 계약 노드에 송신한다.
구체적으로, 서비스 응답 메시지가 이벤트 요청 결과 및 트랜잭션 해시를 포함하는 경우, 오라클 계약 노드는 서비스 응답 메시지에서 트랜잭션 해시를 취득하고, 트랜잭션 해시에 기초하여 이벤트 요청 결과에 대응하는 계약 식별자를 결정한다. 계약 식별자와 트랜잭션 해시 사이에는 연관 관계가 있으며, 연관 관계는 서비스 매핑 표에 저장될 수 있다. 이벤트 요청 결과는 계약 식별자에 대응하는 서비스 스마트 계약에 피드백되어, 서비스 스마트 계약이 이벤트 요청 결과에 기초하여 후속 작업을 수행할 수 있도록 한다.
대안적으로, 서비스 응답 메시지가 이벤트 요청 결과 및 계약 식별자를 포함하는 경우, 타깃 오프체인 노드는 서비스 응답 메시지에서 계약 식별자를 취득하고, 이벤트 요청 결과는 계약 식별자에 대응하는 서비스 스마트 계약에 피드백하여, 서비스 스마트 계약이 이벤트 요청 결과에 따라 후속 작업을 수행할 수 있도록 한다.
예를 들어, 서비스 스마트 계약이 제1 시합에서 제1 시합 참가자와 제2 대회 참가자의 시합 결과에 기초하여 통계 데이터의 양을 할당하면, 서비스 계약 노드는 이벤트 요청 결과를 취득하고, 서비스 스마트 계약을 시작하고, 이벤트 요청 결과 및 서비스 스마트 계약의 할당 규칙에 따라 통계 데이터의 양을 할당한다.
서비스 스마트 계약 및 오라클 계약 노드는 이더리움 스마트 계약 가상 머신(Ethereum smart contract virtual machine, EVM)을 통해 구현될 수 있다.
본 출원의 실시예에서, 서비스 계약 정보는 전술한 블록체인 메시지 처리 프로세스를 통해 취득되고 오라클 계약에 추가된다. 서비스 계약 정보는 서비스 스마트 계약의 계약 식별자 및 서비스 스마트 계약에 대응하는 서비스 요청 이벤트를 포함한다. 타깃 오프체인 노드를 취득하고 서비스 계약 정보를 오라클 계약을 통해 타깃 오프체인 노드에 송신하여, 타깃 오프체인 노드가 서비스 요청 이벤트에 대응하는 이벤트 요청 결과를 취득하도록 한다. 타깃 오프체인 노드에 의해 송신되는 이벤트 요청 결과가 취득되고, 이벤트 요청 결과는 계약 식별자에 대응하는 서비스 스마트 계약으로 피드백된다. 본 출원에 따르면, 블록체인 내의 네트워크 노드와 블록체인 외부의 오프체인 노드는 오라클 계약 노드를 통해 연결된다. 블록체인에서의 서비스 스마트 계약의 데이터 관리 및 오프체인 노드와의 데이터 상호작용은 오라클 계약 노드에 의해 구현된다. 따라서, 블록 체인에서 온체인와 오프체인 사이의 데이터 상호작용이 구현될 수 있다. 또한, 오프체인 노드는 서비스 계약 정보를 통해 이벤트 요청 결과를 취득하는 프로세스를 자동으로 트리거하여, 오프체인 노드가 실시간으로 이벤트 요청 결과를 취득하고, 이벤트 요청 결과를 적시에 오라클 계약 노드에 송신할 수 있도록 함으로써, 블록체인에서 온체인과 오프체인 사이의 데이터 상호작용의 실시간 성능을 향상시킬 수 있고, 블록체인 메시지 처리의 효율을 더욱 향상시킨다. 동시에, 오라클 계약 노드는 노드 간의 상호작용 데이터에 대해 합의 검증을 수행하여, 블록체인에 의해 획득되는 블록체인 외부 데이터에 대한 보안과 신뢰성을 보장할 수 있다.
또한, 도 8은 본 출원의 일 실시예에 따른 오라클의 개략적인 구성도이다. 도 8에 도시된 바와 같이, 오라클은 오라클 계약 노드와 오프체인 노드를 포함한다. 오라클 계약 노드는 오라클 계약(801)을 저장한다. 오프체인 노드(8031) 및 오프체인 노드(8032)와 같은, 하나 또는 둘 이상의 오프체인 노드가 있을 수 있다. 오라클 계약(801)은 데이터베이스(802)를 통해 서비스 매핑 표를 저장할 수 있다. 오프체인 노드(8031) 및 오프체인 노드(8032)는 오라클 계약 노드에서 오라클 계약(801)을 호출하고, 원격 프로시저 호출을 통해 데이터베이스(802)에서 서비스 매핑 표를 취득한다. 오프체인 노드(8031) 또는 오프체인 노드(8032)에 의해 취득되는 서비스 계약 정보가 서비스 처리 시간을 포함하는 경우, 취득한 서비스 계약 정보에 대해 서비스 타이머가 생성된다. 서비스 타이머의 값이 서비스 처리 시간에 도달하는 경우, 요청 프로토콜을 통해 데이터 소스를 호출함으로써 서비스 계약 정보에 대응하는 이벤트 요청 결과가 취득되며(즉, 요청 프로토콜을 통해 데이터 취득 주소가 액세스되고, 데이터 취득 주소가 나타내는 데이터는 데이터 소스라고 할 수 있음), 여기서 요청 프로토콜은 하이퍼텍스트 전송 프로토콜(HyperText Transfer Protocol, http)일 수 있다. 이벤트 요청 결과를 취득한 후, 오프체인 노드(8031) 또는 오프체인 노드(8032)는 이벤트 요청 결과를 오라클 계약 노드의 오라클 계약(801)에 피드백한다.
또한, 도 9는 본 출원의 일 실시예에 따른 블록체인 메시지 처리 장치의 개략도이다. 블록체인 메시지 처리 장치는 컴퓨터 기기에서 실행되는, 컴퓨터로 판독 가능한 명령어(프로그램 코드 포함)일 수 있다. 예를 들어, 블록체인 메시지 처리 장치는 애플리케이션 소프트웨어이다. 이 장치는 본 출원의 실시예에서 제공된 방법에서 대응하는 단계를 수행하도록 구성될 수 있다. 도 9에 도시된 바와 같이, 블록체인 메시지 처리 장치(90)는 도 3, 도 5 또는 도 6에서의 전술한 대응하는 실시예의 컴퓨터 기기에 적용될 수 있다. 구체적으로, 블록체인 메시지 처리 장치(90)는 서비스 취득 모듈(11a), 노드 취득 모듈(12a) 및 결과 취득 모듈(13a)을 포함할 수 있다.
서비스 취득 모듈(11a)은 서비스 계약 정보를 취득하고, 서비스 계약 정보를 오라클 계약에 추가하도록 구성된다. 서비스 계약 정보는 서비스 스마트 계약의 계약 식별자 및 서비스 스마트 계약에 대응하는 서비스 요청 이벤트를 포함한다.
노드 취득 모듈(12a)은 타깃 오프체인 노드를 취득하고, 오라클 계약을 통해 서비스 계약 정보를 타깃 오프체인 노드에 송신하여, 타깃 오프체인 노드가 서비스 요청 이벤트에 대응하는 이벤트 요청 결과를 취득하게 하도록 구성된다.
결과 취득 모듈(13a)은 타깃 오프체인 노드에 의해 송신되는 이벤트 요청 결과를 취득하고, 이벤트 요청 결과를 상기 계약 식별자에 대응하는 서비스 스마트 계약에 회신하도록 구성된다.
서비스 계약 정보를 취득하는 측면에서, 서비스 취득 모듈(11a)은,
계약 블록의 블록 체이닝 메시지를 취득하도록 구성된 계약 취득 유닛(111a) - 블록 체이닝 메시지는 서비스 스마트 계약을 포함함 -;
서비스 스마트 계약의 계약 식별자를 하도록 구성된 식별자 취득 유닛(112a);
서비스 스마트 계약을 파싱하여, 서비스 요청 이벤트를 취득하도록 구성된 이벤트 취득 유닛(113a) - 서비스 요청 이벤트는 서비스 스마트 계약이 트리거된 후 요청된 데이터 객체를 나타내는 데 사용됨 -; 및
계약 식별자 및 서비스 요청 이벤트에 따라 서비스 계약 정보를 생성하도록 구성된 서비스 생성 유닛(114a)을 포함한다.
블록체인 메시지 처리 장치(90)는,
서비스 요청 이벤트의 해시 값을 트랜잭션 해시로서 생성하도록 구성된 해시 생성 모듈(14a)을 더 포함한다.
서비스 생성 유닛(114a)은 구체적으로,
계약 식별자, 트랜잭션 해시 및 서비스 요청 이벤트에 따라 서비스 계약 정보를 생성하도록 구성된다.
타깃 오프체인 노드에 의해 송신되는 이벤트 요청 결과를 취득하는 측면에서, 결과 취득 모듈(13a)은,
타깃 오프체인 노드에 의해 송신되는 서비스 응답 메시지를 서비스 응답 메시지로서 수신하도록 구성된 응답 수신 유닛(131a) - 서비스 응답 메시지는 이벤트 요청 결과 및 상기 트랜잭션 해시를 포함함 -; 및
서비스 응답 메시지에서 이벤트 요청 결과를 취득하도록 구성된 결과 취득 유닛(132a)를 포함한다.
이벤트 요청 결과를 계약 식별자에 대응하는 서비스 스마트 계약에 회신하는 측면에서, 결과 취득 모듈(13a)은,
서비스 응답 메시지에서 트랜잭션 해시를 취득하도록 구성된 해시 취득 유닛(133a);
계약 식별자와 트랜잭션 해시 사이에 연관 관계가 있는 트랜잭션 해시에 기초하여 이벤트 요청 결과에 대응하는 계약 식별자를 결정하도록 구성된 식별자 결정 유닛(134a); 및
이벤트 요청 결과를 계약 식별자에 대응하는 서비스 스마트 계약에 회신하도록 구성된 결과 피드백 유닛(135a)을 포함한다.
오라클 계약은 서비스 매핑 표를 포함하고, 서비스 매핑 표는 서비스 유형 및 서비스 유형에 대응하는 서비스 데이터 세트를 포함한다.
서비스 계약 정보를 오라클 계약에 추가하는 측면에서, 서비스 취득 모듈(11a)은,
서비스 요청 이벤트가 속하는 타깃 서비스 유형을 취득하고, 오라클 계약으로부터 타깃 서비스 유형에 대응하는 타깃 서비스 데이터 세트를 취득하도록 구성된 유형 취득 유닛(115a); 및
서비스 계약 정보를 타깃 서비스 데이터 세트에 추가하도록 구성된 서비스 추가 유닛(116a)을 포함한다.
노드 취득 모듈(12a)은,
타깃 오프체인 노드로서 설정된 타깃 서비스 데이터에 대응하는 오프체인 노드를 취득하도록 구성된 노드 결정 유닛(121a); 및
오라클 계약을 통해 서비스 계약 정보를 타깃 오프체인 노드에 송신하도록 구성된 서비스 송신 유닛(122a)을 포함한다.
타깃 오프체인 노드를 취득하는 측면에서, 노드 취득 모듈(12a)은,
유휴 상태의 오프체인 노드를 후보 오프체인 노드로서 취득하도록 구성된 후보 결정 유닛(123a)을 더 포함한다.
노드 결정 유닛(121a)은 추가로, 후보 오프체인 노드의 네트워크 품질 파라미터를 취득하고, 네트워크 품질 파라미터가 가장 높은 후보 오프체인 노드를 타깃 오프체인 노드로서 결정하도록 구성된다.
계약 식별자에 대응하는 서비스 스마트 계약에 이벤트 요청 결과를 회신하는 측면에서, 결과 취득 모듈(13a)은,
서비스 요청 이벤트에 대응하는 프로토콜 데이터 포맷을 취득하고, 이벤트 요청 결과의 데이터 포맷을 프로토콜 데이터 포맷으로 변환하여, 변환 실행 결과를 취득하도록 구성된 포맷 변환 유닛(136a)을 포함한다.
결과 피드백 유닛(135a)은 추가로, 변환 실행 결과를 계약 식별자에 대응하는 서비스 스마트 계약에 회신하도록 구성된다.
본 출원의 실시예에서는 블록체인 메시지 처리 장치를 설명한다. 이 블록체인 메시지 처리 장치는 서비스 계약 정보를 취득하고 서비스 계약 정보를 오라클 계약에 추가하며 - 서비스 계약 정보는 서비스 스마트 계약의 계약 식별자 및 서비스 스마트 계약에 대응하는 서비스 요청 이벤트를 포함함 -; 타깃 오프체인 노드를 취득하고, 오라클 계약을 통해 서비스 계약 정보를 타깃 오프체인 노드에 송신하여, 타깃 오프체인 노드가 서비스 요청 이벤트에 대응하는 이벤트 요청 결과를 취득하고; 타깃 오프체인 노드에 의해 송신되는 이벤트 요청 결과를 취득하고, 이벤트 요청 결과를 계약 식별자에 대응하는 서비스 스마트 계약에 피드백한다. 본 출원에 따르면 블록체인 내의 네트워크 노드와 블록체인 외부의 오프체인 노드는 오라클 계약 노드를 통해 연결된다. 블록체인에서의 서비스 스마트 계약의 데이터 관리, 및 오프체인 노드와의 데이터 상호작용은 오라클 계약 노드에 의해 구현된다. 따라서, 블록 체인에서 온체인와 오프체인 사이의 데이터 상호작용이 구현될 수 있다. 또한, 오프체인 노드는 서비스 계약 정보를 통해 이벤트 요청 결과를 취득하는 프로세스를 자동으로 트리거하여, 오프체인 노드가 실시간으로 이벤트 요청 결과를 취득하고, 이벤트 요청 결과를 적시에 오라클 계약 노드에 송신할 수 있도록 함으로써, 블록체인에서 온체인과 오프체인 사이의 데이터 상호작용의 실시간 성능을 향상시킬 수 있고, 블록체인 메시지 처리의 효율을 더욱 향상시킨다.
또한, 도 10은 본 출원의 실시예에 따른 다른 블록체인 메시지 처리 장치의 개략도이다. 블록체인 메시지 처리 장치는 컴퓨터 기기에서 실행되는 컴퓨터로 판독 가능한 명령어(프로그램 코드 포함)일 수 있다. 예를 들어, 블록체인 메시지 처리 장치는 애플리케이션 소프트웨어이다. 블록체인 메시지 처리 장치는 본 출원의 실시예에서 제공된 방법에서 대응하는 단계를 수행하도록 구성될 수 있다. 도 10에 도시된 바와 같이, 블록체인 메시지 처리 장치(100)는 도 3, 도 5 또는 도 6에서의 전술한 대응하는 실시예의 컴퓨터 기기에 적용될 수 있다. 블록체인 메시지 처리 장치(100)는 서비스 취득 모듈(11b), 주소 결정 모듈(12b) 및 결과 취득 모듈(13b)을 포함할 수 있다.
서비스 취득 모듈(11b)은 오라클 계약을 통해 오라클 계약 노드에 의해 송신되는 서비스 계약 정보를 취득하도록 구성된다. 서비스 계약 정보는 서비스 스마트 계약의 계약 식별자 및 서비스 스마트 계약에 대응하는 서비스 요청 이벤트를 포함한다.
주소 결정 모듈(12b)은 서비스 요청 이벤트에 기초하여 데이터 취득 주소를 결정하도록 구성된다.
결과 취득 모듈(13b)은 데이터 취득 주소에 액세스하여, 서비스 요청 이벤트에 대응하는 이벤트 요청 결과를 취득하고, 이벤트 요청 결과를 오라클 계약 노드에 송신하여, 오라클 계약 노드가 이벤트 요청 결과를 계약 식별자에 대응하는 서비스 스마트 계약에 피드백하도록 구성된다.
서비스 계약 정보는 트랜잭션 해시를 더 포함한다.
블록체인 메시지 처리 장치(100)는,
서비스 요청 이벤트의 검증 해시를 생성하고, 트랜잭션 해시가 검증 해시와 동일한 경우 서비스 요청 이벤트에 기초하여 데이터 취득 주소를 결정하는 프로세스를 트리거하도록 구성된 해시 생성 모듈(14b); 및
트랜잭션 해시가 검증 해시와 상이한 경우 서비스 데이터 예외 메시지를 오라클 계약 노드에 송신하도록 구성된 예외 송신 모듈(15b)을 더 포함한다.
서비스 요청 이벤트는 서비스 처리 시간을 포함한다.
블록체인 메시지 처리 장치(100)는, 서비스 처리 시간에 기초하여 서비스 타이머를 생성하고, 서비스 타이머의 값이 서비스 처리 시간과 동일한 경우 데이터 취득 주소에 액세스하는 프로세스를 트리거하도록 구성된 시간 매칭 모듈(16b)을 더 포함한다.
이벤트 요청 결과를 오라클 계약 노드에 송신하는 측면에서, 결과 취득 모듈(13b)은,
트랜잭션 해시를 취득하고, 트랜잭션 해시 및 이벤트 요청 결과를 서비스 응답 메시지로 캡슐화하도록 구성된 해시 취득 유닛(131b) - 트랜잭션 해시는 오라클 계약 노드가 계약 식별자를 취득하는 근거를 나타내는 데 사용됨; 및
서비스 응답 메시지를 오라클 계약 노드에 송신하도록 구성된 응답 송신 유닛(132b)을 포함한다.
본 출원의 실시예에서는 블록체인 메시지 처리 장치를 설명한다. 이 블록체인 메시지 처리 장치는 오라클 계약을 통해 오라클 계약 노드에 의해 송신된 서비스 계약 정보를 취득하며 - 서비스 계약 정보는 서비스 스마트 계약의 계약 식별자 및 서비스 스마트 계약에 대응하는 서비스 요청 이벤트를 포함함 -; 서비스 요청 이벤트에 기초하여 데이터 취득 주소를 결정하고, 데이터 취득 주소에 액세스하여, 서비스 요청 이벤트에 대응하는 이벤트 요청 결과를 취득하고, 이벤트 요청 결과를 오라클 계약 노드에 송신하여, 오라클 계약 노드가 이벤트 요청 결과를 계약 식별자에 대응하는 서비스 스마트 계약에 피드백한다. 본 출원의 실시예에서 타깃 오프체인 노드는 블록체인 외부로부터 데이터를 취득한다. 블록체인 내의 서비스 스마트 계약과 블록체인 외부의 오프체인 노드는 오라클 계약 노드를 통해 연결되고, 서비스 스마트 계약과 오프체인 노드 사이의 데이터 상호작용이 구현되어, 블록체인에서 온체인과 오프체인 사이의 데이터 상호작용을 보다 편리하고 빠르게 만든다. 또한, 오프체인 노드는 서비스 계약 정보를 통해 이벤트 요청 결과를 취득하는 프로세스를 자동으로 트리거하여, 오프체인 노드가 이벤트 요청 결과를 실시간으로 취득하고, 이벤트 요청 결과를 오라클 계약 노드에 적시에 회신할 수 있도록 함으로써, 블록체인에서 온체인과 오프체인 사이의 데이터 상호작용의 실시간 성능을 향상시키고, 블록체인 메시지 처리의 효율을 더욱 향상시킨다.
도 11은 본 출원의 일 실시예에 따른 컴퓨터 기기의 개략적인 구성도이다. 도 11에 도시된 바와 같이, 본 출원의 이 실시예에서의 컴퓨터 기기(1100)는 하나 이상의 프로세서(1101), 메모리(1102), 및 입출력 인터페이스(1103)를 포함할 수 있다. 프로세서(1101), 메모리(1102), 입출력 인터페이스(1103)는 버스를 통해 연결된다. 메모리(1102)는 컴퓨터로 판독 가능한 명령어를 저장하도록 구성되며, 컴퓨터로 판독 가능한 명령어는 프로그램 명령어를 포함한다.
입출력 인터페이스(1103)는 합의 네트워크에서 각각의 서비스 스마트 계약과 오라클 계약 노드 사이, 그리고 오라클 계약 노드와 각각의 오프체인 노드 사이의 데이터 상호작용에 적용된다. 프로세서(1101)는 메모리(1102)에 저장된 프로그램 명령어를 실행하여,
서비스 계약 정보를 취득하고, 서비스 계약 정보를 오라클 계약에 추가하는 동작 - 서비스 계약 정보는 서비스 스마트 계약의 계약 식별자 및 서비스 스마트 계약에 대응하는 서비스 요청 이벤트를 포함함 -;
타깃 오프체인 노드를 취득하고, 오라클 계약을 통해 서비스 계약 정보를 타깃 오프체인 노드에 송신하여, 타깃 오프체인 노드가 서비스 요청 이벤트에 대응하는 이벤트 요청 결과를 취득하도록 하는 동작; 및
타깃 오프체인 노드에 의해 송신되는 이벤트 요청 결과를 취득하고, 이벤트 요청 결과를 계약 식별자에 대응하는 서비스 스마트 계약에 회신하는 동작을 수행하도록 구성된다.
대안적으로, 프로세서(1101)는,
오라클 계약을 통해 오라클 계약 노드에 의해 송신되는 서비스 계약 정보를 취득하는 동작 - 서비스 계약 정보는 서비스 스마트 계약의 계약 식별자 및 서비스 스마트 계약에 대응하는 서비스 요청 이벤트를 포함함 -;
서비스 요청 이벤트에 기초하여 데이터 취득 주소를 결정하는 동작; 및
데이터 취득 주소에 액세스하여, 서비스 요청 이벤트에 대응하는 이벤트 요청 결과를 취득하고, 이벤트 요청 결과를 오라클 계약 노드에 송신하여, 오라클 계약 노드가 이벤트 요청 결과를 계약 식별자에 대응하는 서비스 스마트 계약에 피드백하도록 하는 동작을 수행하도록 구성된다.
일부 실행 가능한 구현에서, 프로세서(1101)는 중앙 처리 유닛(central processing unit, CPU)일 수 있다. 프로세서는 또한 다른 범용 프로세서, 디지털 신호 프로세서(digital signal processor, DSP), 주문형 반도체(application specific integrated circuit, ASIC), 필드 프로그래머블 게이트 어레이(field-programmable gate array, FPGA), 또는 다른 프로그래머블 로직 디바이스, 이산 게이트 또는 트랜지스터 로직 디바이스, 개별 하드웨어 구성요소 등일 수 있다. 범용 프로세서는 마이크로프로세서일 수 있거나, 프로세서는 임의의 종래의 프로세서 등일 수 있다.
메모리(1102)는 판독 전용 메모리 및 랜덤 액세스 메모리를 포함할 수 있으며, 프로세서(1101) 및 입출력 인터페이스(1103)에 명령 및 데이터를 제공할 수 있다. 메모리(1102)의 일부는 비휘발성 랜덤 액세스 메모리를 더 포함할 수 있다. 예를 들어, 메모리(1102)는 디바이스 유형(device type)의 정보를 더 저장할 수 있다.
특정 구현에서, 전술한 컴퓨터는 컴퓨터의 내장 기능 모듈을 통해 도 3, 도 5, 또는 도 6에서의 단계에서 제공된 구현을 수행할 수 있다. 세부사항에 대해서는 도 3, 도 5, 또는 도 6에서의 단계에서 제공된 구현을 참조할 수 있으며, 세부 사항은 여기서 다시 설명하지 않는다.
본 출원의 일 실시예는 프로세서, 입출력 인터페이스, 및 메모리를 포함하는 컴퓨터 기기를 제공한다. 프로세서는 도 3, 도 5, 또는 도 6에 도시된 방법의 단계를 수행하기 위해, 메모리에서 컴퓨터 명령어를 취득하여, 블록체인 메시지 처리 동작을 수행한다. 프로세서는 메모리 내의 컴퓨터 명령어를 통해 다음 동작을 수행한다: 서비스 계약 정보를 취득하고, 서비스 계약 정보를 오라클 계약에 추가하는 동작 - 서비스 계약 정보는 서비스 스마트 계약의 계약 식별자 및 서비스 스마트 계약에 대응하는 서비스 요청 이벤트를 포함함 -; 타깃 오프체인 노드를 취득하고, 오라클 계약을 통해 서비스 계약 정보를 타깃 오프체인 노드에 송신하여, 타깃 오프체인 노드가 서비스 요청 이벤트에 대응하는 이벤트 요청 결과를 취득하도록 하는 동작; 및 타깃 오프체인 노드에 의해 송신되는 이벤트 요청 결과를 취득하고, 이벤트 요청 결과를 계약 식별자에 대응하는 서비스 스마트 계약에 회신하는 동작. 본 출원에 따르면 블록체인 내의 네트워크 노드와 블록체인 외부의 오프체인 노드는 오라클 계약 노드를 통해 연결된다. 블록체인에서의 서비스 스마트 계약의 데이터 관리, 및 오프체인 노드와의 데이터 상호작용은 오라클 계약 노드에 의해 구현된다. 따라서, 블록 체인에서 온체인와 오프체인 사이의 데이터 상호작용이 구현될 수 있다. 또한, 오프체인 노드는 서비스 계약 정보를 통해 이벤트 요청 결과를 취득하는 프로세스를 자동으로 트리거하여, 오프체인 노드가 실시간으로 이벤트 요청 결과를 취득하고, 이벤트 요청 결과를 적시에 오라클 계약 노드에 송신할 수 있도록 함으로써, 블록체인에서 온체인과 오프체인 사이의 데이터 상호작용의 실시간 성능을 향상시킬 수 있고, 블록체인 메시지 처리의 효율을 더욱 향상시킨다.
본 출원의 일 실시예는 컴퓨터로 판독 가능한 저장 매체를 더 제공하며, 컴퓨터로 판독 가능한 저장 매체는 컴퓨터로 판독 가능한 명령어를 저장하며, 컴퓨터로 판독 가능한 저장 매체는 프로그램 명령어를 포함한다. 프로그램 명령이 프로세서에 의해 실행될 때, 도 3, 도 5, 또는 도 6에서의 단계에서 제공되는 블록체인 메시지 처리 방법이 구현될 수 있으며, 자세한 것은 도 3, 도 5, 또는 도 6에서의 단계에서의 단계에 제공된 구현을 참조할 수 있으며, 세부사항은 여기서 다시 설명하지 않는다. 또한, 동일한 방법의 유익한 효과에 대한 설명은 여기에서 다시 하지 않는다. 본 출원의 컴퓨터로 판독 가능한 저장 매체의 실시예에서 개시되지 않은 기술적 세부사항에 대해서는 본 출원의 방법 실시예를 참조한다. 일례에서, 프로그램 명령어는 컴퓨터 기기에서 실행되도록 배치되거나, 동일한 위치에 있는 복수의 컴퓨터 기기에서 실행되도록 배치되거나, 복수의 위치에 분산되어 있고 통신 네트워크를 통해 상호연결되어 있는 복수의 컴퓨터 기기에 배치될 수 있다. 복수의 위치에 분산되어 있고 통신 네트워크를 통해 상호연결되어 있는 복수의 컴퓨터 기기는 블록체인 네트워크를 형성할 수 있다.
전술한 컴퓨터로 판독 가능한 저장매체는 전술한 실시예 중 어느 하나의 실시예에서 제공되는 블록체인 메시지 처리 장치이거나, 전술한 컴퓨터의 내부 저장 유닛, 예를 들어, 컴퓨터의 하드 디스크 또는 내부 메모리일 수 있다. 컴퓨터로 판독 가능한 저장 매체는 대안적으로 컴퓨터의 외부 저장 기기, 예를 들면, 컴퓨터에 장착된 착탈식 하드 디스크, 스마트 미디어 카드(smart media card, SMC), 보안 디지털(secure digital, SD) 카드, 플래시 카드 등일 수 있다. 또한, 대안적으로, 컴퓨터로 판독 가능한 저장 매체는 컴퓨터의 내부 저장 기기와 외부 저장 기기를 모두 포함할 수 있다. 컴퓨터로 판독 가능한 저장 매체는 컴퓨터로 판독 가능한 명령어, 컴퓨터가 필요로 하는 기타 프로그램 및 데이터를 저장하도록 구성된다. 컴퓨터로 판독 가능한 저장매체는 추가로, 출력된 데이터 또는 출력될 데이터를 임시로 저장하도록 구성될 수 있다.
일 실시예에서, 메모리 및 하나 이상의 프로세서를 포함하는 컴퓨터 기기가 제공되며, 메모리는 컴퓨터로 판독 가능한 명령어를 저장하고, 하나 이상의 프로세서는 컴퓨터로 판독 가능한 명령어를 실행할 때, 전술한 방법 실시예에서의 동작을 구현한다.
일 실시예에서, 컴퓨터로 판독 가능한 명령어를 저장하는, 컴퓨터로 판독 가능한 하나 이상의 비휘발성 저장 매체가 제공되며, 컴퓨터로 판독 가능한 명령어는 하나 이상의 프로세서에 의해 실행될 때, 전술한 방법 실시예에서의 동작을 구현한다.
일 실시예에서, 컴퓨터 프로그램 제품 또는 컴퓨터 프로그램이 제공되며, 컴퓨터 프로그램 제품 또는 컴퓨터 프로그램은 컴퓨터로 판독 가능한 명령어를 포함하며, 컴퓨터로 판독 가능한 명령어는 컴퓨터로 판독 가능한 저장 매체에 저장되고, 컴퓨터 기기의 프로세서는 컴퓨터로 판독 가능한 저장 매체로부터 컴퓨터로 판독 가능한 명령어를 판독하고, 프로세서는 컴퓨터로 판독 가능한 명령어를 실행하여, 컴퓨터 기기로 하여금 전술한 방법 실시예에서의 동작을 수행하게 한다.
명세서, 청구범위 및 본 출원의 실시예의 첨부된 도면에서, "제1(first)", "제2(second)" 등의 용어는 상이한 대상을 구별하기 위한 것으로 특정 순서를 나타내지 않는다. 또한, "포함하다"라는 용어 및 그 변형은 비배타적 포함을 포괄하도록 의도된다. 예를 들어, 일련의 동작 또는 모듈을 포함하는 프로세스, 방법, 장치, 제품 또는 기기는 나열된 동작 또는 모듈에 한정되지 않는다. 대신에, 선택적으로 나열되지 않은 동작 또는 모듈을 추가로 포함하거나, 프로세스, 방법, 장치, 제품 또는 기기에 고유한 다른 동작 또는 모듈을 선택적으로 추가로 포함한다.
당업자는 본 명세서에 개시된 실시예를 참조하여 설명된 예의 유닛 및 동작이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이들의 조합에 의해 구현될 수 있음을 인식할 수 있다. 하드웨어와 소프트웨어 사이의 상호호환성을 명확하게 설명하기 위해, 전술한 내용에서는 기능에 따른 각각의 예의 구성 및 동작을 일반적으로 설명하였다. 기능이 하드웨어 또는 소프트웨어 모드에서 실행되는지는 구체적인 애플리케이션 및 기술적 방안의 설계 제약 조건에 따라 다르다. 당업자는 각각의 특정 애플리케이션에 대해 설명된 기능을 구현하기 위해 다른 방법을 사용할 수 있지만 그러한 구현이 본 출원의 범위를 벗어나는 것으로 간주되어서는 안 된다.
본 출원의 실시예에서 제공되는 방법 및 관련 장치는 본 출원의 실시예에서 제공되는 방법 흐름도 및/또는 개략적인 구성도를 참조하여 설명되었다. 구체적으로, 방법 흐름도에서의 각 프로세스 및/또는 블록 및/또는 개략 구성도, 그리고 흐름도에서의 프로세스 및/또는 블록의 조합은 컴퓨터로 판독 가능한 명령어에 의해 구현될 수 있다. 이러한 컴퓨터로 판독 가능한 명령어는 범용 컴퓨터, 전용 컴퓨터, 임베디드 프로세서 또는 다른 프로그램 가능한 데이터 처리 장치의 프로세서에 제공되어 기계를 생성할 수 있으므로, 컴퓨터 또는 다른 프로그램 가능한 데이터 처리 장치의 프로세서에 의해 실행되는 명령어는 흐름도 및/또는 개략 구성도에서의 하나 이상의 블록에서의 하나 이상의 프로세스의 특정 기능을 구현하기 위한 장치를 생성한다. 이러한 컴퓨터로 판독 가능한 명령어는 또한 컴퓨터 또는 다른 프로그램 가능한 데이터 처리 기기가 특정 방식으로 작동하도록 가이드할 수 있는 컴퓨터로 판독 가능한 메모리에 저장될 수 있으므로, 컴퓨터 판독 가능한 메모리에 저장된 명령어는 명령 장치(instruction apparatus)를 포함하는 제품을 생성한다. 명령 장치는 흐름도의 하나 이상의 프로시저 및/또는 개략적인 구성도의 하나 이상의 블록에서의 특정 기능을 구현한다. 이러한 컴퓨터로 판독 가능한 명령어는 또한 컴퓨터 또는 다른 프로그램 가능한 데이터 처리 기기에 로드될 수 있어, 일련의 동작 및 단계가 컴퓨터 또는 다른 프로그램 가능한 기기에서 수행되도록 함으로써, 컴퓨터로 구현된 처리(computer-implemented processing)를 생성할 수 있다. 따라서, 컴퓨터 또는 다른 프로그램 가능한 기기에서 실행되는 명령어는 흐름도의 하나 이상의 프로세스 및/또는 개략적인 구성도의 하나 이상의 블록에서의 특정 기능을 구현하기 위한 단계를 제공한다.
이상에서 개시된 것은 단지 본 출원의 실시예의 예시적인 실시예일 뿐이며, 본 출원의 청구범위를 한정하기 위해 의도된 것은 아니다. 따라서, 본 출원의 청구범위에 따라 이루어진 등가 변형은 본 출원의 범위에 속한다.

Claims (15)

  1. 컴퓨터 기기인 오라클 계약 노드에 의해 수행되는 블록체인 메시지 처리 방법으로서,
    서비스 계약 정보를 취득하고, 상기 서비스 계약 정보를 오라클 계약(oracle contract)에 추가하는 단계 - 상기 서비스 계약 정보는 서비스 스마트 계약의 계약 식별자 및 상기 서비스 스마트 계약에 대응하는 서비스 요청 이벤트를 포함함 -;
    타깃 오프체인 노드(target off-chain node)를 취득하고, 상기 오라클 계약을 통해 상기 서비스 계약 정보를 상기 타깃 오프체인 노드에 송신하여, 상기 타깃 오프체인 노드가 상기 서비스 요청 이벤트에 대응하는 이벤트 요청 결과를 취득하도록 하는 단계; 및
    상기 타깃 오프체인 노드에 의해 송신되는 이벤트 요청 결과를 취득하고, 상기 이벤트 요청 결과를 상기 계약 식별자에 대응하는 서비스 스마트 계약에 회신하는 단계
    를 포함하는 블록체인 메시지 처리 방법.
  2. 제1항에 있어서,
    상기 서비스 계약 정보를 취득하는 단계는,
    계약 블록의 블록 체이닝 메시지(block chaining message)를 취득하는 단계 - 상기 블록 체이닝 메시지는 서비스 스마트 계약을 포함함 -;
    상기 서비스 스마트 계약의 계약 식별자를 취득하는 단계;
    상기 서비스 스마트 계약을 파싱하여, 상기 서비스 요청 이벤트를 취득하는 단계 - 상기 서비스 요청 이벤트는 상기 서비스 스마트 계약이 트리거된 후 요청된 데이터 객체를 나타내는 데 사용됨 -; 및
    상기 계약 식별자 및 상기 서비스 요청 이벤트에 따라 상기 서비스 계약 정보를 생성하는 단계를 포함하는, 블록체인 메시지 처리 방법.
  3. 제2항에 있어서,
    상기 블록체인 메시지 처리 방법은,
    상기 서비스 요청 이벤트의 해시 값을 트랜잭션 해시(transaction hash)로서 생성하는 단계를 더 포함하고;
    상기 계약 식별자 및 상기 서비스 요청 이벤트에 따라 상기 서비스 계약 정보를 생성하는 단계는,
    상기 계약 식별자, 상기 트랜잭션 해시 및 상기 서비스 요청 이벤트에 따라 상기 서비스 계약 정보를 생성하는 단계를 포함하는, 블록체인 메시지 처리 방법.
  4. 제3항에 있어서,
    상기 타깃 오프체인 노드에 의해 송신되는 이벤트 요청 결과를 취득하는 단계는,
    상기 타깃 오프체인 노드에 의해 송신되는 서비스 응답 메시지를 수신하는 단계 - 상기 서비스 응답 메시지는 상기 이벤트 요청 결과 및 상기 트랜잭션 해시를 포함함 -; 및
    상기 서비스 응답 메시지 내의 상기 이벤트 요청 결과를 취득하는 단계를 포함하고;
    상기 이벤트 요청 결과를 상기 계약 식별자에 대응하는 서비스 스마트 계약에 회신하는 단계는,
    상기 서비스 응답 메시지 내의 상기 트랜잭션 해시를 취득하는 단계;
    상기 트랜잭션 해시에 기초하여 상기 이벤트 요청 결과에 대응하는 계약 식별자를 결정하는 단계 - 상기 계약 식별자와 상기 트랜잭션 해시 사이에는 연관 관계가 존재함 -; 및
    상기 이벤트 요청 결과를 상기 계약 식별자에 대응하는 서비스 스마트 계약에 회신하는 단계를 포함하는, 블록체인 메시지 처리 방법.
  5. 제1항에 있어서,
    상기 오라클 계약은 서비스 매핑 표를 포함하고, 상기 서비스 매핑 표는 서비스 유형 및 상기 서비스 유형에 대응하는 서비스 데이터 세트를 포함하며;
    상기 서비스 계약 정보를 오라클 계약에 추가하는 단계는,
    상기 서비스 요청 이벤트가 속하는 타깃 서비스 유형을 취득하고, 상기 오라클 계약으로부터 상기 타깃 서비스 유형에 대응하는 타깃 서비스 데이터 세트를 취득하는 단계; 및
    상기 서비스 계약 정보를 상기 타깃 서비스 데이터 세트에 추가하는 단계를 포함하고;
    상기 타깃 오프체인 노드를 취득하고, 상기 오라클 계약을 통해 상기 서비스 계약 정보를 상기 타깃 오프체인 노드에 송신하는 것은,
    상기 타깃 오프체인 노드로서 설정된 타깃 서비스 데이터에 대응하는 오프체인 노드를 취득하는 것; 및
    상기 오라클 계약을 통해 상기 서비스 계약 정보를 타깃 오프체인 노드에 송신하는 것을 포함하는, 블록체인 메시지 처리 방법.
  6. 제1항에 있어서,
    상기 타깃 오프체인 노드를 취득하는 것은,
    유휴 상태의 오프체인 노드를 후보 오프체인 노드로서 취득하는 것; 및
    상기 후보 오프체인 노드의 네트워크 품질 파라미터를 취득하고, 네트워크 품질 파라미터가 가장 높은 후보 오프체인 노드를 타깃 오프체인 노드로서 결정하는 것을 포함하는, 블록체인 메시지 처리 방법.
  7. 제1항에 있어서,
    상기 이벤트 요청 결과를 상기 계약 식별자에 대응하는 서비스 스마트 계약으로 회신하는 단계는,
    상기 서비스 요청 이벤트에 대응하는 프로토콜 데이터 포맷을 취득하고, 상기 이벤트 요청 결과의 데이터 포맷을 상기 프로토콜 데이터 포맷으로 변환하여, 변환 실행 결과를 획득하는 단계; 및
    상기 변환 실행 결과를 상기 계약 식별자에 대응하는 서비스 스마트 계약에 회시하는 단계를 포함하는, 블록체인 메시지 처리 방법.
  8. 컴퓨터 기기인 타깃 오프체인 노드에 의해 수행되는 블록체인 메시지 처리 방법으로서,
    오라클 계약을 통해 오라클 계약 노드에 의해 송신되는 서비스 계약 정보를 취득하는 단계 - 상기 서비스 계약 정보는 서비스 스마트 계약의 계약 식별자 및 상기 서비스 스마트 계약에 대응하는 서비스 요청 이벤트를 포함함 -;
    상기 서비스 요청 이벤트에 기초하여 데이터 취득 주소를 결정하는 단계; 및
    상기 데이터 취득 주소에 액세스하여, 상기 서비스 요청 이벤트에 대응하는 이벤트 요청 결과를 취득하고, 상기 이벤트 요청 결과를 상기 오라클 계약 노드에 송신하여, 상기 오라클 계약 노드가 상기 이벤트 요청 결과를 상기 계약 식별자에 대응하는 서비스 스마트 계약에 피드백하도록 하는 단계
    를 포함하는 블록체인 메시지 처리 방법.
  9. 제8항에 있어서,
    상기 서비스 계약 정보는 트랜잭션 해시를 더 포함하고;
    상기 블록체인 메시지 처리 방법은,
    상기 서비스 요청 이벤트의 검증 해시를 생성하고, 상기 트랜잭션 해시가 상기 검증 해시와 동일한 경우 상기 서비스 요청 이벤트에 기초하여 데이터 취득 주소를 결정하는 프로세스를 트리거하는 단계; 및
    상기 트랜잭션 해시가 상기 검증 해시와 다른 경우 서비스 데이터 예외 메시지를 상기 오라클 계약 노드에 송신하는 단계를 더 포함하는 블록체인 메시지 처리 방법.
  10. 제9항에 있어서,
    상기 서비스 요청 이벤트는 서비스 처리 시간을 포함하고;
    상기 블록체인 메시지 처리 방법은,
    상기 서비스 처리 시간에 기초하여 서비스 타이머를 생성하고, 상기 서비스 타이머의 값이 상기 서비스 처리 시간과 동일한 경우 상기 데이터 취득 주소에 액세스하는 프로세스를 트리거하는 단계를 더 포함하는 블록체인 메시지 처리 방법.
  11. 제9항에 있어서,
    상기 이벤트 요청 결과를 상기 오라클 계약 노드에 송신하는 것은,
    상기 트랜잭션 해시를 취득하고, 상기 트랜잭션 해시 및 상기 이벤트 요청 결과를 서비스 응답 메시지로 캡슐화하는 것 - 상기 트랜잭션 해시는 상기 오라클 계약 노드가 상기 계약 식별자를 취득하는 근거(basis)를 나타내는 데 사용됨 -; 및
    상기 서비스 응답 메시지를 상기 오라클 계약 노드에 송신하는 것을 포함하는, 블록체인 메시지 처리 방법.
  12. 블록체인 메시지 처리 장치로서,
    서비스 계약 정보를 취득하고, 상기 서비스 계약 정보를 오라클 계약에 추가하도록 구성된 서비스 취득 모듈 - 상기 서비스 계약 정보는 서비스 스마트 계약의 계약 식별자 및 상기 서비스 스마트 계약에 대응하는 서비스 요청 이벤트를 포함함 -;
    타깃 오프체인 노드를 취득하고, 상기 오라클 계약을 통해 상기 서비스 계약 정보를 상기 타깃 오프체인 노드에 송신하여, 상기 타깃 오프체인 노드가 상기 서비스 요청 이벤트에 대응하는 이벤트 요청 결과를 취득하게 하도록 구성된 노드 취득 모듈; 및
    상기 타깃 오프체인 노드에 의해 송신되는 이벤트 요청 결과를 취득하고, 상기 이벤트 요청 결과를 상기 계약 식별자에 대응하는 서비스 스마트 계약에 회신하도록 구성된 결과 취득 모듈
    을 포함하는 블록체인 메시지 처리 장치.
  13. 블록체인 메시지 처리 장치로서,
    오라클 계약을 통해 오라클 계약 노드에 의해 송신되는 서비스 계약 정보를 취득하도록 구성된 서비스 취득 모듈 - 상기 서비스 계약 정보는 서비스 스마트 계약의 계약 식별자 및 상기 서비스 스마트 계약에 대응하는 서비스 요청 이벤트를 포함함 -;
    상기 서비스 요청 이벤트에 기초하여 데이터 취득 주소를 결정하도록 구성된 주소 결정 모듈; 및
    상기 데이터 취득 주소에 액세스하여, 상기 서비스 요청 이벤트에 대응하는 이벤트 요청 결과를 취득하고, 상기 이벤트 요청 결과를 상기 오라클 계약 노드에 송신하여, 상기 오라클 계약 노드가 상기 이벤트 요청 결과를 상기 계약 식별자에 대응하는 서비스 스마트 계약에 피드백하게 하도록 구성된 결과 취득 모듈
    을 포함하는 블록체인 메시지 처리 장치.
  14. 메모리 및 하나 이상의 프로세서를 포함하는 컴퓨터 기기로서,
    상기 메모리는 컴퓨터로 판독 가능한 명령어를 저장하고, 상기 컴퓨터로 판독 가능한 명령어는 상기 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금 제1항 내지 제7항 또는 제8항 내지 제11항 중 어느 한 항에 따른 방법의 동작을 구현하게 하는,
    컴퓨터 기기.
  15. 컴퓨터로 판독 가능한 명령어를 저장하는, 컴퓨터로 판독 가능한 하나 이상의 비휘발성 저장 매체로서,
    상기 컴퓨터로 판독 가능한 명령어는 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금 제1항 내지 제7항 또는 제8항 내지 제11항 중 어느 한 항에 따른 방법의 동작을 구현하게 하는,
    컴퓨터로 판독 가능한 하나 이상의 비휘발성 저장 매체.
KR1020227015840A 2020-06-03 2021-05-07 블록체인 메시지 처리 방법 및 장치, 컴퓨터 및 판독 가능한 저장 매체 KR20220079958A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN202010492628.3 2020-06-03
CN202010492628.3A CN111401903B (zh) 2020-06-03 2020-06-03 区块链消息处理方法、装置、计算机以及可读存储介质
PCT/CN2021/092039 WO2021244211A1 (zh) 2020-06-03 2021-05-07 区块链消息处理方法、装置、计算机以及可读存储介质

Publications (1)

Publication Number Publication Date
KR20220079958A true KR20220079958A (ko) 2022-06-14

Family

ID=71431891

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227015840A KR20220079958A (ko) 2020-06-03 2021-05-07 블록체인 메시지 처리 방법 및 장치, 컴퓨터 및 판독 가능한 저장 매체

Country Status (6)

Country Link
US (1) US20220239508A1 (ko)
EP (1) EP4120166A4 (ko)
JP (1) JP7463544B2 (ko)
KR (1) KR20220079958A (ko)
CN (1) CN111401903B (ko)
WO (1) WO2021244211A1 (ko)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11620642B2 (en) * 2018-08-06 2023-04-04 Inveniam Capital Partners, Inc. Digital contracts in blockchain environments
CN111401903B (zh) * 2020-06-03 2020-09-11 腾讯科技(深圳)有限公司 区块链消息处理方法、装置、计算机以及可读存储介质
CN111541554B (zh) * 2020-07-13 2020-11-03 卓尔智联(武汉)研究院有限公司 一种区块链数据处理方法、装置和电子设备
CN111914299B (zh) * 2020-08-20 2021-11-02 深圳市腾盟技术有限公司 预言机接口的优化方法、装置、设备及存储介质
US11637701B2 (en) * 2020-09-23 2023-04-25 Genesys Cloud Services, Inc. Technologies for conducting a data transaction between enterprises using a permissioned blockchain infrastructure and an oracle system
CN111930852B (zh) * 2020-09-29 2022-03-25 北京百度网讯科技有限公司 基于区块链的数据处理方法、装置、设备以及存储介质
CN112632573A (zh) * 2020-12-15 2021-04-09 东软集团股份有限公司 智能合约执行方法、装置、系统、存储介质及电子设备
CN112702270B (zh) * 2020-12-18 2023-05-02 深圳赛安特技术服务有限公司 基于事件分发机制的节点调用方法、系统及存储介质
CN112818058B (zh) * 2021-01-13 2022-10-21 迅鳐成都科技有限公司 区块链与链外系统进行可信数据交互的方法及装置
CN113052721B (zh) * 2021-03-18 2024-04-30 国网北京市电力公司 电力数据的处理方法及装置
CN113034159B (zh) * 2021-03-23 2022-11-04 上海万向区块链股份公司 一种基于区块链预言机技术的企业可信信评系统及方法
CN112948499A (zh) * 2021-03-31 2021-06-11 北京金山云网络技术有限公司 信息获取方法和装置、电子设备和存储介质
CN113010561B (zh) * 2021-03-31 2022-09-06 工银科技有限公司 基于超级账本的数据获取方法、装置、计算机系统
CN113205416A (zh) * 2021-04-19 2021-08-03 杭州溪塔科技有限公司 一种基于区块链预言机的业务处理方法和系统
CN115348044A (zh) * 2021-05-12 2022-11-15 京东数字科技控股股份有限公司 Abs业务系统的业务处理方法、设备及存储介质
CN113379550B (zh) * 2021-06-29 2023-04-14 杭州复杂美科技有限公司 区块执行方法、计算机设备和存储介质
CN113379422B (zh) * 2021-08-12 2021-10-15 腾讯科技(深圳)有限公司 基于智能合约的数据处理方法、设备以及可读存储介质
CN113689296B (zh) * 2021-08-30 2023-11-17 北京泛融科技有限公司 一种异步可信计算的合约调度方法、装置和电子设备
CN114240657A (zh) * 2021-12-15 2022-03-25 杭州趣链科技有限公司 数据处理方法、区块链、终端设备及存储介质
CN114331446B (zh) * 2022-03-15 2022-06-21 北京百度网讯科技有限公司 区块链的链外服务实现方法、装置、设备和介质
CN114338536B (zh) * 2022-03-15 2022-06-17 北京百度网讯科技有限公司 基于区块链的调度方法、装置、设备和介质
CN114327803A (zh) * 2022-03-15 2022-04-12 北京百度网讯科技有限公司 区块链访问机器学习模型的方法、装置、设备和介质
CN114328132A (zh) * 2022-03-15 2022-04-12 北京百度网讯科技有限公司 外部数据源的状态监控方法、装置、设备和介质
CN114362968B (zh) * 2022-03-15 2022-06-17 北京百度网讯科技有限公司 区块链获取随机数的方法、装置、设备和介质
CN114327802B (zh) * 2022-03-15 2022-06-17 北京百度网讯科技有限公司 区块链访问链外数据的方法、装置、设备和介质
CN114640452B (zh) * 2022-03-29 2024-03-26 蚂蚁区块链科技(上海)有限公司 启动区块链上分布式密钥生成过程的方法和系统
CN117376371A (zh) * 2022-06-30 2024-01-09 腾讯科技(深圳)有限公司 数据处理方法、系统、装置、设备及存储介质
CN114969274B (zh) * 2022-07-29 2022-10-25 中航信移动科技有限公司 一种基于区块链预言机的数据处理系统
CN116132166A (zh) * 2023-02-03 2023-05-16 网易(杭州)网络有限公司 基于区块链的通信方法、装置、设备及存储介质

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11526938B2 (en) * 2016-03-31 2022-12-13 Refinitiv Us Organization Llc Systems and methods for providing financial data to financial instruments in a distributed ledger system
WO2018111295A1 (en) 2016-12-16 2018-06-21 Hitachi, Ltd. Blockchain monitoring and management
CN107025559B (zh) * 2017-01-26 2020-09-18 创新先进技术有限公司 一种业务处理方法及装置
CN106919419A (zh) * 2017-02-03 2017-07-04 中钞信用卡产业发展有限公司北京智能卡技术研究院 区块链上的智能合约程序的更新方法及装置
CN109872157A (zh) * 2017-12-01 2019-06-11 北京欧链科技有限公司 区块链中执行智能合约的方法及装置
US10764031B2 (en) * 2017-12-07 2020-09-01 International Business Machines Corporation Blockchain system for pattern recognition
EP3729256B1 (en) * 2017-12-20 2023-10-11 Pencildata, Inc. Dynamically generated smart contracts
US10873625B2 (en) 2018-02-26 2020-12-22 International Business Machines Corpora ! Ion Service management for the infrastructure of blockchain networks
CN108768657A (zh) * 2018-04-17 2018-11-06 深圳技术大学(筹) 一种基于区块链平台的数字证书颁发系统及方法
WO2019246565A1 (en) 2018-06-21 2019-12-26 9Th Gear Technologies, Inc. Blockchain-based method, apparatus, and system to accelerate transaction processing
CN110941859A (zh) * 2018-09-21 2020-03-31 上海派链信息科技有限公司 用于区块链形成共识的方法、设备、计算机可读存储介质和计算机程序产品
CN109525441A (zh) * 2018-12-24 2019-03-26 浙江超脑时空科技有限公司 一种区块链网络链外数据上链方法和装置
SG11201908983WA (en) 2019-03-29 2019-10-30 Alibaba Group Holding Ltd Retrieving access data for blockchain networks using highly available trusted execution environments
US10536537B1 (en) * 2019-06-13 2020-01-14 Accenture Global Solutions Limited Multi-source deterministic oracle management
CN110992020A (zh) * 2019-11-19 2020-04-10 腾讯科技(深圳)有限公司 基于智能合约的数据处理方法、相关节点及存储介质
CN111212037B (zh) * 2019-12-20 2022-09-20 腾讯科技(深圳)有限公司 一种广告数据的处理方法及装置
CN111190714B (zh) * 2019-12-27 2023-05-02 西安交通大学 一种基于区块链的云计算任务调度系统及方法
CN111176668B (zh) * 2019-12-30 2022-04-22 蚂蚁区块链科技(上海)有限公司 预言机部署方法、装置、电子设备及存储介质
CN112329041B (zh) * 2020-03-18 2024-01-23 支付宝(杭州)信息技术有限公司 部署合约的方法及装置
CN111401903B (zh) * 2020-06-03 2020-09-11 腾讯科技(深圳)有限公司 区块链消息处理方法、装置、计算机以及可读存储介质

Also Published As

Publication number Publication date
JP7463544B2 (ja) 2024-04-08
CN111401903A (zh) 2020-07-10
EP4120166A4 (en) 2023-08-30
CN111401903B (zh) 2020-09-11
WO2021244211A1 (zh) 2021-12-09
EP4120166A1 (en) 2023-01-18
JP2023520851A (ja) 2023-05-22
US20220239508A1 (en) 2022-07-28

Similar Documents

Publication Publication Date Title
KR20220079958A (ko) 블록체인 메시지 처리 방법 및 장치, 컴퓨터 및 판독 가능한 저장 매체
CN112799789B (zh) 一种节点集群管理方法、装置、设备及存储介质
US10915822B2 (en) Complex event processing method, apparatus, and system
US8719332B2 (en) Method and system for content categorization
US10848366B2 (en) Network function management method, management unit, and system
US10693816B2 (en) Communication methods and systems, electronic devices, and computer clusters
CN112055078B (zh) 一种数据传输方法、装置、计算机设备和存储介质
CN111614761B (zh) 区块链消息传输方法、装置、计算机以及可读存储介质
CN112751847A (zh) 接口调用请求的处理方法、装置、电子设备及存储介质
CN111200606A (zh) 深度学习模型任务处理方法、系统、服务器及存储介质
CN113361913A (zh) 一种通信业务编排方法、装置、计算机设备及存储介质
CN110096381B (zh) 远程过程调用的实现方法、装置、设备和介质
CN109525443B (zh) 分布式前置采集通讯链路的处理方法、装置和计算机设备
WO2019201111A1 (zh) 信息处理方法、装置、设备及计算机可读存储介质
CN114968617B (zh) Api转换系统及其访问请求处理方法、电子设备及介质
CN112187916B (zh) 一种跨系统的数据同步方法与装置
US20220272391A1 (en) Media processing method
CN115129708A (zh) 数据处理方法、装置和存储介质及电子设备
CN111432357B (zh) 信息处理方法、系统及计算设备
US11086822B1 (en) Application-based compression
CN107005468B (zh) 一种待上载的nsd的确定方法及装置
KR20200032380A (ko) 챗봇 연결 장치 및 방법
CN114448703B (zh) 请求处理方法、装置、电子设备及存储介质
US11985072B2 (en) Multimedia data stream processing method, electronic device, and storage medium
TW202217550A (zh) 異質資料來源間的整合處理系統與方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal