KR102270518B1 - 크로스 블록체인 인증 방법 및 장치 - Google Patents

크로스 블록체인 인증 방법 및 장치 Download PDF

Info

Publication number
KR102270518B1
KR102270518B1 KR1020207015575A KR20207015575A KR102270518B1 KR 102270518 B1 KR102270518 B1 KR 102270518B1 KR 1020207015575 A KR1020207015575 A KR 1020207015575A KR 20207015575 A KR20207015575 A KR 20207015575A KR 102270518 B1 KR102270518 B1 KR 102270518B1
Authority
KR
South Korea
Prior art keywords
data
blockchain
client
authentication
cross
Prior art date
Application number
KR1020207015575A
Other languages
English (en)
Other versions
KR20200081448A (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 KR20200081448A publication Critical patent/KR20200081448A/ko
Application granted granted Critical
Publication of KR102270518B1 publication Critical patent/KR102270518B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • 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
    • 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
    • G06F21/645Protecting data integrity, e.g. using checksums, certificates or signatures using a third party
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • 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/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/389Keeping log of transactions for guaranteeing non-repudiation of a transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/02Banking, e.g. interest calculation or account maintenance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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/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/3271Cryptographic 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 challenge-response
    • H04L9/3273Cryptographic 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 challenge-response for mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q2220/00Business processing using cryptography
    • 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

Abstract

본 명세서의 구현들은 크로스 블록체인 인증을 제공한다. 구독 클라이언트는, 크로스 블록체인 상호작용 시스템의 크로스 체인 클라이언트를 사용하여, 발행 클라이언트에 의해 발행되는 제2 블록체인으로부터의 데이터를 획득하여, 그 데이터를 인증 데이터 소스로서 사용하고, 크로스 블록체인 상호작용 시스템은 구독 클라이언트, 발행 클라이언트, 및 크로스 체인 클라이언트를 포함하고, 구독 클라이언트는 제1 블록체인에 대응하고, 발행 클라이언트는 제2 블록체인에 대응하고, 크로스 체인 클라이언트는 구독 클라이언트 및 발행 클라이언트와 별개로 상호연결되고, 제1 블록체인은, 메인체인으로서 사용되는 제2 블록체인에 앵커링되는 사이드체인으로서 사용된다. 인증될 데이터가 제2 블록체인으로부터 수신된다. 제1 블록체인 상에서 구성되는 데이터 인증 규칙 및 인증 데이터 소스에 기초하여 인증될 데이터에 대해 데이터 인증이 수행된다.

Description

크로스 블록체인 인증 방법 및 장치
[관련 출원들에 대한 상호 참조] 본 출원은 2018년 4월 3일자로 출원된 중국 특허 출원 제201810291256.0호에 대한 우선권을 주장하고, 이 중국 특허 출원은 이로써 그 전체가 참조로 포함된다.
[기술분야] 본 명세서의 하나 이상의 구현들은 블록체인 기술들의 분야, 그리고 특히, 크로스 블록체인 인증(cross-blockchain authentication) 방법 및 장치, 그리고 전자 디바이스에 관한 것이다.
분산 원장 기술(distributed ledger technology)이라고도 또한 지칭되는 블록체인 기술은 몇몇 컴퓨팅 디바이스들이 공동으로 "어카운팅(accounting)"에 참여하여 완전한 분산 데이터베이스를 유지하는 최신 기술이다. 블록체인 기술은 분산화(decentralization) 및 투명성을 특징으로 하고, 각각의 컴퓨팅 디바이스는 데이터베이스에 데이터를 기록할 수 있으며, 데이터는 컴퓨팅 디바이스들 사이에서 급속히 동기화될 수 있다. 그에 따라, 블록체인 기술을 사용하여 분산화된 시스템을 확립하고 자동 실행을 위해 블록체인의 분산 데이터베이스에 다양한 실행 프로그램들을 기록하는 것이 많은 분야들에 널리 적용되었다.
본 명세서는 크로스 블록체인 인증 방법을 제공하고, 여기서 이 방법은 구독 클라이언트(subscribing client), 발행 클라이언트(publishing client), 및 크로스 체인 클라이언트를 포함하는 크로스 블록체인 상호작용 시스템에 적용되고, 구독 클라이언트는 제1 블록체인에 대응하고, 발행 클라이언트는 제2 블록체인에 대응하고, 크로스 체인 클라이언트는 구독 클라이언트 및 발행 클라이언트와 별개로 상호연결되고, 이 방법은: 구독 클라이언트에 의해 크로스 체인 클라이언트를 사용함으로써, 발행 클라이언트에 의해 발행되는 제2 블록체인 상의 데이터를 획득하여, 그 데이터를 인증 데이터 소스로서 사용하는 단계; 제2 블록체인으로부터 인증될 데이터를 수신하는 단계; 및 제1 블록체인 상에서 구성되는 데이터 인증 규칙 및 인증 데이터 소스에 기초하여 인증될 데이터에 대해 데이터 인증을 수행하는 단계를 포함한다.
임의로, 구독 클라이언트에 의해 크로스 체인 클라이언트를 사용함으로써, 발행 클라이언트에 의해 발행되는 제2 블록체인 상의 데이터를 획득하여, 그 데이터를 인증 데이터 소스로서 사용하는 단계는: 구독 클라이언트에 의해, 크로스 체인 상호작용 엔드(cross-chain interaction end)에 대한 구독 요청을 개시하는 단계 - 여기서 구독 요청은 크로스 체인 상호작용 엔드에 구독 조건을 통지하기 위해 사용되어, 크로스 체인 상호작용 엔드가, 구독 조건에 기초하여, 발행 클라이언트로부터 구독 조건을 만족시키는 제2 블록체인 상의 데이터를 요청함 -; 및 구독 클라이언트에 의해, 발행 클라이언트에 의해 발행되고 구독 조건을 만족시키는 제2 블록체인 상의 데이터를 획득하여, 그 데이터를 인증 데이터 소스로서 사용하는 단계를 포함한다.
임의로, 인증 데이터 소스는 제2 블록체인 상의 각각의 블록의 블록 헤더 데이터를 포함한다.
임의로, 제1 블록체인 상에서 구성되는 데이터 인증 규칙 및 인증 데이터 소스에 기초하여 인증될 데이터에 대해 데이터 인증을 수행하는 단계는: 인증될 데이터가 제2 블록체인 상의 블록에 포함되는지 여부를 결정하기 위해, 제1 블록체인 상에서 구성되는 데이터 인증 규칙 및 인증 데이터 소스에 기초하여 인증될 데이터에 대해 SPV 데이터 인증을 수행하는 단계를 포함한다.
임의로, 제1 블록체인 상에서 구성되는 데이터 인증 규칙 및 인증 데이터 소스에 기초하여 인증될 데이터에 대해 SPV 데이터 인증을 수행하는 단계는: 인증될 데이터의 해시 값(hash value)을 계산하는 단계; 인증될 데이터를 포함하는 제2 블록체인 상의 타깃 블록의 머클 트리(Merkle tree) 상의 인증될 데이터의 머클 인증 경로를 획득하는 단계; 인증될 데이터의 해시 값 및 머클 인증 경로 상의 각각의 노드의 해시 값에 기초하여 타깃 블록의 블록 헤더의 해시 값을 계산하는 단계; 및 타깃 블록의 블록 헤더의 계산된 해시 값이, 타깃 블록의 블록 헤더의 것이고 인증 데이터 소스에 저장되는 해시 값과 매칭되는지 여부를 결정하는 단계; 및 매칭된다면, 인증될 데이터가 제2 블록체인 상의 블록에 포함된다고 결정하는 단계를 포함한다.
임의로, 구독 클라이언트는 제1 블록체인 상의 노드 디바이스에 대응하고, 발행 클라이언트는 제2 블록체인 상의 노드 디바이스에 대응한다.
본 명세서는 크로스 블록체인 인증 장치를 추가로 제공하고, 여기서 이 장치는 구독 클라이언트, 발행 클라이언트, 및 크로스 체인 클라이언트를 포함하는 크로스 블록체인 상호작용 시스템에 적용되고, 구독 클라이언트는 제1 블록체인에 대응하고, 발행 클라이언트는 제2 블록체인에 대응하고, 크로스 체인 클라이언트는 구독 클라이언트 및 발행 클라이언트와 별개로 상호연결되고, 이 장치는: 크로스 체인 클라이언트를 사용함으로써, 발행 클라이언트에 의해 발행되는 제2 블록체인 상의 데이터를 획득하여, 그 데이터를 인증 데이터 소스로서 사용하도록 구성되는 취득 모듈; 제2 블록체인으로부터 인증될 데이터를 수신하도록 구성되는 수신 모듈; 및 제1 블록체인 상에서 구성되는 데이터 인증 규칙 및 인증 데이터 소스에 기초하여 인증될 데이터에 대해 데이터 인증을 수행하도록 구성되는 인증 모듈을 포함한다.
임의로, 취득 모듈은: 크로스 체인 상호작용 엔드에 대한 구독 요청을 개시하고 - 여기서 구독 요청은 크로스 체인 상호작용 엔드에 구독 조건을 통지하기 위해 사용되어, 크로스 체인 상호작용 엔드가, 구독 조건에 기초하여, 발행 클라이언트로부터 구독 조건을 만족시키는 제2 블록체인 상의 데이터를 요청함 -; 발행 클라이언트에 의해 발행되고 구독 조건을 만족시키는 제2 블록체인 상의 데이터를 획득하여, 그 데이터를 인증 데이터 소스로서 사용하도록 구성된다.
임의로, 인증 데이터 소스는 제2 블록체인 상의 각각의 블록의 블록 헤더 데이터를 포함한다.
임의로, 인증 모듈은: 인증될 데이터가 제2 블록체인 상의 블록에 포함되는지 여부를 결정하기 위해, 제1 블록체인 상에서 구성되는 데이터 인증 규칙 및 인증 데이터 소스에 기초하여 인증될 데이터에 대해 SPV 데이터 인증을 수행하도록 구성된다.
임의로, 인증 모듈은: 인증될 데이터의 해시 값을 계산하고; 인증될 데이터를 포함하는 제2 블록체인 상의 타깃 블록의 머클 트리 상의 인증될 데이터의 머클 인증 경로를 획득하고; 인증될 데이터의 해시 값 및 머클 인증 경로 상의 각각의 노드의 해시 값에 기초하여 타깃 블록의 블록 헤더의 해시 값을 계산하고; 타깃 블록의 블록 헤더의 계산된 해시 값이, 타깃 블록의 블록 헤더의 것이고 인증 데이터 소스에 저장되는 해시 값과 매칭되는지 여부를 결정하고; 매칭된다면, 인증될 데이터가 제2 블록체인 상의 블록에 포함된다고 결정하도록 추가로 구성된다.
임의로, 구독 클라이언트는 제1 블록체인 상의 노드 디바이스에 대응하고, 발행 클라이언트는 제2 블록체인 상의 노드 디바이스에 대응한다.
본 명세서는, 프로세서; 머신 실행가능 명령어를 저장하도록 구성되는 메모리를 포함하는 전자 디바이스를 추가로 제공한다. 메모리에 저장되고 블록체인 기반 크로스 블록체인 인증 제어 로직에 대응하는 머신 실행가능 명령어를 판독 및 실행함으로써, 프로세서는: 크로스 체인 클라이언트를 사용함으로써, 발행 클라이언트에 의해 발행되는 제2 블록체인 상의 데이터를 획득하여, 그 데이터를 인증 데이터 소스로서 사용하고; 제2 블록체인으로부터 인증될 데이터를 수신하고; 제1 블록체인 상에서 구성되는 데이터 인증 규칙 및 인증 데이터 소스에 기초하여 인증될 데이터에 대해 데이터 인증을 수행하도록 구성된다.
앞선 구현들에 따르면, 구독 클라이언트는, 제1 블록체인 및 제2 블록체인과 별개로 상호연결되는 크로스 체인 클라이언트를 사용함으로써, 발행 클라이언트에 의해 발행되는 제2 블록체인 상의 데이터를 획득하여, 그 데이터를 인증 데이터 소스로서 사용한다. 추가로, 제2 블록체인으로부터 인증될 데이터를 수신할 때, 구독 클라이언트는 제1 블록체인 상에서 구성되는 데이터 인증 규칙 및 인증 데이터 소스에 기초하여 인증될 데이터에 대해 데이터 인증을 수행할 수 있다. 크로스 체인 클라이언트는 구독 및 발행을 통해 제1 블록체인과 제2 블록체인 사이의 데이터를 동기화시키는 데 사용될 수 있고, 동기화된 데이터는 피어 블록체인(peer blockchain)으로부터의 데이터를 인증하기 위한 인증 데이터 소스로서 사용된다. 그에 따라, 상호 분리되었을 때, 상이한 블록체인들은 피어 블록체인 상의 데이터를 검증하고, 비-침습적 사이드체인 앵커링(non-invasive sidechain anchoring)을 구현하여, 다른 블록체인에 더욱 효과적으로 앵커링되며, 낮은 복잡성 및 높은 확장성의 크로스 체인 네트워크를 확립할 수 있다.
도 1은 예시적인 구현에 따른, 크로스 블록체인 상호작용 시스템을 예시하는 개략적인 아키텍처 다이어그램이다.
도 2는 예시적인 구현에 따른, 다른 크로스 블록체인 상호작용 시스템을 예시하는 개략적인 아키텍처 다이어그램이다.
도 3은 예시적인 구현에 따른, 크로스 블록체인 인증 방법을 예시하는 흐름도이다.
도 4는 예시적인 구현에 따른, 인증될 트랜잭션에 대해 수행되는 SPV 인증을 예시하는 흐름도이다.
도 5는 예시적인 구현에 따른, 크로스 블록체인 연관된 이전 시스템(cross-blockchain associated transfer system)을 예시하는 개략적인 구조적 다이어그램이다.
도 6은 예시적인 구현에 따른, 전자 디바이스를 예시하는 개략적인 구조적 다이어그램이다.
도 7은 예시적인 구현에 따른, 크로스 블록체인 인증 장치를 예시하는 블록 다이어그램이다.
도 8은 본 개시내용의 일 구현에 따른, 크로스 블록체인 인증을 위한 컴퓨터 구현 방법의 예를 예시하는 흐름도이다.
사이드체인 기술은, 하나의 블록체인이 메인체인으로서 사용된 후에 메인체인에 기초하여 사이드체인이 전개되고, 사이드체인과 메인체인 사이에 사이드체인 앵커링이 구현되는 기술이다.
사이드체인은, 메인체인으로부터의 데이터를 인증할 수 있는 블록체인이다. 예를 들어, 다른 형태의 트랜잭션, 블록 또는 블록체인 데이터가 메인체인 상의 블록에 포함되는지 여부가 사이드체인 상에서 검증될 수 있다. 다른 블록체인 상의 데이터를 인증할 수 있는 블록체인이 다른 블록체인의 사이드체인이라고 지칭된다. 이에 대응하여, 사이드체인 앵커링은 사이드체인이 메인체인으로부터의 데이터를 인증하는 능력을 가질 수 있게 하도록 사이드체인 상에 인증 루트(authentication root)(통상적으로 인증 데이터 소스 및 인증 규칙을 포함함)를 설정하는 프로세스이다.
본 명세서는 구독 및 발행에 기초하는 사이드체인 앵커링 프레임워크를 제공하여, 상이한 블록체인들이 상호 분리되었을 때 비-침습적 사이드체인 앵커링을 구현할 수 있도록 하는 것을 목표로 한다.
구현 동안, 구독 클라이언트, 발행 클라이언트, 및 크로스 체인 클라이언트를 포함하는 크로스 블록체인 상호작용 시스템이 확립될 수 있다. 구독 클라이언트는 제1 블록체인에 대응하고; 발행 클라이언트는 제2 블록체인에 대응하며, 크로스 체인 클라이언트는 구독 클라이언트 및 발행 클라이언트와 별개로 상호연결될 수 있다.
구독 클라이언트는 제2 블록체인의 데이터에 대해 크로스 체인 클라이언트에 구독하고, 크로스 체인 클라이언트를 사용함으로써, 발행 클라이언트에 의해 발행되는 제2 블록체인 상의 데이터를 획득하여, 그 데이터를 인증 데이터 소스로서 사용할 수 있다.
추가로, 제2 블록체인으로부터 인증될 데이터를 수신할 때, 구독 클라이언트는 제1 블록체인 상에서 구성되는 데이터 인증 규칙 및 인증 데이터 소스에 기초하여 인증될 데이터에 대해 데이터 인증을 수행할 수 있다.
앞선 기술적 솔루션에서, 크로스 체인 클라이언트는 구독 및 발행을 통해 제1 블록체인과 제2 블록체인 사이의 데이터를 동기화시키는 데 사용될 수 있고, 동기화된 데이터는 피어 블록체인으로부터의 데이터를 인증하기 위한 인증 데이터 소스로서 사용된다. 그에 따라, 상호 분리되었을 때, 상이한 블록체인들은 피어 블록체인 상의 데이터를 검증하고, 비-침습적 사이드체인 앵커링을 구현하여, 다른 블록체인에 더욱 효과적으로 앵커링되며, 낮은 복잡성 및 높은 확장성의 크로스 체인 네트워크를 확립할 수 있다.
본 명세서는 특정 적용 시나리오들을 참조하여 특정 구현들을 사용함으로써 아래에 설명된다.
도 1을 참조하면, 도 1은 예시적인 구현에 따른, 크로스 블록체인 상호작용 시스템을 예시하는 개략적인 아키텍처 다이어그램이다.
도 1에 도시된 바와 같이, 크로스 블록체인 상호작용 시스템은 발행 및 구독 모델에 기초하여 확립되는 사이드체인 앵커링 프레임워크일 수 있고, 다음의 것: 제1 블록체인 및 제2 블록체인을 포함할 수 있다.
제1 블록체인은 본 명세서에서 구독 클라이언트에 대응하는 앵커링 체인(사이드체인으로서 사용될 수 있음)이고, 이에 대응하여, 제2 블록체인은 본 명세서에서 발행 클라이언트에 대응하는 앵커링 체인(메인체인으로서 사용될 수 있음)이다.
본 명세서에서, "제1 블록체인" 및 "제2 블록체인"은 상이한 블록체인들 사이를 구별하기 위해서만 단지 사용된다는 것에 주목할 가치가 있다. 제1 블록체인은 일반적으로 사이드체인으로서 사용될 수 있는 블록체인의 타입이며, 제2 블록체인은 일반적으로 메인체인으로서 사용될 수 있는 블록체인의 타입이다. 블록체인이 "제1 블록체인"인지 또는 "제2 블록체인"인지 여부가 특정되어 있지 않다.
구독 클라이언트는 제1 블록체인에 대응하고, 제2 블록체인으로부터 제1 블록체인이 구독한 데이터를 유지하도록 구성된다.
도 1에 도시된 바와 같이, 일 구현에서, 구독 클라이언트는 제1 블록체인 상의 노드 디바이스에 대응할 수 있고, 노드 디바이스에 대응하는 메시지 큐를 유지하도록 구성된다. 메시지 큐는, 노드 디바이스가 구독한 데이터를 포함한다.
예를 들어, 구독 클라이언트는, 제1 블록체인 상의 스마트 계약(smart contract)을 사용함으로써 구현되는 클라이언트 소프트웨어 컴포넌트, 또는 구독 클라이언트와 상호연결되는 노드 디바이스의 고유 확장 능력에 기초하여 구현되는 클라이언트 소프트웨어 컴포넌트일 수 있다.
다른 구현에서, 구독 클라이언트는 제1 블록체인과 독립적으로 디바이스, 노드, 플랫폼 등 상에서 구성될 수 있고, 구현된 브리지 인터페이스(bridge interface)를 사용함으로써 제1 블록체인에 브리지된다.
발행 클라이언트는 제2 블록체인에 대응하고, 합의(consensus)를 통해 완성되는 제2 블록체인 상의 데이터를 획득 및 발행하도록 구성된다.
예를 들어, 구현 동안, 발행 클라이언트는 제2 블록체인 지향 데이터 질의 서비스를 제공하기 위해 브리지 인터페이스를 구현할 수 있고, 제2 블록체인에 브리지된다. 블록체인의 분산 원장 피처에 기초하여, 제2 블록체인 상의 모든 노드 디바이스들은 전체 원장 데이터, 즉, 합의를 통해 동일한 콘텐츠를 가진 블록체인 원장을 유지할 수 있다. 발행 클라이언트는, 블록체인 원장으로부터, 발행되도록 허용되는 메시지를 획득할 수 있어서, 크로스 체인 상호작용 엔드가 메시지를 획득하도록 한다.
일 구현에서, 발행 클라이언트는 제2 블록체인 상의 노드 디바이스에 대응할 수 있다. 다른 구현에서, 발행 클라이언트는 제2 블록체인과 독립적으로 디바이스, 노드, 플랫폼 등 상에서 구성될 수 있다. 다른 구현에서, 발행 클라이언트는 제2 블록체인 상의 노드 디바이스 상에서 구성될 수 있다.
크로스 체인 상호작용 엔드는 브리지 인터페이스들을 사용함으로써 제1 블록체인 및 제2 블록체인과 별개로 상호연결되고, 구현된 데이터 이전 로직에 기초하여 제1 블록체인과 제2 블록체인 사이의 크로스 체인 데이터 동기화를 구현한다. 일 구현에서, 크로스 체인 상호작용 엔드는 구독 클라이언트에 의해 개시되는 구독 요청을 수신할 수 있다. 구독 요청은 구독 조건을 포함하고, 구독 조건은 크로스 체인 상호작용 엔드에 관련 구독 요건을 통지하기 위해 사용된다. 크로스 체인 상호작용 엔드는 구독 클라이언트에 의해 유지되는 데이터 상태를 질의하기 위한 구독 클라이언트에 대한 상태 질의 메시지를 개시하고, 구독 클라이언트에 의해 리턴되는 데이터 상태에 기초하여, 구독 클라이언트에 의해 유지되는 데이터가, 구독 조건을 만족시키는 데이터를 포함하는지 여부를 결정할 수 있다.
예를 들어, 구현 동안, 구독 클라이언트는 제1 블록체인 상의 노드 디바이스에 대응하고, 노드 디바이스가 구독한 데이터를 유지하기 위해, 노드 디바이스에 대응하는 메시지 큐를 유지할 수 있다. 그러한 경우에, 크로스 체인 상호작용 엔드는 메시지 큐의 큐 상태를 질의하기 위한 구독 클라이언트에 대한 상태 질의 메시지를 개시하고, 메시지 큐의 것이고 구독 클라이언트에 의해 리턴되는 큐 상태에 기초하여, 메시지 큐가, 구독 조건을 만족시키는 메시지를 포함하는지 여부를 결정할 수 있다.
구독 클라이언트에 의해 유지되는 데이터가, 구독 조건을 만족시키는 데이터를 포함하는 경우, 크로스 체인 상호작용 엔드는 데이터를 다시 획득할 필요가 없다. 구독 클라이언트에 의해 유지되는 데이터가, 구독 조건을 만족시키는 데이터를 포함하지 않는 경우, 크로스 체인 상호작용 엔드는 발행 클라이언트로부터 구독 조건을 만족시키는 데이터를 획득할 필요가 있다. 예를 들어, 크로스 체인 엔드는 발행 클라이언트로부터 구독 조건을 만족시키는 데이터를 요청할 수 있고, 구독 클라이언트에 의해 리턴되는 데이터를 구독 클라이언트에 전송하여, 구독 클라이언트에 의해 유지되는 데이터를 업데이트한다.
본 명세서에서, 크로스 체인 상호작용 엔드는 발행 클라이언트와 구독 클라이언트 사이의 데이터를 이전하기 위해서만 단지 사용되고, 이전된 데이터를 지속적으로 저장하거나 또는 이전된 데이터의 데이터 상태를 유지할 필요가 없다. 일 구현에서, 크로스 체인 상호작용 엔드는 제1 블록체인 및 제2 블록체인과 독립적으로 디바이스, 노드, 플랫폼 등 상에서 구성될 수 있다. 다른 구현에서, 크로스 체인 상호작용 엔드는 제1 블록체인 상의 노드 디바이스 상에서 또는 제2 블록체인 상의 노드 디바이스 상에서 구성될 수 있다.
도 2에 대한 참조들이 여전히 이루어질 수 있다. 실제 적용들에서, 복수의 상호 독립적인 크로스 체인 상호작용 엔드들이 구독 클라이언트와 발행 클라이언트 사이에서 구성될 수 있다. 다시 말해, 구독 클라이언트 및 발행 클라이언트는 복수의 독립적인 크로스 체인 상호작용 엔드들, 예를 들어, 도 2에 도시된 크로스 체인 상호작용 엔드 1 및 크로스 체인 상호작용 엔드 2와 별개로 상호연결될 수 있다.
이와 같이, 크로스 체인 상호작용 엔드가 서비스 거부 공격 등을 받을 때, 서비스 거부 공격을 받은 크로스 체인 상호작용 엔드에 의해 전달되는 서비스가, 다른 크로스 체인 상호작용 엔드로 신속하게 핸드오버될 수 있다. 예를 들어, 도 2에 도시된 바와 같이, 크로스 체인 상호작용 엔드 1이 서비스 거부 공격을 받을 때, 크로스 체인 상호작용 엔드 1에 의해 전달되는 서비스가 크로스 체인 상호작용 엔드 2로 즉시 핸드오버될 수 있어서, 구독 클라이언트는 여전히, 크로스 체인 상호작용 엔드 2를 사용함으로써, 발행 클라이언트에 의해 발행되는 메시지를 획득할 수 있다.
앞선 구현에서, 발행 및 구독 모델에 기초하여 확립되는 크로스 블록체인 상호작용 시스템에서, 발행 클라이언트 및 구독 클라이언트에 별개로 브리지되는 크로스 체인 상호작용 엔드는 발행 및 구독 정보 교환 모드를 사용함으로써 제1 블록체인과 제2 블록체인 사이의 데이터를 동기화시키는 데 사용된다. 그에 따라, 제1 블록체인과 제2 블록체인 사이의 데이터는 분리될 수 있고, 제1 블록체인과 제2 블록체인은 데이터 동기화를 완료하기 위해 데이터를 직접 교환할 필요가 없다. 부가적으로, 발행 클라이언트와 구독 클라이언트 사이에 크로스 체인 상호작용 엔드가 사용되기 때문에, 발행 클라이언트와 구독 클라이언트는 서비스 관점에서 커플링해제되고, 따라서 발행 클라이언트와 구독 클라이언트를 전개시킴에 있어서의 어려움이 상당히 감소된다. 예를 들어, 발행 클라이언트와 관련된 서비스 로직이 제1 블록체인에 기초하여 구현될 필요가 없고, 구독 클라이언트와 관련된 서비스 로직이 제2 블록체인에 기초하여 구현될 필요가 없으며, 발행 클라이언트와 관련된 서비스 로직 및 구독 클라이언트와 관련된 서비스 로직은 단지 제1 블록체인 및 제2 블록체인 상에서만 각각 구현될 필요가 있다.
도 3을 참조하면, 도 3은 본 명세서의 구현에 따른, 크로스 블록체인 인증 방법을 도시한다. 이 방법은 도 1에 도시된 크로스 블록체인 상호작용 시스템에서의 구독 클라이언트에 적용되고, 다음의 단계들을 포함한다:
단계 302: 구독 클라이언트는, 크로스 체인 클라이언트를 사용함으로써, 발행 클라이언트에 의해 발행되는 제2 블록체인 상의 데이터를 획득하여, 그 데이터를 인증 데이터 소스로서 사용한다.
단계 304: 제2 블록체인으로부터 인증될 데이터를 수신.
단계 306: 제1 블록체인 상에서 구성되는 데이터 인증 규칙 및 인증 데이터 소스에 기초하여 인증될 데이터에 대해 데이터 인증을 수행.
본 구현에서 설명되는 블록체인은, 사이드체인으로서 사용될 수 있고 다른 블록체인 네트워크에 앵커링되는 임의의 타입의 블록체인 네트워크를 포함할 수 있다.
예를 들어, 일 시나리오에서, 블록체인은, 몇몇 멤버 블록체인들을 포함하는 컨소시엄 블록체인(consortium blockchain)에서의 임의의 멤버 블록체인일 수 있다. 컨소시엄 블록체인에서, 각각의 멤버 블록체인은 다른 멤버 블록체인에 앵커링될 사이드체인으로서 사용될 수 있다.
인증될 데이터는, 제1 블록체인 상의 블록들에 기록되는 임의의 형태의 데이터를 포함할 수 있다. 예를 들어, 인증될 데이터는 트랜잭션(이전), 상태, 및 이벤트를 포함할 수 있지만 이에 제한되지 않는다.
본 명세서에서, 제2 블록체인에 대응하는 인증 루트는 구독 클라이언트에서 설정될 수 있어서, 구독 클라이언트가 제2 블록체인 상의 데이터를 인증할 수 있고, 제1 블록체인이 사이드체인으로서 사용되고 제2 블록체인에 앵커링된다.
구독 클라이언트에 특정된 인증 루트는 통상적으로 2개의 부분들: 인증 데이터 소스 및 인증 규칙을 포함한다.
인증 데이터 소스는, 제1 블록체인 상에 저장되는 모든 블록들의 데이터 중 전부 또는 일부를 포함할 수 있다.
인증 데이터 소스에 포함되는 특정 콘텐츠가 통상적으로, 제1 블록체인 및 제2 블록체인에 의해 지원되는 데이터 인증 프로토콜에 의존한다는 것에 주목할 가치가 있다.
예를 들어, 제1 블록체인 및 제2 블록체인은 단순화된 지불 검증(simplified payment verification)(SPV) 인증 프로토콜을 지원한다. 그러한 시나리오에서, 구독 클라이언트에 특정된 인증 데이터 소스는, 제2 블록체인 상에 저장되는 모든 블록들의 블록 헤더 데이터만을 단지 포함할 수 있다.
다른 예로, 제1 블록체인 및 제2 블록체인은 오라클(Oracle) 프로토콜을 지원한다. 그러한 시나리오에서, 구독 클라이언트에 특정된 인증 데이터 소스는, 제2 블록체인 상에서 선택되는 신뢰된 노드(권한 노드라고도 또한 지칭됨)가 제2 블록체인 상의 데이터에 서명할 때 사용되는 개인 키(private key)에 대응하는 공개 키(public key) 또는 공개 키 세트를 포함할 수 있다.
인증 규칙은, 제2 블록체인 상의 데이터를 인증하기 위한 인증 로직을 포함한다. 인증 규칙에 포함되는 인증 로직의 타입은 통상적으로, 제2 블록체인 상에 기록되는 데이터의 특정 타입에 의존한다는 것에 주목할 가치가 있다.
예를 들어, 실제 적용들에서, 제2 블록체인 상의 데이터는 트랜잭션, 상태, 및 이벤트를 포함할 수 있지만 이에 제한되지 않는다. 이에 대응하여, 인증 규칙은 트랜잭션 인증 로직, 블록 인증 로직, 상태 인증 로직, 및 이벤트 인증 로직을 포함할 수 있지만 이에 제한되지 않는다. 부가적으로, 인증 규칙에 포함되는 인증 로직의 특정 콘텐츠는 통상적으로, 제1 블록체인 및 제2 블록체인에 의해 지원되는 데이터 인증 프로토콜에 의존한다.
예를 들어, 제1 블록체인 및 제2 블록체인은 SPV 프로토콜을 지원한다. 그러한 시나리오에서, 구독 클라이언트에 특정된 인증 규칙에 포함되는 인증 로직은, 제2 블록체인으로부터 구독 클라이언트에 의해 수신되는 인증될 데이터가 제2 블록체인 상의 블록에 포함되는지 여부를 인증하기 위한 인증 로직일 수 있다. 인증될 데이터가 제2 블록체인 상의 블록에 포함되는 경우, 인증될 데이터에 대한 인증이 성공한다.
다른 예로, 제1 블록체인 및 제2 블록체인은 오라클 프로토콜을 지원한다. 그러한 시나리오에서, 구독 클라이언트에 특정된 인증 규칙에 포함되는 인증 로직은, 제2 블록체인 상에서 선택되는 신뢰된 노드가 제2 블록체인 상의 데이터에 서명할 때 사용되는 개인 키에 대응하는 특정된 공개 키 또는 공개 키 세트에 기초하여, 제2 블록체인으로부터 구독 클라이언트에 의해 수신되는 인증될 데이터에 포함되는 서명을 검증하기 위한 인증 로직일 수 있다. 인증될 데이터에 포함되는 서명이 신뢰된 노드의 유효한 서명인 경우, 인증될 데이터에 대한 인증이 성공한다.
구독 클라이언트가 제2 블록체인 상의 데이터를 인증하는 프로세스가, 제1 블록체인과 제2 블록체인 양측 모두가 SPV 프로토콜을 지원하고 인증될 데이터가 제2 블록체인 상의 블록에 기록되는 트랜잭션이라는 예를 사용함으로써 아래에 상세히 설명된다.
본 구현에서, 제1 블록체인이 사이드체인으로서 사용되고 메인체인으로서 사용되는 제2 블록체인에 앵커링될 때, 제2 블록체인에 대응하는 인증 루트가 구독 클라이언트에서 구성될 수 있다.
제2 블록체인 상의 트랜잭션을 인증하는 데 사용되는 인증 규칙이 구독 클라이언트에서 구성될 수 있다. SPV 프로토콜의 경우, 인증 규칙은, 인증될 트랜잭션이 제2 블록체인 상의 블록에 포함되는지 여부를 인증하기 위한 인증 로직을 포함할 수 있다.
부가적으로, 구독 클라이언트는 크로스 체인 상호작용 엔드를 사용함으로써 발행 클라이언트와의 크로스 체인 상호작용을 수행하고, 제2 블록체인 상의 각각의 블록의 것이고 발행 클라이언트에 의해 발행되는 블록 헤더 데이터를 획득하여, 그 블록 헤더 데이터를 인증 데이터 소스로서 사용할 수 있다.
구현 동안, 구독 클라이언트는 크로스 체인 상호작용 엔드에 대한 구독 요청을 개시할 수 있고, 구독 요청은, 구독 요건을 표시하는 구독 조건을 포함할 수 있다. SPV 프로토콜의 경우, 인증 데이터 소스는, 제2 블록체인 상의 각각의 블록의 블록 헤더 데이터, 즉, 제2 블록체인 상의 블록들의 블록 헤더들을 포함하는 "단순 블록체인"일 수 있다. 이에 대응하여, 구독 요청에 포함되는 구독 조건에 의해 표시된 구독 요건은, 제2 블록체인 상의 각각의 블록의 블록 헤더 데이터를 획득하는 요건일 수 있다.
구독 요청을 획득한 후에, 크로스 체인 상호작용 엔드는 구독 요청을 파싱하고, 구독 요청에 포함되는 구독 조건에 의해 표시된 구독 요건을 획득할 수 있다.
구독 클라이언트로부터 구독 요건을 획득한 후에, 크로스 체인 상호작용 엔드는 구독 클라이언트에 의해 유지되는 데이터 상태를 질의하기 위한 구독 클라이언트에 대한 상태 질의 메시지를 개시하고, 구독 클라이언트에 의해 리턴되는 데이터 상태에 기초하여, 구독 클라이언트에 의해 유지되는 데이터가, 제2 블록체인 상의 블록들의 블록 헤더들을 포함하는 단순 블록체인을 포함하는지 여부를 결정할 수 있다.
예를 들어, 구독 클라이언트가 메시지 큐를 사용함으로써 구독된 데이터를 유지할 때, 크로스 체인 상호작용 엔드는 메시지 큐의 큐 상태를 질의하기 위한 구독 클라이언트에 대한 상태 질의 메시지를 개시하고, 메시지 큐의 것이고 구독 클라이언트에 의해 리턴되는 큐 상태에 기초하여, 구독 클라이언트에 의해 유지되는 데이터가, 제2 블록체인 상의 블록들의 블록 헤더들을 포함하는 단순 블록체인을 포함하는지 여부를 결정할 수 있다.
구독 클라이언트에 의해 유지되는 데이터가, 제2 블록체인 상의 블록들의 블록 헤더들을 포함하는 단순 블록체인을 포함하는 경우, 크로스 체인 상호작용 엔드는 제2 블록체인 상의 각각의 블록의 블록 헤더 데이터를 다시 획득할 필요가 없다.
구독 클라이언트에 의해 유지되는 데이터가, 제2 블록체인 상의 블록들의 블록 헤더들을 포함하는 단순 블록체인을 포함하지 않는 경우, 크로스 체인 상호작용 엔드는 발행 클라이언트로부터 제2 블록체인 상의 각각의 블록의 블록 헤더 데이터를 획득할 필요가 있다. 예를 들어, 크로스 체인 상호작용 엔드는 발행 클라이언트로부터 제2 블록체인 상의 각각의 블록의 블록 헤더 데이터를 요청하기 위한 데이터 동기화 요청을 발행 클라이언트에 전송하고, 발행 클라이언트에 의해 리턴되는 데이터를 구독 클라이언트에 전송하여, 구독 클라이언트에 의해 유지되는 데이터를 업데이트할 수 있다.
확실히, 실제 적용들에서, 크로스 체인 상호작용 엔드가, 상기에 나타낸 상태 질의 프로세스를 사용함으로써, 새로운 블록이 제2 블록체인에 부가된다고 결정하는 경우, 크로스 체인 상호작용 엔드는 앞서 예시된 데이터 동기화 방법을 사용함으로써 제2 블록체인 상의 새롭게 부가된 블록의 블록 헤더 데이터를 구독 클라이언트에 전송하여, 구독 클라이언트에 의해 유지되는 데이터를 적시에 업데이트할 수 있다.
본 구현에서, 제2 블록체인 상의 각각의 블록의 블록 헤더 데이터를 수신한 후에, 구독 클라이언트는 수신된 블록 헤더 데이터가 유효한지 여부를 결정하기 위해 수신된 블록 헤더 데이터를 추가로 인증할 수 있다. 수신된 블록 헤더 데이터를 인증하는 데 사용되는 인증 규칙은 또한 구독 클라이언트에서 미리 구성될 수 있고, 블록 헤더 데이터의 유효성을 인증하기 위한 인증 규칙에 대응하는 인증 로직은 본 명세서에서 제한되지 않는다.
예를 들어, 일 구현에서, 제1 블록체인 및 제2 블록체인은 작업 증명 합의 메커니즘(Proof of Work consensus mechanism)을 사용하고, 작업 증명 "마이닝(mining)" 난이도에 대응하는 난수(Nonce)가 통상적으로 블록 헤더에 기록된다. 그러한 경우에, 구독 클라이언트는 난수에 기초하여 작업 증명 계산을 수행한 후에, 계산 결과에 기초하여 블록 헤더 데이터의 유효성을 검증할 수 있다.
다른 예로, 다른 구현에서, 몇몇 신뢰된 노드들이 제2 블록체인 상에서 선택되고, 신뢰된 노드들은 발행 클라이언트에 의해 발행되는 블록 헤더 데이터에 서명할 수 있으며, 구독 클라이언트는 신뢰된 노드들의 공개 키들을 사용함으로써 서명을 인증하여, 수신된 블록 헤더 데이터가 유효한지 여부를 결정할 수 있다.
수신된 블록 헤더 데이터의 유효성을 인증한 후에, 구독 클라이언트는 수신된 데이터를 인증 데이터 소스로서 로컬로 저장 및 구성할 수 있다. 후속하여 제2 블록체인으로부터 인증될 트랜잭션을 수신한 후에, 구독 클라이언트는 구성된 인증 규칙 및 인증 데이터 소스에 기초하여 인증될 트랜잭션에 대해 SPV 데이터 인증을 수행하여, 인증될 트랜잭션이 제2 블록체인 상의 블록에 포함되는지 여부를 결정할 수 있다.
실제 적용들에서, 제2 블록체인으로부터 구독 클라이언트에 의해 수신되는 인증될 트랜잭션은, 발행 클라이언트에 의해 능동적으로 발행되고 크로스 체인 상호작용 엔드를 사용함으로써 발행 클라이언트와의 크로스 체인 상호작용을 수행함으로써 구독 클라이언트에 의해 수신되는 트랜잭션, 또는 트랜잭션 인증을 개시한 사용자에 의해 수동으로 제출되는 트랜잭션일 수 있다. 구현들은 본 명세서에서 제한되지 않는다.
도 4를 참조하면, 도 4는 본 명세서의 일 구현에 따른, 인증될 트랜잭션에 대해 수행되는 SPV 인증을 예시하는 흐름도이다. 다음의 실행 단계들이 포함된다.
단계 402: 인증될 트랜잭션의 해시 값을 계산.
인증될 트랜잭션에 대해 SPV 인증을 수행하는 것은, 인증될 트랜잭션의 해시 값이, 제2 블록체인 상의 인증될 트랜잭션을 포함하는 타깃 블록의 것이고 타깃 블록의 머클 트리 상의 머클 인증 경로 상의 각각의 노드의 해시 값에 기초하여 역 계산을 수행함으로써 획득되는 해시 값과 동일한지 여부를 검증하는 프로세스라는 것에 주목할 가치가 있다.
그에 따라, 인증될 트랜잭션에 대해 SPV 인증을 수행하기 전에, 인증될 트랜잭션의 해시 값이 먼저 계산될 필요가 있다. 인증될 트랜잭션의 해시 값을 계산하는 특정 프로세스가 본 구현에서 생략된다.
단계 404: 인증될 트랜잭션을 포함하는 제2 블록체인 상의 타깃 블록의 머클 트리 상의 인증될 트랜잭션의 머클 인증 경로를 획득.
블록체인 상의 블록이 통상적으로 2개의 부분들: 블록 헤더 및 블록 보디(block body)(트랜잭션을 포함함)를 포함한다. 블록에 기록되는 트랜잭션들은 통상적으로 트랜잭션들의 해시 값들의 형태로 머클 트리를 형성한다. 머클 트리 상에서, 블록에 기록되는 각각의 트랜잭션의 해시 값이 리프 노드(leaf node)로서 사용된다. 2개의 인접 트랜잭션들의 해시 값들이 연접(concatenate)된 후에, 결과가 해싱되어 앞선 레벨에서 릴레이 노드(relay node)의 해시 값을 획득하고; 그 후에, 모든 릴레이 노드들 중 2개의 인접 노드들의 해시 값들이 연접되며, 결과가 또한 해싱되어 더 앞선 레벨에서 릴레이 노드의 해시 값을 획득하는 것; 등으로 된다. 레벨별 계산이 복수 회 수행된 후에 머클 트리의 루트 노드의 해시 값이 최종적으로 획득된다. 해시 값이 블록 헤더의 해시 값으로서 사용될 수 있다. 루트 노드 및 리프 노드에 부가적으로, 머클 트리는, 중간 계산 프로세스에서 계산된 해시 값들에 대응하는 몇몇 릴레이 노드들을 더 포함한다.
블록에 기록되는 트랜잭션들의 해시 값들이 머클 트리를 형성하는 특정 프로세스가 본 명세서에서 제한되지 않는다. 본 명세서의 기술적 솔루션을 구현할 때, 본 기술분야의 통상의 기술자는 관련 기술들의 설명들을 참조할 수 있다.
블록체인 상의 각각의 블록에서의 머클 트리 상의 루트 노드, 즉, 블록 헤더의 해시 값이 통상적으로 블록 헤더에 기록된다. 머클 트리 상의 루트 노드 이외의 릴레이 노드 및 리프 노드가 블록 보디에 기록된다.
머클 인증 경로는, 트랜잭션의 해시 값이 머클 트리 상에서 레벨별로 가로지르는 경로 상의 노드에 대응하는 형제 노드(즉, 인접 노드)를 포함하는 경로이다. 트랜잭션에 대해 SPV 인증을 수행하는 프로세스에서, 트랜잭션의 머클 트리 상의 루트 노드에 대응하는 해시 값을 역으로 계산하기 위한 계산 파라미터로서 트랜잭션의 머클 인증 경로가 사용될 수 있다.
머클 인증 경로는 트랜잭션 인증을 개시한 사용자에 의해 수동으로 제출될 수 있거나, 또는 크로스 체인 상호작용 엔드를 사용함으로써 발행 클라이언트와의 크로스 체인 상호작용을 수행함으로써 능동적 질의를 통해 구독 클라이언트에 의해 획득될 수 있다는 것에 주목할 가치가 있다.
일 방법에서, 사용자가 제1 블록체인 상의 구독 클라이언트에 대해 제2 블록체인으로부터의 트랜잭션을 인증하도록 요청할 때, 사용자는 인증 파라미터로서 제2 블록체인 상의 트랜잭션을 포함하는 타깃 블록의 머클 트리에 대해 트랜잭션의 머클 인증 경로를 사용하고, 머클 인증 경로를 구독 클라이언트에 제출할 수 있다.
다른 방법에서, 구독 클라이언트가 크로스 체인 상호작용 엔드를 사용함으로써 발행 클라이언트와의 크로스 체인 상호작용을 수행하여, 인증될 트랜잭션에 대응하는 머클 인증 경로를 능동적으로 질의 및 획득할 때, 발행 클라이언트는 인증될 트랜잭션의 해시 값에 기초하여 제2 블록체인 상의 트랜잭션의 블록을 먼저 위치결정할 수 있다.
트랜잭션의 해시 값에 기초하여 트랜잭션의 블록을 위치결정하는 프로세스가 본 명세서에서 생략된다. 예를 들어, 관련 기술에서, 트랜잭션의 해시 값의 블록을 위치결정하기 위해 블룸 필터(Bloom filter)가 배치될 수 있다. 인증될 트랜잭션의 블록을 위치결정한 후에, 인증될 트랜잭션의 해시 값의 머클 인증 경로는 위치결정된 블록의 머클 트리로부터 추가로 식별될 수 있고, 그 후에 머클 인증 경로가 구독 클라이언트에 전송된다.
단계 406: 인증될 트랜잭션의 해시 값 및 머클 인증 경로 상의 각각의 노드의 해시 값에 기초하여 타깃 블록의 블록 헤더의 해시 값을 계산.
인증될 트랜잭션의 머클 인증 경로를 획득한 후에, 구독 클라이언트는 SPV 프로토콜에 특정된 계산 프로세스에 기초하여 타깃 블록의 블록 헤더의 해시 값(즉, 타깃 블록의 머클 트리 상의 루트 노드의 해시 값)을 계산할 수 있다.
예를 들어, 루트 노드의 해시 값이 계산될 때까지, 다시 말해, 제2 블록체인 상의 인증될 트랜잭션의 타깃 블록의 블록 헤더의 해시 값이 획득될 때까지, SPV 프로토콜에 기초하여, 인증될 트랜잭션의 해시 값과, 머클 인증 경로 상에 있고 인증될 트랜잭션의 노드에 대응하는 형제 노드의 해시 값이 연접되고, 결과가 해싱되어 앞선 레벨에서 릴레이 노드의 해시 값을 획득하고; 그 후에, 릴레이 노드의 해시 값과, 머클 인증 경로 상의 릴레이 노드에 대응하는 형제 노드의 해시 값이 연접되고, 결과가 해싱되어 더 앞선 레벨에서 릴레이 노드의 해시 값을 획득하는 것; 등으로 된다.
단계 408: 타깃 블록의 블록 헤더의 계산된 해시 값이, 타깃 블록의 블록 헤더의 것이고 인증 데이터 소스에 저장되는 해시 값과 매칭되는지 여부를 결정하고; 매칭된다면, 인증될 트랜잭션이 제2 블록체인 상의 블록에 포함된다고 결정.
제2 블록체인 상의 인증될 트랜잭션의 타깃 블록의 블록 헤더의 해시 값을 계산한 후에, 구독 클라이언트는, 타깃 블록의 블록 헤더의 계산된 해시 값을, 타깃 블록의 블록 헤더의 것이고 로컬로 구성된 인증 데이터 소스에 저장되는 해시 값과 매칭시킬 수 있다. 2개의 해시 값들이 일치하는 경우, 인증될 트랜잭션이 제2 블록체인 상의 블록에 포함되고, 인증될 트랜잭션에 대한 인증이 성공하거나, 또는 2개의 해시 값들이 불일치하는 경우, 인증될 트랜잭션이 제2 블록체인 상의 블록에 포함되지 않으며, 인증될 트랜잭션에 대한 인증이 실패한다.
인증될 트랜잭션에 대한 인증이 성공한 후에, 구독 클라이언트는 제1 블록체인 상의 인증될 트랜잭션과 관련된 동작을 트리거할 수 있다.
이해의 용이를 위해, 크로스 블록체인 연관된 이전 시나리오가 설명의 예로서 사용된다.
도 5를 참조하면, 도 5는 예시적인 구현에 따른, 크로스 블록체인 연관된 이전 시스템을 예시하는 개략적인 구조적 다이어그램이다. 도 5에 도시된 바와 같이, 사용자 A는 블록체인 1 상에 어카운트 A1을 그리고 블록체인 2 상에 어카운트 A2를 별개로 가지며, 사용자 B는 블록체인 1 상에 어카운트 B1을 그리고 블록체인 2 상에 어카운트 B2를 별개로 갖는다고 가정한다. 블록체인 1 상의 어카운트 A1 및 어카운트 B1은 특정 타입의 자산 개체(예를 들어, RMB)를 유지하는 데 사용되고, 블록체인 2 상의 어카운트 A2 및 어카운트 B2는 다른 타입의 자산 개체(예를 들어, 증권)를 유지하는 데 사용된다. 사용자 A가 증권을 사용자 B에게 판매하기를 원할 때, 다음의 연관된 이전 로직이 사용될 수 있다: 특정된 수량의 보안 자산들이 어카운트 A2로부터 어카운트 B2로 이전된 후에, 특정된 양의 RMB가 어카운트 B1로부터 어카운트 A1로 이전된다.
이전 프로세스의 신뢰성을 개선시키기 위해, 블록체인 1 및 블록체인 2 상에서 대응하는 스마트 계약들이 별개로 설정되어, 2개의 앞선 이전 프로세스들을 자동으로 완료시키고, 사용자의 수동 이전 프로세스에서 의도적인 또는 의도적이지 않은 이전량 에러, 딜레이 등을 회피하며, 이전 프로세스가 빠르고 정확하게 완료된다는 것을 보장할 수 있다.
앞서 설명된 프로세스에 기초하는, 본 명세서의 기술적 솔루션에 기초하여, 블록체인 1은 사이드체인으로서 사용될 수 있고, 메인체인으로서 사용되는 블록체인 2에 앵커링된다. 그러한 경우에, 사용자는, 특정된 수량의 보안 자산들이 블록체인 2 상의 어카운트 A2로부터 어카운트 B2로 이전된다는 완료된 트랜잭션을, 실행을 위한 입력으로서 스마트 계약에 제출할 수 있다. 그리고, 구독 클라이언트(예를 들어, SPV 월릿(wallet))는, 블록체인 2 상의 구성된 인증 데이터 소스(즉, 블록 헤더 데이터를 포함하는 단순 블록체인)에 기초하여, 트랜잭션이 블록체인 2 상의 블록에 포함되는지 여부를 인증할 수 있다. 인증이 성공하는 경우, 앞선 스마트 계약이 호출되어, 특정된 양의 RMB가 블록체인 1 상의 어카운트 B1로부터 어카운트 A1로 이전되는 트랜잭션을 트리거할 수 있다.
앞선 구현들로부터, 구독 클라이언트가, 제1 블록체인 및 제2 블록체인과 별개로 상호연결되는 크로스 체인 클라이언트를 사용함으로써, 발행 클라이언트에 의해 발행되는 제2 블록체인 상의 데이터를 획득하여, 그 데이터를 인증 데이터 소스로서 사용한다는 것이 학습될 수 있다. 추가로, 제2 블록체인으로부터 인증될 데이터를 수신할 때, 구독 클라이언트는 제1 블록체인 상에서 구성되는 데이터 인증 규칙 및 인증 데이터 소스에 기초하여 인증될 데이터에 대해 데이터 인증을 수행할 수 있다. 크로스 체인 클라이언트는 구독 및 발행을 통해 제1 블록체인과 제2 블록체인 사이의 데이터를 동기화시키는 데 사용될 수 있고, 동기화된 데이터는 피어 블록체인으로부터의 데이터를 인증하기 위한 인증 데이터 소스로서 사용된다. 그에 따라, 상호 분리되었을 때, 상이한 블록체인들은 피어 블록체인 상의 데이터를 검증하고, 비-침습적 사이드체인 앵커링을 구현하여, 다른 블록체인에 더욱 효과적으로 앵커링되며, 낮은 복잡성 및 높은 확장성의 크로스 체인 네트워크를 확립할 수 있다.
앞선 방법 구현들에 대응하여, 본 명세서는 크로스 블록체인 인증 장치의 구현을 추가로 제공한다. 본 명세서에서의 크로스 블록체인 인증 장치의 구현들은 전자 디바이스에 적용될 수 있다. 장치 구현은 소프트웨어, 하드웨어, 또는 하드웨어와 소프트웨어의 조합에 의해 구현될 수 있다. 소프트웨어 구현이 예로서 사용된다. 논리 장치로서, 장치는, 비휘발성 메모리에서의 대응하는 컴퓨터 프로그램 명령어를, 장치가 위치결정되는 전자 디바이스의 프로세서에 의해 실행하기 위한 메모리로 판독함으로써 형성된다. 하드웨어의 관점에서, 도 6에 도시된 바와 같이, 도 6은 본 명세서에서 크로스 블록체인 인증 장치가 위치결정되는 전자 디바이스를 예시하는 하드웨어의 구조적 다이어그램이다. 도 6에 도시된 프로세서, 메모리, 네트워크 인터페이스, 및 비휘발성 메모리에 부가적으로, 본 구현에서 장치가 위치결정되는 전자 디바이스는 통상적으로 전자 디바이스의 실제 기능에 기초하여 다른 하드웨어를 더 포함할 수 있다. 단순화를 위해 세부사항들이 생략된다.
도 7은 본 명세서의 예시적인 구현에 따른, 크로스 블록체인 인증 장치를 예시하는 블록 다이어그램이다.
도 7을 참조하면, 크로스 블록체인 인증 장치(70)는 도 6에 도시된 전자 디바이스에 적용될 수 있고, 전자 디바이스는 구독 클라이언트, 발행 클라이언트, 및 크로스 체인 클라이언트를 포함하는 크로스 블록체인 상호작용 시스템에 위치결정된다. 구독 클라이언트는 제1 블록체인에 대응하고, 발행 클라이언트는 제2 블록체인에 대응하며, 크로스 체인 클라이언트는 구독 클라이언트 및 발행 클라이언트와 별개로 상호연결된다. 장치(70)는 취득 모듈(701), 수신 모듈(702), 및 인증 모듈(703)을 포함한다.
취득 모듈(701)은, 크로스 체인 클라이언트를 사용함으로써, 발행 클라이언트에 의해 발행되는 제2 블록체인 상의 데이터를 획득하여, 그 데이터를 인증 데이터 소스로서 사용하도록 구성된다.
수신 모듈(702)은 제2 블록체인으로부터 인증될 데이터를 수신하도록 구성된다.
인증 모듈(703)은 제1 블록체인 상에서 구성되는 데이터 인증 규칙 및 인증 데이터 소스에 기초하여 인증될 데이터에 대해 데이터 인증을 수행하도록 구성된다.
본 구현에서, 취득 모듈(701)은: 크로스 체인 상호작용 엔드에 대한 구독 요청을 개시하고 - 여기서 구독 요청은 크로스 체인 상호작용 엔드에 구독 조건을 통지하기 위해 사용되어, 크로스 체인 상호작용 엔드가, 구독 조건에 기초하여, 발행 클라이언트로부터 구독 조건을 만족시키는 제2 블록체인 상의 데이터를 요청함 -; 발행 클라이언트에 의해 발행되고 구독 조건을 만족시키는 제2 블록체인 상의 데이터를 획득하여, 그 데이터를 인증 데이터 소스로서 사용하도록 구성된다.
본 구현에서, 인증 데이터 소스는 제2 블록체인 상의 각각의 블록의 블록 헤더 데이터를 포함한다.
본 구현에서, 인증 모듈(703)은 인증될 데이터가 제2 블록체인 상의 블록에 포함되는지 여부를 결정하기 위해, 제1 블록체인 상에서 구성되는 데이터 인증 규칙 및 인증 데이터 소스에 기초하여 인증될 데이터에 대해 SPV 데이터 인증을 수행하도록 구성된다.
본 구현에서, 인증 모듈(703)은: 인증될 데이터의 해시 값을 계산하고; 인증될 데이터를 포함하는 제2 블록체인 상의 타깃 블록의 머클 트리 상의 인증될 데이터의 머클 인증 경로를 획득하고; 인증될 데이터의 해시 값 및 머클 인증 경로 상의 각각의 노드의 해시 값에 기초하여 타깃 블록의 블록 헤더의 해시 값을 계산하고; 타깃 블록의 블록 헤더의 계산된 해시 값이, 타깃 블록의 블록 헤더의 것이고 인증 데이터 소스에 저장되는 해시 값과 매칭되는지 여부를 결정하고; 매칭된다면, 인증될 데이터가 제2 블록체인 상의 블록에 포함된다고 결정하도록 추가로 구성된다.
본 구현에서, 구독 클라이언트는 제1 블록체인 상의 노드 디바이스에 대응하고, 발행 클라이언트는 제2 블록체인 상의 노드 디바이스에 대응한다.
장치에서의 각각의 모듈의 기능들 및 역할들의 구현 프로세스에 대해, 앞선 방법에서의 대응하는 단계의 구현 프로세스에 대한 참조들이 이루어질 수 있다. 단순화를 위해 여기서는 세부사항들이 생략된다.
장치 구현은 기본적으로 방법 구현에 대응하기 때문에, 관련 부분들에 대해서는, 방법 구현에서의 관련 설명들에 대한 참조들이 이루어질 수 있다. 앞서 설명된 장치 구현은 단지 예일 뿐이다. 별개의 부분들로서 설명되는 모듈들은 물리적으로 분리될 수도 있거나 또는 분리되지 않을 수도 있고, 모듈들로서 디스플레이되는 부분들은 물리적 모듈들일 수도 있거나 또는 아닐 수도 있거나, 하나의 위치에 위치결정될 수도 있거나, 또는 복수의 네트워크 모듈들 상에 분산될 수도 있다. 본 명세서에서의 솔루션들의 목표들을 달성하기 위해 실제 요구들에 기초하여 모듈들 중 일부 또는 전부가 선택될 수 있다. 본 기술분야의 통상의 기술자는 창조적 노력들 없이 본 명세서의 구현들을 이해하고 구현할 수 있다.
앞선 구현들에서 예시된 시스템, 장치, 또는 모듈은 컴퓨터 칩 또는 엔티티를 사용함으로써 구현될 수 있거나, 또는 특정 기능을 갖는 제품을 사용함으로써 구현될 수 있다. 전형적인 구현 디바이스는 컴퓨터이고, 컴퓨터는 퍼스널 컴퓨터, 랩톱 컴퓨터, 셀룰러 폰, 카메라 폰, 스마트폰, 개인 휴대 정보 단말기(personal digital assistant), 미디어 플레이어, 내비게이션 디바이스, 이메일 수신 및 전송 디바이스, 게임 콘솔, 태블릿 컴퓨터, 웨어러블 디바이스, 또는 이들 디바이스들의 임의의 조합일 수 있다.
앞선 방법 구현에 대응하여, 본 명세서는 전자 디바이스의 일 구현을 추가로 제공한다. 전자 디바이스는 구독 클라이언트, 발행 클라이언트, 및 크로스 체인 클라이언트를 포함하는 크로스 블록체인 상호작용 시스템에 위치결정되고, 구독 클라이언트는 제1 블록체인에 대응하고, 발행 클라이언트는 제2 블록체인에 대응하고, 크로스 체인 클라이언트는 구독 클라이언트 및 발행 클라이언트와 별개로 상호연결되고, 전자 디바이스는, 프로세서, 및 머신 실행가능 명령어를 저장하도록 구성되는 메모리를 포함하고, 프로세서 및 메모리는 통상적으로 내부 버스를 사용함으로써 서로 연결된다. 다른 가능한 구현에서, 디바이스는, 다른 디바이스 또는 컴포넌트와 통신하기 위해 외부 인터페이스를 더 포함할 수 있다.
본 구현에서, 메모리에 저장되고 크로스 블록체인 인증 제어 로직에 대응하는 머신 실행가능 명령어를 판독 및 실행함으로써, 프로세서는 크로스 체인 클라이언트를 사용함으로써, 발행 클라이언트에 의해 발행되는 제2 블록체인 상의 데이터를 획득하여, 그 데이터를 인증 데이터 소스로서 사용하고; 제2 블록체인으로부터 인증될 데이터를 수신하고; 제1 블록체인 상에서 구성되는 데이터 인증 규칙 및 인증 데이터 소스에 기초하여 인증될 데이터에 대해 데이터 인증을 수행하도록 구성된다.
본 구현에서, 메모리에 저장되고 크로스 블록체인 인증 제어 로직에 대응하는 머신 실행가능 명령어를 판독 및 실행함으로써, 프로세서는: 크로스 체인 상호작용 엔드에 대한 구독 요청을 개시하고 - 여기서 구독 요청은 크로스 체인 상호작용 엔드에 구독 조건을 통지하기 위해 사용되어, 크로스 체인 상호작용 엔드가, 구독 조건에 기초하여, 발행 클라이언트로부터 구독 조건을 만족시키는 제2 블록체인 상의 데이터를 요청함 -; 프로세서에 의해 구현되는 구독 클라이언트에 의해, 발행 클라이언트에 의해 발행되고 구독 조건을 만족시키는 제2 블록체인 상의 데이터를 획득하여, 그 데이터를 인증 데이터 소스로서 사용하도록 구성된다.
본 구현에서, 메모리에 저장되고 크로스 블록체인 인증 제어 로직에 대응하는 머신 실행가능 명령어를 판독 및 실행함으로써, 프로세서는 인증될 데이터가 제2 블록체인 상의 블록에 포함되는지 여부를 결정하기 위해, 제1 블록체인 상에서 구성되는 데이터 인증 규칙 및 인증 데이터 소스에 기초하여 인증될 데이터에 대해 SPV 데이터 인증을 수행하도록 구성된다.
본 구현에서, 메모리에 저장되고 크로스 블록체인 인증 제어 로직에 대응하는 머신 실행가능 명령어를 판독 및 실행함으로써, 프로세서는: 인증될 데이터의 해시 값을 계산하고; 인증될 데이터를 포함하는 제2 블록체인 상의 타깃 블록의 머클 트리 상의 인증될 데이터의 머클 인증 경로를 획득하고; 인증될 데이터의 해시 값 및 머클 인증 경로 상의 각각의 노드의 해시 값에 기초하여 타깃 블록의 블록 헤더의 해시 값을 계산하고; 타깃 블록의 블록 헤더의 계산된 해시 값이, 타깃 블록의 블록 헤더의 것이고 인증 데이터 소스에 저장되는 해시 값과 매칭되는지 여부를 결정하고; 매칭된다면, 인증될 데이터가 제2 블록체인 상의 블록에 포함된다고 결정하도록 구성된다.
본 기술분야의 통상의 기술자는 본 명세서를 숙고하여 여기서의 본 개시내용을 실시한 후에 본 명세서의 다른 구현 솔루션을 용이하게 파악할 수 있다. 본 명세서는 본 명세서의 임의의 변형들, 사용들, 또는 적응들을 커버하도록 의도되고, 이들 변형들, 사용들, 또는 적응들은 본 명세서의 일반적인 원리를 따르고 본 명세서의 기술분야에서 개시되지 않은 종래의 기법들 또는 통상의 지식을 포함한다. 본 명세서 및 구현들은 단지 예들로서 간주될 뿐이고, 본 명세서의 실제 범주 및 사상은 다음의 청구범위에 의해 나타내어진다.
본 명세서는 상기에 설명되고 도면들에 도시되는 정밀한 구조체들로 제한되지 않으며, 본 명세서의 범주로부터 벗어남이 없이 다양한 수정들 및 변경들이 이루어질 수 있다는 것을 이해해야 한다. 본 명세서의 범주는 첨부된 청구범위에 의해서만 제한된다.
앞선 설명들은 단지 본 명세서의 선호되는 구현들일 뿐이고, 본 명세서를 제한하려고 의도된 것이 아니다. 본 명세서의 사상 및 원리로부터 벗어남이 없이 이루어지는 임의의 수정, 동등한 대체, 또는 개선이 본 명세서의 보호 범주 내에 있어야 한다.
도 8은 본 개시내용의 일 구현에 따른, 크로스 블록체인 인증을 위한 컴퓨터 구현 방법(800)의 예를 예시하는 흐름도이다. 제시의 명확성을 위해, 다음의 설명은 일반적으로 이 설명에서의 다른 도면들의 맥락에서 방법(800)을 설명한다. 그러나, 방법(800)은, 예를 들어, 임의의 시스템, 환경, 소프트웨어, 및 하드웨어, 또는 시스템들, 환경들, 소프트웨어, 및 하드웨어의 조합에 의해, 적절하게 수행될 수 있다는 것이 이해될 것이다. 일부 구현들에서, 방법(800)의 다양한 단계들은 병렬로, 조합하여, 루프들에서, 또는 임의의 순서로 실행될 수 있다.
802에서, 크로스 블록체인 상호작용 시스템의 크로스 체인 클라이언트를 사용함으로써 구독 클라이언트에 의해 데이터가 검색된다. 데이터는, 예를 들어, 트랜잭션, 상태, 또는 이벤트일 수 있다. 데이터는 발행 클라이언트에 의해 발행되는 제2 블록체인으로부터 검색된다. 데이터는, 예를 들어, 인증 데이터 소스로서 사용된다. 크로스 블록체인 상호작용 시스템은 구독 클라이언트, 발행 클라이언트, 및 크로스 체인 클라이언트를 포함한다. 구독 클라이언트는 제1 블록체인에 대응하고, 제2 블록체인으로부터 제1 블록체인이 구독한 데이터를 유지하도록 구성된다. 구독 클라이언트는, 예를 들어, 제1 블록체인 상의 노드 디바이스에 대응할 수 있고, 여기서 노드 디바이스는 노드 디바이스에 대응하는 메시지 큐를 유지하도록 구성된다. 발행 클라이언트는 제2 블록체인에 대응하고, 합의를 통해 완성되는 제2 블록체인 상의 데이터를 획득 및 발행하도록 구성될 수 있다. 크로스 체인 클라이언트는 구독 클라이언트와 별개로 상호연결된다. 발행 클라이언트 및 제1 블록체인은, 메인체인으로서 사용되는 제2 블록체인에 앵커링되는 사이드체인으로서 사용된다. 일 예로서, 도 1의 크로스 블록체인 상호작용 시스템을 참조하면, 데이터는 크로스 블록체인 상호작용 시스템의 크로스 체인 클라이언트를 사용함으로써 도 1의 구독 클라이언트에 의해 검색될 수 있다. 도 1의 크로스 블록체인 상호작용 시스템은, 예를 들어, 발행 및 구독 모델에 기초하여 확립되는 사이드체인 앵커링 프레임워크일 수 있다. 데이터는 도 1의 발행 클라이언트에 의해 발행되는 도 1의 제2 블록체인으로부터 검색될 수 있다. 도 1의 크로스 블록체인 상호작용 시스템은 도 1의 구독 클라이언트 및 도 1의 발행 클라이언트를 포함한다. 크로스 체인 클라이언트 엔드는 도 1의 발행 클라이언트와 도 1의 구독 클라이언트 사이의 상호작용들을 핸들링할 수 있다. 구독 클라이언트는 도 1의 제1 블록체인에 대응할 수 있고, 발행 클라이언트는 도 1의 제2 블록체인에 대응할 수 있다. 크로스 체인 클라이언트는 구독 클라이언트와 별개로 상호연결될 수 있다. 발행 클라이언트 및 제1 블록체인은, 메인체인으로서 사용되는 제2 블록체인에 앵커링되는 사이드체인으로서 사용될 수 있다. 일부 구현들에서, 구독 클라이언트는, 예를 들어, 제1 블록체인 상의 노드 디바이스에 대응할 수 있다. 일부 구현들에서, 발행 클라이언트는, 예를 들어, 제2 블록체인 상의 노드 디바이스에 대응할 수 있다.
일부 구현들에서, 데이터를 검색하는 것은 구독 요청의 사용을 포함할 수 있다. 예를 들어, 도 1의 구독 클라이언트에 의해 개시되는 구독 요청은 도 1의 크로스 체인 상호작용 엔드로 전송될 수 있다. 구독 요청은 크로스 체인 상호작용 엔드에게 구독 조건을 통지하기 위해 사용될 수 있다. 요청은, 구독 조건에 기초하여, 도 1의 발행 클라이언트로부터 구독 조건을 만족시키는 도 1의 제2 블록체인 상의 데이터를 요청하도록 크로스 체인 상호작용 엔드를 트리거할 수 있다. 도 1의 발행 클라이언트에 의해 발행되고 구독 조건을 만족시키는 도 1의 제2 블록체인 상의 데이터는 인증 데이터 소스로서의 데이터의 사용을 위해 도 1의 구독 클라이언트에 의해 검색될 수 있다. 예를 들어, 인증 데이터 소스는 도 1의 제2 블록체인 상의 각각의 블록의 블록 헤더 데이터를 포함할 수 있다. 일부 구현들에서, 인증 데이터 소스는 도 1의 제1 블록체인 및 도 1의 제2 블록체인에 의해 지원되는 데이터 인증 프로토콜에 의존할 수 있다.
일부 구현들에서, 인증 규칙은, 제2 블록체인 상에 기록되는 특정 타입의 데이터에 의존하는 인증 로직을 포함할 수 있다. 예를 들어, 블록체인 네트워크에서의 각각의 블록체인(예컨대, 도 1의 크로스 블록체인 상호작용 시스템의 제2 블록체인)은, 블록체인에 특정되는, 예컨대 블록체인에 의해 사용되는 데이터의 타입에 기초하는, 인증 규칙을 가질 수 있다. 802로부터, 방법(800)은 804로 진행한다.
804에서, 인증될 데이터가 제2 블록체인으로부터 수신된다. 예를 들어, 도 1의 크로스 블록체인 상호작용 시스템에서의 제2 블록체인으로부터의 데이터는 도 1의 크로스 블록체인 상호작용 시스템에서의 발행 클라이언트에서 수신될 수 있다. 804로부터, 방법(800)은 806으로 진행한다.
806에서, 제1 블록체인 상에서 구성되는 데이터 인증 규칙 및 인증 데이터 소스에 기초하여 인증될 데이터에 대해 데이터 인증이 수행된다. 예를 들어, 도 1의 크로스 블록체인 상호작용 시스템은 도 1의 크로스 블록체인 상호작용 시스템에서의 제2 블록체인으로부터 수신되는 데이터에 대해 데이터 인증을 수행할 수 있다.
일부 구현들에서, 제1 블록체인 상에서 구성되는 데이터 인증 규칙 및 인증 데이터 소스에 기초하여 인증될 데이터에 대해 데이터 인증을 수행하는 것은, 단순화된 지불 검증(SPV) 데이터 인증을 수행하는 것을 포함할 수 있다. 예를 들어, 도 1의 제1 블록체인 상에서 구성되는 데이터 인증 규칙 및 인증 데이터 소스에 기초하여 인증될 데이터에 대해 SPV 데이터 인증이 수행될 수 있다. 예를 들어, SPV 데이터 인증은 인증될 데이터가 제2 블록체인 상의 블록에 포함되는지 여부를 결정할 수 있다.
일부 구현들에서, 제1 블록체인 상에서 구성되는 데이터 인증 규칙 및 인증 데이터 소스에 기초하여 인증될 데이터에 대해 SPV 데이터 인증을 수행하는 것은 해시 값들의 사용을 포함할 수 있다. 예를 들어, 인증될 데이터의 해시 값이 계산될 수 있다. 인증될 데이터를 포함하는 제2 블록체인 상의 타깃 블록의 머클 트리 상의 인증될 데이터의 머클 인증 경로가 검색될 수 있다. 타깃 블록의 블록 헤더의 해시 값이, 예를 들어, 인증될 데이터의 해시 값 및 머클 인증 경로 상의 각각의 노드의 해시 값에 기초하여 계산될 수 있다. 타깃 블록의 블록 헤더의 계산된 해시 값이, 인증 데이터 소스에 저장되는 타깃 블록의 블록 헤더에서의 해시 값과 매칭되는지 여부의 결정이 이루어질 수 있다. 타깃 블록의 블록 헤더의 계산된 해시 값이, 인증 데이터 소스에 저장되는 타깃 블록의 블록 헤더에서의 해시 값과 매칭된다는 결정에 응답하여, 인증될 데이터가 제2 블록체인 상의 블록에 포함된다는 결정이 이루어질 수 있다. 806 후에, 방법(800)이 중지된다.
본 개시내용은 크로스 블록체인 인증에 관한 것이다. 특히, 이 방법은, 다음의 것: 구독 클라이언트에 의해 크로스 체인 클라이언트를 사용함으로써, 발행 클라이언트에 의해 발행되는 제2 블록체인 상의 데이터를 획득하여, 그 데이터를 인증 데이터 소스로서 사용하는 단계, 제2 블록체인으로부터 인증될 데이터를 수신하는 단계, 및 제1 블록체인 상에서 구성되는 데이터 인증 규칙 및 인증 데이터 소스에 기초하여 인증될 데이터에 대해 데이터 인증을 수행하는 단계를 포함한다. 이 방법 및 디바이스의 이점은, 상호 분리되었을 때, 상이한 블록체인들이 피어 블록체인 상의 데이터를 검증할 수 있다는 점이다. 그 후에, 상이한 블록체인들은 비-침습적 사이드체인 앵커링을 구현하여 다른 블록체인에 효과적으로 앵커링하고 낮은 복잡성 및 높은 확장성의 크로스 체인 네트워크를 확립할 수 있다. 제1 블록체인 상에서 구성되는 데이터 인증 규칙 및 인증 데이터 소스에 기초하여 인증될 데이터에 대해 단순화된 지불 검증(SPV) 데이터 인증이 수행될 수 있다. 인증될 데이터가 제2 블록체인 상의 블록에 포함되는지 여부를 결정하기 위해 SPV 데이터 인증이 사용될 수 있다. 인증될 데이터에 대한 SPV 데이터 인증은 인증될 데이터의 해시 값들, 머클 트리의 머클 인증 경로 상의 각각의 노드의 해시 값들, 및 타깃 블록의 블록 헤더에 저장되는 해시 값의 사용을 포함할 수 있다.
본 명세서에서 설명되는 실시예들 및 동작들은 디지털 전자 회로부로, 본 명세서에 개시된 구조체들을 포함하는 컴퓨터 소프트웨어, 펌웨어, 또는 하드웨어로, 또는 이들의 하나 이상의 것의 조합들로 구현될 수 있다. 동작들은 하나 이상의 컴퓨터 판독가능 저장 디바이스들 상에 저장되거나 또는 다른 소스들로부터 수신되는 데이터에 대해 데이터 프로세싱 장치에 의해 수행되는 동작들로서 구현될 수 있다. 데이터 프로세싱 장치, 컴퓨터, 또는 컴퓨팅 디바이스는, 예로서, 프로그래밍가능 프로세서, 컴퓨터, 시스템 온 칩(system on a chip), 또는 전술한 것의 다수의 것들, 또는 조합들을 포함하여, 데이터를 프로세싱하기 위한 장치, 디바이스들, 및 머신들을 포괄할 수도 있다. 장치는 특수 목적 로직 회로부, 예를 들어, 중앙 프로세싱 유닛(central processing unit)(CPU), 필드 프로그래밍가능 게이트 어레이(field programmable gate array)(FPGA) 또는 주문형 집적 회로(application-specific integrated circuit)(ASIC)를 포함할 수 있다. 장치는 또한 문제의 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어, 프로세서 펌웨어를 구성하는 코드, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제(예를 들어, 운영 체제 또는 운영 체제들의 조합), 크로스 플랫폼 런타임 환경, 가상 머신, 또는 이들 중 하나 이상의 것의 조합을 포함할 수 있다. 장치 및 실행 환경은 웹 서비스들, 분산 컴퓨팅 및 그리드 컴퓨팅 인프라스트럭처들과 같은 다양한 컴퓨팅 모델 인프라스트럭처들을 실현할 수 있다.
컴퓨터 프로그램(예를 들어, 프로그램, 소프트웨어, 소프트웨어 애플리케이션, 소프트웨어 모듈, 소프트웨어 유닛, 스크립트, 또는 코드라고도 또한 알려져 있음)은 컴파일링된 또는 인터프리팅된 언어들, 선언적 또는 절차적 언어들을 포함하는 임의의 형태의 프로그래밍 언어로 기입될 수 있고, 그것은 독립형 프로그램으로서 또는 모듈, 컴포넌트, 서브루틴, 오브젝트, 또는 컴퓨팅 환경에서의 사용에 적합한 다른 유닛으로서 포함하는 임의의 형태로 배치될 수 있다. 프로그램은 다른 프로그램들 또는 데이터(예를 들어, 마크업 언어 문서에 저장된 하나 이상의 스크립트들)을 보유하는 파일의 일부분에, 문제의 프로그램에 전용된 단일 파일에, 또는 다수의 조정된 파일들(예를 들어, 하나 이상의 모듈들, 서브 프로그램들, 또는 코드의 부분들을 저장하는 파일들)에 저장될 수 있다. 컴퓨터 프로그램은 하나의 사이트에 위치결정되거나 다수의 사이트들에 걸쳐 분산되고 통신 네트워크에 의해 상호연결되는 다수의 컴퓨터들 상에서 또는 하나의 컴퓨터 상에서 실행될 수 있다.
컴퓨터 프로그램의 실행을 위한 프로세서들은, 예로서, 범용 및 특수 목적 양측 모두의 마이크로프로세서들, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서들을 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 이들 양측 모두로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 요소들은, 명령어들에 따라 액션들을 수행하기 위한 프로세서, 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스들이다. 일반적으로, 컴퓨터는 또한, 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스들로부터 데이터를 수신하거나 또는 이들로 데이터를 전송하거나, 또는 이들 양측 모두를 행하는 것을 포함하거나, 또는 이들을 행하도록 동작가능하게 커플링될 것이다. 컴퓨터는 다른 디바이스, 예를 들어, 모바일 디바이스, 개인 휴대 정보 단말기(PDA), 게임 콘솔, 글로벌 포지셔닝 시스템(Global Positioning System)(GPS) 수신기, 또는 휴대용 저장 디바이스에 내장될 수 있다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 디바이스들은, 예로서, 반도체 메모리 디바이스들, 자기 디스크들, 및 광자기 디스크들을 포함하는, 비휘발성 메모리, 미디어 및 메모리 디바이스들을 포함한다. 프로세서 및 메모리는 특수 목적 로직 회로부에 의해 보충되거나 또는 그에 포함될 수 있다.
모바일 디바이스들은 핸드셋들, 사용자 장비(user equipment)(UE), 모바일 전화기들(예를 들어, 스마트폰들), 태블릿들, 웨어러블 디바이스들(예를 들어, 스마트 시계들 및 스마트 안경들), 인체 내의 이식된 디바이스들(예를 들어, 바이오센서들, 인공 와우(cochlear implant)들), 또는 다른 타입들의 모바일 디바이스들을 포함할 수 있다. 모바일 디바이스들은 무선으로(예를 들어, 라디오 주파수(radio frequency)(RF) 신호들을 사용하여) 다양한 통신 네트워크들(아래에 설명됨)과 통신할 수 있다. 모바일 디바이스들은, 모바일 디바이스의 현재 환경의 특성들을 결정하기 위한 센서들을 포함할 수 있다. 센서들은 카메라들, 마이크로폰들, 근접 센서들, GPS 센서들, 모션 센서들, 가속도계들, 주변 광 센서들, 수분 센서들, 자이로스코프들, 나침반들, 기압계들, 지문 센서들, 얼굴 인식 시스템들, RF 센서들(예를 들어, Wi-Fi 및 셀룰러 라디오들), 열 센서들, 또는 다른 타입들의 센서들을 포함할 수 있다. 예를 들어, 카메라들은, 이동가능한 또는 고정된 렌즈들, 플래시, 이미지 센서, 및 이미지 프로세서를 갖는 전방 또는 후방 대향 카메라를 포함할 수 있다. 카메라는, 얼굴 및/또는 홍채 인식을 위해 세부사항들을 캡처하는 것이 가능한 메가픽셀 카메라일 수 있다. 카메라는, 메모리에 저장되거나 또는 원격으로 액세스되는 데이터 프로세서 및 인증 정보와 함께 얼굴 인식 시스템을 형성할 수 있다. 얼굴 인식 시스템 또는 하나 이상의 센서들, 예를 들어, 마이크로폰들, 모션 센서들, 가속도계들, GPS 센서들, 또는 RF 센서들이 사용자 인증을 위해 사용될 수 있다.
사용자와의 상호작용을 제공하기 위해, 실시예들은 디스플레이 디바이스 및 입력 디바이스, 예를 들어, 사용자에게 정보를 디스플레이하기 위한 액정 디스플레이(liquid crystal display)(LCD) 또는 유기 발광 다이오드(organic light-emitting diode)(OLED)/가상 현실(virtual-reality)(VR)/증강 현실(augmented-reality)(AR) 디스플레이, 및 사용자가 컴퓨터에 입력을 제공할 수 있게 하는 터치스크린, 키보드, 및 포인팅 디바이스를 갖는 컴퓨터 상에서 구현될 수 있다. 다른 종류들의 디바이스들이 또한 사용자와의 상호작용을 제공하는 데 사용될 수 있고; 예를 들어, 사용자에게 제공되는 피드백은 임의의 형태의 감각 피드백, 예를 들어, 시각 피드백, 청각 피드백, 또는 촉각 피드백일 수 있고; 사용자로부터의 입력은 음향, 음성, 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다. 부가적으로, 컴퓨터는 사용자에 의해 사용되는 디바이스로 문서들을 전송하고 디바이스로부터 문서들을 수신함으로써; 예를 들어, 웹 브라우저로부터 수신된 요청들에 응답하여 사용자의 클라이언트 디바이스 상의 웹 브라우저에 웹 페이지들을 전송함으로써 사용자와 상호작용할 수 있다.
실시예들은 임의의 형태 또는 매체의 유선 또는 무선 디지털 데이터 통신(또는 이들의 조합), 예를 들어, 통신 네트워크에 의해 상호연결되는 컴퓨팅 디바이스들을 사용하여 구현될 수 있다. 상호연결된 디바이스들의 예들은, 전형적으로 통신 네트워크를 통해 상호작용하는, 일반적으로 서로 원격으로 있는 클라이언트 및 서버이다. 클라이언트, 예를 들어, 모바일 디바이스는 트랜잭션들 자체를 서버와 함께 또는 서버를 통해 수행하여, 예를 들어, 구매, 판매, 지불, 제공, 전송, 또는 대출 트랜잭션들을 수행하거나, 또는 이를 인가할 수 있다. 그러한 트랜잭션들은 실시간으로 될 수도 있어서 액션 및 응답이 시간적으로 근접한데; 예를 들어, 개인은 액션 및 응답이 실질적으로 동시에 발생한다는 것을 지각하고, 개인의 액션에 뒤따르는 응답에 대한 시간 차이가 1 밀리초(ms) 미만 또는 1 초(s) 미만이거나, 또는 응답에는 시스템의 프로세싱 제한들을 고려한 의도적인 딜레이가 없다.
통신 네트워크들의 예들은 로컬 영역 네트워크(local area network)(LAN), 라디오 액세스 네트워크(radio access network)(RAN), 도시 영역 네트워크(metropolitan area network)(MAN), 및 광역 네트워크(wide area network)(WAN)를 포함한다. 통신 네트워크는 인터넷의 전부 또는 일부, 다른 통신 네트워크, 또는 통신 네트워크들의 조합을 포함할 수 있다. 롱 텀 에볼루션(Long Term Evolution)(LTE), 5G, IEEE 802, 인터넷 프로토콜(Internet Protocol)(IP), 또는 다른 프로토콜들 또는 프로토콜들의 조합들을 포함하는 다양한 프로토콜들 및 표준들에 따라 통신 네트워크 상에서 정보가 송신될 수 있다. 통신 네트워크는 연결된 컴퓨팅 디바이스들 사이에서 보이스, 비디오, 생체인식(biometric), 또는 인증 데이터, 또는 다른 정보를 송신할 수 있다.
별개의 구현들로서 설명되는 피처들은 단일 구현으로 조합하여 구현될 수도 있는 한편, 단일 구현으로서 설명되는 피처들은 다수의 구현들로, 별개로, 또는 임의의 적합한 하위 조합으로 구현될 수도 있다. 특정 순서로 설명되고 청구되는 동작들은 특정 순서, 또는 모든 예시된 동작들이 수행되어야 한다고 요구하는 것으로 이해되어서는 안 된다(일부 동작들은 임의적일 수 있다). 적절한 경우, 멀티태스킹 또는 병렬 프로세싱(또는 멀티태스킹과 병렬 프로세싱의 조합)이 수행될 수 있다.

Claims (20)

  1. 크로스 블록체인 인증(cross-blockchain authentication)을 위한 컴퓨터 구현 방법(computer-implemented method)으로서,
    발행 클라이언트(publishing client)에 의해, 제2 블록체인으로부터 수신된 제1 데이터를 크로스 블록체인 상호작용 시스템의 크로스 체인 클라이언트로 발행하는 단계 - 상기 제1 데이터는 상기 제2 블록체인에 대한 인증 소스로서 기능함 - ;
    구독 클라이언트(subscribing client)에 의해, 상기 크로스 체인 클라이언트로부터 상기 제1 데이터를 리트리브하는 단계 - 상기 구독 클라이언트는 제1 블록체인에 대응하고, 상기 구독 클라이언트는 상기 발행 클라이언트와는 상이하고, 상기 크로스 체인 클라이언트는 상기 구독 클라이언트와 개별적으로 상호접속되고, 상기 발행 클라이언트 및 상기 제1 블록체인은 메인체인으로서 사용되는 상기 제2 블록체인에 앵커링된(anchored) 사이드체인(sidechain)으로서 기능함 - ;
    상기 구독 클라이언트에 의해 그리고 상기 제2 블록체인으로부터, 인증될 제2 데이터를 수신하는 단계 - 상기 제2 데이터는 상기 제1 데이터와는 상이함 - ; 및
    상기 구독 클라이언트에 의해, 상기 제1 블록체인 상에 구성된 데이터 인증 규칙 및 상기 제1 데이터에 기초하여 상기 제2 데이터를 인증하는 단계
    를 포함하고,
    상기 제1 데이터를 리트리브하는 단계는,
    상기 구독 클라이언트에 의해 그리고 구독으로서, 크로스 체인 상호작용 엔드(cross-chain interaction end)에 대한 구독 요청을 개시하는 단계 - 상기 구독 요청은 상기 크로스 체인 상호작용 엔드에 구독 조건을 통지하는데 사용됨 - ;
    상기 크로스 체인 상호작용 엔드를 사용하고 상기 구독 조건에 기초하여, 상기 발행 클라이언트로부터 상기 구독 조건을 만족하는 상기 제2 블록체인 상의 상기 제1 데이터를 요청하는 단계; 및
    상기 구독을 사용하여, 상기 발행 클라이언트에 의해 발행되고 상기 구독 조건을 만족하는 상기 제2 블록체인 상의 상기 제1 데이터를 리트리브하는 단계
    를 포함하는 것인, 크로스 블록체인 인증을 위한 컴퓨터 구현 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 제1 데이터는 상기 제2 블록체인 상의 각각의 블록의 블록 헤더 데이터를 포함하는 것인, 크로스 블록체인 인증을 위한 컴퓨터 구현 방법.
  4. 제3항에 있어서,
    상기 제2 데이터를 인증하는 단계는,
    상기 제2 블록체인 상의 블록에 상기 제2 데이터가 포함되는지 여부를 결정하기 위해, 상기 제1 블록체인 상에 구성되는 상기 데이터 인증 규칙 및 상기 인증 소스로서 기능하는 상기 제1 데이터에 기초하여 상기 제2 데이터에 대해 단순화된 지불 검증(simplified payment verification)(SPV) 데이터 인증을 수행하는 단계를 포함하는 것인, 크로스 블록체인 인증을 위한 컴퓨터 구현 방법.
  5. 제4항에 있어서,
    상기 제2 데이터에 대해 SPV 데이터 인증을 수행하는 단계는,
    상기 제2 데이터의 해시 값(hash value)을 계산하는 단계;
    상기 제2 데이터를 포함하는 상기 제2 블록체인 상의 타깃 블록의 머클 트리(Merkle tree) 상의 상기 제2 데이터의 머클 인증 경로를 리트리브하는 단계;
    상기 제2 데이터의 해시 값 및 상기 머클 인증 경로 상의 각각의 노드의 해시 값에 기초하여 상기 타깃 블록의 블록 헤더의 해시 값을 계산된 해시 값으로서 계산하는 단계;
    상기 계산된 해시 값이, 상기 인증 소스로서 기능하는 상기 제1 데이터 내에 저장된 상기 타깃 블록의 상기 블록 헤더 내의 해시 값과 매칭되는지 여부를 결정하는 단계; 및
    상기 타깃 블록의 상기 블록 헤더의 상기 계산된 해시 값이, 상기 인증 소스로서 기능하는 상기 제1 데이터 내에 저장된 상기 타깃 블록의 상기 블록 헤더 내의 상기 해시 값과 매칭된다고 결정하는 것에 응답하여, 상기 제2 블록체인 상의 상기 블록에 상기 제2 데이터가 포함된다고 결정하는 단계
    를 포함하는 것인, 크로스 블록체인 인증을 위한 컴퓨터 구현 방법.
  6. 제1항에 있어서,
    상기 구독 클라이언트는 상기 제1 블록체인 상의 노드 디바이스에 대응하고, 상기 발행 클라이언트는 상기 제2 블록체인 상의 노드 디바이스에 대응하는 것인, 크로스 블록체인 인증을 위한 컴퓨터 구현 방법.
  7. 제1항에 있어서,
    상기 제2 데이터는 트랜잭션, 상태, 및 이벤트 중 적어도 하나를 포함하고;
    상기 인증 소스로서 기능하는 상기 제1 데이터는 상기 제1 블록체인 및 상기 제2 블록체인에 의해 지원되는 데이터 인증 프로토콜에 의존하고;
    상기 데이터 인증 규칙은, 상기 제2 블록체인 상에 기록되는 상기 제2 데이터의 특정 타입에 의존하는 인증 로직을 포함하는 것인, 크로스 블록체인 인증을 위한 컴퓨터 구현 방법.
  8. 동작들을 수행하기 위해 컴퓨터 시스템에 의해 실행 가능한 하나 이상의 명령어가 저장된 비일시적 컴퓨터 판독가능 매체로서,
    상기 동작들은,
    발행 클라이언트(publishing client)에 의해, 제2 블록체인으로부터 수신된 제1 데이터를 크로스 블록체인 상호작용 시스템의 크로스 체인 클라이언트로 발행하는 동작 - 상기 제1 데이터는 상기 제2 블록체인에 대한 인증 소스로서 기능함 - ;
    구독 클라이언트(subscribing client)에 의해, 상기 크로스 체인 클라이언트로부터 상기 제1 데이터를 리트리브하는 동작 - 상기 구독 클라이언트는 제1 블록체인에 대응하고, 상기 구독 클라이언트는 상기 발행 클라이언트와는 상이하고, 상기 크로스 체인 클라이언트는 상기 구독 클라이언트와 개별적으로 상호접속되고, 상기 발행 클라이언트 및 상기 제1 블록체인은 메인체인으로서 사용되는 상기 제2 블록체인에 앵커링된(anchored) 사이드체인(sidechain)으로서 기능함 - ;
    상기 구독 클라이언트에 의해 그리고 상기 제2 블록체인으로부터, 인증될 제2 데이터를 수신하는 동작 - 상기 제2 데이터는 상기 제1 데이터와는 상이함 - ; 및
    상기 구독 클라이언트에 의해, 상기 제1 블록체인 상에 구성된 데이터 인증 규칙 및 상기 제1 데이터에 기초하여 상기 제2 데이터를 인증하는 동작
    을 포함하고,
    상기 제1 데이터를 리트리브하는 동작은,
    상기 구독 클라이언트에 의해 그리고 구독으로서, 크로스 체인 상호작용 엔드(cross-chain interaction end)에 대한 구독 요청을 개시하는 동작 - 상기 구독 요청은 상기 크로스 체인 상호작용 엔드에 구독 조건을 통지하는데 사용됨 - ;
    상기 크로스 체인 상호작용 엔드를 사용하고 상기 구독 조건에 기초하여, 상기 발행 클라이언트로부터 상기 구독 조건을 만족하는 상기 제2 블록체인 상의 상기 제1 데이터를 요청하는 동작; 및
    상기 구독을 사용하여, 상기 발행 클라이언트에 의해 발행되고 상기 구독 조건을 만족하는 상기 제2 블록체인 상의 상기 제1 데이터를 리트리브하는 동작
    을 포함하는 것인, 비일시적 컴퓨터 판독가능 매체.
  9. 삭제
  10. 제8항에 있어서,
    상기 제1 데이터는 상기 제2 블록체인 상의 각각의 블록의 블록 헤더 데이터를 포함하는 것인, 비일시적 컴퓨터 판독가능 매체.
  11. 제10항에 있어서,
    상기 제2 데이터를 인증하는 동작은,
    상기 제2 블록체인 상의 블록에 상기 제2 데이터가 포함되는지 여부를 결정하기 위해, 상기 제1 블록체인 상에 구성되는 상기 데이터 인증 규칙 및 상기 인증 소스로서 기능하는 상기 제1 데이터에 기초하여 상기 제2 데이터에 대해 단순화된 지불 검증(simplified payment verification)(SPV) 데이터 인증을 수행하는 동작을 포함하는 것인, 비일시적 컴퓨터 판독가능 매체.
  12. 제11항에 있어서,
    상기 제2 데이터에 대해 SPV 데이터 인증을 수행하는 동작은,
    상기 제2 데이터의 해시 값(hash value)을 계산하는 동작;
    상기 제2 데이터를 포함하는 상기 제2 블록체인 상의 타깃 블록의 머클 트리(Merkle tree) 상의 상기 제2 데이터의 머클 인증 경로를 리트리브하는 동작;
    상기 제2 데이터의 해시 값 및 상기 머클 인증 경로 상의 각각의 노드의 해시 값에 기초하여 상기 타깃 블록의 블록 헤더의 해시 값을 계산된 해시 값으로서 계산하는 동작;
    상기 계산된 해시 값이, 상기 인증 소스로서 기능하는 상기 제1 데이터 내에 저장된 상기 타깃 블록의 상기 블록 헤더 내의 해시 값과 매칭되는지 여부를 결정하는 동작; 및
    상기 타깃 블록의 상기 블록 헤더의 상기 계산된 해시 값이, 상기 인증 소스로서 기능하는 상기 제1 데이터 내에 저장된 상기 타깃 블록의 상기 블록 헤더 내의 상기 해시 값과 매칭된다고 결정하는 것에 응답하여, 상기 제2 블록체인 상의 상기 블록에 상기 제2 데이터가 포함된다고 결정하는 동작
    을 포함하는 것인, 비일시적 컴퓨터 판독가능 매체.
  13. 제8항에 있어서,
    상기 구독 클라이언트는 상기 제1 블록체인 상의 노드 디바이스에 대응하고, 상기 발행 클라이언트는 상기 제2 블록체인 상의 노드 디바이스에 대응하는 것인, 비일시적 컴퓨터 판독가능 매체.
  14. 제8항에 있어서,
    상기 제2 데이터는 트랜잭션, 상태, 및 이벤트 중 적어도 하나를 포함하고;
    상기 인증 소스로서 기능하는 상기 제1 데이터는 상기 제1 블록체인 및 상기 제2 블록체인에 의해 지원되는 데이터 인증 프로토콜에 의존하고;
    상기 데이터 인증 규칙은, 상기 제2 블록체인 상에 기록되는 상기 제2 데이터의 특정 타입에 의존하는 인증 로직을 포함하는 것인, 비일시적 컴퓨터 판독가능 매체.
  15. 컴퓨터 구현 시스템(computer-implemented system)으로서,
    하나 이상의 컴퓨터; 및
    상기 하나 이상의 컴퓨터와 상호동작 가능하게 커플링되고 유형의(tangible) 비일시적 머신 판독가능 매체를 가진 하나 이상의 컴퓨터 메모리 디바이스
    를 포함하고,
    상기 유형의 비일시적 머신 판독가능 매체는, 상기 하나 이상의 컴퓨터에 의해 실행될 때 하나 이상의 동작을 수행하는 하나 이상의 명령어가 저장되어 있고,
    상기 하나 이상의 동작은,
    발행 클라이언트(publishing client)에 의해, 제2 블록체인으로부터 수신된 제1 데이터를 크로스 블록체인 상호작용 시스템의 크로스 체인 클라이언트로 발행하는 동작 - 상기 제1 데이터는 상기 제2 블록체인에 대한 인증 소스로서 기능함 - ;
    구독 클라이언트(subscribing client)에 의해, 상기 크로스 체인 클라이언트로부터 상기 제1 데이터를 리트리브하는 동작 - 상기 구독 클라이언트는 제1 블록체인에 대응하고, 상기 구독 클라이언트는 상기 발행 클라이언트와는 상이하고, 상기 크로스 체인 클라이언트는 상기 구독 클라이언트와 개별적으로 상호접속되고, 상기 발행 클라이언트 및 상기 제1 블록체인은 메인체인으로서 사용되는 상기 제2 블록체인에 앵커링된(anchored) 사이드체인(sidechain)으로서 기능함 - ;
    상기 구독 클라이언트에 의해 그리고 상기 제2 블록체인으로부터, 인증될 제2 데이터를 수신하는 동작 - 상기 제2 데이터는 상기 제1 데이터와는 상이함 - ; 및
    상기 구독 클라이언트에 의해, 상기 제1 블록체인 상에 구성된 데이터 인증 규칙 및 상기 제1 데이터에 기초하여 상기 제2 데이터를 인증하는 동작
    을 포함하고,
    상기 제1 데이터를 리트리브하는 동작은,
    상기 구독 클라이언트에 의해 그리고 구독으로서, 크로스 체인 상호작용 엔드(cross-chain interaction end)에 대한 구독 요청을 개시하는 동작 - 상기 구독 요청은 상기 크로스 체인 상호작용 엔드에 구독 조건을 통지하는데 사용됨 - ;
    상기 크로스 체인 상호작용 엔드를 사용하고 상기 구독 조건에 기초하여, 상기 발행 클라이언트로부터 상기 구독 조건을 만족하는 상기 제2 블록체인 상의 상기 제1 데이터를 요청하는 동작; 및
    상기 구독을 사용하여, 상기 발행 클라이언트에 의해 발행되고 상기 구독 조건을 만족하는 상기 제2 블록체인 상의 상기 제1 데이터를 리트리브하는 동작
    을 포함하는 것인, 컴퓨터 구현 시스템.
  16. 삭제
  17. 제15항에 있어서,
    상기 제1 데이터는 상기 제2 블록체인 상의 각각의 블록의 블록 헤더 데이터를 포함하는 것인, 컴퓨터 구현 시스템.
  18. 제17항에 있어서,
    상기 제2 데이터를 인증하는 동작은,
    상기 제2 블록체인 상의 블록에 상기 제2 데이터가 포함되는지 여부를 결정하기 위해, 상기 제1 블록체인 상에 구성되는 상기 데이터 인증 규칙 및 상기 인증 소스로서 기능하는 상기 제1 데이터에 기초하여 상기 제2 데이터에 대해 단순화된 지불 검증(simplified payment verification)(SPV) 데이터 인증을 수행하는 동작을 포함하는 것인, 컴퓨터 구현 시스템.
  19. 제18항에 있어서,
    상기 제2 데이터에 대해 SPV 데이터 인증을 수행하는 동작은,
    상기 제2 데이터의 해시 값(hash value)을 계산하는 동작;
    상기 제2 데이터를 포함하는 상기 제2 블록체인 상의 타깃 블록의 머클 트리(Merkle tree) 상의 상기 제2 데이터의 머클 인증 경로를 리트리브하는 동작;
    상기 제2 데이터의 해시 값 및 상기 머클 인증 경로 상의 각각의 노드의 해시 값에 기초하여 상기 타깃 블록의 블록 헤더의 해시 값을 계산된 해시 값으로서 계산하는 동작;
    상기 계산된 해시 값이, 상기 인증 소스로서 기능하는 상기 제1 데이터 내에 저장된 상기 타깃 블록의 상기 블록 헤더 내의 해시 값과 매칭되는지 여부를 결정하는 동작; 및
    상기 타깃 블록의 상기 블록 헤더의 상기 계산된 해시 값이, 상기 인증 소스로서 기능하는 상기 제1 데이터 내에 저장된 상기 타깃 블록의 상기 블록 헤더 내의 상기 해시 값과 매칭된다고 결정하는 것에 응답하여, 상기 제2 블록체인 상의 상기 블록에 상기 제2 데이터가 포함된다고 결정하는 동작
    을 포함하는 것인, 컴퓨터 구현 시스템.
  20. 제15항에 있어서,
    상기 구독 클라이언트는 상기 제1 블록체인 상의 노드 디바이스에 대응하고, 상기 발행 클라이언트는 상기 제2 블록체인 상의 노드 디바이스에 대응하는 것인, 컴퓨터 구현 시스템.
KR1020207015575A 2018-04-03 2019-03-29 크로스 블록체인 인증 방법 및 장치 KR102270518B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201810291256.0 2018-04-03
CN201810291256.0A CN108683630B (zh) 2018-04-03 2018-04-03 跨区块链的认证方法及装置、电子设备
PCT/US2019/024892 WO2019195108A1 (en) 2018-04-03 2019-03-29 Cross-blockchain authentication method and apparatus

Publications (2)

Publication Number Publication Date
KR20200081448A KR20200081448A (ko) 2020-07-07
KR102270518B1 true KR102270518B1 (ko) 2021-07-01

Family

ID=63799521

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207015575A KR102270518B1 (ko) 2018-04-03 2019-03-29 크로스 블록체인 인증 방법 및 장치

Country Status (11)

Country Link
US (1) US10554413B2 (ko)
EP (1) EP3701672B1 (ko)
JP (2) JP6874224B2 (ko)
KR (1) KR102270518B1 (ko)
CN (2) CN108683630B (ko)
AU (1) AU2019248542B2 (ko)
CA (1) CA3084081C (ko)
PH (1) PH12020550723A1 (ko)
SG (1) SG11202004738TA (ko)
TW (1) TWI690184B (ko)
WO (1) WO2019195108A1 (ko)

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019204094A1 (en) * 2018-04-19 2019-10-24 Walmart Apollo, Llc Systems and methods for decentralized content distribution
US20200014542A1 (en) * 2018-07-03 2020-01-09 ULedger, Inc. Detection of anomalies in a computer system
CN109257342B (zh) * 2018-09-04 2020-05-26 阿里巴巴集团控股有限公司 区块链跨链的认证方法、系统、服务器及可读存储介质
US11196543B2 (en) * 2018-09-05 2021-12-07 International Business Machines Corporation Minimum evidence calculation in blockchain transactions
CN109461222B (zh) * 2018-10-22 2021-06-01 北京阿尔山区块链联盟科技有限公司 基于打卡设备的打卡信息访问方法、系统及电子设备
CN109408595B (zh) * 2018-10-26 2020-08-11 全链通有限公司 区块链记账方法、设备及计算机可读存储介质
BR112019007991A2 (pt) * 2018-11-16 2019-09-10 Alibaba Group Holding Ltd método implementado por computador de um relé para interações de cadeia cruzada em uma rede de protocolo de confiança unificada, meio de armazenamento legível por computador, não transitório e sistema
CN110035045B (zh) * 2018-11-16 2020-04-03 阿里巴巴集团控股有限公司 跨链数据的可信管理方法及装置、电子设备
PL3549324T3 (pl) 2018-11-16 2021-07-19 Advanced New Technologies Co., Ltd. Schemat zarządzania nazwą domeny dla interakcji międzyłańcuchowych w systemach łańcuchów bloków
CN110035046B (zh) * 2018-11-16 2020-02-21 阿里巴巴集团控股有限公司 跨区块链的交互系统
BR112019008025B1 (pt) * 2018-11-16 2022-03-15 Advanced New Technologies Co., Ltd Método implementado por computador, meio legível por computador e sistema para implementar um método
CN110008686B (zh) * 2018-11-16 2020-12-04 创新先进技术有限公司 跨区块链的数据处理方法、装置、客户端、区块链系统
CN110020945B (zh) * 2018-11-27 2020-10-30 创新先进技术有限公司 一种基于多个区块链网络的数据读取方法及系统
CN110460590B (zh) * 2018-12-07 2022-07-19 深圳市智税链科技有限公司 区块链系统的数据管理方法、装置、介质及电子设备
CN111355757B (zh) * 2018-12-21 2022-06-07 航天信息股份有限公司 供应链领域的区块链的跨链通信方法及装置
US10637644B1 (en) * 2018-12-21 2020-04-28 Capital One Services, Llc System and method for authorizing transactions in an authorized member network
CN110046901B (zh) * 2018-12-28 2020-06-30 阿里巴巴集团控股有限公司 联盟链的可信度验证方法、系统、装置及设备
CN109873861B (zh) * 2019-01-11 2022-04-12 平安科技(深圳)有限公司 跨区块链节点的交互方法及装置、存储介质及电子设备
CN109711817A (zh) * 2019-01-16 2019-05-03 杭州基尔区块链科技有限公司 基于区块链的数据处理方法、装置和系统
JP2022520844A (ja) * 2019-02-15 2022-04-01 エヌチェーン ホールディングス リミテッド ブロックチェーンネットワークを介した移転を実施するためのコンピュータで実施されるシステムおよび方法
CN109688163B (zh) * 2019-02-20 2021-11-30 中国联合网络通信集团有限公司 基于联盟链的数据处理方法、装置、设备及存储介质
CN109919615B (zh) * 2019-03-01 2021-04-02 上海分布信息科技有限公司 基于区块链的跨链数据交互方法及跨链数据交互系统
CN110035059B (zh) * 2019-03-05 2021-09-28 深圳前海微众银行股份有限公司 一种区块链的构建方法与装置
CN110096511B (zh) * 2019-04-30 2024-02-20 深圳前海微众银行股份有限公司 基于私有链的数据一致性验证方法、装置、设备及介质
CN110288348B (zh) * 2019-06-20 2021-01-26 中国传媒大学 基于传播活跃度和资产证明的区块链共识方法及系统
US10742415B2 (en) 2019-06-28 2020-08-11 Alibaba Group Holding Limited Method and apparatus for inter-blockchain transmission of authenticable message
US11336451B2 (en) 2019-06-28 2022-05-17 Advanced New Technologies Co., Ltd. Cross-blockchain resource transmission
CN110430162B (zh) * 2019-06-28 2020-11-24 创新先进技术有限公司 一种跨链发送可认证消息的方法和装置
CN110443704B (zh) * 2019-06-28 2021-02-19 创新先进技术有限公司 一种跨链发送资源的方法和装置
US11356282B2 (en) 2019-06-28 2022-06-07 Advanced New Technologies Co., Ltd. Sending cross-chain authenticatable messages
CN110311790B (zh) 2019-06-28 2020-07-28 阿里巴巴集团控股有限公司 一种跨链发送可认证消息的方法和装置
US11251966B2 (en) 2019-06-28 2022-02-15 Advanced New Technologies Co., Ltd. Sending cross-chain authenticatable messages
CN110417742B (zh) * 2019-06-28 2020-11-06 创新先进技术有限公司 跨链发送、中转、接收可认证消息的方法、装置及存储介质
CN110471984B (zh) 2019-07-15 2020-08-25 阿里巴巴集团控股有限公司 基于区块链的业务处理方法及装置、电子设备
US10937096B2 (en) * 2019-07-15 2021-03-02 Advanced New Technologies Co., Ltd. Transaction processing in a service blockchain
CN112906049A (zh) * 2019-08-15 2021-06-04 高昕昱 一种区块链大数据处理系统
KR102295701B1 (ko) * 2019-09-09 2021-08-27 한국항공대학교산학협력단 이종 프라이빗 블록체인간 통신 장치 및 방법
CN110602089B (zh) * 2019-09-11 2021-08-10 腾讯科技(深圳)有限公司 基于区块链的医疗数据存储方法、装置、设备及存储介质
CN110602116B (zh) * 2019-09-19 2021-05-11 腾讯科技(深圳)有限公司 基于区块链的数据验证方法、装置和计算机可读存储介质
CN111131171B (zh) * 2019-12-03 2021-05-11 深圳前海微众银行股份有限公司 一种基于区块链网络的节点认证方法及装置
CN111010381B (zh) * 2019-12-06 2022-04-22 趣派(海南)信息科技有限公司 一种基于跨链的身份认证方法和系统
US11922532B2 (en) * 2020-01-15 2024-03-05 Digimarc Corporation System for mitigating the problem of deepfake media content using watermarking
CN113162889B (zh) * 2020-01-22 2023-02-17 北京车和家信息技术有限公司 路由更新信息的认证方法及装置
WO2021166528A1 (ja) * 2020-02-21 2021-08-26 Necソリューションイノベータ株式会社 不正検証装置、および、不正検知システム
JP7393047B2 (ja) 2020-02-21 2023-12-06 Necソリューションイノベータ株式会社 不正検証装置、および、不正検知システム
US11664973B2 (en) 2020-04-21 2023-05-30 International Business Machines Corporation Trust-varied relationship between blockchain networks
CN112118292A (zh) * 2020-08-13 2020-12-22 北京新盛云佳科技有限公司 用于跨链通信的方法、装置、网络节点和存储介质
CN112329519B (zh) * 2020-09-21 2024-01-02 中国人民武装警察部队工程大学 一种安全的在线指纹匹配方法
CN114430329B (zh) * 2020-10-15 2024-03-19 中国移动通信集团浙江有限公司 一种数据鉴权认证方法、鉴权侧链节点及系统
US20220121769A1 (en) * 2020-10-20 2022-04-21 Cognitive Space System and method for facilitating multi-level security of data in distributed environment
KR102474866B1 (ko) * 2020-11-16 2022-12-05 두나무 주식회사 블록체인 기반 문서 관리 방법 및 장치
EP4062357A4 (en) * 2020-11-25 2022-11-16 Alipay (Hangzhou) Information Technology Co., Ltd. BLOCKCHAIN-BASED TRUSTED PLATFORM
CN112822180B (zh) * 2020-12-30 2022-07-29 广东电网有限责任公司 内外网跨链通信方法、装置、计算机设备和存储介质
CN112688960B (zh) * 2020-12-30 2022-10-14 北京八分量信息科技有限公司 互联网节点认证中计算连接强度的方法、系统及相关产品
US11902426B2 (en) * 2021-06-26 2024-02-13 Ceremorphic, Inc. Efficient storage of blockchain in embedded device
WO2022220862A1 (en) * 2021-09-14 2022-10-20 Futurewei Technologies, Inc. System and methods of verifiable smart contract as a service
CN113987566B (zh) * 2021-10-13 2024-04-23 普洛斯科技(重庆)有限公司 基于Hyperledger Fabric的内部桥接跨链方法、装置、设备和介质
US11361308B1 (en) * 2021-11-08 2022-06-14 Virtue Gaming Holding Ltd. Decentralized system for performing blockchain-based token management using a side-blockchain network
CN115174693B (zh) * 2022-06-30 2023-04-21 国家信息中心 一种层级化的区块链跨链交互方法
CN115208669B (zh) * 2022-07-16 2023-11-07 中软航科数据科技(珠海横琴)有限公司 一种基于区块链技术的分布式身份认证方法及系统
CN115526634B (zh) * 2022-11-21 2023-04-18 北京共识数信科技有限公司 一种基于区块链的智能跨链交互方法、系统和存储介质

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10812274B2 (en) * 2015-05-07 2020-10-20 Blockstream Corporation Transferring ledger assets between blockchains via pegged sidechains
US10212145B2 (en) 2016-04-06 2019-02-19 Avaya Inc. Methods and systems for creating and exchanging a device specific blockchain for device authentication
TWI770022B (zh) * 2016-04-29 2022-07-11 安地卡及巴布達商區塊鏈控股有限公司 電腦實施之控制方法、系統及控制系統
JP6628188B2 (ja) * 2016-05-10 2020-01-08 日本電信電話株式会社 決済システム、決済方法、トランザクション生成装置及びトランザクション生成プログラム
CA3083508C (en) 2016-06-17 2022-03-08 Jonathan WEIMER Blockchain systems and methods for user authentication
US10715311B2 (en) 2017-07-28 2020-07-14 Workday, Inc. System and method for blockchain-based user authentication based on a cryptographic challenge
US10715312B2 (en) 2016-07-29 2020-07-14 Workday, Inc. System and method for blockchain-based device authentication based on a cryptographic challenge
US10735182B2 (en) * 2016-08-10 2020-08-04 Peer Ledger Inc. Apparatus, system, and methods for a blockchain identity translator
CN106372941B (zh) * 2016-08-31 2019-07-16 江苏通付盾科技有限公司 基于区块链的ca认证管理方法、装置及系统
CN106899698B (zh) * 2017-04-11 2020-12-18 张铮文 一种区块链之间的跨链互操作方法
CN107231299A (zh) * 2017-06-07 2017-10-03 众安信息技术服务有限公司 一种链路由及实现区块链跨链通信的系统
CN107257340B (zh) * 2017-06-19 2019-10-01 阿里巴巴集团控股有限公司 一种认证方法、基于区块链的认证数据处理方法及设备
CN107301600B (zh) * 2017-06-23 2021-07-20 北京天德科技有限公司 一种跨链交易的区块链互联网模型的核心构建方法
CN107248076A (zh) * 2017-06-24 2017-10-13 北京天德科技有限公司 一种双链式跨链交易的区块链互联网模型的核心算法
US10476879B2 (en) 2017-07-26 2019-11-12 International Business Machines Corporation Blockchain authentication via hard/soft token verification
CN107566337B (zh) * 2017-07-26 2019-08-09 阿里巴巴集团控股有限公司 一种区块链节点间的通信方法及装置
CN107733855B (zh) * 2017-08-31 2019-11-05 中国科学院信息工程研究所 一种可同时支持公有链、联盟链及私有链的区块链系统及应用方法
US10938567B2 (en) * 2017-09-12 2021-03-02 Kadena Llc Parallel-chain architecture for blockchain systems
CN107742210A (zh) * 2017-10-13 2018-02-27 布比(北京)网络技术有限公司 一种不同区块链间的跨链转账系统和方法
CN107862216B (zh) * 2017-10-13 2021-04-06 布比(北京)网络技术有限公司 用于匿名跨链交易的隐私保护方法、装置和存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Buterin, Chain Interoperability, https://allquantor.at/blockchainbib/pdf/vitalik2016chain.pdf(2016.09.09.) 1부.*
Forouzan, Behrouz A. "Cryptography and network security. Special Indian." Tata Mc-Graw-Hill(2007.) 1부.*
사이드체인 (Sidechain) - 블록체인의 혁명, https://brunch.co.kr/@ashhan/29 (2016.12.24.) 1부.*

Also Published As

Publication number Publication date
SG11202004738TA (en) 2020-06-29
CN108683630A (zh) 2018-10-19
CN111901121A (zh) 2020-11-06
CA3084081C (en) 2021-01-19
JP7199466B2 (ja) 2023-01-05
KR20200081448A (ko) 2020-07-07
EP3701672B1 (en) 2021-11-03
US20190305958A1 (en) 2019-10-03
CN108683630B (zh) 2020-05-29
JP2021507557A (ja) 2021-02-22
TWI690184B (zh) 2020-04-01
TW201943250A (zh) 2019-11-01
PH12020550723A1 (en) 2021-03-08
EP3701672A1 (en) 2020-09-02
WO2019195108A1 (en) 2019-10-10
AU2019248542B2 (en) 2020-11-05
JP2021131870A (ja) 2021-09-09
CA3084081A1 (en) 2019-10-10
CN111901121B (zh) 2023-09-29
AU2019248542A1 (en) 2020-06-18
US10554413B2 (en) 2020-02-04
JP6874224B2 (ja) 2021-05-19

Similar Documents

Publication Publication Date Title
KR102270518B1 (ko) 크로스 블록체인 인증 방법 및 장치
KR102221328B1 (ko) 교차 블록체인 인증 방법, 장치, 및 전자 디바이스
KR102343782B1 (ko) 블록체인 기반 스마트 계약 호출 방법 및 장치, 전자 디바이스
US11023456B2 (en) Executing transactions based on blockchain
US11218325B2 (en) Asset management method and apparatus, and electronic device
US20200133938A1 (en) Asset management method and apparatus, and electronic device

Legal Events

Date Code Title Description
AMND Amendment
A302 Request for accelerated examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
N231 Notification of change of applicant
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant