KR20220093198A - 전용 및 개방형 블록체인을 이용한 거래의 수행 - Google Patents

전용 및 개방형 블록체인을 이용한 거래의 수행 Download PDF

Info

Publication number
KR20220093198A
KR20220093198A KR1020227018919A KR20227018919A KR20220093198A KR 20220093198 A KR20220093198 A KR 20220093198A KR 1020227018919 A KR1020227018919 A KR 1020227018919A KR 20227018919 A KR20227018919 A KR 20227018919A KR 20220093198 A KR20220093198 A KR 20220093198A
Authority
KR
South Korea
Prior art keywords
chain
account
asset
main chain
blockchain
Prior art date
Application number
KR1020227018919A
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 KR20220093198A publication Critical patent/KR20220093198A/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/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/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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
    • 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
    • G06Q20/0658Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed locally
    • 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/3825Use of electronic signatures
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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
    • H04L9/3255Cryptographic 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 using group based signatures, e.g. ring or threshold signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • 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

무엇보다도, 블록체인 시스템의 하나 이상의 엔티티가 일련의 작업을 수행할 수 있도록 하는 방법을 설명한다. 블록체인 시스템은 메인 체인, 코체인을 포함하며, 여기서 코체인은 메인 체인 상의 대응하는 계정, 메인 체인 상의 대응하는 계정이 소유하고 코체인 상의 계정이 소유하는 자산, 자산을 소유한 코체인 계정을 갖는다. 동작에는 코체인 상의 인증된 거래를 포스팅하는 단계로서, 인증된 거래는 코체인 계정에서 메인 체인의 계정으로 자산 이전을 승인하는 단계, 인증된 거래가 코체인에 포스팅되었는지 판정하는 단계, 메인 체인의 계정에 자산을 할당하는 거래를 메인 체인에 포스팅하는 단계,를 포함한다.

Description

전용 및 개방형 블록체인을 이용한 거래의 수행
(관련 출원에 대한 상호 참조)
본 출원은 여기에 참조에 의해 통합된 2019년 11월 8일자로 출원된 미국 가출원 62/933,091호 및 2020년 4월 24일자로 출원된 미국 가출원 63/015,040호의 이익을 주장한다.
(기술 분야)
본 설명은 일반적으로 전용(private) 및 개방형(public) 블록체인을 이용하여 거래를 수행하는 것에 관한 것이다.
블록체인 시스템은 그것들이 제공하는 강건한 보안, 투명성 및 무결성 속성으로 인해 인기를 얻고 채택되고 있다. 블록체인 시스템은 종종 모든 엔티티가 합의에 합류하고 참여할 수 있는 개방형 또는 비허가형(permissionless) 모델에서 작동한다. 결과적으로, 네트워크에 들어오는 엔터티가 거래와 잔액(balance)을 볼 수 있다.
무엇보다도, 우리는 블록체인 시스템의 하나 이상의 엔티티가 일련의 동작을 수행할 수 있게 하는 방법을 설명한다. 상기 블록체인 시스템은 메인 체인, 코체인(ch-chain)을 포함하며, 여기서 상기 코체인은 상기 메인 체인 상의 대응하는 계정, 상기 메인 체인 상의 상기 대응하는 계정이 소유하고 상기 코체인 상의 계정이 소유하는 자산, 및 상기 자산을 소유한 코체인 계정을 갖는다. 상기 동작은 상기 코체인의 계정에서 상기 메인 체인의 계정으로의 상기 자산의 이전을 인증하는 인증된(authenticated) 거래를 상기 코체인에 포스팅하는 단계, 상기 인증된 거래가 상기 코체인에 포스팅되었는지 판정하는 단계, 상기 메인 체인의 상기 계정에 상기 자산을 할당하는 거래를 상기 메인 체인에 포스팅하는 단계를 포함한다.
상기 구현의 효익과 이점은 종래 방법과 비교하여 허가형(permissioned) 전용(private) 블록체인을 사용하여 결제 프로토콜(payment protocol)의 향상된 보안, 확장성 및 탈중앙화를 포함한다. 크로스체인 지불 블록은 다른 기술에 비해 짧은 시간에 생성되며, 상기 블록의 거래는 즉시 완료된다. 추가 효익과 이점에는 각 전용 블록체인의 구성원에 대한 향상된 개인 정보 보호 및 기밀성이 포함된다. 각 전용 블록체인은 정직한 거래를 보장하기 위해 규제 체제를 준수할 수 있다. 여기에 개시된 구현은 더 느리고 임시적이며 더 취약한 메커니즘을 사용하는 기존 방법과 비교하여 더 빠르고 더 안전하며 더 효율적인 메커니즘을 구현한다.
도 1은 다수의 허가형 전용 블록체인을 사용하는 결제 네트워크의 예시적인 블록 다이어그램을 보여준다.
도 2는 하나 이상의 구현에 따른 다수의 허가형 전용 블록체인을 사용하는 결제 네트워크의 예시적인 사용 사례를 보여준다.
도 3은 코체인을 사용하기 위한 예시적인 프로세스를 보여준다.
도 4는 코체인을 사용하여 자산을 이전하는 예시적인 프로세스를 보여준다.
도 5는 하나 이상의 구현에 따라 다수의 허가형 전용 블록체인을 사용하여 결제 네트워크를 구현하기 위한 예시적인 머신을 도시한다.
본 명세서는 개방형(public) 및 전용(private) 블록체인의 사용 및 이들 간의 상호 운용성을 위한 기술을 설명한다. 개방형 블록체인과 통신 가능하게 연결되고 상호 운용 가능한 전용 블록체인을 "코체인"이라고 한다. 제한된 수의 엔티티(때로 "허가형"이라고 하는 특성)에 대한 액세스가 제한되고 액세스 권한이 부여된 사람들에게 전용인 코체인을 만들 수 있다(예를 들어, 액세스 권한이 부여되지 않은 사람들은 코체인 상의 활동을 관찰할 수 없고 및/또는 코체인 상의 거래에 참여할 수 없다). 예를 들어, 전용 코체인은 기관이나 개인이 인스턴스화하여 거래 및 개인의 잔고(balance)의 프라이버시를 보호할 수 있다. 또한, 코체인은 이해 관계자의 고속 및 규제 요구 사항을 충족하도록 확장할 수 있다. 이러한 코체인은 거래에 알고랜드 합의 프로토콜을 사용할 수 있다. 따라서 개방형 알고랜드 블록체인의 전용 대응물을 구현할 수 있다.
전용 코체인이 허가형일지라도, 검증자(validator)는 전용 코체인 거래를 메인 체인에 등록하는데 사용된다. 예를 들어, 전용 코체인에서 거래가 생성되면 거래와 연관된 유효성 검사 요청이 전용 코체인의 검증자 장치로 전송된다. 검증자는 거래의 유효성 검사로서 거래와 연관된 약정(commitment)을 생성한다. 약정은 전용 코체인에서 발생하는 거래가 유효한지 검증하는 데 사용할 수 있다(예를 들어, 자산을 교환하는 엔티티가 실제로 해당 자산을 소유하고 있는지 확인). 약정은 "제로 지식(zero knowledge)"일 수 있으며 개인 블록 또는 전용 코체인의 암호자산 거래에 대한 정보를 드러낼 필요가 없다. 또한, 약정은 전용 코체인과 메인 체인 모두에 추가될 수 있다.
코체인은 일정 금액의 암호화폐를 이전하거나, 암호자산을 이전하거나, 대체 가능한(fungible) 토큰을 사용하는 거래과 같은 암호자산 거래를 수행하는 데 사용된다. 기관은 전용 코체인에 특정 자산을 할당하는 개방형 블록체인 상의 거래를 발급할 수 있다. 전용 코체인과 그것의 전체 자산 목록 간의 매핑은 개방형 블록체인을 통해 기록되고 업데이트될 것이다. 여기에 설명된 방법은 더 느리고 임시적이며 더 취약한 메커니즘을 사용하는 종래 방법에 비해 더 빠르고 안전하며 효율적인 메커니즘을 구현한다.
전용 블록체인을 사용한 예시 시나리오
사용 중인 코체인의 예로서, 코체인 C는 메인 체인의 계정 A와 연관된다. 이 예의 목적을 위해, "메인 체인"은 개방형 블록체인이고, 코체인은 그의 거래가 특정 엔티티 세트에게만 보여질 수 있고 특정 엔티티 세트에 의한 거래만이 받아들여지는 전용 블록체인이다. 때때로 주소라고도 하는 "계정"은 값과 자산 간의 수학적 연관을 통해 암호자산을 소유하는 값이이다. 계정은 공개 키의 소유자(예를 들어, 대응하는 개인 키의 소유자)가 계정이 소유한 자산에 액세스할 수 있도록 공개 키로 표시되는 경우가 있다. 즉, 공개 키의 소유자는 공개 키에 대응하는 계정을 소유한다. 블록체인의 계정을 가지거나 "소유"하는 엔티티는 때때로 블록체인의 구성원이라고 한다.
메인 체인은 메인 체인 상의 계정 A가 자산 세트를 소유하고 있음을 나타내는 레코드를 포함한다. 이러한 자산은 코체인 C의 하나 이상의 계정이 소유한다. 메인 체인의 구성원은 코체인 C 상의 계정 X가 계정 A의 특정 자산을 소유하는 정보에 액세스할 수 없다. 일부 예에서, 메인 체인은 계정 A가 특정 코체인 C와 연관되어 있다는 정보를 유지할 필요가 없다. 이러한 예에서 이 메인 체인의 구성원은 계정 A가 코체인 C에 대응한다는 사실조차 모를 수 있다.
코체인 계정 X가 자산 B를 메인 체인 상의 공개 키 PK(예를 들어, 대상 공개 키)로 이전하기를 원할 때, 계정 X는 예를 들어 디지털 서명 SIGx(B,PK,MAIN)를 연산하고 이 서명을 거래 T의 일부로서 코체인 C의 블록에 포스팅함으로써 그것이 하려고 의도하는 것을 인증한다. 이러한 포스팅은 계정 X가 코체인 C에서 자산 B를 소유하고 있다는 것이 실제로 사실이기 때문에 성공한다(예를 들어, 거래 T가 유효하지 않으면 포함하는 블록이 코체인 C에 추가되지 않는다). 코체인 C의 검증자는 메인 체인 상에서 자산 B를 PK로 이전해야 하는 계정 A를 인증한다. 예를 들어, 그것들은 계정 A로 "SIGc(B,PK)"를 전달(예를 들어, 계정 A가 수신하도록)할 수 있다. 여기서 "SIGc(B,PK)"는 코체인 C 검증자의 투표 지분의 과반수에 해당하는 코체인 C 검증자의 디지털 서명 세트를 나타낸다. 예를 들어, 코체인 C의 각 검증자가 코체인 C의 다른 검증자와 동일한 투표 파워를 갖고, 코체인 C에 100개의 검증자가 있다면, SIGc(B,PK)는 (B,PK)의 80개의 검증자의 디지털 서명에 대응한다.
다른 예로서, 코체인 C의 검증자는 임계치 서명 방식을 사용할 수 있다. 이러한 방식에서 공개(검증) 키 PK에는 단일 엔티티에 알려진 대응하는 비밀(서명) 키 SK가 없을 수 있다. 오히려, 각 검증자 i는 SK의 지분(share) SKi만 알고 있다. SKi를 사용하여, 검증자 i는 검증자 자신의 "부분 서명"(B,PK)을 계산할 수 있다. 그러나 이러한 부분 서명이 충분히 많으면(예를 들어, 100 중 66) 전체 서명 SIG(B,PK)를 계산할 수 있고, 이는 PK에 상대적인 일반 서명이므로 PK만 알면 쉽게 검증할 수 있다. 이 경우 SIGc(B,PK)=SIG(B,PK)로 설정할 수 있다. 이 접근 방식의 이점은 (B,PK)가 다수의 서명이 아닌 단일 서명으로 인증되지만 충분히 많은 검증기(verifier)가 그의 계산에 협력해야 하고 따라서 충분히 많은 검증기가 메인 체인의 PK로의 자산 B의 이전을 보증한다고 하는 것이다.
일부 예에서, 메인 체인 상의 코체인 C에 대응하는 계정 A는 또한 코체인 C의 계정일 수 있다. 또 다른 예로서, 계정 A는 코체인 C를 모니터링할 권한이 있다. 이 예시에서, 코체인 C의 검증자는 별도의 SIGc(B,PK)를 계정 A에 보낼 필요가 없다. 예를 들어, 계정 A는 메인 체인 상의 키 PK로의 자산 B의 이전을 인증하는 적절한 거래가 코체인 C 상의 계정 X에 의해 포스팅되는 것을 그것이 보는 순간 B를 PK에 할당하는 거래를 메인 체인에 포스팅할 수 있다.
계정 A가 코체인 C의 승인 없이 코체인 C의 계정에 속하는 자산을(하나 이상의 공개 키 PK에) 할당할 수 있는 것을 방지하기 위해, 우리는 메인 체인에서의 계정 A의 공개 키 PKa(예를 들어, 계정 A가 자산 B를 메인 체인 상의 PK로 이전하는 것을 승인하는 데 사용하는 공개 키)가 임계값 서명 방식의 공개 키이고 대응하는 비밀 키는 계정 A(또는 블록체인 시스템과 연관된 임의의 다른 엔티티)에 알려지지 않았음을 보장한다. 오히려, 코체인 C의 각 검증기는 SK의 지분을 소유하고 계정 A가 메인 체인 상의 PK로의 자산 B의 이전을 승인하는 디지털 서명을 계산하는 데 사용할 수 있다. 즉, 이 서명이 SIG(B,PK)라고 가정하면, 각 검증기는 자체 부분 서명을 생성하고 전체 서명은 계정 A에 의해 이러한 부분 서명으로부터 조합되거나, 전체 서명이 먼저 조합되고(예를 들어 블록체인과 연관된 엔티티에 의해) 그런 다음 계정 A에서 가용하게 된다. 이러한 방식으로 c의 검증기만 메인 체인 상의 PK로의 자산 B의 이전을 승인하는 서명을 계산할 수 있으며 코체인 C에서의 자산 B의 적절한 포스팅에 대한 응답으로만 이를 수행할 것이다.
이 예에서 설명된 기술은 도 4와 관련하여 아래에서 추가로 설명된다.
코체인의 예시적 구현
도 1은 다수의 코체인(120, 140)을 사용하는 결제 네트워크의 예시적인 블록도를 도시한다. 결제 네트워크는 코체인(120, 140), 개방형 블록체인(104), 및 네트워크(116)를 포함한다. 네트워크(116)는 인터넷의 일부 또는 로컬 네트워크를 포함할 수 있다. 다른 구현에서, 결제 네트워크는 추가 또는 더 적은 수의 구성요소를 포함할 수 있고, 구성요소는 다른 방식으로 연결될 수 있다.
코체인(120, 140)은 일정 금액의 암호화폐를 이체하거나, 암호자산을 이전하거나, 대체 가능한 토큰을 사용하는 거래과 같은 암호자산 거래를 수행하는 데 사용될 수 있다. 기관 또는 관리자(예를 들어, 개방형 블록체인(104)의) 및 코체인(120)은 코체인(120)에 속하는 자산 세트에 동의한다. 예를 들어 기관은 코체인(120)에 특정 자산을 할당하는 개방형 블록체인(104)에서 거래를 발급할 수 있다. 코체인(120)과 그의 자산의 전체 목록 간의 매핑은 개방형 블록체인(104)을 통해 기록되고 업데이트된다. 예를 들어, 코체인(120) 상의 계정에 속하는 자산이 개방형 블록체인(104)의 특정 계정에 할당되어 개방형 블록체인(104)의 구성원의 관점에서 계정이 코체인(120)의 계정에 속하는 모든 자산을 소유하도록 한다.
암호자산 거래는 한 암호자산 계정에서 다른 암호자산 계정으로 특정 금액의 암호자산을 이전한다. 암호자산은 암호화를 사용하여 금융 거래를 보호하고 추가 단위 생성을 제어하거나 암호자산의 이전을 검증하는 교환 매체로서 작동하도록 설계된 암호 화폐(예를 들어, Algo)를 참조할 수 있다. 암호자산은 또한 블록체인에 의해 관리되는 자동차 소유권 또는 모기지와 같은 자산의 안전한 기록을 참조할 수 있다.
암호자산 계정은 계정을 소유한 엔티티가 암호자산을 저장하고 및/또는 암호화폐 잔액을 관리할 수 있게 한다. 각 암호자산 계정에는 고유 식별자인 계정 식별자가 있다. 암호자산 계정은 암호자산의 현재 잔액을 보여주고 엔티티의 거래를 표시한다. 엔티티는 특정 금액의 암호자산에 대해 다른 암호자산 계정을 가진 다른 당사자에게 요청을 보낼 수 있다.
여기에서 구현은 전용 블록체인(예를 들어, 코체인(120))에서 개방형 블록체인(104)으로 암호자산을 이전하기 위한 방법 및 메커니즘에 관한 것이다. 여기에 개시된 구현은 더 느리고 임시적이며 더 취약한 메커니즘을 사용하는 기존의 메커니즘에 비해 더 빠르고, 더 안전하며, 더 효율적인 메커니즘을 구현한다. 구현은 자산 제어 및 이전 시스템을 구현하는 데 사용할 수 있다(예를 들어, 자동차 소유권 또는 부동산 관련 모기지 관련 파이낸싱). 다중 체인 암호화 거래는 많은 시나리오를 처리하고 더 복잡하고 계산 비용이 많이 드는 스마트 계약의 필요성을 줄일 수 있다. 자산 교환은 거래가 한 자산의 일부 금액을 다른 자산과 교환하는 것을 포함하는 경우 구현될 수 있다. NFT(Non-Fungible Token) 교환은 NFT가 일정 금액의 대체 가능한 토큰(예를 들어, Algo)으로 교환되는 경우 구현될 수 있다.
액세스가 제한되고(허가형) 전용 코체인(예를 들어, 코체인(120, 140))이 생성될 수 있다. 일부 예에서 코체인은 알고랜드 합의 프로토콜을 사용한다. 코체인이 허용형이지만, 여기에 공개된 구현은 보안을 개선하기 위해 사용 가능한 한 많은 검증자(152)를 사용하려고 한다. 따라서, 계층 1에서 아토믹 스왑(atomic swap)을 수행할 수 있는 개방형 알고랜드 블록체인(104)의 전용 버전이 생성될 수 있다. 계층 1은 기본 주요 블록체인 아키텍처를 나타낸다. 이 아키텍처를 사용하여 코체인은 개방형 블록체인(예를 들어, 개방형 블록체인(104))과 쉽게 통신할 수 있으며 개방형 블록체인에 대한 다리 역할을 한다. 따라서 자산을 개방형 블록체인으로 이전할 수 있다. 예를 들어, 엔티티가 자산을 판매하기를 원할 수 있다. 엔티티가 자산을 경매하는 경우, 경매는 코체인에서 사용할 수 있는 것보다 더 많은 입찰자와 함께 개방형 블록체인에서 수행될 수 있다.
일부 구현에서, 자산은 코체인(120)에 있는 엔티티의 계정에서 개방형 블록체인(104)에 있는 엔티티의 공개 키(144)로 이전된다. 개방형 블록체인(104)은 비허가형(permissionless)이기 때문에, 개방형 블록체인(104)은 예를 들어, 공개 키(144)가 생성될 때 공개 키(144)를 받아들인다. 개방형 블록체인(104)은 공개 키(144)가 자산을 획득했음을 기록한다. 예를 들어, 자산 세트는 코체인의 단일 블록(124)을 사용하여 코체인(120)에서 개방형 블록체인(104)으로 이전될 수 있다. 이전에, 블록(124)은 해시를 사용하여 구축된다. 이전하는 엔티티는 블록(124)의 해시에 서명한다.
일부 구현에서, 코체인(120)에서 개방형 블록체인(104)으로의 이전이 해시된다. 코체인(120)에서 코체인(120)으로의 이전도 해시된다. 두 해시 모두 블록(124)에 나타난다. 두 해시 모두 코체인(120)에서 코체인(120)으로의 이전을 드러내지 않고 코체인(120)에서 개방형 블록체인(104)으로의 이전을 드러내도록 인증된다. 해시를 블록(124)의 일부인 자산 수량으로 이전하는지 여부를 판정하기 위해 검사가 수행된다.
개방형 블록체인(104)에 액세스할 수 있는 제1 엔티티는 코체인(120)에서 개방형 블록체인(104)으로의 이전을 알 것이다. 제2 엔티티가 그것이 코체인(120)의 검증자(152)라고 주장할 때, 제1 엔티티는 매칭 기술을 사용하여 인증서가 실제로 제2 엔티티에 의해 서명되었는지 여부를 판정한다. 검증자(152)는 가중될 수 있으며, 예를 들어 신뢰할 수 있는 검증자는 더 높은 가중치를 할당받는다. 가중치의 합이 충분하면, 제1 엔티티는 블록(124)이 유효한지 판정한다. 자산 이전자의 키와 양수인 키(144)는 블록(148)에 기록된다.
자산 이전을 수행하는 추가 방법은 자산을 개방형 블록체인(104)의 키(예를 들어, 키(144))로 이전하는 것이다. 그러면 제1 엔티티는 개방형 블록체인(104)의 키(144) 및 자산이 결합되는 것을 나타내는 기록을 만든다. 개방형 블록체인(104)은 검증자(152)의 신원을 알게 된다. 검증자(152)가 변경될 때마다(예를 들어, 가중치가 추가 또는 차감되거나, 검증자(152)가 재가중치가 부여됨), 이전 검증자 세트의 정족수(quorum)(152)는 새로운 검증자 세트(152)를 지정하거나 사인오프한다. 일부 구현에서, 개방형 블록체인(104)은 검증자 정보의 작은 변경을 허용하도록 구성된다. 블록(124, 148)의 일부는 새로운 검증자(152)를 포함하도록 예약될 수 있다. 예를 들어, 블록(124)이 코체인(120)에서 코체인(140)으로의 암호자산 이전을 포함할 때, 블록(124)은 검증자 변경을 위한 필드를 포함한다.개방형 블록체인(104)의 제1 노드는 코체인(120)의 기능을 관찰할 수 있다. 따라서 제1 노드는 코체인(120)의 이전을 인식한다. 개방형 블록체인(104)의 제2 노드는 코체인(120)의 기능을 관찰할 수 있다.
일부 구현에서, 대변인(spokesman)(156)은 이전을 용이하게 하기 위해 사용된다. 예를 들어, 100개의 검증자가 도 1에 도시된 블록체인 시스템에 존재할 수 있다. 거래는 블록(148)에서 사인오프하기 위해 적어도 60개의 검증자가 필요하다. 이러한 구현에서 대변인(156)이 사용될 수 있다. 대변인(156)의 단일 서명은 유효성 검증에 충분하다. 그러나 대변인(156)은 단일 실패 지점을 나타낼 수 있다. 예를 들어, 대변인(156)이 코체인(120)의 이전에 대한 정보에 서명하고 대변인(156)이 악의적이거나 손상된 경우 이의를 제기할 블록이 20개 있다. 검증자(152)는 유효성 검증을 차단할 수 있으며 이전은 무효화된다. 한 명 이상의 대변인을 사용할 수 있다. 검증자(152)만이 대변인(156)이 변경되었음을 개방형 블록체인(104)에 알릴 수 있다.
일부 구현에서, 개방형 블록체인(104)의 관리 엔티티는 임시 키(144)로 나타내지 않고 예를 들어 감사 또는 처벌할 권리와 같은 소구할 권리가 있는 알려진 엔티티로 표시된다. 예를 들어 경매를 수행하는 것과 같은 자산의 후속 처리를 위한 명령을 포함하는 추가 메모 필드가 블록(148)에 추가될 수 있다. 메모 필드를 암호화할 수 있다. 메모 필드는 코체인(120)의 관리자 또는 다른 키로의 이전을 나타낼 수 있다. 메모 필드는 자산을 처분하라는 명령을 나타낼 수 있다. 일부 구현에서, 치료 시간은 0이며, 즉 대변인(156)이 신뢰된다. 따라서 비허가형 및 허가형 블록체인이 모두 사용된다.
일부 구현에서, 코체인(120)과 연관된 검증자(152)는 암호자산 거래와 연관된 유효성 검증 요청을 수신한다. 유효성 검증 요청은 각 검증자(152)가 암호자산 거래를 유효성 검사하도록 한다. 적어도 하나의 대변인(156)은 검증자(152)를 대신하여 데이터를 인증하도록 식별된다. 대변인(156)은 코체인(120)에 통신 가능하게 결합된 개방형 블록체인(104)에 데이터를 포스팅한다. 검증자(152)는 데이터가 유효한지 여부를 판정한다. 판정에 응답하여, 검증자(152)는 데이터에 대한 챌린지를 개방형 블록체인(104)에 포스팅한다. 일부 구현에서, 챌린지는 새로운 블록(예를 들어, 20개 블록)의 임계치가 개방형 블록체인(104)에 추가되기 전에 개방형 블록체인(104)에 포스팅된다. 일부 구현에서 데이터는 약정(128)과 연관된다.
각각의 검증자(152)에는 검증자(152)가 신뢰되는 정도를 나타내는 가중치가 할당될 수 있다. 데이터가 유효한 것으로 판정하는 것은 검증자(152)의 가중치의 합이 임계 가중치를 초과하는 것에 응답하여 수행된다. 일부 구현에서, 개방형 블록체인(104)은 각 검증자의 신원, 각 검증자에 할당된 가중치, 및 검증자(152)의 가중치의 합이 임계 가중치를 초과한다는 판정을 나타내는 메시지를 수신한다. 개방형 블록체인(104)은 개방형 블록체인(104)의 새로운 블록(148)에서의 암호자산 거래의 암호자산 양도자의 제1 키(144)와 암호자산 거래의 암호자산 양수인의 제2 키를 기록한다.
일부 구현에서, 개방형 블록체인(104)은 암호자산의 양수인으로의 암호자산의 원하는 이전을 나타내는 메시지를 수신한다. 개방형 블록체인(104)은 암호자산의 양수인으로의 암호자산의 이전을 기록한다. 일부 구현에서, 암호화 자산 거래와 연관된 양생(cure)를 위한 시간은 적어도 하나의 대변인(156)이 신뢰됨을 나타내는 양생을 위한 임계 시간 미만이다. 암호자산 거래는 암호자산을 코체인(120)에서 개방형 블록체인(104)으로 이전할 수 있다. 암호자산 거래는 암호자산을 개방형 블록체인(104)에서 코체인(120)으로 이전할 수 있다. 암호자산 거래는 코체인에서 제2 코체인(140)으로 암호자산을 이전할 수 있다. 암호자산 거래는 개방형 블록체인(104)에 의해 촉진된다. 전용 코체인(120, 140)이 개방형 블록체인(104)보다 훨씬 더 탈중앙화될 수 있도록 메시지 전달 아키텍처가 사용된다.
코체인(120)은 대형 은행 또는 국가에 의해 소유되거나 관리될 수 있다. 코체인(120)은 개방형 블록체인(104)을 자체 보안 메커니즘으로 사용할 수 있다. 예를 들어, 코체인(120)의 참가자는 개방형 블록체인(104)에 높은 수준의 신뢰를 둘 수 있다. 따라서, 코체인(120)은 전체 블록(124)의 해시를 수행하고 이를 개방형 블록체인(104)에 올릴 수 있다. 100 블록마다 코체인(120)의 블록에서 해시가 취해지면, 해당 블록에서 계산이 다시 시작될 수 있다. 이러한 경우 거래뿐만 아니라 특정 시점에서 자산을 소유한 각 엔티티의 전체 잔액이 해시된다.
일부 구현에서, 코체인(120)이 새로운 자산을 생성할 때, 코체인(120)은 개방형 블록체인(104)에 자산을 생성한 다음 이를 다시 코체인(120)으로 이전할 수 있다. 코체인(120)의 참여자가 나중에 자산을 판매하기를 원하는 경우, 개방형 블록체인(104)은 코체인(120)에 있는 자산의 소유권 기록을 가지고 있기 때문에 이것이 수행된다. 코체인(120)이 손상되면, 개방형 블록체인(104)에서 생성된 자산은, 자산이 코체인(120)에서 처음 생성된 경우보다 코체인(120)에서 이중 판매(이중 지출)가 더 어렵다. 예를 들어, 개방형 블록체인(104)은 특정 검사를 수행할 수 있다. 개방형 블록체인(104)은 대변인(156)을 확인할 수 있고 또한 자산이 여전히 코체인(120)에 의해 소유되어 있는지 확인할 수 있다.
개방형 블록체인에 의해 촉진되는 2개의 전용 코체인 간의 암호자산 이전
일부 구현에서, 사용자 장치는 제1 전용 블록체인(120)에서 암호자산 거래를 인스턴스화하여 제1 금액의 제1 암호자산을 제1 암호자산 계정(124)에서 제2 전용 블록체인(140)과 연관된 제2 암호자산 계정(136)으로 이전한다. 사용자 장치는 도 5를 참조하여 더 상세히 예시되고 설명된 바와 같이 구현되는 휴대폰, 컴퓨터 또는 태블릿일 수 있다. 검증자 장치(152)는 제1 일회성 키(144)와 연관된 제1 약정(128)을 생성하기 위해 제1 암호자산 거래를 유효성 검증한다. 제1 전용 블록체인(120)과 연관된 제1 컴퓨터 장치는 제1 약정(128)을 개방형 블록체인(104)에 포스팅한다. 제1 컴퓨터 장치는 도 5를 참조하여 더 상세히 도시되고 설명된 바와 같이 구현되는 데스크탑, 랩탑 또는 서버일 수 있다. 개방형 블록체인(104)과 연관된 제2 컴퓨터 장치는 제1 금액의 제1 암호자산을 개방형 블록체인(104) 상의 제1 일회성 키(144)에 할당한다. 제2 컴퓨터 장치는 도 5를 참조하여 더 상세히 예시 및 기술된 바와 같이 구현된 데스크톱, 랩톱 또는 서버일 수 있다. 제2 컴퓨터 장치는 제1 금액의 제1 암호자산과 제2 금액의 제2 암호자산 사이에서 아토믹 스왑을 수행한다. 제2 금액의 제2 암호자산은 제2 약정(132)과 연관된 제2 일회성 키에 할당된다. 제2 약정(132)은 제2 금액의 제2 암호자산을 제2 암호자산 계정(136)에서 제1 암호자산 계정(124)으로 이전하는 것이다.
일부 구현에서, 일회성 키가 아닌 키가 제1 암호자산에 할당된다. 예를 들어, 키는 개방형 블록체인(104)으로의 암호화 자산의 모든 이전을 위해 제1 전용 블록체인(120)에 의해 사용되는 키일 수 있다.
일부 구현에서, 허가형 코체인(120) 상의 제1 암호자산 계정(124)과 연관된 제1 사용자 장치는 암호자산 거래를 인스턴스화한다. 코체인(120)과 연관된 제1 컴퓨터 장치(예를 들어, 관리자 장치)는 타원 곡선 암호화를 사용하여 개인 키를 생성한다. 개인 키는 제1 사용자 장치가 암호자산 거래에 서명하기 위한 것이다. 암호자산 거래는 (코체인(120)에 있는) 제1 암호자산 계정(124)에서 (코체인(140)에 있는) 제2 암호자산 계정(136)으로 제1 금액의 제1 암호자산을 이전하는 것이다. 제1 암호자산은 자동차 소유권, 모기지, 채권 또는 주식 등을 포함할 수 있다. 개방형 블록체인(104)과 코체인(120) 사이의 이전은 (a) 코체인(120)에서 제1 암호자산을 인출한 후 (b) 이를 개방형 블록체인(104)에 예치함으로써 수행된다. 제2 암호자산 계정(136)은 코체인(140)과 연관된다. 거래는 코체인(120)에 대해 비공개이다. 코체인(120)의 관리자가 포스팅하지 않는다면, 이러한 거래와 코체인(120)의 블록(124)은 개방형 블록체인(104)에 전파되지 않는다.
일부 구현에서, 제1 사용자 장치는 제1 암호자산 계정(124)의 신원을 익명화하는 제1 일회성 키(144)를 생성한다. 다른 구현에서, 사용자 장치는 익명성에 대해 더 적은 신뢰성을 가진 장기간의 키로 암호자산을 이전할 수 있다. 코체인(120)의 검증자 장치(152) 세트는 암호자산 거래와 연관된 유효성 검증 요청을 수신한다. 검증자 장치(152)는 코체인(120)과 연관된다. (코체인(120)의) 제1 컴퓨터 장치는 개방형 블록체인(104)에 검증자 장치(152)를 등록할 수 있다. 각 검증자 장치는 암호자산 거래를 유효성 검증하기 위한 서로 다른 공개 키를 가지고 있다. 따라서, 코체인(120, 140)은 개방형 블록체인(104)에 검증자의 공개 키 세트를 등록한다. 전용 코체인 관리자는 각 블록(124)에 서명해야 하는 검증자(152) 세트를 포함하는 "전용 체인 생성" 거래를 발행할 수 있다.
일부 구현에서, 유효성 검증 요청은 각 검증자(152)가 암호자산 거래를 유효성 검증하도록 촉구한다. 개방형 블록체인(104)은 각 코체인(120, 140)에 대해 검증자(152)가 되도록 인증된 공개 키 세트를 추적한다. 검증자(152)는 암호자산 거래를 검증하여 제1 일회성 키(144)와 연관된 약정(128)을 생성한다. 검증자(152)는 휴대폰, 컴퓨터, 또는 테블릿 등이 될 수 있다. 따라서 각 코체인(120)은 거래의 각 블록(124)에 대해 독립적인 합의를 수행할 수 있다. 코체인(120)과 연관된 제1 컴퓨터 장치는 개방형 블록체인(104)에 약정(128)을 포스팅한다. 이러한 방식으로, 코체인(120)은 규제 의무를 충족할 수 있다. 개방형 블록체인(104)에 약정(128)을 포스팅하기 위해, 제1 컴퓨터 장치는 속성 기반 암호화를 사용하여 암호자산 거래와 연관된 보조 정보를 암호화한다. 예를 들어, 잔액일람표의 각 항목은 Ei로 표시된다. 전용 코체인 검증자(152)는 E1, ..., EN 엔트리의 컬렉션에 대해 약정: Chain_1_Commit_Round_R을 생성한다. 라운드가 끝나면, 코체인 검증자(152)는 약정 Chain_1_Commit_Round_R을 승인하는 인증서 Chain_1_Cert_Round_R을 생성한다.
자체 검증 거래는 다른 구현으로 생성될 수 있다. 일부 구현에서, 레코드에 대한 약정(128)이 인스턴스화되고 자체 검증 거래가 수행된다. 예를 들어, 전용 코체인 검증자(152)는 2개의 약정을 생성할 수 있다. 하나의 약정은 인출 요청에 해당하고, 제2 약정은 코체인(120) 내의 다른 잔액에 해당한다. 다른 구현에서 검증자(152)는 추가 증거를 생성할 필요 없이 각 인출 요청을 공개할 수 있다. 또 다른 구현에서, 자체 검증 거래는 블록(124)의 비공개 영역에 포스팅된 거래를 포함한다. 이러한 거래는 이전 블록의 해시, 블록 번호, 비 전용 거래의 세트, 및 전용 거래의 세트에 대한 약정(128)을 포함할 수 있는 블록 헤더의 일부일 수 있다. 따라서 코체인(120)의 인증된 블록 헤더는 자산을 코체인(120)에서 허가형 체인(140)으로 이송하는 거래가 자체 검증을 가능하게 한다.
일부 구현에서,(코체인(120)의 제1 암호자산 계정(124)과 연관된) 제1 사용자 장치는 암호자산 거래의 증명(112)을 인증한다. 증명(112)은 약정(128)과 연관된다. 제1 사용자 장치는 인증된 증명(112)을 개방형 블록체인(104)에 포스팅한다. 따라서 인증서 및 약정(128)은 개방형 블록체인(104)에 포스팅된다. 약정(128)은 "제로 지식"이 되도록 설계되었으며, 블록체인(104)의 개별 항목 E1, ..., EN에 대한 정보를 공개하지 않는다.
(개방형 블록체인(104)의 관리자 장치와 같은) 제2 컴퓨터 장치는 개방형 블록체인(104)과 연관된다. 제2 컴퓨터 장치는 개방형 블록체인(104) 상의 제1 일회성 키(144)로 제1 금액의 제1 암호자산을 할당한다. 개방형 블록체인(104)은 잔액일람표 항목에 할당을 저장할 수 있다. 각 라운드에 대해, 코체인(120)의 검증자(152)는 자산의 잔액일람표에 대한 합의에 도달한다. 따라서 코체인(120)에 의해 생성된 각 블록(124)은 잔액일람표 항목에 대한 약정(128)을 포함한다. 제2 컴퓨터 장치는 코체인(120)과 연관된 잔액일람표에서 제1 금액의 제1 암호자산을 제거한다. (블록체인(104)의) 제2 컴퓨터 장치는 또한 코체인(140)에 연관된 개방형 블록체인(104)의 또다른 잔액일람표에서 제2 금액의 제2 암호자산을 제거한다. 일부 구현에서, 제2 컴퓨터 장치는 제2 금액의 제2 암호자산을 개방형 블록체인(104) 상의 제2 일회성 키에 할당한다. 제2 일회성 키는 코체인(140) 상의 제2 암호자산 계정(136)의 신원을 익명화한다. 다른 구현들에서, 제2 사용자 장치는 익명성에 덜 의존하면서 제2 암호화 자산을 제2 장기 키로 이전할 수 있다.
제2 컴퓨터 장치는 제1 금액의 제1 암호자산과 제2 금액의 제2 암호자산 사이에서 아토믹 스왑을 수행한다. 제1 금액의 제1 암호자산과 제2 금액의 제2 암호자산 사이의 스왑은 원자적이며, 이는 교환이 동시에 발생할 수 있는 다른 거래과 격리됨을 의미한다. 따라서 스왑은 분할할 수 없으므로 그 사이에 다른 거래가 나타나지 않고 교환이 수행되도록 한다. 제2 일회성 키는 약정(132)과 연관된다. 약정(132)은 제2 암호자산 계정(136)에서 제1 암호자산 계정(124)으로 제2 금액의 제2 암호자산을 이전하는 것이다. 약정(132)은 코체인(140)에서의 블록에서 발생한다. 따라서 2개의 정직한 전용 코체인(120, 140)은 개방형 블록체인(104)을 통해 암호자산을 교환할 수 있다. 개방형 블록체인(104)은 그에 따라 코체인 잔액을 업데이트한다.
일부 구현에서, (블록체인(104)의) 제2 컴퓨터 장치는 아토믹 스왑의 기록을 개방형 블록체인(104)의 분산 거래 원장에 저장한다. 이 기록은 전용 코체인(120, 140)을 참조한다. 따라서, 2개의 전용 코체인(120, 140)에 속하는 2명의 사용자(U1 및 U2)는 각각의 전용 코체인(120, 140)의 레코드(E1 및 E2)에 캡처된 자산을 스왑할 수 있다. 일부 구현에서, 개방형 블록체인(104)은 통화 교환을 포함한다. 제1 암호자산은 제1 통화가 될 수 있고 제2 암호자산은 제2 통화가 될 수 있다.
일부 구현에서, 개방형 블록체인(104)은 대체 불가능 토큰(NFT) 교환을 포함한다. 제1 암호자산은 NFT이고 제2 암호자산은 대체 가능한 토큰 집합이다. 따라서 결제 네트워크는 특정 암호화폐와 연관된 대체 가능한 암호화폐 토큰을 생성하고 거래할 수 있다. 토큰은 임의의 두 단위가 서로 교환할 수 있는 경우 대체할 수 있다. 대체 가능한 토큰의 예는 임의의 두 단위의 구매력이 동일한 경우이다. 일부 구현에서, 개방형 블록체인(104)은 NFT 교환을 포함하며, 여기서 제1 암호자산은 제1 NFT이고 제2 암호자산은 제2 NFT이다. 예를 들어, 제2 컴퓨터 장치는 블록체인(104)에서 NFT를 생성할 수 있다. NFT는 제1 암호자산을 토큰화한다. 일부 구현에서, 정부 또는 기관은 자산을 토큰화하기를 원한다. 기관은 표준 토큰 생성 API 호출을 사용하여 블록체인(104)에서 새로운 토큰을 생성할 수 있다. 그러면 기관은 자산 관리자로 남을 수 있다.
(블록체인(104)의) 제2 컴퓨터 장치는 제2 금액의 제2 암호자산으로 개방형 블록체인(104)의 잔액일람표를 업데이트한다. 잔액일람표는 코체인(120)과 연관된다. 개방형 블록체인(104)은 전용 코체인(120, 140)이 다른 코체인과 거래할 수 있도록 각 코체인(120, 140)에 대한 자산의 "잔액"을 유지한다. 제1 사용자 장치(제1 암호자산 계정(124)와 연관됨)는 제2 금액의 제2 암호자산을 개방형 블록체인(104)에서 코체인(120)으로 이전하기 위해 다른 암호자산 거래를 시작한다. 일부 경우에 전용 코체인 관리자는 개방형 블록체인(104)에서 자산을 생성하는 기관과 동일하다. 따라서 암호화 자산이 교환되었다.
일부 구현에서, 사용자 장치는 코체인(120)의 제1 암호자산 계정(124)의 신원을 익명화하는 제1 일회성 키(144)를 생성한다. 따라서, 전용 코체인은 사용자가 폐쇄된 네트워크 환경에서 사적으로 거래할 수 있게 한다. 코체인(120)에서 전파되는 거래는 전 세계에서 볼 수 없다. 사용자 장치는 코체인(120)에서 암호자산 거래를 인스턴스화하여 일정 금액의 암호자산을 코체인(120)의 제1 암호자산 계정(124)에서 제2 암호자산 계정(136)으로 이전한다. 컴퓨터 장치(코체인(120)의 관리자)는 타원 곡선 암호화를 사용하여 사용자 장치가 암호자산 거래에 서명하기 위한 개인 키인 개인 키를 생성할 수 있다. 제2 암호자산 계정(136)의 신원은 제2 일회성 키로 익명화된다. 컴퓨터 장치(코체인(120)의 관리자)는 개방형 블록체인(104)에 검증자(152) 세트를 등록한다. 각 검증자(152)는 암호자산 거래를 유효성 검증하기 위한 다른 공개 키를 가지고 있다. 이러한 각 라운드 R에 대해, 코체인(120)의 검증자(152)는 자산의 자산일람표에 대한 합의에 도달한다. 코체인(120)에 의해 생성된 각 블록(124)은 자산일람표 항목의 약정을 포함한다.
코체인(120)과 연관된 검증자(152)는 암호자산 거래와 연관된 유효성 검증 요청을 수신한다. 유효성 검증 요청은 각 검증자(152)가 암호자산 거래를 유효성 검증하도록 촉구한다. 각 코체인(120, 140)은 각 거래 블록에 대해 독립적인 합의를 수행할 수 있다. 검증자(152)는 제1 일회성 키(144) 및 제2 일회성 키와 연관된 약정(128)을 생성하기 위해 제1 암호자산 거래를 유효성 검증한다. 사용자 장치는 암호자산 거래의 증명(112)을 인증한다. 증명(112)은 제1 약정(128)과 연관된다. 사용자 장치는 인증된 증명(112)을 개방형 블록체인(104)에 포스팅한다. 따라서, 코체인(120)은 규제 의무를 충족할 수 있다. 코체인(120)과 연관된 컴퓨터 장치(관리자)는 암호화 자산 거래를 코체인(120)의 블록(124)에 추가한다. 블록(124)은 약정(128)을 참조한다. 따라서, 전용 코체인(120)의 거래 및 블록(124)은 개방형 블록체인(104)으로 전파되지 않는다.
블록(124)에 암호자산 거래를 추가하는 것에 응답하여, 컴퓨터 장치는 코체인(120)에 통신 가능하게 연결된 개방형 블록체인(104)에 약정(128)을 포스팅한다. 컴퓨터 장치는 속성 기반 암호화를 사용하여 암호자산 거래과 연관된 보조 정보를 암호화한다. 코체인 관리자는 표준 네트워크 프로토콜 및 액세스 제어 정책을 사용하여 개별 거래 및 코체인 자산의 가시성을 관리할 수 있다. 또한 관리자는 필요한 규제 의무와 고객의 속도 요구 사항을 충족할 수 있다. 인증서(112) 및 약정(128)은 블록체인(104)에 포스팅된다. 컴퓨터 장치는 코체인(120)에서 제1 암호자산 계정(124)에서 제2 암호자산 계정(136)으로 일정 금액의 암호자산의 아토믹 스왑을 수행한다. 개방형 블록체인(104)은 개방형 블록체인(104)의 분산 거래 원장에 암호자산 거래의 기록(108)을 저장한다. 기록(108)은 약정(128)을 참조한다.
일부 구현에서, 사용자 장치는 전용 블록체인(120)의 제1 암호자산 계정(124)의 신원을 익명화하는 제1 일회성 키(144)를 생성한다. 사용자 장치는 제1 암호자산 계정(124)과 연관된다. 사용자 장치는 제1 암호자산 계정(124)으로부터 전용 블록체인(140)의 제2 암호자산 계정(136)으로 일정 금액의 암호자산을 이전하기 위한 개방형 블록체인(120) 상의 암호자산 거래 및 제2 일회성 키로 익명화된 제2 암호자산 계정(136)의 신원을 인스턴스화한다. 전용 블록체인(120)과 연관된 검증자 장치(152)는 암호자산 거래와 연관된 유효성 검증 요청을 수신한다. 유효성 검증 요청은 암호화 자산 거래를 유효성 검증하기 위해 각 검증자 장치(152)를 촉구한다. 검증자 장치(152)는 제1 일회용 키(144) 및 제2 일회용 키와 연관된 약정(128)을 생성하기 위해 암호자산 거래를 유효성 검증한다. 전용 블록체인(120)과 연관된 컴퓨터 장치는 암호자산 거래를 전용 블록체인(120)의 블록에 포스팅한다. 컴퓨터 장치는 도 5를 참조하여 더 상세히 도시되고 설명된 바와 같이 구현되는 데스크탑, 랩탑 또는 서버일 수 있다. 블록은 약정(128)을 참조한다. 블록에 암호자산 거래를 포스팅하는 것에 대한 응답으로, 컴퓨터 장치는 전용 블록체인(120)에 통신 가능하게 연결된 개방형 블록체인(104)에 약정(128)을 포스팅한다.
전용 코체인과 개방형 블록체인 간의 이전
일부 구현에서, 사용자 장치는 전용 블록체인(120)에서 암호자산 거래를 인스턴스화하여 전용 블록체인(120)의 제1 암호자산 계정(124)에서 개방형 블록체인(104)의 제2 암호자산 계정으로 일정 금액의 암호자산을 이전한다. 검증자 장치(152)는 일회용 키(144)와 연관된 약정(128)을 생성하기 위해 암호자산 거래를 유효성 검증한다. 전용 블록체인(120)과 연관된 제1 컴퓨터 장치는 약정(128)을 개방형 블록체인(104)에 포스팅한다. 개방형 블록체인(104)과 연관된 제2 컴퓨터 장치는 개방형 블록체인(104)의 일회용 키(144)에 일정 금액의 암호자산을 할당한다. 제2 컴퓨터 장치는 일회성 키(144)와 제2 암호자산 계정 사이의 일정 금액의 암호자산의 아토믹 스왑을 수행하여, 그 금액의 암호자산은 개방형 블록체인(104)의 제2 암호자산 계정에 할당되도록 한다.
일부 구현에서, 사용자 장치는 개방형 블록체인(104)에서 암호자산 거래를 인스턴스화하여 일정 금액의 암호자산을 개방형 블록체인의 제1 암호자산 계정에서 전용 블록체인(120)의 제2 암호자산 계정으로 이전한다. 검증자 장치(152)는 일회성 키(144)와 연관된 약정(128)을 생성하기 위해 암호자산 거래를 유효성 검증한다. 개방형 블록체인(104)과 연관된 컴퓨터 장치는 개방형 블록체인(104)에 약정(128)을 포스팅한다. 컴퓨터 장치는 일회용 키(144)를 제2 암호자산 계정과 연관시킨다. 컴퓨터 장치는 일정 금액의 암호자산을 일회용 키(144)에 할당한다. 컴퓨터 장치는 일정 금액의 암호자산을 전용 블록체인(120)으로 이전한다.
일부 구현에서, 코체인(120)과 연관된 제1 컴퓨터 장치는 개방형 블록체인(104)에서 일정 금액의 암호자산을 생성한다. 개방형 블록체인(104)에 통신 가능하게 결합된 전용 블록체인(120)의 암호자산 계정(124)을 익명화하는 일회용 키(144)에 그 금액의 암호화 자산이 할당된다. 제1 컴퓨터 장치는 암호자산 거래를 인스턴스화하여 일회용 키(144)를 사용하여 개방형 블록체인(104)으로부터 전용 블록체인(120)의 암호자산 계정(124)으로 그 금액의 암호자산을 이전한다. 다수의 검증자(152) 중 적어도 한 명의 대변인(156)이 암호자산 거래를 유효성 검증한다. 개방형 블록체인(104)과 연관된 제2 컴퓨터 장치는 암호자산 거래와 연관된 적어도 하나의 검사를 수행한다. 제1 컴퓨터 장치는 일회용 키(144)를 사용하여 개방형 블록체인(104)에서 전용 블록체인(120)의 암호자산 계정(124)으로 그 금액의 암호자산을 이전한다.
일부 구현에서, 일회용 키가 아닌 키가 제1 암호자산에 할당된다. 예를 들어, 키는 개방형 블록체인(104)으로의 암호화 자산의 모든 이전을 위해 제1 전용 블록체인(120)에 의해 사용되는 키일 수 있다.
데이터 인증을 위한 대변인 식별
일부 구현에서, 전용 블록체인(120)과 연관된 검증자(152)는 암호자산 거래와 연관된 유효성 검증 요청을 수신한다. 유효성 검증 요청은 각 검증자(152)가 암호자산 거래를 유효성 검증하도록 촉구한다. 적어도 하나의 대변인(156)은 검증자(152)를 대신하여 데이터를 인증하도록 식별된다. 적어도 하나의 대변인(156)은 전용 블록체인(120)에 통신 가능하게 결합된 개방형 블록체인(104)에 데이터를 포스팅한다. 검증자(152)는 데이터가 유효한지 여부를 판정한다. 판정에 응답하여, 검증자(152)는 데이터에 대한 챌린지를 개방형 블록체인(104)에 포스팅한다. 그러면 대변인이 챌린지에 응답할 때 검증될 수 있다.
일부 구현에서, 전용 블록체인(120)과 연관된 대변인(156)은 전용 블록체인(120)의 하나 이상의 블록으로부터 데이터를 식별한다. 대변인(156)은 데이터가 전용 블록체인(120)과 연관된 하나 이상의 검증자(152)에 의해 유효성 검증되었다고 판정한다. 대변인(156)은 데이터의 디지털 서명을 생성한다. 이에 대한 응답으로, 데이터 및 디지털 서명은 전용 블록체인(120)과 연관된 개방형 블록체인(104)에 포스팅된다.
전용 및 개방형 블록체인
도 2는 하나 이상의 구현에 따른 다수의 허가형 전용 코체인(264, 268)을 사용하는 결제 네트워크의 예시적인 사용 사례를 도시한다. 전용 및 개방형 블록체인은 상호 보완적인 역할을 한다. 전용(예를 들어, 허가형) 코체인(264)에서 하위 커뮤니티 내의 당사자는 외부 당사자에게 신원 및 상호 작용이 표시되지 않고 서로 거래할 수 있다. 개방형(예를 들어, 비허가형) 블록체인(200)에서 모든 당사자는 모든 거래를 관찰할 수 있다. 예를 들어, 은행(204, 208)은 속도를 높이고 경쟁자로부터 자신의 활동을 숨기고 규제 준수를 용이하게 하기 위해 자체 전용 코체인(264, 268)에서 내부 거래를 수행할 수 있다.
예를 들어, 은행(264)의 당사자(212)가 자산(216)을 은행(268)의 당사자(236)와 거래하기를 원한다고 가정한다. 어느 당사자도 자신의 전용 코체인을 상대방에게 노출하기를 원하지 않기 때문에, 당사자(212, 236)는 자산(216, 240)을 이동시켜, 자신의 전용 코체인(264, 268)에서 공통 개방형 블록체인(200)으로 트레이딩되고, 블록체인(200)에서 트레이드를 실행한 다음, 새로 획득한 그들의 자산(240, 216)을 각각의 전용 코체인(264, 268)으로 되돌린다. 엔티티(212, 220, 228)는 전용 코체인(264)의 사용자 또는 계정을 나타낸다. 엔티티(216, 234, 232)는 자산이다. 은행(204)이 개인 거래(244)를 생성할 때, 계정(212)의 신원을 익명화하여 개방형 블록체인(200)에 약정(252)을 포스팅한다. 개방형 블록체인은 거래(244)를 나타내는 블록(248)을 생성한다. 유사하게, 블록(256, 260)이 생성된다.
전용 블록체인과 개방형 블록체인 사이에서 자산을 이동하여 트레이드를 실행하면, 204, 208 사이의 거래를 신속하고 안전하게 결산할 수 있다. 더욱이 이러한 트레이드는 당사자의 개인 정보를 손상시키지 않는데, 어느 당사자도 상대방의 정확한 신원을 알 필요가 없기 때문이다. 전통적인 금융 시스템에서, 은행은 사설 원장을 유지하고 때때로(시간, 요일 또는 주의 끝에서) 서로 간의 결산(settlement)을 수행한다. 그러나 전통적인 결산 계층은 느리고 비용이 많이 든다. 예를 들어, 은행 원장 간의 거래를 결산하는 데 최대 3일이 소요된다. 개시된 구현을 기반으로 하는 글로벌 크로스체인 결제 네트워크를 통해 사용자는 사설 원장 간에 거의 즉각적으로 그리고 저렴한 비용으로 거래할 수 있다. 개시된 구현은 별개의 전용 코체인(264, 268)에 있는 당사자(212, 236)가 프라이버시 또는 보안을 손상시키지 않으면서 효율적인 방식으로 자산(216, 240)을 스왑할 수 있게 한다. 특히, 전용 코체인(264, 268)의 집합은 교환을 위한 "중립 기반"으로서 공통 개방형 블록체인(200)을 사용한다.
통신 가능하게 연결된 코체인
일부 구현에서, 코체인은 BFT(Byzantine Fault-Tolerant) 합의의 변형을 실행한다. BFT 프로토콜은 통신이 비동기식인 경우에도 안전을 제공하고 충분한 시간 동안 통신이 동기식일 때 활성을 보장한다. BFT 프로토콜에서 일련의 검증자(152)(Vset)는 모든 거래 블록을 승인한다. 검증자(152)는 도 1을 참조하여 보다 구체적으로 예시되고 설명된다. 검증자(152)는 세트 VSet의 공개 키로 식별된다. 일부 구현에서는, 대체할 수 없는 자산(예를 들어, 자동차의 이름, 기프트 카드 식별자 등)이 사용된다. 다른 구현에서 아키텍처는 대체 가능한 자산을 지원한다.
개시된 구현에 따른 코체인은 다음과 같은 속성을 갖는다. 첫째, 코체인(예를 들어, 코체인(120))은 코체인 자산에 대한 약정(128)을 생성한다. 코체인(120) 및 약정(128)은 도 1을 참조하여 보다 상세하게 예시되고 설명된다. 코체인(120)은 모든 블록(124)에서 코체인(120)의 전체 잔액일람표(모든 자산 및 소유자의 매핑)의 암호화 약정(128)(Cr)을 생성한다. 이 약정(128)은 효율적인 멤버십 증명 및 비멤버십을 지원한다. 둘째, 블록 인증서가 생성된다. 각 라운드 r에 대해 검증자(152)는 거래의 각 블록 Br을 확인하고 해당 라운드 인증서 Certr 및 라운드 약정 Cr을 생성한다. 엔티티는 연관된 인증서(Cr-1, Certr-1) 및 네트워크 참여자가 공개적으로 알고 있는 유효성 검증 알고리즘(VerifyBlock)을 사용하여 이전 블록 약정이 제공된 튜플(Cr, Certr)을 검증할 수 있다. 예를 들어, 검증 알고리즘은 상태 전환을 승인해야 하는 검증자(152)의 임계값 T(정족수)를 간단히 지정할 수 있다.
셋째, 라운드 인증서가 생성되면, 블록의 거래는 최종적인 것으로 간주되고 취소되거나 변경될 수 없다. 더욱이, 어느 시점에서든, 모든 라운드 r에 대해 단일 약정 Cr을 인증하는 유효한 단일 인증서 Certr만 존재한다.
따라서 전용 코체인은 공개 키에 의해 식별된 검증자(152)(Vset)의 선택된 세트가 모든 거래 블록을 승인하는 허가형 코체인을 가리킨다. 현재 세트의 검증자(152)가 변경을 승인하는 한, 검증자(152) 세트는 변경될 수 있다. 유사하게, 전용 코체인에 참여하고자 하는 모든 사람은 현재 검증자(152)의 승인을 받아야 한다. 검증자(152) 또는 참가자 세트에 대한 모든 멤버십 변경은 블록체인에 특별 거래로 기록된다. 전용 코체인은 거래 및 잔액에 대한 다양한 네트워크 수준 가시성 규칙을 배포할 수 있다. 예를 들어, 검증자(152)만이 거래 및 잔액 또는 참가자의 신원을 볼 수 있도록 코체인이 구성될 수 있다. 개방형 블록체인을 사용하면 누구나 승인 없이 네트워크에 참여할 수 있다. 모든 거래와 사용자의 잔액은 네트워크에 가입한 모든 사람이 볼 수 있다. 합의 규칙에 따라 모든 참가자는 네트워크에서 검증자(152)가 될 수 있다.
암호화 약정
개시된 구현에 사용된 약정 방식은 다음과 같은 속성을 갖는다. 첫째, Commit(E1, EN) = C이다. 커밋 알고리즘은 레코드 모음을 입력으로 취한다(예를 들어, 각 레코드는 공개 키와 자산 간의 매핑이다). 전체 세트(예를 들어, 32바이트)에 대한 짧은 약정을 출력한다. 둘째, Open(E1, ..., EN, C, i) = Pi. 오프닝 알고리즘은 해당 약정 및 인덱스 i ≤ N이 있는 레코드 모음을 입력으로 취한다. 그것은 레코드 Ei에 대한 간결한 증거 Pi를 출력한다. 셋째, Verify(C, Ei, Pi, i) = 1. 검증 알고리즘은 약정과 해당 증명이 있는 레코드를 입력으로 취한다. 그것은 Ei가 위치 i에서 실제로 커밋된 경우 및 그 경우에만 1을 출력한다. 넷째, UpdateCommit(C, Pi, Ei, E'i, i) = C'. 업데이트 약정 기능은 약정, 증명이 있는 레코드와 수정된 레코드를 입력으로 취한다. 그것은 레코드 Ei를 위치 i의 E'i로 대체하는 새 약정 C'를 출력한다.
약정 방식은 위치 바인딩 및 은닉 속성을 충족한다. 위치 바인딩은 공격자가 유효한 약정 C와 동일한 위치 i에 대한 레코드 Ei, E'i에 대한 두 가지 유효한 증거를 생성할 수 없는 기능을 나타낸다. 은닉 속성은 약정 C와 해당 증명 {Ei, Pi, i}가 있는 임의의 수의 개방이 주어지면 나머지 미개봉 레코드에 대한 정보가 공개되지 않는 기능을 나타낸다.
자체 유효성 검증 거래에 대한 약정
일부 구현에서, 자체 유효성 검증 거래는 계정 기반 코체인에서 효율적인 암호화 약정으로부터 구성된다. 각 블록 r에 대해 코체인 검증자(152)가 (Br, Certr, Cr)을 생성한다고 가정하고, 여기서 Cr은 각 자산을 소유하는 엔티티를 지정하는 잔액에 대한 암호화 약정이다. 검증자(152)가 라운드 r이 완료된 후에만 Cr을 저장한다고 가정한다. 잔액일람표의 레코드 Ei에 영향을 미치는 거래 T를 인스턴스화하려는 사용자는 Open(E1, ..., EN, Cr, i) = Pi를 실행할 수 있다(또는 누군가에게 약정할 수 있다). 사용자는 네트워크에 (T, Ei, Pi, i)를 전파한다. 그런 다음, 블록 r에 대해 Cr을 보유하는 임의의 검증자(152)는 다음 5단계를 사용하여 T를 검증할 수 있다. 먼저 Verify(Cr, Ei, Pi, i) = 1인지 확인한다. 둘째, 거래 로직에 따라 T가 유효한지 확인한다. 예를 들어, 검사는 거래가 Ei에 지정된 PK로 서명되고 거래가 새 공개 키 PK*를 지정한다는 것을 포함해야 한다.
셋째, 모든 검증자(152)는 T에 명시된 바와 같이 자산 소유권 이전을 반영하도록 Ei-->E'i를 업데이트한다. 넷째, 검증자(152)는 약정 UpdateCommit(Cr, Pi, Ei, E'i, i) = Cr+1를 업데이트하여 잔액일람표의 변경 사항을 반영한다. 다섯째, 검증자(152)는 합의 프로토콜을 통해 업데이트된 약정 Cr+1에 동의한다.
이 모델에서, 검증자(152)는 모든 잔액 항목을 저장할 필요가 없다. 대신, 그들은 합의에만 참여하고 블록 Br+1에서 허용되는 모든 거래를 반영하는 새로운 약정 Cr+1에 동의한다. 이를 통해 더 적은 리소스로 거래의 보다 효율인 검증을 할 수 있다. 예를 들어 신뢰할 수 없는 단일 보관 서비스는 모든 사용자가 소유권 증명을 생성하기 위해 쿼리하는 네트워크에서 작동할 수 있다. 이러한 서비스는 암호화 약정의 보안 속성에 의해 약정에 포함된 레코드에 대한 증명만 생성할 수 있기 때문에 안전을 위해 신뢰할 수 없다.
당사자, 자산 및 양도
일부 구현에서, 블록체인(104)은 다양한 당사자 간의 자산 소유권을 추적하는 공개적으로 판독 가능한 변조 방지 분산 원장(또는 데이터베이스)이다. 개방형 블록체인(104)은 도 1을 참조하여 보다 상세하게 예시되고 설명된다. 자산은 돈의 총액과 같이 대체 가능하거나 극장 티켓과 같이 대체 불가능할 수 있다. 당사자는 사람, 조직 또는 계약을 가리킨다. 각 코체인(120, 140)은 자체 원장을 관리하고 자체 유효성 검증 규칙을 시행하며, 자체 합의 메커니즘을 구현한다. 코체인(120, 140)은 도 1을 참조하여 보다 상세하게 도시되고 설명된다. 또한, 각 코체인(120, 140)은 자체 거래의 가시성을 제어하는 자체 정책을 구축할 수 있다. 예를 들어, 정책은 거래가 코체인의 검증자(152)에게만 표시되거나 누구에게나 표시된다고 명시할 수 있다.
일부 구현에서, 자산 소유권 및 자산 소유권을 한 당사자에서 다른 당사자로 이전하는 거래를 추적하는 코체인(120)이 구현된다. 가치 이전은 코체인(120)에 명시적으로 표시된다. 당사자의 제1 영역과 자산의 제2 영역이 존재한다. 각 자산은 당사자가 소유한다. 술어 OwnsX(P, a)는 당사자 P가 코체인 X 상의 자산을 소유하는 경우 참이다. "아무도 없음"으로 표시된 고유 당사자 N이 있다. 각 자산은 하나의 코체인(예를 들어, 코체인(120))의 한 당사자가 소유한다. 일부 구현에서, 각 자산 "a"는 코체인 X에서 당사자 P ≠ N이 소유하고 있다: OwnersX(P, a), 그리고 서로 코체인 Y ≠ X에서 "아무도 없음"(N)이 소유한다: OwnersY(N, a).
체인내의 이전은 당사자 P ≠ N이 자산 "a"를 코체인 X의 당사자 Q에게 이전하는 상태 트랜지션을 가리킨다. 예를 들어, 이전은 다음과 같이 나타낼 수 있다:
전제 조건: OwnsX(P, a) 및 P ≠ N (1)
사후 조건: OwnsX(Q, a) (2)
전제 조건 (1)은 P가 X에서 "a"를 소유해야 하고 P는 N이 아니어야 한다고 명시한다. 사후 조건 (2)는 Q가 이제 X에서 "a"를 소유한다고 명시한다(암시적으로 P는 더 이상 "a"를 소유하지 않는다.). Q가 N이면, 자산 "a"를 더 이상 X에 사용할 수 없다.
교차 체인 이전은 코체인 X의 당사자 P가 자산 "a"를 별개의 코체인 Y의 당사자 Q로 이전하는 상태 전환을 나타낸다. 이전은 다음과 같이 나타낼 수 있다:
전제 조건: OwnsX(P, a) 및 P ≠ N 및 X ≠ Y (3)
사후 조건: OwnsX(N, a) 및 OwnsY(Q, a) (4)
전제 조건 (3)은 P가 X에서 "a"를 소유해야 하고, P가 N이 아니어야 하며, X와 Y가 별개의 코체인임을 명시한다. 사후 조건 (4)는 Q가 이제 Y에서 "a"를 소유하고 있음을 나타낸다(암시적으로 P는 X에서 더 이상 "a"를 소유하지 않음). P와 Q는 별개의 당사자일 수 있다. 교차 체인 이전은 자산 "a"가 더 이상 코체인 X에서 소비할 수 없도록 하고(X의 N이 소유하기 때문에) 타겟 Q ≠ N인 경우 이제 "a"를 코체인 Y에서 소비할 수 있다.
일부 구현에서, 전용 코체인(120, 140)에 대한 거래는 개방형 블록체인(104)을 포함하는 다른 코체인에 보이지 않는다. 개방형 블록체인(104)은 각 코체인(120, 140)에 대한 자산의 "잔액"을 추적한다. 코체인(120)의 자산을 소유한 당사자는 코체인(120)에서 개방형 블록체인(104)으로 또는 그 반대로 자산을 이전할 수 있다. 전용 코체인(120, 140)은 (1) 해당 자산을 개방형 블록체인(104)으로 이전하고, (2) 개방형 블록체인(104)에서 자산을 스왑하고, (3) 새로 획득한 자산을 다시 이전함으로써, 자산을 교환한다. 코체인(120)이 "정직"이면, 개방형 블록체인(104)으로 이전된 자산은 더 이상 코체인(120)에서 사용할 수 없다. 코체인(120)이 "비정직"이면, 자산은 코체인(120)에서 이중 소비될 수 있지만, 그것은 개방형 블록체인(104)에서 이중으로 소비될 수 없으며 자산이 개방형 블록체인(104)에 있는 한 소유권은 공개된다.
일부 구현에서, 각각의 교차 체인 이전은 개방형 블록체인(104)과 전용 코체인(예를 들어, 코체인(120)) 사이에서 이루어지며, 전용 코체인(120, 140) 사이에서 이루어지지 않는다. 각 코체인(120, 140)은 전제조건 (1)과 사후 조건 (2)를 만족하는 자체 체인내 이전 프로토콜을 제공한다. 공통 교차 체인 이전 프로토콜은 전제 조건 (3)과 사후 조건 (4)를 충족한다. 코체인 X는 체인 내 이전 프로토콜이 전제 조건 (1)과 사후 조건(2)를 충족하지 않는 경우 "부정직"이라고 하며, 이는 하나 이상의 당사자가 이중 소비로 적절하게 알려진 X에서 동일한 자산을 소유할 수 있음을 의미한다.
일부 구현에서, 정직한 하나의 개방형 블록체인(104)과 많은 전용 코체인(120, 140)이 있으며, 그 중 일부는 부정직할 수 있다. 교차 체인 이전 프로토콜은 다음과 같은 비 교차 체인 이중 지출 속성을 제공한다: "a"가 자산이고 X 및 Y는 정직한 코체인(개방형 또는 전용)이고, 그런 다음 "a"가 X 상의 P 및 Y 상의 Q 소유인 경우, P 또는 Q는 N이다. 일부 구현에서, 코체인(120)에 대한 정보(즉, 어떤 엔티티가 어떤 자산을 소유하는지)는 전용 코체인 X로부터 개방형 블록체인 Y로의 이전으로 명시적으로 지정된 정보를 제외하고는 공개되지 않는다. 보다 공식적으로, 이것은 시뮬레이션 실험에 의해 포착된다. 현실 세계에서, 공격자는 코체인 X에서 코체인 Y로 포스팅되는 메시지(거래의 형태)를 받는다.
예를 들어, (α, {Q:a})는 개방형 블록체인 Y를 관찰한 적의 실제 모습을 나타내며, 여기서 {Q:a}는 당사자 Q에 대한 자산 "a"의 모든 이전 세트를 캡처한다. 시뮬레이션된 세계에서, αS는 코체인 X에 대한 정보가 없는 다항식 시간 시뮬레이터에 의해 생성된다. 또한 {R:a}S는 각 당사자 식별자 R이 가능한 모든 식별자로부터 무작위로 선택되는 이전 세트를 나타낸다. 다음 두 분포는 계산적으로 구분할 수 없다:(α, {Q:a})~cS, {R: a}S). 이것은 다음 세 가지 기능을 제공한다. 첫째, 전용 코체인 X의 P가 개방형 블록체인 Y의 Q에 "a"를 이전할 때, P와 Q는 동일한 사람을 나타내거나 동일한 기관에 속할 것으로 예상된다. 그럼에도 불구하고, 두 당사자를 연결할 방법이 없어야 한다: 개방형 블록체인 Y 상의 거래를 관찰하는 사람은 자산이 X로부터 이전되었음을 알 수 있지만 X에서 해당 자산을 소유한 사람을 식별할 수는 없다.
둘째, P가 먼저 "a"를 이전한 다음 "a'"를 이전하면, 관찰자는 2개의 이전을 동일한 이전 소유자에게 연결할 수 없다. 셋째, 개방형에서 전용 코체인으로의 이전에 대해서도 유사한 제약이 있다: Q가 전용 코체인 Z에서 "a"를 R로 이전하면 관찰자는 R을 식별할 수 없으며, 두 당사자가 "a"를 이전하고 그런 다음 Z에서의 R로 "a"를 이전하면, 두 이전은 동일한 수신자에게 가는 것으로 식별될 수 없다.
전용 코체인 구현
일부 구현에서, 개방형 블록체인(104)은 임의의 엔티티가 가입하고 참여할 수 있는 비허가형 네트워크이다. 임의의 엔티티는 필요한 경우 거래 수수료를 지불하는 조건으로 개방형 블록체인(104)에서 쓰고 읽을 수 있다. 각 코체인(120, 140)은 먼저 등록을 위해 "온보딩" 단계를 거친다. 전용 코체인(120, 140)은 명시적으로 정의된 검증자(152) 및 블록 검증 알고리즘이 있는 허가형 네트워크이다. 초기화 단계에는 자산 등록, 전용 코체인 등록, 및 초기 자산 분배와 같은 단계가 포함된다. 이러한 단계의 순서는 다를 수 있다.
각 코체인(120, 140)은 자산을 그들 사이에 이전하고자 하는 경우 개방형 블록체인(104)에 등록한다. 검증자 공개 키 세트, VSet =(VPK1,VPK2, ...,VPKN)을 포함하는 개방형 블록체인(104)에서 특별 거래가 발행될 수 있다. 등록 거래에는 (Certr-1, Cr-1, Certr, Cr)을 입력하고 "유효/무효"를 출력하는 VerifyBlock 알고리즘에 대한 설명도 포함된다. 즉, 해당 인증서가 있는 라운드 r - 1, r에 대한 블록 약정이 주어지면, 알고리즘은 Cr이 라운드 r 이후에 유효한 자산 약정인 경우, 및 그 경우에만 수락한다. 등록 거래가 수락된 후, 개방형 블록체인(104)은 고유 식별자 PriID를 반환한다.
각 자산 클래스는 개방형 블록체인(104)에 등록된다. 레지스트라는 총 자산 공급, 자산 소유자의 초기 할당, 또는 새로운 자산이 "발행"되는 방법을 지정할 수 있다. 각 자산 클래스는 고유 식별자 AssetClassID를 받는다. 단순화를 위해, 모든 자산은 "레코드"(E1, ..., EN)에 기록된다. 각 레코드는 인덱스 i로 고유하게 식별된다. 레코드에는 현재 자산 소유자에 대한 정보와 추가 보조 정보가 포함될 수 있다. 초기화 후, 개방형 블록체인(104) 상의 공개 조회 기능 FindAsset은 (AssetClassID, 인덱스 i)를 입력하고 현재 코체인 소유자 ChainID를 지정하는 튜플(ChainID, j)과 자산에 대해 단조 증가하는 시퀀스 번호 j(이는 나중에 이중 소비 공격을 방지하는 데 사용됨)를 반환한다.
각 코체인(120, 140)은 독립적인 속도로 실행되는 자체 합의 알고리즘을 실행한다. 각 라운드 r에 대해, 코체인 검증자(152)는 튜플(Br, Certr, Cr)을 생성하며, 여기서 Cr은 자산 보유자의 잔액일람표에 대한 약정이다. 일부 구현에서, PriID에 의해 인덱싱된 전용 코체인 검증자(152)는 튜플(Br, Certr, Cr)을 생성한다. (ChainID, Cr, Certr)을 포함하는 특수 거래가 (검증자(152) 또는 코체인(120)의 다른 구성원에 의해) 인스턴스화된다. 이 거래는 개방형 블록체인(104)에 제출된다. 누구나 이 튜플을 개방형 블록체인(104)에 포스팅할 수 있다. 이 당사자는 안전에 대해 신뢰할 수 없지만 활성에 대해서는 신뢰할 수 있다. 코체인(120)이 개방형 블록체인(104)보다 빠르게 실행되는 경우(예를 들어, 코체인(120)이 개방형 블록체인(104)에서 생성된 모든 하나의 블록에 대해 여러 거래 블록을 생성함), 해당 인증서 ChainID가 있는 약정 모음:(Cr, Certr, Cr+1, Certr+1, ...)은 개방형 블록체인(104)에 동시에 포스팅될 수 있다. 개방형 블록체인(104)은 모든 라운드 r에 대해: VerifyBlock(Cr-1, Certr-1, Cr, Certr) = 1인 경우에만 이러한 거래를 받아들인다. 따라서 개방형 블록체인(104)은 모든 블록을 승인한 유효한 검증자 세트(152)가 존재하는지 확인한다. 그 자체로 인증서나 코체인 자산에 대한 약정 모두는 개별 자산 소유자에 대한 정보를 공개하지 않는다는 것에 유의하라.
교차 체인 이전
엔티티 PrivCoChain(식별자 PriID 포함) 및 PubCoChain은 2개의 코체인을 나타낸다. 일부 구현에서, 자산은 코체인(120, 140)으로부터 개방형 블록체인(104)으로(그리고 그 반대로) 자산 클래스 AssetClassID으로부터 이동된다. 개시된 구현은 전용 코체인의 개인 정보 속성과 그 사용자의 익명 속성을 보존한다. 일부 구현에서 AssetClassID로부터의 자산 "i"를 소유한 공개 키 PK를 가진 사용자는 자산을 개방형 블록체인(104)으로 이전하기를 원한다. 다음 단계가 수행된다. 먼저 사용자는 새로운 키 쌍(PK*, SK*)을 생성한다. 두 번째로, 사용자는 자산을 "인출" 계정에 넣고 PK*를 소유자로서 할당하는 코체인(120) 상의 특별 거래를 제출한다. 계정은 또한 이 자산의 마지막 시퀀스 번호 j보다 큰 고유 시퀀스 j'를 포함하는데, 이는 개방형 블록체인(104) (AssetClassID, i) 상의 조회를 통해 얻을 수 있다. 전체 계정 상태는 새 레코드 E'i에 기록된다. 사용자는 거래를 전송하여 자산 상태를 "i”에서 E'i로 변경한다. 자산이 이 상태로 이전되면, 그것은 코체인(120)에서 거래되지 않고 잠긴 상태로 유지된다.
셋째, 거래는 (Br, Certr, Cr)을 생성하는 라운드 r에서 전용 코체인 검증자(152)에 의해 수락된다. 튜플(ChainID, Certr, Cr)은 개방형 블록체인(104)의 거래를 통해 포스팅된다. 넷째, 사용자는 Cr에 대해 그녀가 실제로 자산 E'i를 키 PK* 하의 인출 상태에 넣는 증명 Pi를 획득한다. 다섯째, 사용자는 특별한 거래를 통해 튜플(Pi, E'i, i)을 개방형 블록체인(104)에 제시한다. 여섯째, 개방형 블록체인(104)은 다음 세 가지 조건이 충족되면 거래를 수락한다.
(a) Verify(Cr, E'i, Pi, i) = 1.
(b) E'i는 코체인(120)으로부터의 "인출" 상태에 있다.
(c) 자산(AssetClassID, i)을 기반으로 한 조회(ChainID, j). ChainID가 인출이 제출된 코체인(120)과 매칭하고 마지막 시퀀스 번호 j가 E'i에 지정된 시퀀스 번호 j'보다 작은지 유효성 검증한다.
일곱째, 검사에 통과하면, 개방형 블록체인(104)이 자산을 생성하고, 이를 코체인(120)에서 제거하고, 새로운 소유자에게 자산을 할당한다.
(a)(AssetClassID, i)로부터의 매핑이 개방형 블록체인 ID를 포함하도록 업데이트되고 시퀀스 번호는 j'(인출에 지정된 시퀀스)로 설정된다.
(b) 사용자 PK*는 개방형 블록체인(104)에서 자산 "i"의 소유자로서 할당된다.
보안 분석
교차 체인 결제에 참여하는 사용자의 프라이버시(익명성)를 달성하기 위해, 각 사용자 U1 및 U2는 전용 코체인(120, 140)에서 자산을 이전하는 일회성 키를 생성한다. 이어서, 이 일회성 키를 사용하여 교차 체인 결제에 사용자가 참여한다. 일회성 키는 각각의 코체인(120, 140)에서 사용자 U1 및 U2의 누적 자산을 익명화한다. 일부 구현에서, 코체인(120) 내의 사용자와 그들의 자산 간의 개별 매핑은 비공개로 유지된다. 개방형 블록체인(104)은: (A) 개별 코체인 잔액일람표에 대한 약정 및 검증자 인증서, (B) 코체인(120)과 개방형 블록체인(104) 간의 거래, (C) 자체 인증된 기록을 확인한다. 사용자가 각 교차 체인 거래에 대해 일회성 키 쌍을 생성하기 때문에 (B)가 코체인(120) 내의 사용자 또는 자산에 대한 정보를 공개하지 않으므로 코체인 프라이버시가 제공된다. (A)와 (C)는 암호학적으로 약정을 숨기는 것으로부터 코체인(120)에 대한 정보를 드러내지 않는다. 검증자(152)는 약정에만 서명한다.
코체인(120)이 규제 의무를 충족하기 위해, 규제 의무는 개방형 블록체인(104)으로부터 제거되고 전용 코체인(120, 140)으로 이동된다. 각 은행은 코체인(120)을 유지하고 그 관할권을 감안할 때 규제 기관을 충족시킬 책임을 진다. 코체인(120)과 개방형 블록체인(104) 사이의 이전 동안, 사용자와 코체인 관리자 또는 검증자(152) 모두가 각 거래에 서명한다. 코체인 관리자 또는 검증자(152)는 이전이 인증되어야 함을 보장하는 정책을 실행할 수 있다. 규제 기관은 전용 코체인 관리자에게 추가로 쿼리할 수 있다. 또한 필요한 경우 이전시 암호화 도구(예를 들어, 속성 기반 암호화)를 사용할 수 있다. 즉, 코체인(120)에서 개방형 블록체인(104)으로의 각 거래는 규제 기관만 검사할 수 있는 보조 정보의 암호화를 포함할 수 있다. 예를 들어, 은행에 의해 관리되는 코체인(120)은 키 쌍(PK, SK)을 생성하고 규제 기관이 이전을 조사하도록 허용되는 정책 P1, ..., Pn 을 지정하는 다른 규제 기관 키 SKP1, ..., SKPn를 발급할 수 있다. 각 거래는 일련의 속성(예를 들어, 날짜, 거래 유형, 발신인 유형 등) 및 규제 기관을 위한 암호화된 보조 정보(예를 들어, 이전 인증 자료)와 연관된다. 정책 SKP "i"에 대한 거래 및 비밀 키가 주어지면, 규제 기관은 거래의 암호화된 콘텐츠를 검사할 수 있다.
코체인을 사용한 예시 프로세스
도 3은 코체인을 사용하는 예시적인 프로세스(300)를 도시한다. 일부 구현에서, 도 3의 프로세스는 도 1을 참조하여 보다 상세히 예시되고 설명된 결제 네트워크에 의해 수행된다. 다른 엔티티는 다른 구현에서 프로세스의 일부 또는 모든 단계를 수행한다. 유사하게, 구현은 다른 및/또는 추가 단계를 포함하거나 단계를 상이한 순서로 수행할 수 있다.
결제 네트워크의 제1 전용 블록체인(예를 들어, 코체인(120))의 사용자 장치는 제1 코체인(120)에서 암호자산 거래를 인스턴스화(304)한다. 코체인(120)은 도 1을 참조하여 보다 상세히 예시되고 설명된다. 사용자 장치는 스마트폰, 태블릿, 랩톱 등이 될 수 있다. 암호자산 거래는 제1 금액의 제1 암호자산을 제1 암호자산 계정(124)에서 제2 전용 코체인(예를 들어, 코체인(140))에 연관된 제2 암호자산 계정(136)으로 이전하기 위한 것이다. 코체인(140)은 도 1을 참조하여 보다 상세히 예시되고 설명된다. 암호자산 거래는 코체인(120)의 블록(예를 들어, 블록(124))에서 반영된다. 블록(124)은 도 1을 참조하여 보다 상세히 예시되고 설명된다.
제1 코체인(120)의 검증자(152) 세트는 제1 일회성 키(144)와 연관된 제1 약정(예를 들어, 약정(128))을 생성하기 위해 제1 암호자산 거래를 유효성 검증(308)한다. 검증자(152) 및 약정(128)은 도 1을 참조하여 보다 상세하게 예시되고 설명된다. 코체인(120)의 검증자(152)는 암호자산 거래와 연관된 유효성 검증 요청을 수신한다. (코체인(120)의) 제1 컴퓨터 장치는 검증자(152)를 개방형 블록체인(104)에 등록할 수 있다. 개방형 블록체인(104)은 도 1을 참조하여 보다 상세하게 예시되고 설명된다. 각각의 검증자(152)는 암호화 자산 거래를 유효성 검증하기 위한 상이한 공개 키를 갖는다.
제1 코체인(120)과 연관된 제1 컴퓨터 장치는 개방형 블록체인(예를 들어, 블록체인(104))에 제1 약정을 포스팅(312)한다. 제1 컴퓨터 장치는 제1 코체인(120)의 관리자 장치이다. 예를 들어, 잔액일람표의 각 항목은 Ei로 표시된다. 전용 코체인 검증자(152)는 E1, ..., EN 항목의 컬렉션에 대해 약정: Chain_1_Commit_Round_R을 생성한다. 라운드가 끝나면, 코체인 검증자(152)는 Chain_1_Commit_Round_R 약정을 인증하는 인증서 Chain_1_Cert_Round_R을 생성한다.
개방형 블록체인(104)과 연관된 제2 컴퓨터 장치는 제1 금액의 제1 암호자산을 개방형 블록체인(104) 상의 제1 일회용 키(144)에 할당(316)한다. 제2 컴퓨터 장치는 블록체인(104)의 관리자 장치이다. 예를 들어, 블록체인(104)은 잔액일람표 항목에 할당을 저장할 수 있다. 각 라운드에 대해, 코체인(120)의 검증자(152)는 자산의 잔액일람표에 대한 합의에 도달한다. 따라서, 코체인(120)에 의해 생성된 블록(124)은 잔액일람표 항목에 대한 약정(128)을 포함한다. 제2 컴퓨터 장치는 제1 금액의 제1 암호자산이 이전되고 있음을 반영하기 위해 코체인(120)의 잔액일람표에서 제1 금액의 제1 암호자산을 제거한다.
코체인을 사용하여 자산을 이전하는 프로세스의 예
도 4는 코체인을 사용하여 자산을 이전하기 위한 예시적인 프로세스(400)를 도시한다. 이 예시적 프로세스에서, 블록체인 시스템은 메인 체인(예를 들어, 개방형 블록체인), 코체인을 가지고, 여기서 코체인은 메인 체인 상의 대응하는 계정, 메인 체인 상의 대응하는 계정이 소유한 자산 및 코체인 상의 계정이 소유한 자산, 및 자산을 소유하고 있는 코체인 계정을 가진다. 인증된 거래가 코체인에 포스팅된다(402). 예를 들어, 거래는 코체인의 구성원이 발급하고 코체인의 블록에 포함된다. 인증된 거래는 자산을 코체인 계정에서 메인 체인으로 이전하는 것을 인증한다. 코체인의 검증자는 이전할 자산과 대상 공개 키를 지정하는 데이터 스트링을 인증한다(404). 인증된 데이터 스트링은 코체인에 대응하는 메인 체인의 계정으로 전달된다(406). 거래가 메인 체인에 포스팅된다(406). 거래는 자산을 코체인에 대응하는 메인 체인의 계정에서 대상 공개 키로 이전한다.
일부 구현에서, 코체인의 검증자는 대상 공개 키에 기반하여 디지털 서명을 계산하는 데 사용할 수 있는 부분 서명을 생성하여 디지털 서명이 메인 체인의 계정으로 자산의 이전을 인증하는 데 사용할 수 있도록 한다. 또한 일부 구현에서는 디지털 서명이 메인 체인에 포스팅된다.
일부 구현에서, 메인 체인의 계정에 자산을 할당하는 거래가 메인 체인에 포스팅되기 전에 인증된 거래가 코체인에 포스팅된 것으로 판정된다.
일부 구현에서, 코체인에 대응하는 메인 체인의 계정은 코체인의 계정을 제어하는 엔티티에 의해 제어된다.
예시적 기술
예시적인 기술에서, 엔터티(예를 들어, 조직 또는 정부 엔터티)는 자신의 내부 비지니스를 수행하는 전용 코체인(예를 들어, 도 1에 도시된 전용 코체인(120, 140) 중 하나)을 구축한다. 토큰 브리지를 사용하면 때때로 "메인 체인"이라고 하는 개방형 블록체인(예를 들어, 도 1에 표시된 개방형 블록체인(104))과 코체인(120) 간에 대체 불가능한 특정 자산을 이전할 수 있다. 코체인(120) 상의 특정 당사자만(예를 들어, 각각의 공개 키와 연관된 당사자) 메인 체인(104)으로 이전하도록 인증받을 수 있으며 메인 체인(104)의 특정 당사자만 코체인(120)으로 다시 이전하도록 승인받을 수 있다.
예시적인 시나리오에서, 코체인(120)의 재산(property)에 대한 소유권(title)을 보유하는 엔티티는 메인 체인(104)에서 해당 재산을 경매하기로 결정한다. 먼저, 재산을 경매하고 코체인(120)으로 수익금을 송환하라는 메인 체인 에이전트에 대한 지시와 함께 엔티티는 코체인(120)으로 하여금 엔티티의 소유권을 메인 체인(104)으로 이전하도록 지시한다. 해당 거래가 유효성 검증되고 코체인(120)에 나타난 후, 거래는 에이전트에 의해 식별되고 수락되는 메인 체인(104)으로 전송된다. 이 교차 체인 이전의 일부로서, 코체인 검증자(152)는 소유자가 교차 체인 이전을 수행할 권한이 있는지, 그녀의 메인 체인 에이전트가 이러한 이전을 수신할 권한이 있는지, 이전 및 수반되는 지시가 검증자(152)의 정확한 서브세트에 의해 유효성 검증되었는지 확인한다.
블록의 머클 트리
코체인(120, 140)은 특정 거래가 발생했음을 메인 체인(104)에 입증할 수 있다. 일부 구현에서, 코체인 블록은 계정별로 검색 가능한 머클 트리에서 거래를 구성하여, 코체인(120)은 거래가 코체인(120)에 존재하고 거래가 메인 체인(104)으로의 자산 이전을 하도록 권한이 있는 공개 키 중 하나에 의해 승인되도록 한다. 이러한 방식으로, 메인 체인(104)은 (1) 메인 체인 에이전트에 대한 지시를 포함하는 거래에 대한 머클 약정, 및 (2) 현재 코체인 검증자(152)의 정족수에 의해 서명된 인증서,를 수신할 수 있다.
일부 예에서, 코체인(120) 상의 자산 소유자는 소유권을 메인 체인(104)으로 이전하고, 경매를 수행하고, 수익금을 다시 이전하기 위해 수수료를 지불한다. 예를 들어, 소유자는 메인 체인 에이전트에게 유지비를 지불할 수 있다.
교차 사슬 거래에 대한 지시 필드
일부 예에서, 교차 체인 자산 이전은 메인 체인(104) 상의 자산 처분을 위한 지시를 수반할 수 있다. 예를 들어, 이러한 지시는 스크립트(예를 들어, 거래 실행 승인 언어 스크립트), 스마트 계약 호출, 또는 공증된 영어 텍스트일 수 있다. 이를 위해, 일부 구현에서, 코체인 블록의 거래의 머클 트리는 합리적인 형태의 지시를 수용할 수 있을 만큼 충분히 유연한 방식으로 지시 필드를 포함한다.
요약 Merkelized 데이터 구조
일부 예에서, 코체인(120, 140)은 다음 4개 항목의 컴팩트한 변조 방지 다이제스트를 생성할 수 있다. 먼저, 현재 메인 체인(104)과 교환할 수 있는 자산 목록(예를 들어, 목록은 규제 요건일 수 있음). 둘째, 현재 코체인에서 메인 체인으로 교차 체인 이전을 수행하도록 승인된 당사자의 공개 키. 셋째, 현재 코체인 검증자 세트(152). 넷째, 현재 대변인 목록. 목록은 변경될 수 있으며 업데이트가 필요하다. 예를 들어, 유효성을 보장하기 위해 그것들은 코체인 검증자(152)의 정족수에 의해 승인될 수 있다. 일부 구현에서 이러한 목록은 검색 가능한 머클 트리로 구성되거나, 그것들은 부분적으로 또는 완전히 이전되어야 하는지 여부에 따라 구조화되지 않은 배열일 수 있다.
이전 케이던스
일부 예에서, 블록체인 간에 자산을 이전하는 빈도에 대한 몇 가지 정책 옵션이 있다. 한 가지 옵션은 예를 들어 천 블록마다 주기적으로 이전을 수행하는 것이다. 다른 하나는 요청 시 이전하는 것이다. 혼합 전략은 예를 들어, 당사자를 위한 프리미엄 서비스를 제공하는 것은 시기적절한 응답을 위해 지불하고, 비용을 절약하려는 사람들에게는 기본 경제 서비스를 제공하여 처리 속도를 늦추는 것이 가능하다.
대변인
일부 구현에서, 코체인(120, 140)에서 메인 체인(104)으로 전송된 다양한 데이터 구조 및 메시지는 코체인 검증자(152)의 정족수에 의해 인증된다. 이러한 인증의 크기를 줄이기 위해, 코체인 검증자(152)는 검증자(152)를 대신하여 데이터를 인증하기 위해 한 명 이상의 "대변인"(때로는 "대변인들"이라고도 함)을 지명하고 인증할 수 있다. 검증자(152)는 정기적으로 또는 인지된 부정행위(misbehavior)에 대응하여 대변인(156)을 변경할 수 있다. 대변인(156)은 특히 다음 데이터를 보고할 수 있다. 첫째, Merkelized 데이터 구조 1 및 2. 둘째, 메인 체인(104)으로 이전될 자산(메인 체인(104)의 자산을 처리해야 하는 거래 키 및 사용 지시 포함).
이 기술은 코체인 블록의 적절한 정보(예를 들어, 10번째 또는 100번째 블록마다 포함됨)가 메인 체인(104)에 간결하고 효율적으로 전달되도록 보장할 수 있다. 일부 예에서, 코체인 대변인(156)은 검증자(152)의 세트 또는 이전 및 새로 임명된 대변인(156)의 세트를 변경할 권한이 없다(예를 들어, 대변인(156)에게 이익이 되도록 검증자(152)를 악의적으로 변경하는 것과 같이 "쿠데타"를 촉발할 수 없도록 보장).
일부 구현에서, 코체인 대변인의 디지털 서명된 데이터는 메인 체인(104)에 포스팅되지만, 검증자(152)가 반대하지 않는 것을 보장하기 위해 주어진 블록 수(예를 들어, 20개 블록)에 대해 코체인(120)은 이에 대해 작동하지 않는다(예를 들어, 메인 체인으로 이전된 자산을 판매하거나 원자적으로 스왑하지 않는다). 일부 예에서, 코체인 검증자(152)는 메인 체인(104)을 모니터링할 수 있고, 대변인(156)이 잘못된 정보를 포스팅한 것을 그들 중 하나가 깨닫는 경우, 올바른 정보(예를 들어, 코체인 검증자(152)의 적절한 다수에 의해 인증됨)를 카운터 포스팅할 것이다. 동등한 검증자 인증 정보가 여러 번 포스팅되는 것을 방지하기 위한 조치를 취할 수 있다.
따라서, 단일 키(144)에 의해 디지털 서명된 메인 체인(104)에 엘리먼트(예를 들어, 거래, 자산, 정보 등)를 포스팅하는 것이 더 효율적이기 때문에(예를 들어, 전체 코체인(120)을 대신하여), 엘리먼트는 다수의 검증자(152)에 의해 디지털 서명될 필요가 없다. 대신 대변인(156)이 서명한 엘리먼트는 주어진 시간 또는 주어진 블록 수 내에 이의를 제기하여 대변인(156)의 이전을 무효화할 수 있다. 이러한 방식으로, 이러한 기술은 중앙 집중식 작업 및 분산 수정이 가능하다.
전용 허가형 블록체인을 포함하는 결제 네트워크의 예시적 구현
도 5는 하나 이상의 구현예에 따른 컴퓨터 시스템(500)을 예시한 블록도이다. 일부 구현예에서, 컴퓨터 시스템(500)은 전용 컴퓨팅 장치이다. 전용 컴퓨팅 장치는 기술들을 수행하도록 배선에 의해 접속되거나, 하나 이상의 주문형 반도체(ASIC), 또는 기술들을 수행하도록 지속적으로 프로그래밍되는 필드 프로그램 가능 게이트 어레이(FPGA)와 같은 디지털 전자 장치들을 포함하거나, 펌웨어, 메모리, 다른 저장 장치 또는 조합에서의 프로그램 명령어들에 의하여 기술들을 수행하도록 프로그래밍되는 하나 이상의 범용 하드웨어 프로세서를 포함한다. 이러한 전용 컴퓨팅 장치는 또한 이러한 기술들을 달성하기 위한 커스텀 프로그래밍을 수반하는 커스텀 하드웨어 배선 로직, ASICs, 또는 FPGAs를 조합할 수 있다. 다양한 구현에서, 전용 컴퓨팅 장치들은 데스크탑 컴퓨터 시스템, 휴대용 컴퓨터 시스템, 핸드헬드 장치, 네트워크 장치, 또는 기술들을 구현하도록 배선에 의해 접속되거나 및/또는 프로그램 로직을 포함하는 임의의 다른 장치이다.
일부 구현예에서, 컴퓨터 시스템(500)은 버스(502) 또는 정보를 전하기 위한 다른 통신 메커니즘, 및 정보를 처리하기 위해 버스(502)와 결합되는 하드웨어 프로세서(504)를 포함한다. 하드웨어 프로세서들(504)은 예를 들어 범용 마이크로프로세서들이다. 컴퓨터 시스템(500)은 또한 프로세서들(504)에 의해 실행될 정보 및 명령어들을 저장하기 위해 버스(502)에 결합되는 랜덤 액세스 메모리(RAM) 또는 다른 동적 저장 장치와 같은 메인 메모리(506)를 포함한다. 하나의 구현에서, 메인 메모리(506)는 프로세서들(504)에 의해 실행될 명령어들의 실행 동안 임시 변수들 또는 다른 매개 정보를 저장하는 데 사용된다. 그러한 명령어들은, 프로세서들(504)에 액세스 가능한 비일시적 저장 매체에 저장될 때 명령어들로 지정되는 작동들을 수행하도록 맞춤화되는 특수 목적 기계로 컴퓨터 시스템(500)을 렌더링한다.
일부 구현예에서, 컴퓨터 시스템(500)은 프로세서들(504)에 대한 정적 정보 및 명령어들을 저장하기 위해 버스(302)에 결합되는 읽기 전용 메모리(ROM)(508) 또는 다른 정적 저장 장치를 더 포함한다. 자기 디스크, 광 디스크, 고체 상태 드라이브 또는 3차원 교차점 메모리와 같은 저장 장치(510)가 제공되고 정보 및 명령어들을 저장하기 위해 버스(502)에 결합된다.
일부 구현예에서, 컴퓨터 시스템(500)은 컴퓨터 사용자에게 정보를 표시하기 위해 음극선관(CRT), 액정 디스플레이(LCD), 플라스마 디스플레이, 발광 다이오드(LED) 디스플레이 또는 유기 발광 다이오드(OLED) 디스플레이와 같은 디스플레이(510)에 버스(502)를 통하여 결합된다. 영숫자 및 다른 키들을 포함하는 입력 장치(514)가 프로세서들(504)에 정보 및 커맨드 선택들을 전하기 위해 버스(502)에 결합된다. 다른 타입의 사용자 입력 장치는 프로세서들(504)에 방향 정보 및 커맨드 선택들을 전하고 디스플레이(510) 상의 커서 움직임을 제어하기 위한 마우스, 트랙볼, 터치 가능 디스플레이 또는 커서 방향 키들과 같은 커서 컨트롤러(516)이다. 이러한 입력 장치는 일반적으로 장치가 평면에서의 위치를 지정하도록 할 수 있는 제1 축(예를 들어, x축)과 제2 축(예를 들어, y축)으로 된 2개의 축에서의 2의 자유도를 가진다.
일부 구현예에 따르면, 본원의 기술들은 프로세서들(504)이 메인 메모리(506)에 포함되는 하나 이상의 명령어의 하나 이상의 시퀀스를 실행시키는 것에 응하여 컴퓨터 시스템(300)에 의해 수행된다. 그러한 명령어들은 저장 장치(512)와 같은 다른 저장 매체로부터 메인 메모리(506)로 판독된다. 메인 메모리(506)에 포함되는 명령어들의 시퀀스들의 실행은 본원에 설명하는 프로세스 단계들을 프로세서들(504)이 수행하게 한다. 대안적인 구현들에서, 배선에 의해 접속된 회로망은 소프트웨어 명령어들 대신에 또는 이것들과의 조합으로 사용된다.
본원에 사용되는 바에 따라, "저장 매체"라는 용어는 특정 방식으로 기계가 작동하게 하는 데이터 및/또는 명령어들을 저장하는 임의의 비일시적 매체를 지칭한다. 그러한 저장 매체는 비휘발성 매체 및/또는 휘발성 매체를 포함한다. 비휘발성 매체는, 예를 들어 광 디스크들, 자기 디스크들, 고체 상태 드라이브들, 또는 3차원 교차점 메모리, 예를 들어 저장 장치(510)를 포함한다. 휘발성 매체는 주 메모리(506)와 같은 동적 메모리를 포함한다. 통상적 형태들의 저장 매체는, 예를 들어 플로피 디스크, 가요성 디스크, 하드 디스크, 고체 상태 드라이브, 자기 테이프 또는 임의의 다른 자기 데이터 저장 매체, CD-ROM, 임의의 다른 광 데이터 저장 매체, 홀들의 패턴들을 갖는 임의의 물리적 매체, RAM, PROM 및 EPROM, 플래시-EPROM, NV-RAM, 또는 임의의 다른 메모리 칩 또는 카트리지를 포함한다.
저장 매체는 전송 매체와 별개이지만 이것과 함께 사용될 수 있다. 전송 매체는 저장 매체 사이에서 정보를 전달하는 것에 참여한다. 예를 들어, 전송 매체는 버스(502)를 포함하는 와이어들을 포함하는 동축 케이블들, 구리 와이어 및 광섬유들을 포함한다. 전송 매체는 라디오 파 및 적외선 데이터 통신 동안 발생되는 것과 같은 음향 또는 광 웨이브의 형태를 또한 취할 수 있다.
일부 구현예에서, 다양한 형태의 매체는 실행을 위해 프로세서들(504)로 하나 이상의 명령어의 하나 이상의 시퀀스를 전달하는 것에 수반된다. 예를 들어, 명령어들은 원격 컴퓨터의 자기 디스크 또는 고체 상태 드라이브 상에서 초기에 전달된다. 원격 컴퓨터는 원격 컴퓨터의 동적 메모리로 명령어들을 로딩하고 모뎀을 사용하여 전화선을 통해 명령어들을 전송한다. 컴퓨터 시스템(500)에 대해 로컬(local)인 모뎀은 전화선 상의 데이터를 수신하고 데이터를 적외선 신호로 변환하는 데 적외선 전송기를 사용한다. 적외선 검출기는 적외선 신호로 전달되는 데이터를 수신하고 적절한 회로망은 버스(502) 상에 데이터를 배치한다. 버스(502)는 메인 메모리(506)로 데이터를 전달하며, 메인 메모리(506)로부터 프로세서들(504)은 명령어들을 검색하고 실행시킨다. 메인 메모리(506)에 의해 수신되는 명령어들은 프로세서들(504)에 의한 실행 이전에 또는 이후에 저장 장치(510) 상에 선택적으로 저장된다.
컴퓨터 시스템(500)은 또한 버스(502)에 결합되는 통신 인터페이스(518)를 포함한다. 통신 인터페이스(518)는 로컬 네트워크(522)에 연결되는 네트워크 링크(520)에 결합되는 양 방향 데이터 통신을 제공한다. 예를 들어, 통신 인터페이스(518)는 통합된 서비스 디지털 네트워크(ISDN) 카드, 케이블 모뎀, 위성 모뎀, 또는 상응하는 타입의 전화선에 데이터 통신 연결을 제공하기 위한 모뎀이다. 다른 예시에서, 통신 인터페이스(518)는 호환이 되는 LAN에 데이터 통신 연결을 제공하기 위한 로컬 영역 네트워크(LAN) 카드이다. 일부 구현에서, 무선 링크들이 또한 구현된다. 이러한 구현예에서, 통신 인터페이스(518)는 다양한 유형의 정보를 나타내는 디지털 데이터 스트림을 운반하는 전기, 전자기, 또는 광학 신호를 송수신한다.
네트워크 링크(520)는 전형적으로 하나 이상의 네트워크를 통해 다른 데이터 장치들로 데이터 통신을 제공한다. 예를 들어, 네트워크 링크(520)는 호스트 컴퓨터(524), 또는 인터넷 서비스 제공자(ISP)(526)에 의해 작동되는 클라우드 데이터 센터 또는 장비로의 로컬 네트워크(522)를 통한 연결을 제공한다. ISP(526)는 결국 현재 통상적으로 "인터넷"(528)으로 지칭되는 전세계적 패킷 데이터 통신 네트워크를 통해 데이터 통신 서비스들을 제공한다. 로컬 네트워크(522) 및 인터넷(528)은 둘 다 디지털 데이터 스트림들을 전달하는 전기, 전자기 또는 광 신호들을 사용한다. 컴퓨터 시스템(500)으로 디지털 데이터를 전달하고 그로부터 전달받는 다양한 네트워크를 통과하는 신호 및 네트워크 링크(520) 상에 있고 통신 인터페이스(518)를 통과하는 신호는 전송 매체의 예시적인 형태이다. 일부 구현에서, 네트워크(520)는 클라우드 네트워크 또는 서버, 클라우드의 일부를 포함한다.
컴퓨터 시스템(500)은 네트워크(들), 네트워크 링크(520), 및 통신 인터페이스(518)를 통해 메시지를 전송하고 프로그램 코드를 포함하는 데이터를 수신한다. 일부 구현에서, 컴퓨터 시스템(500)은 처리를 위한 코드를 수신한다. 수신된 코드는 그것이 수신될 때 프로세서(504)에 의해 실행되거나 및/또는 저장 장치(510), 또는 추후의 실행을 위해 기타 비휘발성 저장 장치에 저장된다.
여기의 설명에서, 설명의 목적으로 다수의 특정한 상세 사항이 개시된 구현들의 철저한 이해를 제공하기 위해 설명된다. 그러나, 구현은 이러한 특정 상세 사항없이도 실시될 수 있음을 이해할 것이다. 도면들에서, 장치들, 모듈들, 명령어 블록들 및 데이터 요소들을 나타내는 것들과 같은 개략 요소들의 특정 배열들 또는 배치들은 설명의 용이함을 위해 도시된다. 그러나, 처리의 특정 순서 또는 시퀀스, 또는 프로세스들의 분리가 필요하다는 것을 도면들에서의 개략 요소들의 특정 배치 또는 배열이 암시하는 것으로 의미되지 않는다는 점이 당업자에 의해 이해되어야 한다. 게다가, 도면에서의 개략 요소의 포함은 그러한 요소가 모든 구현예에서 필요하거나 그러한 요소로 나타내어지는 특징들이 일부 구현예에서 다른 요소들에 포함되거나 이것들과 결합되지 않을 수 있다는 것을 암시하는 것으로 의미되지 않는다.
게다가, 실선들 또는 파선들 또는 화살표들과 같은 연결 요소들이 2개 이상의 다른 개략 요소 사이의 연결, 관계 또는 연관을 도시하는 데 사용되는 도면들에서, 임의의 그러한 연결 요소의 부재는 어떤 연결, 관계 또는 연관도 존재할 수 없다는 것을 암시하는 것으로 의미되지 않는다. 즉, 요소들 사이의 일부 연결, 관계 또는 연관은 본 발명을 모호하게 하지 않도록 도면들에 도시되지 않는다. 게다가 예시의 용이함을 위해, 단일 연결 요소가 요소들 사이의 다수의 연결, 관계 또는 연관을 나타내는 데 사용된다. 예를 들어, 연결 요소가 신호들, 데이터 또는 명령어들의 통신을 나타내는 경우, 그러한 요소가, 필요할 수 있는 바에 따라 통신에 영향을 주는 하나의 또는 다수의 신호 경로(예를 들어, 버스)를 나타낸다는 점이 당업자에 의해 이해되어야 한다.
이제 구현예에 대해 상세히 참조할 것이며, 그 예는 첨부 도면에 예시되어 있다. 다음의 상세한 설명에서, 설명된 다양한 구현의 완전한 이해를 제공하기 위해 다수의 특정 상세 사항이 설명된다. 그러나, 이러한 특정 상세 사항 없이도 설명된 다양한 구현예가 실시될 수 있다는 것이 당업자에게 명백할 것이다. 제목이 제공되지만 특정 제목과 연관된 정보는 해당 제목이 있는 섹션에서 찾을 수 없는 경우에도 이 설명의 다른 곳에서 찾을 수 있다.
본 발명이 구조적 특징 및/또는 행위에 특정한 언어로 설명되었지만, 첨부된 청구범위에 정의된 주제가 설명된 특정 특징 또는 행위에 반드시 제한되는 것은 아님을 이해해야 한다. 오히려, 설명된 특정 특징 및 행위는 청구범위를 구현하는 예로서 개시되며 다른 등가의 특징 및 행위는 청구범위의 범위 내에 있는 것으로 의도된다. 전술한 설명에서, 구현들을 구현마다 달라질 수 있는 많은 구체적 상세를 참조하여 설명하였다. 따라서, 설명 및 도면들은 제한적인 의미보다는 오히려 예시적인 의미로 간주되어야 한다. 구현들의 범위의 유일하고 배타적인 지표, 그리고 실시예들의 범위인 것으로 출원인들에 의해 의도되는 것은 임의의 이후의 정정을 포함하여 그러한 청구항들이 공포하는 특정 형태의 본 출원에서 비롯되는 청구항들의 세트의 문자 그대로이고 동등한 범위이다. 그러한 청구항들에 포함되는 용어들에 대한 명확히 본원에 제시되는 임의의 정의는 청구항들에 사용되는 바와 같은 그러한 용어들의 의미를 좌우할 것이다. 게다가, 전술한 설명 또는 이하의 청구항들에서 “더 포함하는(further including)”이란 용어를 사용할 때, 이러한 어구를 뒤따르는 것은 부가 단계 또는 엔티티, 또는 앞서 나열된 단계 또는 엔티티의 하위 단계/하위 엔티티일 수 있다.

Claims (13)

  1. 블록체인 시스템의 하나 이상의 엔티티가 일련의 동작을 수행할 수 있도록 하는 방법으로서, 상기 블록체인 시스템은:
    메인 체인;
    상기 메인 체인 상의 대응하는 계정이 있는 코체인;
    상기 메인 체인 상의 상기 대응하는 계정이 소유하고 상기 코체인 상의 계정이 소유한 자산; 및
    상기 자산을 소유한 코체인 계정;
    을 포함하고,
    상기 동작은:
    상기 코체인 상에 인증된 거래를 포스팅하는 단계로서, 상기 인증된 거래는 상기 코체인 계정에서 상기 메인 체인으로의 상기 자산의 이전을 인증하는 상기 포스팅하는 단계;
    상기 코체인의 검증자가 이전할 상기 자산과 대상 공개 키를 지정하는 데이터 스트링을 인증하는 단계;
    인증된 상기 데이터 스트링을 상기 코체인에 대응하는 상기 메인 체인의 상기 계정으로 전달하는 단계; 및
    상기 코체인에 대응하는 상기 메인 체인의 상기 계정에서 상기 대상 공개 키로 상기 자산을 이전하는 거래를 상기 메인 체인에 포스팅하는 단계;
    를 포함하는 것을 특징으로 하는 블록체인 시스템의 하나 이상의 엔티티가 일련의 작업을 수행할 수 있도록 하는 방법.
  2. 제1항에 있어서, 상기 동작은 상기 공개 키를 생성하는 단계를 포함하는 것을 특징으로 하는 블록체인 시스템의 하나 이상의 엔티티가 일련의 동작을 수행할 수 있도록 하는 방법.
  3. 제1항에 있어서, 상기 검증자는 임계치 서명 방식의 디지털 서명을 사용하여 상기 데이터 스트링을 인증하는 것을 특징으로 하는 블록체인 시스템의 하나 이상의 엔티티가 일련의 작업을 수행할 수 있도록 하는 방법.
  4. 제3항에 있어서, 상기 디지털 서명은 상기 메인 체인의 상기 계정과 연관된 공개 키에 대해 생성되고, 대응하는 비밀 키는 상기 코체인의 상기 검증자들에 의해 집합적으로 보유되는 것을 특징으로 하는 블록체인 시스템의 하나 이상의 엔티티가 일련의 작업을 수행할 수 있도록 하는 방법.
  5. 제1항에 있어서, 상기 코체인에 대응하는 상기 메인 체인의 상기 계정은 상기 코체인 상의 계정을 제어하는 엔티티에 의해 제어되는 것을 특징으로 하는 블록체인 시스템의 하나 이상의 엔티티가 일련의 작업을 수행할 수 있도록 하는 방법.
  6. 블록체인 시스템의 하나 이상의 엔티티가 일련의 동작을 수행할 수 있도록 하는 방법으로서, 상기 블록체인 시스템은:
    메인 체인;
    상기 메인 체인 상의 대응하는 계정이 있는 코체인;
    상기 메인 체인 상의 상기 대응하는 계정이 소유하고 상기 코체인 상의 계정이 소유한 자산; 및
    상기 자산을 소유한 코체인 계정;
    을 포함하고,
    상기 동작은:
    상기 코체인 상에 인증된 거래를 포스팅하는 단계로서, 인증된 상기 거래는 상기 코체인의 계정에서 상기 메인 체인의 계정으로의 상기 자산의 이전을 인증하는 상기 포스팅하는 단계;
    상기 인증된 거래가 상기 코체인에 포스팅되었는지 판정하는 단계; 및
    상기 메인 체인의 상기 계정에 상기 자산을 할당하는 거래를 상기 메인 체인에 포스팅하는 단계;
    를 포함하는 것을 특징으로 하는 블록체인 시스템의 하나 이상의 엔티티가 일련의 동작을 수행할 수 있도록 하는 방법.
  7. 제6항에 있어서, 상기 동작은 공개 키를 생성하는 단계를 포함하는 것을 특징으로 하는 블록체인 시스템의 하나 이상의 엔티티가 일련의 동작을 수행할 수 있도록 하는 방법.
  8. 제6항에 있어서, 상기 검증자는 임계치 서명 방식의 디지털 서명을 사용하여 상기 데이터 스트링을 인증하는 것을 특징으로 하는 블록체인 시스템의 하나 이상의 엔티티가 일련의 동작을 수행할 수 있도록 하는 방법.
  9. 제8항에 있어서, 상기 디지털 서명은 상기 메인 체인의 상기 계정과 연관된 공개 키에 대해 생성되고, 대응하는 비밀 키는 상기 코체인의 상기 검증자에 의해 집합적으로 보유되는 것을 특징으로 하는 블록체인 시스템의 하나 이상의 엔티티가 일련의 동작을 수행할 수 있도록 하는 방법.
  10. 제6항에 있어서, 상기 코체인에 대응하는 상기 메인 체인의 상기 계정은 상기 코체인 상의 계정을 제어하는 엔티티에 의해 제어되는 것을 특징으로 하는 블록체인 시스템의 하나 이상의 엔티티가 일련의 동작을 수행할 수 있도록 하는 방법.
  11. 블록체인 시스템의 하나 이상의 엔티티가 일련의 동작을 수행할 수 있도록 하는 방법으로서, 상기 블록체인 시스템은:
    메인 체인;
    상기 메인 체인 상의 대응하는 계정이 있는 코체인;
    상기 메인 체인 상의 상기 대응하는 계정이 소유하고 상기 코체인 상의 계정이 소유한 자산; 및
    상기 자산을 소유한 코체인 계정;
    를 포함하고,
    상기 동작은:
    상기 코체인 상에 인증된 거래를 포스팅하는 단계로서, 인증된 상기 거래는 상기 코체인의 계정에서 상기 메인 체인의 계정으로의 상기 자산 이전을 인증하는 상기 포스팅하는 단계;
    상기 코체인의 검증자가 대상 공개 키를 기반으로 디지털 서명을 계산하는 데 사용할 수 있는 부분 서명을 생성하는 단계로서, 상기 메인 체인의 상기 계정으로 상기 자산을 이전하는 것을 인증하는 데 사용할 수 있는 상기 디지털 서명을 생성하는 단계; 및
    상기 메인 체인에 상기 디지털 서명을 포스팅하는 단계;
    를 포함하는 것을 특징으로 하는 블록체인 시스템의 하나 이상의 엔티티가 일련의 동작을 수행할 수 있도록 하는 방법.
  12. 하나 이상의 컴퓨터 프로세서; 및
    상기 하나 이상의 컴퓨터 프로세서에 의해 실행될 때 제1항 내지 제11항에 기재된 방법의 수행을 유발하는 명령을 저장하는 하나 이상의 비일시적 저장 매체;
    를 포함하는 것을 특징으로 하는 시스템.
  13. 하나 이상의 컴퓨팅 장치에 의해 실행될 때 제1항 내지 제11항에 기재된 방법의 수행을 유발하는 명령을 저장하는 하나 이상의 비일시적 저장 매체.
KR1020227018919A 2019-11-08 2020-11-06 전용 및 개방형 블록체인을 이용한 거래의 수행 KR20220093198A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962933091P 2019-11-08 2019-11-08
US62/933,091 2019-11-08
US202063015040P 2020-04-24 2020-04-24
US63/015,040 2020-04-24
PCT/US2020/059473 WO2021092434A1 (en) 2019-11-08 2020-11-06 Performing transactions using private and public blockchains

Publications (1)

Publication Number Publication Date
KR20220093198A true KR20220093198A (ko) 2022-07-05

Family

ID=75849565

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227018919A KR20220093198A (ko) 2019-11-08 2020-11-06 전용 및 개방형 블록체인을 이용한 거래의 수행

Country Status (10)

Country Link
US (1) US20220374886A1 (ko)
EP (1) EP4032052B1 (ko)
JP (1) JP2022553946A (ko)
KR (1) KR20220093198A (ko)
CN (1) CN114730421A (ko)
AU (1) AU2020380960A1 (ko)
CA (1) CA3157091A1 (ko)
IL (1) IL292310A (ko)
MX (1) MX2022005255A (ko)
WO (1) WO2021092434A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102515721B1 (ko) * 2022-12-28 2023-03-30 주식회사 시그마체인 블록체인 기반의 본인인증을 위한 일회성 패스워드를 이용하는 nfp 본인인증 지원 방법 및 장치

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11669812B2 (en) * 2020-06-05 2023-06-06 Serge M Krasnyansky Contingent payments for virtual currencies
CN113313584B (zh) * 2021-06-25 2023-10-10 中国农业银行股份有限公司 业务处理方法及处理装置
US20230169062A1 (en) * 2021-11-30 2023-06-01 Ciena Corporation Proof of asset value for transaction validator election
CN114066456B (zh) * 2022-01-13 2022-04-08 环球数科集团有限公司 一种基于erc1155的跨链nft转移和结算系统
CN114723500A (zh) * 2022-05-07 2022-07-08 北京天德科技有限公司 一种用于nfr数字交易的多链系统合作架构
CN115174570B (zh) * 2022-06-28 2023-06-27 北京航空航天大学 一种基于动态委员会的跨链共识方法及系统
CN115766040A (zh) * 2022-12-06 2023-03-07 浙江工业大学 一种基于原子交换的高通量跨链交易方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2016246428B2 (en) * 2015-04-05 2017-11-09 Digital Asset (Switzerland) GmbH Digital asset intermediary electronic settlement platform
US10812274B2 (en) 2015-05-07 2020-10-20 Blockstream Corporation Transferring ledger assets between blockchains via pegged sidechains
WO2017004527A1 (en) * 2015-07-02 2017-01-05 Nasdaq, Inc. Systems and methods of secure provenance for distributed transaction databases
KR20180101355A (ko) * 2015-11-30 2018-09-12 쉐이프시프트 아게 블록체인 자산의 거래소에 있어서 보안을 개선하는 시스템 및 방법
EA201891830A1 (ru) * 2016-02-23 2019-02-28 Нчейн Холдингс Лимитед Система и способ управления действиями, связанными с активами, посредством блокчейна
TWI765019B (zh) * 2017-04-11 2022-05-21 安地卡及巴布達商區塊鏈控股有限公司 區塊鏈上之快速分散式共識
CN107767267B (zh) * 2017-10-20 2021-04-02 上海策赢网络科技有限公司 一种虚拟资源的转移方法和装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102515721B1 (ko) * 2022-12-28 2023-03-30 주식회사 시그마체인 블록체인 기반의 본인인증을 위한 일회성 패스워드를 이용하는 nfp 본인인증 지원 방법 및 장치

Also Published As

Publication number Publication date
AU2020380960A1 (en) 2022-05-12
CN114730421A (zh) 2022-07-08
JP2022553946A (ja) 2022-12-27
WO2021092434A1 (en) 2021-05-14
EP4032052A4 (en) 2022-11-09
IL292310A (en) 2022-06-01
CA3157091A1 (en) 2021-05-14
EP4032052B1 (en) 2024-02-14
EP4032052A1 (en) 2022-07-27
MX2022005255A (es) 2022-09-07
US20220374886A1 (en) 2022-11-24

Similar Documents

Publication Publication Date Title
JP7350030B2 (ja) 複数のトランザクションをブロックチェーンに記録する方法及びシステム
Niranjanamurthy et al. Analysis of Blockchain technology: pros, cons and SWOT
US20220084013A1 (en) Identity management, smart contract generator, and blockchain mediating system, and related methods
KR102636102B1 (ko) 블록체인 기반의 암호화폐를 위한 토큰을 검증하는 컴퓨터로 구현된 방법 및 시스템
KR20220093198A (ko) 전용 및 개방형 블록체인을 이용한 거래의 수행
JP6794527B2 (ja) 安全な台帳分散の方法及び安全な分散型台帳技術を用いたコンピューターシステム
Baum et al. P2DEX: privacy-preserving decentralized cryptocurrency exchange
US20200126075A1 (en) Confidential transaction auditing using an authenticated data structure
US20200145373A1 (en) System for blockchain based domain name and ip number register
CN111144881A (zh) 对资产转移数据的选择性访问
CN115699000A (zh) 通过计算机网络进行安全的多边数据交换的方法、装置和计算机可读介质
US11876915B2 (en) Method, apparatus, and computer-readable medium for authentication and authorization of networked data transactions
Li et al. A decentralized and secure blockchain platform for open fair data trading
GB2578168A (en) Computer-implemented method and system for digital signing of transactions
Alnuaimi et al. Blockchain-based processing of health insurance claims for prescription drugs
Yang et al. CVEM: A cross-chain value exchange mechanism
US20230092436A1 (en) Framework for demaraction of digital assets
Vimal Mani A view of blockchain technology from the information security radar
Senthilkumar Data confidentiality, integrity, and authentication
US20240005316A1 (en) Method, apparatus, and computer-readable medium for authentication and authorization of networked data transactions
US11810104B1 (en) Method and system for management of game tokens
US20230419285A1 (en) NFT Enforcement Control System
US20230267457A1 (en) Privacy preserving asset transfer between networks
Mansour et al. A Survey on Blockchain in E-Government Services: Status and Challenges
Chen et al. Constructing a Secure Charity NFT Auction Platform Using Fisco Bcos Blockchain for Enhancing Transparency and Traceability

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application