KR102548540B1 - 분산 원장 사이에서 교차 원장 전송을 위한 방법 및 장치와 교차 원장 전송을 사용하는 시스템 - Google Patents

분산 원장 사이에서 교차 원장 전송을 위한 방법 및 장치와 교차 원장 전송을 사용하는 시스템 Download PDF

Info

Publication number
KR102548540B1
KR102548540B1 KR1020207020979A KR20207020979A KR102548540B1 KR 102548540 B1 KR102548540 B1 KR 102548540B1 KR 1020207020979 A KR1020207020979 A KR 1020207020979A KR 20207020979 A KR20207020979 A KR 20207020979A KR 102548540 B1 KR102548540 B1 KR 102548540B1
Authority
KR
South Korea
Prior art keywords
transaction
distributed ledger
ledger
source
target
Prior art date
Application number
KR1020207020979A
Other languages
English (en)
Other versions
KR20200100773A (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 KR20200100773A publication Critical patent/KR20200100773A/ko
Application granted granted Critical
Publication of KR102548540B1 publication Critical patent/KR102548540B1/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/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3678Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes e-cash details, e.g. blinded, divisible or detecting double spending
    • 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/22Payment schemes or models
    • G06Q20/227Payment schemes or models characterised in that multiple accounts are available, e.g. to the payer
    • 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/381Currency conversion
    • 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
    • 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
    • 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
    • G06Q20/4014Identity check for transactions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/70Administration or customization aspects; Counter-checking correct charges
    • H04M15/785Reserving amount on the account
    • 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

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Engineering & Computer Science (AREA)
  • Finance (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

여기에 개시된 해법은 분산 원장 사이에서 교차 원장 전송을 제공하여 고확장성 트랜잭션 처리량을 달성한다. 가치의 이중 지불을 방지하면서 소스 분산 원장(200S)으로부터 타겟 분산 원장(200T)으로 가치를 효과적으로 전송하는 방식으로 교차 원장 전송(400)을 작성하기 위한 방법 및 명령어 코드가 개시된다. 이로부터 소스 원장의 총 가치가 전송된 가치만큼 감소하고 타겟 원장의 총 가치가 동일한 양만큼 증가한다는 점에서 원장의 변형이 발생한다. 또한, 복수의 분산 원장 사이에서 교차 원장 전송을 이용하여 고확장성 트랜잭션 처리량을 달성하는 시스템 아키텍처(500, 700)가 개시된다. 또한, 분산 원장 사이에서 교차 원장 전송을 구현하도록 구성된 컴퓨터 장치(510, 610)가 개시된다. 다른 실시예 및 특징이 또한 개시된다.

Description

분산 원장 사이에서 교차 원장 전송을 위한 방법 및 장치와 교차 원장 전송을 사용하는 시스템
관련 출원(들)에 대한 상호 참조
본 출원은 2017년 12월 19일자로 출원되고 명칭이 "복수의 블록체인 및 교차 체인 트랜잭션을 사용하여 고확장성 트랜잭션 처리량을 달성한 블록체인 생태계"인 미국 특허 가출원 번호 제62/607,453호에 대한 우선권을 주장하며, 그 개시 내용은 여기에 참조로서 포함된다. 본 출원은 또한 2018년 1월 9일자로 출원되고 명칭이 "분산 원장 사이에서 교차 원장 전송"인 미국 특허 출원 번호 제15/866,266호(대리인 문서 번호 10062.000110)에 대한 우선권을 주장하며, 그 개시 내용은 여기에 참조로서 포함된다. 본 출원은 또한 2018년 1월 9일자로 출원되고 명칭이 "고확장성 트랜잭션 처리량을 위해 교차 원장 전송을 사용하는 복수 분산 원장의 시스템"인 미국 특허 출원 번호 제15/866,280호에 대한 우선권을 주장하며, 그 개시 내용은 여기에 참조로서 포함된다. 본 출원은 또한 2018년 1월 9일자로 출원되고 명칭이 "분산 원장 사이에서 교차 원장 전송을 위한 컴퓨터 장치"인 미국 특허 출원 번호 제15/866,290호(대리인 문서 번호 10062.000130)에 대한 우선권을 주장하며, 그 개시 내용은 여기에 참조로서 포함된다.
1. 발명의 분야
본 개시는 일반적으로 컴퓨터 및 네트워크 기술에 관한 것이다. 보다 구체적으로, 본 개시는 블록체인(blockchain) 및 다른 분산 원장(distributed ledger) 기술에 관한 것이다.
2. 배경 기술의 설명
블록체인은 블록체인 네트워크에 의해 액세스되고 검증되는 블록 데이터 구조(블록)의 체인이다. 블록체인의 한 예는 BITCOIN 블록체인으로 알려져 있으며, BITCOIN 트랜잭션(transaction)의 분산 원장으로서 작동하며, 여기서 BITCOIN은 특정 암호화폐이다. BITCOIN 블록체인의 각 블록은 BITCOIN의 복수의 트랜잭션을 인코딩한다.
BITCOIN 블록체인에서, 각 블록은 블록 헤더 및 블록에 포함된 트랜잭션에 대한 해시(hash) 값의 머클 트리(Merkle tree)의 루트(root)를 포함한다. 각 블록은 (블록 헤더의 해시 값인) 블록 해시에 의해 식별된다. 블록 헤더는 블록의 머클 트리의 루트, 체인에 있는 이전 블록의 블록 해시 및 논스(nonce)를 포함한다. BITCOIN 네트워크의 채굴자는 트랜잭션의 새로운 블록을 BITCOIN 블록체인에 추가할 수 있다. 채굴자는 블록체인에 액세스하여 새로운 트랜잭션의 방송을 수신할 수 있다. 채굴자가 예상 블록에서 트랜잭션을 검증하고 조건에 만족하면 새로운 블록이 블록체인에 추가될 수 있다. 합의 프로토콜은 BITCOIN 블록체인의 일관성과 무결성을 보호한다.
종래의 분산 원장 기술은 트랜잭션 처리량에 있어서 상당한 한계를 가지며 쉽게 확장될 수 없다. 예를 들어, BITCOIN 블록체인 네트워크는 블록 크기의 제한과 더불어 대기 시간 및 대역폭 문제로 인해 처리량이 제한된다는 큰 문제가 있다. 분산 원장 기술의 처리량 확장성 문제를 해결하는 것이 매우 바람직하다.
여기에서 개시된 해법은 분산 원장 사이에서 교차 원장 전송(cross-ledger transfer)을 제공하여 고확장성 트랜잭션 처리랑을 달성하는 것이다. 가치의 이중 지불을 막으면서 소스 분산 원장으로부터 타겟 분산 원장으로 가치를 효과적으로 전송하는 방식으로 교차 원장 전송을 작성하기 위한 방법 및 명령어 코드가 개시된다. 또한 복수의 분산 원장 사이에서 교차 원장 전송을 이용하여 고확장성 트랜잭션 처리량을 달성하는 시스템 아키텍처가 개시된다. 또한 분산 원장 사이에서 교차 원장 전송을 구현하도록 구성된 컴퓨터 장치가 개시된다.
여기에 개시된 해법의 교차 원장 전송은 소스 원장의 총 가치가 전송된 가치만큼 감소되고, 타겟 원장의 총 가치가 같은 정도로 증가함으로써 원장의 변형 또는 수정을 초래한다. 예시적인 구현예에서, 소스 원장에서 전송된 가치의 소멸 및 타겟 원장에서 전송된 가치의 재생성은 소스 원장에서 잠금 트랜잭션을 사용하고 타겟 원장에서 개시 및 완료 트랜잭션을 사용하여 달성될 수 있다. 잠금 트랜잭션은 개시 트랜잭션을 참조하고, 완료 트랜잭션은 잠금 트랜잭션을 참조하고 개시 트랜잭션의 트랜잭션 출력을 소비한다.
여기에 개시된 발명의 일 실시예는 디지털 방식으로 표현된 경제적 가치를 해당 가치의 이중 지불을 방지하는 방식으로 소스 분산 원장으로부터 타겟 분산 원장으로 전송하는 교차 원장 전송을 수행하는 방법에 관한 것이다. 개시 트랜잭션은 타겟 분산 원장에 기록되고, 잠금 트랜잭션은 소스 분산 원장에 기록된다. 잠금 트랜잭션은 소스 분산 원장의 기존 트랜잭션의 트랜잭션 출력을 소비하고, 타겟 분산 원장의 개시 트랜잭션을 참조한다. 이후 완료 트랜잭션은 타겟 분산 원장에 기록될 수 있다. 완료 트랜잭션은 개시 트랜잭션의 트랜잭션 출력을 소비하고 소스 분산 원장의 잠금 트랜잭션을 참조한다.
다른 실시예는 교차 원장 전송을 수행하는 컴퓨터 판독 가능 코드를 구비한 비일시적 유형 매체에 관한 것이다. 교차 원장 전송은 디지털 방식으로 표현된 경제적 가치를 해당 가치의 이중 지불을 방지하는 방식으로 소스 분산 원장으로부터 타겟 분산 원장으로 전송한다.
다른 실시예는 분산 원장 사이에서 교차 원장 전송을 사용하여 고확장성 트랜잭션 처리량을 달성하는 제 1 시스템 아키텍처에 관한 것이다. 제 1 시스템 아키텍처는 복수의 분산 원장 네트워크를 포함하고, 각각의 상기 분산 원장 네트워크는 시스템의 다른 분산 원장에 대한 복수의 지불 검증 노드를 포함한다.
다른 실시예는 분산 원장 사이에서 교차 원장 전송을 사용하여 고확장성 트랜잭션 처리량을 달성하는 제 2 시스템 아키텍처에 관한 것이다. 제 2 시스템 아키텍처는 복수의 분산 원장 네트워크를 포함한다. 제 2 시스템 아키텍처는 복수의 분산 원장 네트워크에 의해 공유되는 공유 노드 세트를 더 포함한다. 상기 공유 노드는 다른 서비스 중에서도 특히 트랜잭션의 원장간(inter-ledger) 검증을 제공한다.
다른 실시예는 복수의 분산 원장 사이에서 교차 원장 전송을 위한 제 1 컴퓨터 장치에 관한 것이다. 제 1 컴퓨터 장치는 복수의 분산 원장의 로컬 분산 원장에 대한 로컬 노드 스택을 위한 컴퓨터 판독 가능 코드 및 복수의 분산 원장의 외부 분산 원장에 대한 외부 지불 검증 노드 스택을 위한 컴퓨터 판독 가능 코드를 포함한다. 로컬 노드 스택은 외부 지불 검증 노드 스택을 사용하여 로컬 및 외부 분산 원장 사이에서 디지털 방식으로 표현된 경제적 가치의 교차 원장 전송 동안 외부 분산 원장의 트랜잭션을 검증하도록 구성된다.
다른 실시예는 복수의 분산 원장 사이에서 교차 원장 전송을 위한 제 2 컴퓨터 장치에 관한 것이다. 제 2 컴퓨터 장치는 복수의 분산 원장의 노드 스택을 위한 컴퓨터 판독 가능 코드를 포함한다. 각각의 상기 노드 스택은 소스 분산 원장으로부터 타겟 분산 원장으로 디지털 방식으로 표현된 경제적 가치의 교차 원장 전송을 수행하도록 구성된다.
다른 실시예 및 특징이 또한 개시된다.
도 1은 본 발명의 일 실시예에 따른 단일 분산 원장 네트워크의 구조를 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따라 소스 분산 원장 및 타겟 분산 원장 사이에서 디지털 방식으로 표현된 경제적 가치의 단일 트랜잭션 교차 원장 전송의 데이터 컴포넌트를 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따라 소스 분산 원장의 발행 라이센스 부여 트랜잭션을 참조하는 타겟 분산 원장의 발행 트랜잭션과 관련된 2-트랜잭션 교차 원장 전송을 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따라 소스 분산 원장으로부터 타겟 분산 원장으로 디지털 방식으로 표현된 경제적 가치의 3-트랜잭션 교차 원장 전송을 도시한 도면이다.
도 5a는 본 발명의 일 실시예에 따라 교차 원장 전송을 수행하기 위해 외부 지불 검증(PV) 노드를 사용하는 시스템 아키텍처를 도시한 도면이다.
도 5b는 본 발명의 일 실시예에 따른 도 5a의 시스템 아키텍처의 노드를 위한 컴퓨터 장치를 도시한 도면이다.
도 5c는 본 발명의 일 실시예에 따른 외부 PV 노드에 의해 사용되는 블록 헤더 및 블록 서명의 체인을 도시한 도면이다.
도 6a는 본 발명의 일 실시예에 따라 교차 원장 전송을 수행하기 위해 복수의 분산 원장 네트워크에 의해 공유되는 노드를 사용하는 시스템 아키텍처를 도시한 도면이다.
도 6b는 본 발명의 일 실시예에 따른 도 6a의 시스템 아키텍처의 공유 노드를 위한 컴퓨터 장치를 도시한 도면이다.
도 7은 본 발명의 일 실시예에 따라 소스 분산 원장 상의 디지털 방식으로 표현된 경제적 가치의 소유자가 디지털 방식으로 표현된 경제적 가치를 타겟 분산 원장 상의 엔티티로 전송하는 방법의 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 원장간 트랜잭션 검증을 위한 프로세스를 도시한다.
도 9는 본 발명의 일 실시예에 따라 소스 분산 원장으로부터 타겟 분산 원장으로 교차 분장 트랜잭션을 개시하기 위해 수행될 수 있는 절차에 대한 의사 코드를 도시한다.
도 10은 본 발명의 실시예에 따라 개시 또는 잠금 트랜잭션이 커밋된 후에 수행될 수 있는 절차에 대한 의사 코드를 도시한다.
도 11은 본 발명의 일 실시예에 따라 외부 분산 원장 상의 트랜잭션을 커밋하기 위해 수행될 수 있는 절차에 대한 의사 코드를 도시한다.
도 12는 본 발명의 일 실시예에 따라 분산 원장에 트랜잭션을 제출하기 위해 수행될 수 있는 절차에 대한 의사 코드를 도시한다.
도 13은 본 발명의 일 실시예에 따라 트랜잭션의 블록에 대한 합의에 도달한 후 분산 원장의 노드에 의해 수행될 수 있는 절차에 대한 의사 코드를 도시한다.
도 14는 본 발명의 일 실시예에 따라 커밋된 블록에서 미사용 트랜잭션 출력을 인덱싱하기 위해 분산 원장의 노드에 의해 수행될 수 있는 절차에 대한 의사 코드를 도시한다.
도 15는 본 발명의 일 실시예에 따라 교차 원장 참조 트랜잭션 입력을 포함하는 표준 트랜잭션의 일반적인 구조를 도시한다.
도 16은 본 발명의 일 실시예에 따른 3-트랜잭션 교차 원장 전송의 개시 트랜잭션에 대한 구조를 도시한다.
도 17은 본 발명의 일 실시예에 따른 3-트랜잭션 교차 원장 전송의 잠금 트랜잭션에 대한 구조를 도시한다.
도 18은 본 발명의 일 실시예에 따른 3-트랜잭션 교차 원장 전송의 완료 트랜잭션에 대한 구조를 도시한다.
도 19는 본 발명의 일 실시예에 따른 시스템에서 분산 원장의 수의 함수로서 원장당 계산된 트랜잭션 처리량을 나타내는 그래프이다.
도 20은 본 발명의 일 실시예에 따라 분산 원장의 수의 함수로서 계산된 총 트랜잭션 처리량을 도시한 차트이다.
도 21은 본 발명의 일 실시예에 따른 컴퓨터 시스템의 컴포넌트를 개략적으로 도시한 도면이다.
상이한 도면에서 동일한 참조 레이블의 사용은 동일하거나 유사한 컴포넌트를 나타낸다.
서론
통상적으로, 기관은 금융 거래의 청산 및 결제를 처리하기 위해 중앙 청산소에 의존한다. 이러한 종래의 청산 및 결제는 특히 국제적 거래의 경우 시간이 걸리고 비용이 많이 든다는 문제가 있다.
그러나, 최근에, 청산 및 결제를 위한 대안적 수단을 이용할 수 있게 되었다. 이 대안은 일반적으로 분산 원장을 사용하여 암호화 화폐로 거래를 청산 및 결제하는 것이다. 이러한 암호화 화폐의 주목할 만한 예로는 BITCOIN 블록체인 네트워크에 의해 유지되는 BITCOIN이 있다. 암호화 화폐의 다른 예로는 LITECOIN, NOVACOIN, NAMECOIN, DOGECOIN, PEERCOIN, ETHEREUM 및 RIPPLE이 있다.
도 1은 본 발명의 일 실시예에 따른 단일 분산 원장 네트워크(100)의 구조를 도시한 도면이다. 분산 원장 네트워크(100)는 트랜잭션의 분산 원장을 유지하기 위해 사용될 수 있다. 분산 원장의 한 가지 예는 BITCOIN 블록체인이다. 그러나, 분산 원장 네트워크(100)는 일반적으로 임의의 블록체인 네트워크일 수 있거나 또는 방향성 비순환 그래프(directed acyclic graph:DAG) 기반 원장을 제공하는 방향성 비순환 그래프(DAG) 알고리즘을 사용하는 것과 같은 다른 타입의 분산 원장 네트워크일 수 있다. 여기에 개시된 해법은 일반적으로 트랜잭션의 블록을 사용하여 구현되는 분산 원장에 적용 가능(호환 가능)하며, 여기서 각각의 블록 헤더는 블록에 포함된 트랜잭션의 머클 루트(Merkle root)를 갖는다.
분산 원장 네트워크(100)는 그 사이에 통신 접속부(104)를 구비한 복수의 노드(102)를 포함한다. 설명의 편의를 위해, 도면에는 몇몇의 노드(102)만이 도시되어 있지만, 분산 원장 네트워크(100)는 그 사이에 다양한 상호 접속부(104)를 갖는 매우 많은 수의 노드를 가질 수 있다.
노드(102)는 일반적으로 각각 분산 원장의 데이터의 완전한 최신 사본을 포함하므로 완전 노드(full node)라고 지칭될 수 있다. BITCOIN 네트워크의 예에서, 이러한 완전 노드는 BITCOIN 블록체인의 채굴자로 동작할 수 있으며, 여기서 성공한 채굴자에게는 BITCOIN의 디지털 화폐가 지불된다. 그러나, 본 발명의 일 실시예에 따르면, 분산 원장은 성공한 채굴자에게 디지털 화폐로 지불할 필요가 없고, 또한 암호화폐의 형태일 필요가 없는 디지털 방식으로 표현된 자산(또는 부채)으로 보다 일반적으로 처리할 수 있다 .
복수의 클라이언트(106)는 디지털 원장 네트워크(100)에 통신적으로 접속될 수 있다. 이들 클라이언트(106)는 분산 원장의 완전한 최신 사본을 유지하지 않지만 여전히 분산 원장의 트랜잭션을 검증할 능력을 가지고 있다는 점에서 경량 노드(lightweight node)이다.
예를 들어, 클라이언트(106)는 지불 검증 방법을 사용하여 트랜잭션을 검증할 수 있는 지불 검증(PV; payment verification) 노드로서 구현될 수 있다. PV 노드는 분산 원장 네트워크에 접속되어 있고 분산 원장의 트랜잭션의 유효성을 증명하는데 필요한 데이터를 보유하는 비-완전(non-full) 노드일 수 있다. 개별 트랜잭션 레코드는 일반적으로 PV 노드에서의 데이터로부터 누락되므로 PV 노드는 분산 원장 네트워크의 클라이언트로 간주될 수 있다. 예시적인 구현예에서, 분산 원장이 블록체인인 경우, PV 노드는 단순화된 지불 검증(SPV; simplified payment verification) 노드일 수 있고, 필요한 데이터는 블록의 트랜잭션의 머클 루트, 선행 블록 해시 및 블록 검증자에 의해 생성된 블록 서명의 리스트를 포함한다.
클라이언트(106)는 코어 분산 원장 네트워크를 넘어 확장된 네트워크의 일부를 형성하는 것으로 간주될 수 있다. 설명의 편의를 위해 몇몇의 클라이언트(106)만이 도시되어 있지만, 다수의 클라이언트(106)가 분산 원장 네트워크(100)에 접속될 수 있다.
전술한 것과 같이, 분산 원장의 유명한 예는 블록체인이다. 블록체인은 P2P(Peer-to-Peer) 프로토콜을 실행하는 P2P 네트워크에 의해 유지되어 트랜잭션의 블록에서 연속적으로 합의에 도달한다. 여기에 개시된 해법은 일반적으로 블록체인 기술 또는 다른 분산 원장 기술에 적용될 수 있다.
분산 원장의 트랜잭션은 입력 리스트 및 출력 리스트를 포함할 수 있다. 트랜잭션 해시는 트랜잭션 내의 모든 데이터를 해싱함으로써 구성될 수 있다. 트랜잭션 해시는 트랜잭션을 참조하는데(즉, 트랜잭션 식별자 또는 tx id로서) 사용될 수 있다.
트랜잭션 출력(TXO)은 해당 트랜잭션의 해시, 트랜잭션 내의 해당 인덱스 및 TXO의 수신자의 식별에 의해 식별될 수 있다. TXO는 디지털 방식으로 표현된 자산을 보유할 수 있다. TXO는 전송되지 않고, TXO 내의 디지털 방식으로 표현된 경제적 가치가 전송된다. (공개 키에 대응하는 개인 키를 가지고 있는) 수신자는 수신자의 공개 키의 해시에 의해 식별될 수 있다.
트랜잭션 입력은 TXO를 참조한다. 종래의 원장내(intra-ledger) 트랜잭션의 경우, 트랜잭션 입력은 트랜잭션 해시 및 TXO의 출력 인덱스로 TXO를 참조한다. 본 개시에 의해 교시된 것과 같이, 교차 원장 트랜잭션을 위한 트랜잭션 입력(210)은 도 2와 관련하여 이하에서 설명되는 것과 같을 수 있다.
트랜잭션 처리량 제한
BITCOIN 네트워크와 같은 종래의 분산 원장 네트워크는 상당한 트랜잭션 처리량 제한을 갖는다. 이러한 제한은 블록 크기에 대한 제한과 더불어 대기 시간 및 대역폭 문제로 인한 것이다.
새로운 블록이 생성되면, 이것은 분산 원장 네트워크를 통해 전파되어야 한다. 그러나 세계의 다른 지역에 있는 권위 있는 네트워크 노드(즉, 검증자 노드) 사이에는 상당한 최소 대기 시간이 있다. 이러한 대기 시간은 전파 속도에 대한 하한을 제공하여 트랜잭션 처리량을 제한한다.
또한, 트랜잭션 처리량을 증가시키기 위해, 블록당 더 많은 트랜잭션을 채우기 위해 블록 크기를 증가시킬 수 있고 및/또는 더 많은 블록을 처리하기 위해 블록 주파수를 증가시킬 수 있다. 그러나, 분산 원장 네트워크 내의 대역폭 제한은 일반적으로 블록 크기 및/또는 블록 주파수의 이러한 증가에 의해 달성될 수 있는 처리량 증가를 제한한다.
교차 원장 전송을 구비한 다중 분산 원장 시스템
본 개시는 종래의 분산 원장 기술이 갖는 전술한 트랜잭션 처리량의 한계를 극복하기 위한 혁신적인 해법을 제공한다. 교차 원장 전송을 구비한 다중 분산 원장 시스템을 제공하는 기술이 개시된다. 교차 원장 전송을 통해 디지털 방식으로 표현된 경제적 가치를 하나의 분산 원장으로부터 다른 분산 원장으로 전송할 수 있다.
디지털 방식으로 표현된 경제적 가치의 예는 비트 코인 블록체인의 비트 코인과 같은 암호화폐이다. 보다 일반적으로, 소스 분산 원장과 타겟 분산 원장 사이에 전송되는 디지털 방식으로 표현된 경제적 가치는 디지털 방식으로 표현된 자산(예를 들어, 통상적인 통화, 암호화폐, 상품 또는 다른 재산) 또는 부채(예를 들어, 빚)일 수 있다. 일 실시예에서, 디지털 방식으로 표현된 경제적 가치는 화폐의 양일 수 있다. 다른 실시예에서, 디지털 방식으로 표현된 경제적 가치는 암호화폐의 양일 수 있다. 다른 실시예에서, 디지털 방식으로 표현된 경제적 가치는 상품의 양일 수 있다.
교차 원장 트랜잭션은 시스템의 복수 분산 원장을 사실상 서로 연결하기 위해 사용될 수 있다. 따라서 각 분산 원장의 트랜잭션의 무결성은 다른 연결된 분산 원장(들)의 트랜잭션의 무결성에 의존한다.
복수 분산 원장이 교차 원장 트랜잭션에 의해 효과적으로 서로 연결될 때, 서로 연결된 분산 원장 네트워크의 시스템은 다중 분산 원장 시스템 또는 분산 원장 "생태계"로 지칭될 수 있다. 다중 분산 원장 시스템에 의해 유지되고 있는 분산 원장은 서로 협력하고, 이는 "공통 원장(co-ledger)"으로 지칭될 수 있다.
공통 원장은 각각 동일한 전체 시스템의 일부이지만, 각각의 공통 원장은 다른 공통 원장과 관련하여 별도 또는 "외부" 분산 원장이다. 각각의 공통 원장은 트랜잭션의 자체 원장을 유지하며 그 원장은 다른 공통 원장의 트랜잭션을 포함하지 않는다. 그러나 하나의 공통 원장의 트랜잭션은 다른 공통 원장의 트랜잭션을 참조할 수 있다.
바람직하게는, 여기에 개시된 것과 같이, 단일 분산 원장 네트워크가 갖는 전술한 처리량 제한을 극복하기 위해 확장 가능한 수의 공통 원장을 갖는 다중 분산 원장 시스템이 적용될 수 있다.
2개의 검증자 노드가 그들 사이에 긴 대기 시간을 가질 때, 이들은 시스템 내에서 별개의 분산 원장 네트워크로 분리될 수 있기 때문에 대기 시간으로 인한 제한은 극복될 수 있다. 2개의 노드가 서로 다른 원장의 유효성을 검사하므로 노드 사이의 대기 시간이 길어지더라도 어느 쪽 원장의 합의 시간에도 영향을 미치지 않는다. 따라서, 여기에 개시된 해법은 노드 사이의 긴 대기 시간이 성능에 미치는 영향을 실질적으로 감소시키거나 또는 제거하기 위해 사용될 수 있다.
대역폭 제한은 단일 분산 원장 대신에 복수 공통 원장을 사용함으로써 블록 크기가 효과적으로 감소될 수 있기 때문에 극복될 수 있다. N개의 공통 원장을 갖는 구조는 블록 크기를 1/N 정도로 효과적으로 감소시키는데 사용될 수 있다.
따라서, 교차 원장 트랜잭션이 비교적 드물도록 노드를 영역(또는 그룹)으로 분할함으로써, 공통 원장을 추가하는 것에 의해 추가되는 처리량은 해당 체인을 단독으로 실행할 때의 전체 처리량의 상당한 양이 될 것이다. 이로 인해 공통 원장의 수에 따라 대략 선형적으로 처리량이 확장된다.
공통 원장 사이의 교차 원장 트랜잭션
본 발명의 일 실시예에 따르면, 2개의 분산 원장(즉, 2개의 "공통 원장") 사이의 교차 원장 트랜잭션은 소스 분산 원장(200S) 상에서 기존의 소비되지 않은 트랜잭션 출력(UTXO)을 효과적으로 소멸시키고 하나 또는 그 이상의 새로운 UTXO(소멸된 UTXO와 동일한 총 가치를 가짐)를 타겟 분산 원장(200T)에 생성한다. 본 발명의 일 실시예에 따라 타겟 분산 원장(200T)에 기록되는 교차 원장 트랜잭션(205)의 컴포넌트가 도 2에 도시되어 있다.
도 2에 도시된 것과 같이, (타겟 분산 원장(200T)에 기록될) 교차 원장 트랜잭션(205)은 소스 분산 원장(200S)에 대한 참조를 제공하는 트랜잭션 입력(210) 및 타겟 분산 원장(200T)의 수신자(또는 수신자들)에게 가치(또는 가치들)를 전송하는 트랜잭션 출력(또는 출력들)(220)을 포함한다.
보다 구체적으로, 트랜잭션 입력(210)은 소스 분산 원장(200S)의 체인 식별자(211), 참조되는 기존 트랜잭션에 대한 블록의 블록 헤더(212)(블록의 머클 트리에 대한 머클 브랜치 해시(214)를 포함), 참조되는 기존 트랜잭션(213), 기존 트랜잭션의 특정 출력을 나타내는 숫자를 포함하는 출력 인덱스(215)를 포함한다.
필요한 머클 브랜치 해시(214)의 수는 블록의 트랜잭션 수의 지수가 2인 로그보다 크거나 같다는 점에 유의한다. 따라서, 블록에 1000개의 트랜잭션이 있으면 10개의 머클 브랜치 해시가 필요하다.
트랜잭션 해시(트랜잭션 식별자 또는 tx id로 지칭될 수 있음)는 참조된 트랜잭션의 내용에 해시 함수를 적용함으로써 참조된 트랜잭션(213)으로부터 도출된 해시 값이라는 점에 유의한다. 트랜잭션 해시는 머클 브랜치 해시로 해싱되어 머클 루트를 형성할 수 있다. 이 머클 루트는 소스 분산 원장(200S) 내의 블록의 머클 루트에 매칭되어 소스 분산 원장(200S)에 트랜잭션(213)이 존재함을 증명할 수 있다.
트랜잭션 출력 또는 출력들(220)은 소스 분산 원장(200S)(트랜잭션(213) 및 출력 인덱스(215)에 의해 특정됨)의 UTXO로부터 획득된 소비에 대한 데이터를 제공한다. 각각의 트랜잭션 출력(220)은 수신자에게 전송된 디지털 방식으로 표현된 경제적 가치와 수신자의 공개 키의 해시를 제공한다.
소스 분산 원장에서 소비를 방지하는 2-트랜잭션 교차 원장 전송
디지털 방식으로 표현된 경제적 가치의 교차 원장 전송을 수행하는 개시된 방법의 동작 메커니즘을 이해하기 위해, 도 3에 도시된 것과 같이 참조된 트랜잭션을 통한 발행(minting)을 고려한다. 도 3에서, 타겟 분산 원장(예를 들어, 타겟 블록체인)에서 디지털 방식으로 표현된 경제적 가치의 발행은 소스 분산 원장(예를 들어, 소스 블록체인)에서 참조된 트랜잭션을 통해 수행된다. 그러나, 이하에서 설명되는 것과 같이, 도시된 것과 같은 디지털 방식으로 표현된 경제적 가치의 발행은 전송된 가치의 이중(복수) 지불을 방지하기 위한 메커니즘을 포함하지 않는다.
참조된 트랜잭션의 트랜잭션 출력(TXO)은 과거에 언젠가 존재했음을 보장하지만, 여전히 (현재 또는 미래에) 소비되지 않고 있음을 보장하지는 않는다. 이는 소비되지 않은 TXO(즉, UTXO)만을 참조해야 하기 때문에 소스 체인의 TXO를 참조하는 것은 교차 원장 트랜잭션을 지원하기에 불충분하다는 것을 의미한다.
도 3에 도시된 교차 원장 전송에서, 소스 분산 원장에서의 발행 라이센스 부여 트랜잭션(302)은 정의에 의해 소스 분산 원장의 다른 발행자(minter)에게 절대 부여되지 않는 트랜잭션이다. 따라서, 발행 라이센스 부여 트랜잭션(302)으로부터의 TXO는 소스 분산 원장에서 본질적으로 소비될 수 없다. 이 경우, 머클 프루프(Merkle proof, 304)를 사용하여 소스 체인에 발행 라이센스를 부여하는 트랜잭션이 존재함을 증명하면 TXO가 소스 분산 원장에서 (소비될 수 없기 때문에) 소비되지 않고 있음을 증명할 수 있다.
이와 같이, 발행 라이센스 부여 트랜잭션이 소스 분산 원장에 존재한다는 사실은 발행 트랜잭션(306)이 타겟 분산 원장에서 디지털 방식으로 표현된 경제적 가치를 발행하기 위한 근거를 제공한다. 이후, 발행된(minted) 가치는 타겟 분산 원장의 트랜잭션에 대해 정상적으로 사용될 수 있다(308).
그러나, 시스템을 사용하는 모든 엔티티가 신뢰할 수 있는 경우라면 도 3의 2-트랜잭션 교차 원장 전송은 이중 지불을 안전하게 회피하지만, 신뢰할 수 없는 엔티티가 시스템을 사용할 수 있을 때에는 이중 지불을 방지하기에 충분하지 않다. 이는 도 3의 2-트랜잭션 교차 원장 전송이 소스 분산 원장에서 소비되지 않은 TXO가 2 이상의 타겟 분산 원장에서 소비되는 것을 방지하지는 못하기 때문이다.
이중 지불을 방지하는 3-트랜잭션 교차 원장 전송
본 발명의 일 실시예에 따르면, 도 4에 도시된 방법(400)은 공통 원장 사이에서 디지털 방식으로 표현된 경제적 가치를 전송한다. 교차 원장 전송은 일련의 핸드 셰이크를 통해 소스 분산 원장에서 소비되지 않은 가치를 2 이상의 타겟 분산 원장에서 소비함으로써 가치가 갑자기 생성될 수 없음을 보장하는 방식으로 수행된다.
도 4에 도시된 것과 같이, 이러한 교차 원장 전송의 예시적인 구현예는 시스템의 분산 원장에 일련의 3개의 개별 트랜잭션을 생성하고 커밋할 수 있다. 이러한 트랜잭션은 타겟 분산 원장의 개시 트랜잭션, 소스 분산 원장의 잠금 트랜잭션, 및 타겟 분산 원장의 완료 트랜잭션을 포함한다.
공통 원장 사이에서 디지털 방식으로 표현된 경제적 가치를 전송하는 방법(400)의 제 1 단계에서, 소스 분산 원장(200S)의 기존 트랜잭션(402)의 소비되지 않은 트랜잭션 출력(UTXO)이 발견되거나 또는 식별된다. 타겟 분산 원장(200T)에서 소비되어야 하는 것은 소스 분산 원장의 이 UTXO이다.
방법(400)의 제 2 단계에서, 개시 트랜잭션(404)이 생성되어 타겟 분산 원장(200T)에 커밋된다. 개시 트랜잭션(404)은 기존 트랜잭션(402)의 식별된 UTXO와 동일한 디지털 방식으로 표현된 경제적 가치를 생성한다. 그러나, 본 발명의 실시예에 따르면, 개시 트랜잭션(404)은 그 출력이 정상적인 방식으로 소비될 수 없다는 특성을 갖는다. (보다 구체적으로, 이하에서 설명되는 것과 같이, 개시 트랜잭션(404)의 UTXO는, 개시 트랜잭션(404)을 참조하고 기존 트랜잭션(402)의 식별된 UTXO를 소비하는 잠금 트랜잭션(406)을 참조하는 완료 트랜잭션(408)에 의해서만 소비될 수 있다.)
방법(400)의 제 3 단계에서, 개시 트랜잭션(404)이 타겟 분산 원장(200T)에 커밋된 후, 잠금 트랜잭션(406)이 생성되어 소스 분산 원장(200S)에 커밋된다. 잠금 트랜잭션(406)의 트랜잭션 입력은 소스 분산 원장(200S)의 기존 트랜잭션(402)의 식별된 UTXO이다. 이와 같이, 잠금 트랜잭션(406)은 기존 트랜잭션(402)의 식별된 UTXO를 소비하여 출력이 소스 분산 원장(200S)의 소비된(그래서, 더 이상 소비할 수 없는) TXO가 된다. 그러나 잠금 트랜잭션의 정의에 따라 그 출력은 소비 불가능하다(즉, 그 출력은 결코 소비될 수 없음). 사실상, 잠금 트랜잭션(406)은 기존 트랜잭션(402)의 식별된 UTXO가 소스 분산 원장(200S)에서 결코 소비되지 않도록 기존 트랜잭션(402)의 식별된 UTXO를 잠근다.
또한, 잠금 트랜잭션(406)은 (예를 들어, 타겟 블록의 개시 트랜잭션의 존재를 검증하기 위해 전체 개시 트랜잭션 및 머클 루트와 브랜치 해시를 제공함으로써) 타겟 분산 원장(200T)의 개시 트랜잭션(404)을 참조한다. 잠금 트랜잭션(406)으로부터 개시 트랜잭션(404)으로의 "머클 참조"는 식별된 UTXO의 가치가 2회 이상 소비되는 것을 방지하는데 사용된다.
방법(400)의 제 4 단계에서, 잠금 트랜잭션(406)이 소스 분산 원장(200S)에 커밋된 후, 완료 트랜잭션(408)이 생성되어 타겟 분산 원장(200T)에 커밋된다. 유효한 완료 트랜잭션(408)은 개시 트랜잭션(404)에 의해 생성된 UTXO를 소비한다.
유효하기 위해, 완료 트랜잭션(408)은 (예를 들어, 소스 블록의 잠금 트랜잭션의 존재를 검증하는데 사용될 수 있는 전체 잠금 트랜잭션 및 머클 루트와 브랜치 해시를 제공함으로써) 식별된 UTXO를 소비한 잠금 트랜잭션(406)을 참조하여야 한다. 잠금 트랜잭션(406)의 출력이 소비될 수 없기 때문에, 소스 분산 원장(200S)의 잠금 트랜잭션(406)의 존재는 식별된 UTXO가 소스 분산 원장(200S)에서 사실상 소멸되었음을 보장한다.
2 이상의 완료 트랜잭션(408)이 커밋될 수는 없다. 이는 완료 트랜잭션(408)이 잠금 트랜잭션(406)에 의해 참조되는 개시 트랜잭션(404)의 UTXO를 (트랜잭션 입력으로서) 소비하는 경우에만 유효하기 때문이다. 따라서, 완료 트랜잭션(408)에 의해 소비되는 출력이 잠금 트랜잭션(406)에 의해 참조되는 개시 트랜잭션(404)의 출력이 아니라면, 완료 트랜잭션(408)은 유효하지 않으므로, 타겟 분산 원장(200T)에 커밋되는 것이 방지된다.
유효한 완료 트랜잭션(408)의 트랜잭션 출력 또는 출력들(TXO 또는 TXOs)은 타겟 분산 원장(200T)에 하나 이상의 수신자에게 교차 원장 디지털 방식으로 표현된 경제적 가치 전송의 완료를 표시한다. 수신자 또는 수신자들은 완료 트랜잭션(408)의 TXO 또는 TXOs를 타겟 분산 원장(200T) 내에서 정상적으로 소비할 수 있다. 다시 말해서, 완료 트랜잭션이 타겟 분산 원장에 커밋되면, 완료 트랜잭션의 TXO(들)는 소스 분산 원장의 트랜잭션을 더 참조할 필요없이 타겟 분산 원장 내에서 소비될 수 있다.
시스템 아키텍처
교차 원장 전송을 지원하는데 사용될 수 있는 하나의 시스템 아키텍처는 소스 분산 원장의 각각의 풀 노드를 가질 수 있고, 소스 분산 원장의 풀 노드는 타겟 분산 원장의 풀 노드일 수 있다. 이와 같이 완전히 중첩되는 시스템 아키텍처가 교차 원장 전송을 지원하지만, 이는 각 노드에서 상당한 추가 리소스를 필요로 한다.
완전히 중첩되는 시스템 아키텍처보다 적은 리소스를 필요로 하면서 교차 원장 전송을 지원하는 예시적인 시스템 아키텍처가 여기에 개시된다. 제 1 예시적인 시스템 아키텍처는 외부 지불 검증(PV) 노드를 분산 원장 네트워크에 내장시킨다. 제 2 예시적인 시스템 아키텍처는 모든 노드가 공유 노드일 필요는 없지만 공유 풀 노드 세트를 이용한다.
제 1 예시적인 시스템 아키텍처: 공동 배치된 "로컬" 풀 노드 및 "외부" PV 노드
도 5a에 도시된 제 1 예시적인 시스템 아키텍처(500)에서, 다른(즉, 외부) 공통 원장에 대한 지불 검증(PV) 노드는 다중 분산 원장 시스템의 각각의 분산 원장 네트워크에서 노드의 전부 또는 일부에 공동 배치된다. 공동 배치된 PV 노드는 교차 원장 지불 검증을 지원하는데 사용된다.
시스템을 구현하는데 필요한 리소스를 감소시키기 위해, PV 노드는 넌-풀(non-full) 노드일 수 있다. 예시적인 구현예에서, 각각의 PV 노드는 단순화된 지불 검증(SPV) 노드로서 구현될 수 있다. 또한, 도 5a에는 4개의 공통 원장을 구비한 다중 분산 원장 시스템이 도시되어 있지만, 다중 분산 원장 시스템은 임의의 수의 공통 원장을 포함할 수 있다.
도 5a에 도시된 예에서, 제 1 분산 원장 A는 제 1 분산 원장 네트워크(100A)에 의해 유지되고, 제 2 분산 원장 B는 제 2 분산 원장 네트워크(100B)에 의해 유지되고, 제 3 분산 원장 C는 제 3 분산 원장 네트워크(100C)에 의해 유지되고, 제 4 분산 원장 D는 제 4 분산 원장 네트워크(100D)에 의해 유지된다. 이들 분산 원장 네트워크(100A, 100B, 100C 및 100D) 각각은, 도 1과 관련하여 전술한 것과 같이, 그들 사이에 상호 접속부(104)를 구비한 자신의 노드(102)를 포함한다. 또한, 본 발명의 실시예에 따르면, 합의 네트워크(100A, 100B, 100C 및 100D)를 통신적으로 상호 접속하기 위해 상이한 합의 네트워크의 일부 노드(102) 사이에 추가의 통신 상호 접속부(502)가 존재한다.
그러나, 교차 원장 전송을 지원하기 위해서는 원장간(inter-ledger) 트랜잭션 제출 및 검증이 또한 필요하기 때문에, 공통 원장의 분산 원장 네트워크를 통신적으로 상호 접속하는 것만으로는 불충분하다. 이러한 이유로, 각각의 분산 원장 네트워크의 노드(102) 중 적어도 일부는 자신의 분산 원장에 대한 "로컬" 풀 노드 스택 및 상호 작용하는 공통 원장에 대한 "외부" PV 노드 스택 모두를 실행하도록 구성될 수 있다.
분산 원장에 대한 풀 노드 스택은 분산 원장 네트워크의 풀 노드에 소프트웨어 루틴 또는 프로그램의 세트를 포함한다. 소프트웨어 루틴 또는 프로그램의 세트는, 적용 가능한 경우, API(application program interface) 요청을 분산 원장 트랜잭션으로 변환, 사용자 키 관리, 트랜잭션 서명, 트랜잭션이 커밋될 때 다른 시스템에 통지, 분산 원장에 트랜잭션 제출 및 트랜잭션에 대한 포함 증명의 제공을 포함하는, 분산 원장과 관련된 태스크 및/또는 기능을 수행한다. 분산 원장에 대한 PV 노드 스택은 소프트웨어 루틴 또는 프로그램의 축소된 세트를 분산 원장 네트워크와 통신하는 클라이언트에 포함한다. 소프트웨어 루틴 또는 프로그램의 축소된 세트는 트랜잭션에 대한 포함 증명의 제공 및 분산 원장에 트랜잭션 제출을 포함하는 태스크 및/또는 기능을 수행한다.
도 5a의 예에서, 제 1 네트워크(100A)의 적어도 일부 노드(102)는 제 2, 제 3 및 제 4 네트워크(100B, 100C 및 100D) 각각에 대해 PV 노드(PV-B, PV-C 및 PV-D)를 또한 실행하도록 구성되어 있다. 유사하게, 제 2 네트워크(100B)의 적어도 일부 노드(102)는 제 1, 제 3 및 제 4 네트워크(100A, 100C 및 100D) 각각에 대해 PV 노드(PV-A, PV-C 및 PV-D)를 또한 실행하도록 구성되어 있다. 또한, 제 3 네트워크(100C)의 적어도 일부 노드(102)는 제 1, 제 2 및 제 4 네트워크(100A, 100B 및 100D) 각각에 대해 PV 노드(PV-A, PV-B 및 PV-D)를 또한 실행하도록 구성되어 있다. 마지막으로, 제 4 네트워크(100D)의 적어도 일부 노드(102)는 제 1, 제 2 및 제 3 네트워크(100A, 100B 및 100C) 각각에 대해 PV 노드(PV-A, PV-B 및 PV-C)를 또한 실행하도록 구성되어 있다.
각각의 PV-A 노드는 공통 원장 A에 대한 블록 헤더 및 서명의 체인(즉, 블록 헤더/서명 체인)을 유지한다. 유사하게, 각각의 PV-B 노드는 공통 원장 B에 대한 블록 헤더/서명 체인을 유지하고, 각각의 PV-C 노드는 공통 원장 C에 대한 블록 헤더/서명 체인을 유지하고, 각각의 PV-D 노드는 공통-원장 D에 대한 블록 헤더/서명 체인을 유지한다.
도 5b는 본 발명의 실시예에 따른 도 5a의 시스템 아키텍처 내의 분산 원장 네트워크(100A)의 노드(102A)에 대한 컴퓨터 시스템(510)의 예시적인 구현예를 도시한다. 컴퓨터 시스템(510)은, 예를 들어 하나 이상의 중앙 프로세싱 장치(CPU) 및 하나 이상의 그래픽 프로세싱 장치(GPU)를 포함하는 복수의 프로세서를 사용하여 구현될 수 있다.
도시된 것과 같이, 컴퓨터 시스템(510)은 로컬 분산 원장 A에 대한 풀 노드 스택 A(512-A)를 포함한다. 풀 노드 스택 A(512-A)는 로컬 분산 원장 A의 완전한 사본을 포함한다.
또한, 컴퓨터 시스템(510)은 외부 분산 원장 B에 대한 SPV 노드 스택 B(514-B), 외부 분산 원장 C에 대한 SPV 노드 스택 C(514-C) 및 외부 분산 원장 D에 대한 SPV 노드 스택 D(514-D)를 포함한다. SPV 노드 스택 B(514-B)는 외부 분산 원장 B에 대한 블록 헤더/서명 체인을 포함한다. SPV 노드 스택 C(514-C)는 외부 분산 원장 C에 대한 블록 헤더/서명 체인을 포함한다. SPV 노드 스택 D(514-D)는 외부 분산 원장 D에 대한 블록 헤더/서명 체인을 포함한다.
PV 노드, 특히 SPV 노드로서 구현되는 PV 노드에서 유지될 수있는 블록 헤더/서명 체인의 구조가 도 5c에 도시되어 있다. 도 5c에 도시된 것과 같이, 블록 헤더/서명 체인(520)은 관련 분산 원장의 블록 헤더(522) 및 블록 서명(524)을 포함하고, 여기서 블록 서명은 관련 분산 원장 네트워크의 블록 검증자에 의한 서명이며, 이는 검증자가 서명된 블록이 유효한 것으로 받아들임을 나타낸다.
이제 도 5a와 관련하여 전술된, 제 1 예시적인 다중 분산 원장 시스템(500)은, 예를 들어, 초당 100,000 트랜잭션의 목표를 달성하도록 구성되며, 각각의 공통 원장은 초당 333 트랜잭션을 개별적으로 처리할 수 있다고 가정한다. 초당 100,000 트랜잭션을 달성하기 위해, 도 5a의 다중 분산 원장 시스템(500)은 100,0000/333 = 300 정도의 공통 원장을 필요로 한다. 300개의 공통 원장이 존재하면, 각 참가자 노드는 약 300개의 다른 분산 원장에 대한 SPV 노드를 유지해야 한다(분산 원장의 참가자 노드 또는 검증자는 블록의 유효성에 투표할 수 있는 노드이다. 분산 원장의 검증자의 대다수(예를 들어, 3분의 2 이상)는 일반적으로 체인에 커밋되어야 하는 블록에 대해 블록의 유효성에 동의해야 한다.).
각각의 분산 원장은 초당 약 7 킬로바이트의 데이터를 생성하여 그 원장에 대한 SPV 노드에 의해 유지되는 것이 예상될 수 있다. 데이터는 해당 분산 원장에 대한 블록 헤더 및 블록 서명을 포함한다. 공통 원장당 초당 7 킬로바이트라는 예측으로부터 각각의 공통 원장에 대해 최대 약 100의 합의 참가자가 있고 2/3의 투표 임계치가 필요하며 서명당 100 바이트가 있다고 가정할 수 있다.
이로부터 각각의 참가 중인 "로컬" 풀 노드에서 "외부" SPV 노드를 공동 배치해기 위해 약 300개의 분산 원장 x 7 킬로바이트/초/원장 = 2,100 킬로바이트/초의 추가로 커밋된 저장 장치가 필요하다. 이와 같이 예측되는 추가 저장 장치에 대한 요구 사항은 외부 SPV 노드를 공동 배치하지 않는 경우 저장 장치에 대한 요구 사항의 약 2 배이다.
이 추가 저장 장치에 대한 요구 사항에 더하여, 블록 헤더/서명 체인의 블록 헤더에 대한 블록 해시의 인덱스는 SPV 노드와 함께 제공될 수 있다. 원장간 검증을 수행하기 위해 인덱스는 도 4에 도시된 머클 트리 참조에 사용될 수 있다.
PV 노드에 대한 추가 저장 장치에 대한 요구 사항이 충족 가능하므로, 다른 모든 공통 원장에 대한 "외부" PV 노드는 공통 원장의 참가 중인 "로컬" 노드의 일부 또는 전부에 공동 배치될 수 있다. 또한, 각각의 PV 노드에 제공된 인덱스를 사용하여, 참가 중인 노드는 트랜잭션 참조를 용이하게 검증하기 위해 적절한 머클 루트를 효율적으로 발견할 수 있다.
제 2 예시적 시스템 아키텍처: 공유 노드 세트
도 6a에 도시된 제 2 예시적인 시스템 아키텍처(600)에서, 노드 세트는 다중 분산 원장 시스템의 모든 분산 원장 네트워크에 의해 공유된다. 이러한 공유 노드 각각은 교차 원장 전송을 효율적으로 지원하도록 다중 분산 원장 시스템의 모든 공통 원장에 대해 풀 노드로서 동작할 수 있다. 도 6a에는 3개의 공통 원장을 구비한 다중 분산 원장 시스템이 도시되어 있지만, 임의의 수의 공통 원장이 시스템에 포함될 수 있음에 유의한다.
도 6a에 도시된 예에서, 제 1 분산 원장 A는 제 1 분산 원장 네트워크(100A)에 의해 유지되고, 제 2 분산 원장 B는 제 2 분산 원장 네트워크(100B)에 의해 유지되고, 제 3 분산 원장 C는 제 3 분산 원장 네트워크(100C)에 의해 유지된다. 이들 분산 원장 네트워크(100A, 100B 및 100C) 각각은 도 1과 관련하여 전술된 것과 같이 이들 사이에 상호 접속부(104)를 구비한 노드(102)를 포함한다.
본 발명의 일 실시예에 따르면, 풀 노드의 공유 세트(100ABC)가 존재한다. 공유 세트(100ABC)의 각각의 노드는 3개의 분산 원장 네트워크(100A, 100B 및 100C) 각각의 풀 노드로서 동작한다. 이와 같이, 공유 세트(100ABC)의 각 노드는 3개의 분산 원장(A, B, C) 각각의 사본을 포함한다. 3개의 분산 원장(A, B, C)은 별도의 분산 원장으로 남아 있으며, 각각은 트랜잭션의 별도의 원장을 기록한다.
본 발명의 일 실시예에 따르면, 시스템의 각각의 분산 원장에 대한 블록 헤더에 대한 블록 해시의 인덱스는 분산 원장 데이터로부터 생성될 수 있고 풀 노드의 공유 세트(100ABC)의 각 노드에 제공될 수 있다. 인덱스는 원장간 검증을 수행하기 위해 도 4에 도시된 (잠금 트랜잭션(406)으로부터 개시 트랜잭션(404)으로, 및 완료 트랜잭션(408)으로부터 잠금 트랜잭션(406)으로) 머클 트리 참조에 사용될 수 있다
임의의 참가자 노드는 네트워크를 통해 질의를 풀 노드의 공유 세트(100ABC)의 노드로 전송하여 교차 원장 트랜잭션을 검증할 수 있다. 이는 중앙 엔티티의 신뢰자 또는 다른 신뢰성이 높은 엔티티가 공통 원장에 대해 제공된 풀 노드가 공통 원장의 내용에 대해 거짓말을 하지 않고 있음을 보장 또는 인증하는 것을 의미한다.
도 6b는 본 발명의 실시예에 따른 도 6a의 시스템 아키텍처 내의 공유 노드 세트(100ABC)에서 노드(102ABC)에 대한 컴퓨터 시스템(610)의 예시적인 구현예를 도시한다. 도시된 것과 같이, 컴퓨터 시스템(610)은 로컬 분산 원장 A를 위한 풀 노드 스택 A(512-A), 로컬 분산 원장 B를 위한 풀 노드 스택 B(512-B) 및 로컬 분산 원장 C를 위한 풀 노드 스택 C(512-C)를 포함한다. 풀 노드 스택 A(512-A)는 로컬 분산 원장 A의 완전한 사본을 포한한다. 풀 노드 스택 B(512-B)는 로컬 분산 원장 B의 완전한 사본을 포함한다. 풀 노드 스택 C(512-C)는 로컬 분산 원장 C의 완전한 사본을 포함한다.
예시적인 교차 원장 전송의 흐름도
도 7은 본 발명의 일 실시예에 따라 소스 분산 원장 상의 디지털 방식으로 표현된 경제적 가치의 소유자가 디지털 방식으로 표현된 경제적 가치를 타겟 분산 원장상의 엔티티에게 전송하는 방법(700)의 흐름도이다. 도시된 특정 예에서, 전송되는 가치는 백만 US 달러(USD)이다.
방법(700)에 의해 사용된 컴포넌트는 소스 분산 원장(L_A), 타겟 분산 원장(L_B), L_A의 풀 노드 스택(N_A)을 갖고 적어도 L_B의 SPV 노드(S_B)로서 동작하도록 구성된(그래서 적어도 L_B에 대한 블록 헤더를 포함하는) 제 1 네트워크 노드, 및 L_B의 풀 노드 스택(N_B)을 갖고 적어도 L_A의 SPV 노드(S_A)로서 동작하도록 구성된(그래서 적어도 L_A에 대한 블록 헤더를 포함하는) 제 2 네트워크 노드를 포함할 수 있다.
노드 스택(N_A)은 다음과 같은 데이터 및 능력을 가질 수 있다: L_A를 사용하는 각각의 엔티티의 자산에 대한 UTXO의 인덱스; 해당 UTXO와 트랜잭션을 구성하는 능력; L_A로부터 커밋된 트랜잭션을 수신하는 능력; 외부 노드 스택(예를 들어, N_B)에 트랜잭션을 제출하여 외부 분산 원장(예를 들어, L_B)에 커밋되도록 하는 능력; 외부 노드 스택(예를 들어, N_B)으로부터 커밋된 트랜잭션을 수신하는 능력(여기서, 트랜잭션은 자체적으로 제출됨); 외부 노드 스택(예를 들어, N_B)에 의해 제출된 트랜잭션을 수락하고 인덱싱하는 능력; 커밋된 트랜잭션이 자체적으로 제출된 경우 커밋된 트랜잭션을 L_A로부터 외부 노드 스택(예를 들어, N_B)으로 푸시하는 능력.
유사하게, 노드 스택(N_B)은 다음과 같은 데이터 및 능력을 가질 수 있다: L_B를 사용하는 각각의 엔티티의 자산에 대한 UTXO의 인덱스; 해당 UTXO와 트랜잭션을 구성하는 능력; L_B로부터 커밋된 트랜잭션을 수신하는 능력; 외부 노드 스택(예를 들어, N_A)에 트랜잭션을 제출하여 외부 분산 원장(예를 들어, L_A)에 커밋되도록 하는 능력; 외부 노드 스택(예를 들어, N_A)으로부터 커밋된 트랜잭션을 수신하는 능력(여기서, 트랜잭션이 자체적으로 제출됨); 외부 노드 스택(예를 들어, N_A)에 의해 제출된 트랜잭션을 수락하고 인덱싱하는 능력; 커밋된 트랜잭션이 자체적으로 제출된 경우 커밋된 트랜잭션을 L_A로부터 외부 노드 스택(예를 들어, N_A)으로 푸시하는 능력.
단계 1에서, 노드 스택(N_A)의 클라이언트로서, 자산 소유자 및 전송 소스인 엔티티 A는 소스 분산 원장 A(L_A)로부터 타겟 분산 원장 B(L_B) 상의 엔티티 B로 지정된 가치(이 예에서, 백만달러)의 교차 원장 전송을 개시한다. 풀 노드 스택(예를 들어, 노드 스택(N_A))에서 구현되는 단계 1에 관한 의사 코드는 도 9의 1 및 2행에 제공된다.
단계 2에서, 노드 스택(N_A)은 L_A의 UTXO(U_1)의 엔티티 A 자산의 지정된 가치를 식별한다. 풀 노드 스택(예를 들어, 노드 스택(N_A))에서 구현되는 단계 2에 관한 의사 코드는 도 9의 3 및 4행에 제공된다.
단계 3에서, N_A는 지정된 가치의 개시 트랜잭션(T_I)을 구성한다. 풀 노드 스택(예를 들어, 노드 스택(N_A))에서 구현되는 단계 3에 관한 의사 코드는 도 9의 5 및 6행에 제공된다.
단계 4에서, N_A는 T_I를 노드 스택(N_B)에 제출한다. 풀 노드 스택(예를 들어, 노드 스택(N_A))에서 구현되는 단계 4에 관한 의사 코드는 도 9의 11 내지 14행에 제공되고, 이는 도 11의 의사 코드 루틴을 호출한다.
단계 5에서, 노드 스택(N_B)은 T_I를 L_B에 제출한다. 풀 노드 스택(예를 들어, 노드 스택(N_B))에서 구현되는 단계 5에 관한 의사 코드는 도 11의 5 및 6행에 제공되고, 이는 도 12의 의사 코드 루틴을 호출한다.
단계 6에서, L_B는 T_I를 커밋하고 T_I가 커밋되면 N_B에 통지한다. 단계 6은 분산 원장에 대한 종래의 코드를 사용하여 수행될 수 있다.
T_I가 L_B에 커밋된 후에, 단계 7a에서, SPV 노드(S_B)는 T_I를 포함하는 블록에 대한 SPV 정보(즉, 헤더 및 서명)를 수신한다. 또한, 단계 7b에서, N_B는 T_I가 커밋되었음을 N_A에게 통지한다. 풀 노드 스택(예를 들어, 노드 스택 (N_B))에서 구현되는 단계 7a 및 단계 7b에 관한 의사 코드는 도 13 및 도 14의 의사 코드에 의해 제공된다.
단계 8에서, N_A는 T_I를 참조하고 U_1을 잠그는 잠금 트랜잭션(T_L)을 구성한다. 풀 노드 스택(예를 들어, 노드 스택(N_A))에서 구현되는 단계 8에 관한 의사 코드는 도 10의 7 내지 12행에 제공된다.
단계 9에서, N_A는 T_L을 L_A에 제출한다. 풀 노드 스택(예를 들어, 분산 원장(L_A)의 노드 스택(N_A))에서 구현되는 단계 9에 관한 의사 코드는 도 10의 13 및 14행에 있고, 이는 도 12의 의사 코드 루틴을 호출한다.
단계 10에서, L_A는 T_I(T_L에서 참조됨)가 L_B에 의해 커밋되었는지를 검증하기 위해 S_B를 검사한다. 분산 원장(예를 들어, 분산 원장(L_A))에 의해 구현되는 단계 10에 관한 의사 코드가 도 12에 제공된다. 트랜잭션이 외부 분산 원장에서 커밋되었는지를 검증하기 위한 예시적인 절차가 도 8과 관련하여 이하에서 설명된다.
단계 11에서, 성공적인 검증 후, L_A는 T_L을 커밋하고 T_L이 커밋되면 N_A에 통지한다. 단계 11은 분산 원장에 대한 종래의 코드를 사용하여 수행될 수 있다.
T_L이 L_A에 커밋된 후, 단계 12a에서, SPV 노드(S_A)는 T_L을 포함하는 블록에 대한 SPV 정보(즉, 헤더 및 서명)를 수신한다. 또한, 단계 12b에서, N_A는 T_L을 참조하고 전송 타겟 B에 의해 소유될 특정 가치의 출력을 갖는 완료 트랜잭션(T_C)을 구성한다. 풀 노드 스택(예를 들어, 노드 스택(N_A))에서 구현되는 단계 12a 및 단계 12b와 관한 의사 코드는 도 13 및 도 14의 의사 코드에 의해 제공된다.
단계 13에서, N_A는 T_C를 N_B에 제출한다. 풀 노드 스택(예를 들어, 노드 스택(N_A))에서 구현되는 단계 13에 관한 의사 코드는 도 10의 27 내지 30행 및 도 11의 의사 코드에 제공된다.
단계 14에서, N_B는 T_C를 L_B에 제출한다. 풀 노드 스택(예를 들어, 분산 원장(L_A)의 노드 스택(N_A))에서 구현되는 단계 14에 관한 의사 코드는 도 12의 의사 코드에 의해 제공된다.
단계 15에서, L_B는 T_L(T_C에서 참조됨)이 L_A에 의해 커밋되었는지를 검증하기 위해 S_A를 검사하고, L_B는 또한 T_C에 대한 입력이 T_I(T_L에서 참조됨)의 출력인지를 검증하기 위해 검사한다. 분산 원장(예를 들어, 분산 원장(L_B))에 의해 구현되는 단계 15에 관한 의사 코드가 도 12에 제공된다. 트랜잭션이 외부 분산 원장에서 커밋되었는지를 검증하기 위한 예시적인 절차가 도 8과 관련하여 이하에서 설명된다.
단계 16에서, 성공적인 검증 후, L_B는 T_C를 커밋하고 T_C가 커밋되면 N_B에 통지한다. 단계 16은 분산 원장에 대한 종래의 코드를 사용하여 수행될 수 있다.
단계 17에서, N_B는 T_C가 L_B에 의해 커밋되었음을 N_A에 통지한다. 풀 노드 스택(예를 들어, 노드 스택(N_B))에서 구현되는 단계 17에 관한 의사 코드가 도 14에 제공된다.
마지막으로, 단계 18에서, N_B는 엔티티 B에 대한 T_C의 출력을 인덱싱한다. 풀 노드 스택(예를 들어, 노드 스택(N_B))에서 구현되는 단계 18에 관한 의사 코드는 도 10의 33 및 34행에 제공된다.
전술한 방법(700)은 도 5a에 도시된 제 1 시스템 아키텍처(500)와 함께 사용하기에 특히 적합하다는 점에 유의한다. 이는 제 1 시스템 아키텍처(500)가 외부 분산 원장의 SPV 노드와 로컬 분산 원장의 풀 노드를 공동 배치시키기 때문이다.
방법(700)은 도 6에 도시된 제 2 시스템 아키텍처(600)와 함께 사용하기 위해 쉽게 수정될 수 있다. 제 2 시스템 아키텍처(600)는 외부 분산 원장의 풀 노드와 로컬 분산 원장의 풀 노드를 공동 배치시킨다. 그러므로, 방법(700)의 단계 7a 및 12a는 필요하지 않다. 또한, L_A는 단계 10에서 T_I가 커밋되었는지 검증하기 위해 N_B를 검사할 수 있고, L_B는 단계 15에서 T_C가 커밋되었는지 검증하기 위해 N_A를 검사할 수 있다.
원장간 트랜잭션 검증
외부 분산 원장에서 트랜잭션 참조를 검증하기 위해서는, 이러한 다른 분산 원장에 커밋되고 있는 것에 대한 신뢰할 만한 검증 메커니즘이 필요하다. 다른 분산 원장에서 트랜잭션을 검증하는 이러한 메커니즘은 종래의 분산 원장 기술에서는 제공되지 않는다.
외부 분산 원장에서 트랜잭션을 검증하기 위한 예시적인 프로세스(800)가 도 8에 도시되어 있다. 프로세스(800)는, 예를 들어, 개시 트랜잭션이 타겟 분산 원장에 존재하는지를 검증하는 도 7의 단계 10에 적용될 수 있고, 잠금 트랜잭션이 소스 트랜잭션 원장에 존재하는지를 검증하는 도 7의 단계 15에 적용될 수 있다.
단계(801)에서, 검증 중인 트랜잭션에 대한 트랜잭션 입력의 참조 데이터는 로컬 노드로부터 하나 이상의 외부 노드로의 질의 내부로 전달된다. 로컬 노드는 로컬 분산 원장의 노드이고, 외부 노드는 트랜잭션이 검증되어야 할 외부 분산 원장의 노드이다.
802) 외부 노드(들)는 트랜잭션 입력의 원장 식별자(예를 들어, 체인 ID)를 사용하여 질의에 대한 정확한 인덱스를 발견하고, 이때 정확한 인덱스는 원장 식별자와 관련된 것이다. 인덱스에 대한 입력은 검증 중인 트랜잭션을 포함하는 블록에 대한 블록 해시이다.
803) 외부 노드(들)는 트랜잭션 입력의 블록 해시를 사용하여 검사할 정확한 블록을 발견한다.
804) 외부 노드(들)는 (단계(803)에서 발견된) 식별된 블록으로부터 블록 헤더를 추출한다.
805) 외부 노드(들)는 식별된 블록으로부터 머클 루트 해시를 추출한다.
806) 외부 노드(들)는 트랜잭션 입력의 트랜잭션에 대한 트랜잭션 해시를 계산한다.
807) 외부 노드(들)는 트랜잭션 해시 및 제공된 머클 브랜치 해시로부터 머클 루트 해시를 계산한다.
808) 외부 노드(들)는 계산된 머클 루트 해시와 식별된 블록의 머클 루트 해시를 비교한다.
809) 외부 노드(들)는 해시가 일치하면 트랜잭션이 유효하고 일치하지 않으면 유효하지 않다는 것을 로컬 로드에 반환한다.
전술한 검증 방법(800)에서 복수의 외부 노드가 질의되면, 외부 노드 중 하나가 트랜잭션이 유효하다는 것을 반환하는 한, 트랜잭션은 유효하게 커밋된 것으로 간주될 수 있음에 유의한다.
또한, 전술한 방법(800)은 도 5a에 도시된 제 1 시스템 아키텍처(500) 또는 도 6에 도시된 제 2 시스템 아키텍처(600)에 사용될 수 있음에 유의한다. 제 1 시스템 아키텍처(500)의 경우, 외부 노드는 로컬 풀 노드 스택과 공동 배치된 외부 SPV 노드 스택에 대응할 수 있다. 제 2 시스템 아키텍처(600)의 경우, 외부 노드 스택은 로컬 풀 노드 스택과 공동 배치된 외부 풀 노드 스택일 수 있다.
도 9 내지 도 14는 본 발명의 실시예의 예시적인 구현예에 대한 상세한 "청사진"을 제공하는 의사 코드를 도시한다. 의사 코드의 주석 앞에는 //를 표시한다.
트랜잭션 개시
도 9에 도시된 의사 코드 절차는 교차 원장 트랜잭션이 노드 스택에 제출될 때 수행된다. 트랜잭션을 구성하려면 트랜잭션될 자산에 해당하는 UTXO를 발견해야 한다. 해당 UTXO가 발견되면 해당 UTXO로부터 개시 트랜잭션을 구성해야 한다. 이 개시 트랜잭션은 트랜잭션의 소스 및 트랜잭션의 타겟과 함께 나중에 조회를 위해 인덱싱되어야 한다. 개시 트랜잭션은 UTXO의 자산의 소유자가 서명해야 한다. 이후, 타겟 노드 스택이 발견되고, 개시 트랜잭션이 소스에 대한 지식과 함께 타겟 노드 스택으로 전송된다.
커밋된 트랜잭션 통지
도 10에 도시된 의사 코드 절차는 트랜잭션이 커밋되었음을 노드 스택에 통지할 때 수행된다. 트랜잭션이 개시 트랜잭션인지 또는 잠금 트랜잭션인지에 따라 두 가지 경우가 있다.
첫 번째 경우는 커밋된 트랜잭션이 개시 트랜잭션인 경우이다. 이러한 상황이 발생하면 도 9에 도시된 인덱스로부터 잠글 필요가 있는 UTXO를 조회할 수 있다. 이후, 이 UTXO로부터 잠금 트랜잭션이 구성된다. 이 트랜잭션은 UTXO의 자산 의 소유자가 서명해야 하며, 또한 도 9에 설명된 인덱스를 사용하여 조회된다. 마지막으로 이 트랜잭션은 로컬 원장에 제출된다.
두 번째 경우는 커밋된 트랜잭션이 잠금 트랜잭션인 경우이다. 이러한 상황이 발생하면 먼저 잠금 트랜잭션에 의해 참조되는 개시 트랜잭션에 대한 타겟을 발견한다. 이는 도 9에 도시된 인덱스로부터 이용 가능하다. 잠금 트랜잭션을 참조하는 완료 트랜잭션을 구성한다. 이 완료 트랜잭션은 전송되는 자산의 소유자의 서명이 필요하고, 이것은 도 9에 도시된 인덱스에서 조회될 수 있다. 마지막으로, 타겟에 대한 노드 스택이 발견되고, 완료 트랜잭션이 소스에 대한 지식과 함께 타겟 노드 스택으로 전송된다.
노드 스택에 통지된 모든 트랜잭션에 대해, 이용 가능한 UTXO 풀(pool)이 업데이트될 필요가 있다.
외부 트랜잭션 커밋
도 11에 도시된 의사 코드 절차는 노드 스택이 외부 노드 스택으로부터 트랜잭션을 수신할 때(예를 들어, 개시 또는 완료 트랜잭션이 수신될 때) 수행된다. 트랜잭션은 트랜잭션이 수신되는 소스에 인덱싱된 다음 로컬 분산 원장에 제출된다.
원장에 트랜잭션 제출
도 12에 도시된 의사 코드 절차는 분산 원장이 제출된 트랜잭션을 수신할 때 수행된다. 모든 트랜잭션에서 걸쳐 공통 유효성 검증을 수행하기 위해 행하는 몇 가지 단계가 있으며, 도면에서는 생략된다(도시 안됨). SPV 참조(잠금 및 완료 트랜잭션)를 포함하는 트랜잭션의 경우에는, 그 입력에 특정 유효성 검증이 적용된다.
(잠금 및 완료 트랜잭션의 경우) 입력이 SPV 참조를 포함하는 것으로 밝혀지면, SPV 노드 상에서 검증 API를 호출함으로써 SPV 참조가 유효한지를 검증한다. 또한 입력이 SPV 참조와의 트랜잭션을 포함하는 SPV 참조를 포함하는 것으로 밝혀지면(완료 트랜잭션의 경우와 같이), 포함된 트랜잭션의 SPV 참조 트랜잭션 ID가 완료 트랜잭션이 소비하는 개시 트랜잭션과 매칭하는지 검사한다. 모든 유효성 검증이 통과되면, 트랜잭션은 원장에 의해 커밋될 준비가 된다.
원장에 블록을 커밋
도 13에 도시된 의사 코드 절차는 분산 원장이 트랜잭션을 포함하는 블록을 커밋할 때 수행된다. 도면에서는 블록에 트랜잭션을 추가하는 방법 및 원장이 블록에 대한 합의에 도달하는 방법을 분산 원장이 결정하는 프로세스는 본 개시의 범위를 벗어나는 주제이므로 도시되지 않는다. 도시된 절차에서, 원장은 블록을 일부 지속 저장 장치에 저장하고, 블록에 대한 SPV 정보를 SPV 노드로 보낸 다음, 블록이 커밋되었음을 로컬 노드 스택에 통지한다.
커밋된 트랜잭션에 대한 메시지 전송
도 14의 의사 코드 절차는 로컬 노드 스택이 커밋된 트랜잭션에 관한 통지를 분배하는 방법을 도시한다. 이 절차는 개시 트랜잭션 및 완료 트랜잭션에 대해 수행된다.
블록 내의 모든 트랜잭션에 대해, 로컬 노드 스택은 트랜잭션이 외부 소스를 가졌는지 여부를 결정하기 위해 외부 인덱스(도 11에 정의됨)를 조회한다. 트랜잭션이 외부 소스를 갖는 경우, 로컬 노드 스택은 외부 소스에 대한 노드 스택을 발견하고 커밋된 트랜잭션과 커밋된 트랜잭션에 대한 SPV 정보를 해당 외부 노드 스택으로 전송한다. 모든 커밋된 트랜잭션이 (소스가 로컬인지 외부인지) 로컬 노드 스택에 통지된다.
트랜잭션 구조
도 15는 본 발명의 일 실시예에 따라 교차 원장 참조 트랜잭션 입력을 포함할 수 있는 표준 트랜잭션(1500)의 일반적인 구조를 도시한다. 도 15의 표준 트랜잭션은 트랜잭션 입력의 리스트 및 트랜잭션 출력의 리스트를 포함한다.
이 경우, 두 가지 타입의 트랜잭션 입력이 존재한다. 트랜잭션 입력의 제 1 타입은 원장내(intra-ledger)(즉, 표준) 트랜잭션 입력(1502)이다. 각각의 원장내 트랜잭션 입력은 입력 트랜잭션을 식별하는 바이트 및 입력 트랜잭션에 대한 출력 오프셋을 제공하는 정수를 포함한다.
트랜잭션 입력의 제 2 타입은 교차 원장 참조 트랜잭션 입력(1504)이다. 각각의 교차 원장 참조 트랜잭션 입력은 외부 원장을 식별하는 바이트, 외부 원장 내의 블록을 식별하는 블록 해시에 대한 바이트, 식별된 블록의 트랜잭션에 대한 머클 브랜치 해시의 리스트, 식별된 블록 내의 입력 트랜잭션의 트랜잭션 바이트 및 주어진 트랜잭션 바이트 내에서 참조되는 특정 출력에 대한 오프셋을 제공하는 정수 오프셋을 포함한다.
각각의 트랜잭션 출력(1506)은 출력되는 디지털 속성을 식별하는 바이트 및 트랜잭션 출력에 대한 인코딩된 잠금인 바이트 잠금을 포함한다. 매칭하는 개인 키로부터의 서명을 제공하면 바이트 잠금은 잠금 해제된다.
도 16 내지 도 18은 본 발명의 일 실시예에 따른 교차 원장 전송을 함께 제공하는 3개의 트랜잭션에 대한 구조를 도시한다. 이들 3개의 구조는 도 4에 도시된 3-트랜잭션 교차 원장 전송(400)을 구현하는데 사용될 수 있다.
도 16은 본 발명의 일 실시예에 따른 3-트랜잭션 교차 원장 전송의 개시 트랜잭션(1600)에 대한 특정 구조를 도시한다. 개시 트랜잭션은 트랜잭션 입력은 포함하지 않고 단일 트랜잭션 출력(1606)을 포함한다.
트랜잭션 출력(1606)은 전송되는 디지털 속성을 식별하는 바이트 및 바이트 잠금을 포함한다. 바이트 잠금은 이 개시 트랜잭션을 참조하는 잠금 트랜잭션에 대한 참조를 구비한 완료 트랜잭션에 의해서만 (디지털 속성을 소비하기 위해) 잠금 해제될 수 있다.
도 17은 본 발명의 일 실시예에 따른 3-트랜잭션 교차 원장 전송의 잠금 트랜잭션(1700)에 대한 특정 구조를 도시한다. 잠금 트랜잭션(1700)은 트랜잭션 입력의 리스트와 트랜잭션 출력의 리스트를 포함한다.
트랜잭션 입력은 하나 이상의 원장내 트랜잭션 입력(1702) 및 단일 교차 원장 참조 트랜잭션 입력(1704)을 포함한다.
각각의 원장내 트랜잭션 입력(1702)은 소스 원장의 입력 트랜잭션을 식별하는 바이트 및 그 트랜잭션에 대한 출력 오프셋을 제공하는 정수를 포함한다. 각각의 입력 트랜잭션은 소스 원장의 기존 트랜잭션에 대응하고, 출력 오프셋은 잠금 트랜잭션(1700)에 입력되고 있는 기존 트랜잭션의 특정 출력을 나타낸다.
교차 원장 참조 트랜잭션 입력(1704)은 타겟 원장의 개시 트랜잭션을 참조하는데 사용된다. 교차 원장 참조 트랜잭션 입력(1704)은 타겟 원장을 식별하는 바이트, 타겟 원장 내에서 블록을 식별하는 블록 해시에 대한 바이트, 식별된 블록의 트랜잭션에 대한 머클 브랜치 해시의 리스트, 식별된 블록 내의 개시 트랜잭션의 트랜잭션 바이트 및 주어진 트랜잭션 바이트 내에서 참조되는 특정 출력에 대한 오프셋을 제공하는 정수 오프셋을 포함한다.
잠금 트랜잭션(1700)은 임의의 트랜잭션 출력(1706)을 필요로 하지 않으므로 0개 이상의 트랜잭션 출력(1706)을 가질 수 있다. 트랜잭션 출력(1706)이 존재하는 경우, 이는 출력되는 디지털 속성을 식별하는 바이트 및 바이트 잠금을 포함한다. 트랜잭션 출력(1706)의 디지털 속성은, 원장내 트랜잭션 입력(1702)이 (하나 이상의 기존 트랜잭션의 출력 또는 출력들로부터) 가리키는 디지털 속성과 교차 원장 참조 트랜잭션 입력(1704)이 (개시 트랜잭션의 지정된 출력으로부터) 가리키는 디지털 속성의 차이와 동일해야 한다. 그러한 디지털 속성의 양이 동일하면, 트랜잭션 출력(1706)이 존재하지 않는다.
도 18은 본 발명의 일 실시예에 따른 3-트랜잭션 교차 원장 전송의 완료 트랜잭션(1800)에 대한 특정 구조를 도시한다. 완료 트랜잭션(1800)은 2개의 트랜잭션 입력 및 하나 이상의 트랜잭션 출력을 포함한다.
2개의 트랜잭션 입력은 단일 원장내 트랜잭션 입력(1802) 및 단일 교차 원장 참조 트랜잭션 입력(1804)을 포함한다.
원장내 트랜잭션 입력(1802)은 타겟 원장의 개시 트랜잭션을 식별하는 트랜잭션 ID의 바이트 및 그 트랜잭션에 대한 출력 오프셋을 제공하는 정수를 포함한다. 출력 오프셋은 완료 트랜잭션(1800)에 입력되고 있는 개시 트랜잭션의 특정 출력을 나타낸다. 원장내 트랜잭션 입력(1802)의 트랜잭션 ID는 잠금 트랜잭션에 의해 지시되는 개시 트랜잭션의 트랜잭션 ID와 매칭해야 하고, 그렇지 않으면 완료 트랜잭션은 유효하지 않을 것이다.
교차 원장 참조 트랜잭션 입력(1804)은 소스 원장의 잠금 트랜잭션을 참조하는데 사용된다. 교차 원장 참조 트랜잭션 입력(1804)은 소스 원장을 식별하는 바이트, 소스 원장 내에서 블록을 식별하는 블록 해시에 대한 바이트, 식별된 블록의 트랜잭션에 대한 머클 브랜치 해시의 리스트, 식별된 블록 내에서 잠금 트랜잭션의 트랜잭션 바이트 및 존재하는 경우 주어진 트랜잭션 바이트 내에서 참조되는 특정 출력에 대한 오프셋을 제공하는 정수 오프셋을 포함한다.
하나 이상의 트랜잭션 출력(1806)이 존재할 수 있다. 각각의 트랜잭션 출력(1806)은 출력되는 디지털 속성을 식별하는 바이트 및 트랜잭션 출력에 대한 인코딩된 잠금인 바이트 잠금을 포함한다. 매칭하는 개인 키로부터의 서명을 제공하면 바이트 잠금이 잠금 해제된다.
확장성 향상을 보여주는 시스템 성능 계산
이 섹션은 복수 분산 원장(예를 들어, 복수 블록체인)을 갖는 시스템에 대한 시스템 성능의 계산에 의해 입증되는 확장성 향상을 설명한다.
계산에 있어서 변수의 정의는 다음과 같다.
R = 원장당 초당 송금 횟수;
X = 원장당 초당 원장내 트랜잭션의 수;
Y = 원장당 초당 원장간 트랜잭션의 수;
N = 시스템의 공통 원장의 수.
계산에 있어서 가정은 다음과 같다.
1) 최악의 경우의 N개의 분산 원장에 걸친 트랜잭션 분포는 원장내 트랜잭션 대 원장간 트랜잭션의 비율이 1 대 N-1이도록 가정되고;
2) 블록의 크기는 1 메가바이트(1MB)이고;
3) 분산 원장의 블록에 대한 처리 속도는 초당 1 블록이고;
4) 원장내 트랜잭션은 약 1000 바이트 = 1 킬로바이트를 갖고;
5) 최악의 경우 트랜잭션 참조의 크기는 log2(3000) * 32 바이트 + 32 바이트 = 416 바이트이고;
6) 디지털 방식으로 표현된 경제적 가치를 전송하는 원장간 트랜잭션은 각각 5개의 트랜잭션을 구성하고 다음 단계로 인해 총 2814 바이트를 취한다.
a) 가입자 전송 트랜잭션은 약 333 바이트를 갖고;
b) 개시 트랜잭션은 약 200 바이트를 갖고;
c) 잠금 트랜잭션은 개시 + 416 바이트 + 100 바이트 = 716 바이트의 크기를 갖고;
d) 완료 트랜잭션은 잠금 + 416 바이트 + 100 바이트 = 1232 바이트의 크기를 갖고;
e) 가입자 수신 트랜잭션은 약 333 바이트를 갖는다
상기 정의 및 가정에 기초하여, 다음의 계산이 이루어진다.
원장간 트랜잭션에 대한 원장내 트랜잭션의 비율은 1/(N - 1)이므로, X/Y = 1/(N - 1)이다.
블록 사이즈는 1MB이고, 트랜잭션의 2가지 타입의 크기는 1000 바이트 및 2814 바이트이므로, 106 = 1000X + 2814Y이다.
원장당 초당 송금은 원장당 초당 원장내 트랜잭션과 원장당 초당 원장간 트랜잭션의 합이기 때문에, R = X + Y이다.
N의 함수로서 R에 대해 풀면, R = 106N/(2814N - 1814)가 된다.
시스템에 대해 종합적으로 N * R = 105의 초당 송금(RPS)을 목표로 하면, 다음의 2차 방정식을 얻는다.
N2 - 281.4N + 181.4 = 0
상기 방정식의 루트를 풀고 실질적인 이유로 1보다 큰 결과를 취하면 공통 원장의 수 N = 281이다. 이 결과는 상기 가정을 고려할 때 시스템에 대해 105 RPS의 총 트랜잭션 처리량을 갖기 위해 281개의 공통 원장이 각각 초당 1MB를 커밋하도록 실행되어야 함을 의미한다.
본 발명의 일 실시예에 따른 시스템에서 공통 원장의 수 N의 함수로서 RPS로 공통 원장당 계산된 트랜잭션 처리량이 도 19의 그래프로 도시된다. RPS의 총 트랜잭션 처리량은 원장당 RPS에 공통 원장 수 N을 곱한 값과 같다. 그래프에서 볼 수 있듯이 N = 281일 때, 원장당(각 원장이 블록체인인 경우 공통 체인당) RPS는 356이고, 시스템 처리량은 약 105이다.
본 발명의 일 실시예에 따라 공통 원장(각 원장이 블록체인인 경우 공동 체인)의 수의 함수로서 RPS로 시스템에 대한 계산된 총 트랜잭션 처리량은 도 20의 그래프로 도시된다. 도시된 것과 같이, 총 트랜잭션 처리량은 시스템의 공통 원장의 수에 따라 선형으로 증가한다.
상기 제시된 계산은 시스템에서의 최악의 경우의 트랜잭션 분포 및 최악의 경우의 트랜잭션 참조의 크기에 기초한다는 점에 유의한다. 적어도 많은 경우에, 시스템의 다양한 합의 네트워크에 노드를 할당하는 것은 원장간 트랜잭션에 대한 원장내 트랜잭션의 비율 X/Y를 1보다 훨씬 크게 증가시키기 위해 이루어질 수 있다. 즉, 원장간 트랜잭션보다 원장내 트랜잭션이 더 많이 존재하도록 시스템을 구성할 수 있다. 반대로, 전술한 계산에서는 최악의 경우로 원장내 트랜잭션보다 원장간 트랜잭션이 더 많이 존재하는 것으로 가정하였다. 따라서 실제 시스템의 성능은 상기 계산에서의 시스템 성능보다 잠재적으로 훨씬 우수하다.
컴퓨터 시스템
도 21은, 예를 들어 분산 원장 네트워크의 풀 노드 또는 부분 노드를 구현하는데 사용될 수 있는 컴퓨터 시스템(2100)의 컴포넌트를 개략적으로 도시한다. 컴퓨터 시스템은 도면에 도시된 것보다 더 적거나 또는 더 많은 컴포넌트로 구현될 수 있다. 예를 들어, 컴퓨터 시스템은 하나 이상의 프로세서(2101)(그래픽 프로세서를 포함) 및 그 다양한 컴포넌트를 연결하는 하나 이상의 버스(2103)를 포함할 수 있다. 컴퓨터 시스템은 또한 하나 이상의 사용자 입력 장치(2102)(예를 들어, 키보드, 마우스), 하나 이상의 데이터 저장 장치(2106)(예를 들어, 하드 드라이브, 광 디스크, 솔리드 스테이트 메모리 디스크), 하나 이상의 디스플레이 모니터(2104)(예를 들어, 액정 디스플레이, 평판 모니터), 하나 이상의 컴퓨터 네트워크 인터페이스(2105)(예를 들어, 네트워크 어댑터, 모뎀) 및 메인 메모리(2108)(즉, 랜덤 액세스 메모리)를 포함할 수 있다. 도시된 것과 같이, 컴퓨터 네트워크 인터페이스(2105)는 이 경우 분산 원장 네트워크일 수 있는 컴퓨터 네트워크(2109)에 연결될 수 있다.
컴퓨터 시스템은 프로세서(2101)에 의해 실행되도록 메인 메모리(2108)에 비일시적 방식으로 저장된 컴퓨터 판독 가능 코드 또는 명령어를 포함하는 하나 이상의 소프트웨어 모듈로 프로그램된 특정 머신이다. 제품은 프로세서(2101)에 의해 실행될 때 컴퓨터 시스템으로 하여금 하나 이상의 소프트웨어 모듈의 기능을 수행하도록 할 수 있는 명령어를 포함하는 컴퓨터 판독 가능 저장 매체로서 구현될 수 있다.
결론
여기에 개시된 해법은 복수 분산 원장 및 교차 원장 전송을 사용하여 고확장성 트랜잭션 처리량을 달성한다. 가치의 이중 지불을 방지하면서 소스 블록체인으로부터 타겟 블록체인으로 가치를 효과적으로 전송하는 방식으로 교차 원장 전송을 작성하기 위한 방법 및 명령어 코드가 개시된다. 또한 복수 분산 원장 사이에서 교차 원장 전송을 이용하여 고확장성 트랜잭션 처리량을 달성하는 시스템 아키텍처가 개시된다. 또한 분산 원장 사이의 교차 원장 전송을 구현하도록 구성된 컴퓨터 장치가 개시된다.
본 개시에서, 본 발명의 실시예에 대한 철저한 이해를 제공하기 위해 시스템, 컴포넌트 및 방법의 예와 같은 다양한 특정 세부 사항이 제공된다. 그러나, 통상의 기술자는 하나 이상의 특정 세부 사항없이 본 발명이 실시될 수 있음을 인식할 것이다. 다른 경우에, 본 발명의 태양을 모호하게 하지 않도록 공지의 세부 사항은 도시되지 않거나 또는 설명되지 않는다.
본 발명의 특정 실시예가 제공되었지만, 이들 실시예는 예시를 위한 것이며 제한하는 것이 아님을 이해해야 한다. 본 개시를 읽은 통상의 기술자에게 많은 추가의 실시예는 자명할 것이다.

Claims (73)

  1. 각각이 복수의 노드를 갖고 있는 복수의 분산 원장 네트워크를 포함하는 다중 분산 원장 시스템에서의 확장성 트랜잭션 처리량(scalable transactions throughput)을 획득하는 방법으로서 - 상기 복수의 분산 원장 네트워크 중 하나는 소스 분산 원장을 갖고, 다른 분산 원장 네트워크는 타겟 분산 원장를 가짐 - ,
    상기 방법은,
    소비되지 않은 트랜잭션 출력을 갖는 상기 소스 분산 원장의 기존 트랜잭션을 결정하는 단계 - 상기 소스 분산 원장은 상기 타겟 분산 원장과 상이함 - 와,
    상기 타겟 분산 원장에 커밋되는 개시 트랜잭션을 생성 및 제출하는 단계 - 상기 개시 트랜잭션은 트랜잭션 출력을 가짐 - 와,
    상기 소스 분산 원장에 커밋되는 잠금 트랜잭션을 생성 및 제출하는 단계 - 상기 잠금 트랜잭션은 상기 소스 분산 원장의 상기 기존 트랜잭션의 상기 트랜잭션 출력을 잠금하고 상기 타겟 분산 원장의 상기 개시 트랜잭션을 참조해서 상기 개시 트랜잭션의 존재를 검증함 - 와,
    상기 타겟 분산 원장에 커밋되는 완료 트랜잭션을 생성 및 제출하는 단계 - 상기 완료 트랜잭션은, 상기 잠금 트랜잭션의 존재를 검증하기 위해 상기 소스 분산 원장의 상기 잠금 트랜잭션을 참조한 후에, 상기 타겟 분산 원장의 상기 개시 트랜잭션의 상기 트랜잭션 출력을 소비함 -
    를 포함하는,
    방법.
  2. 제 1 항에 있어서,
    상기 개시 트랜잭션의 상기 트랜잭션 출력은, 상기 완료 트랜잭션이 상기 잠금 트랜잭션을 참조하고, 상기 개시 트랜잭션의 상기 트랜잭션 출력의 가치가 상기 기존 트랜잭션의 상기 트랜잭션 출력의 가치와 매칭할 때에만 상기 완료 트랜잭션에 의해 소비될 수 있는,
    방법.
  3. 제 2 항에 있어서,
    상기 잠금 트랜잭션은 머클 트리 참조를 사용하여 상기 개시 트랜잭션을 참조하고,
    상기 완료 트랜잭션은 다른 머클 트리 참조를 사용하여 상기 잠금 트랜잭션을 참조하는,
    방법.
  4. 제 1 항에 있어서,
    상기 방법은 상기 소스 분산 원장의 노드 스택에 의해 수행되는,
    방법.
  5. 제 4 항에 있어서,
    상기 개시 트랜잭션 및 상기 완료 트랜잭션은 상기 타겟 분산 원장의 노드 스택에 제출되고, 상기 타겟 분산 원장의 상기 노드 스택은 상기 개시 트랜잭션 및 상기 완료 트랜잭션을 상기 타겟 분산 원장에 더 제출하는,
    방법.
  6. 제 1 항에 있어서,
    상기 방법은 상기 타겟 분산 원장의 노드 스택에 의해 수행되는,
    방법.
  7. 제 6 항에 있어서,
    상기 잠금 트랜잭션은 상기 소스 분산 원장의 노드 스택에 제출되고, 상기 소스 분산 원장의 상기 노드 스택은 상기 잠금 트랜잭션을 상기 소스 분산 원장에 더 제출하는,
    방법.
  8. 제 1 항에 있어서,
    상기 소스 분산 원장 및 상기 타겟 분산 원장은 각각 블록체인을 포함하는,
    방법.
  9. 제 1 항에 있어서,
    상기 소스 분산 원장 및 상기 타겟 분산 원장은 각각 방향성 비순환 그래프알고리즘을 이용하는,
    방법.
  10. 제 1 항에 있어서,
    상기 기존 트랜잭션의 상기 소비되지 않은 트랜잭션 출력은 디지털 방식으로 표현된 경제적 가치를 나타내는,
    방법.
  11. 각각이 복수의 노드를 갖고 있는 복수의 분산 원장 네트워크를 포함하는 다중 분산 원장 시스템을 동작시키는 컴퓨터 판독 가능 프로그램 코드가 내장된 컴퓨터 판독 가능 저장 매체에 기록된 컴퓨터 프로그램으로서 - 상기 복수의 분산 원장 네트워크 중 하나는 소스 분산 원장을 갖고, 다른 분산 원장 네트워크는 타겟 분산 원장를 가짐 - ,
    상기 컴퓨터 판독 가능 프로그램 코드는 상기 시스템으로 하여금 교차 원장 트랜잭션 처리를 실행하게 하고,
    상기 처리는,
    소비되지 않은 트랜잭션 출력을 갖는 상기 소스 분산 원장의 기존 트랜잭션을 결정하는 것 - 상기 소스 분산 원장은 상기 타겟 분산 원장과 상이함 - 과,
    상기 타겟 분산 원장에 커밋되는 개시 트랜잭션을 생성 및 제출하는 것 - 상기 개시 트랜잭션은 트랜잭션 출력을 가짐 - 과,
    상기 소스 분산 원장에 커밋되는 잠금 트랜잭션을 생성 및 제출하는 것 - 상기 잠금 트랜잭션은 상기 소스 분산 원장의 상기 기존 트랜잭션의 상기 트랜잭션 출력을 잠금하고 상기 타겟 분산 원장의 상기 개시 트랜잭션을 참조해서 상기 개시 트랜잭션의 존재를 검증함 - 과,
    상기 타겟 분산 원장에 커밋되는 완료 트랜잭션을 생성 및 제출하는 것 - 상기 완료 트랜잭션은, 상기 잠금 트랜잭션의 존재를 검증하기 위해 상기 소스 분산 원장의 상기 잠금 트랜잭션을 참조한 후 상기 타겟 분산 원장의 상기 개시 트랜잭션의 상기 트랜잭션 출력을 소비함 -
    을 포함하는,
    컴퓨터 판독 가능 저장 매체에 기록된 컴퓨터 프로그램.
  12. 제 11 항에 있어서,
    상기 개시 트랜잭션의 상기 트랜잭션 출력은, 상기 완료 트랜잭션이 상기 잠금 트랜잭션을 참조하고, 상기 개시 트랜잭션의 상기 트랜잭션 출력의 가치가 상기 기존 트랜잭션의 상기 트랜잭션 출력의 가치와 매칭할 때에만 상기 완료 트랜잭션에 의해 소비될 수 있는,
    컴퓨터 판독 가능 저장 매체에 기록된 컴퓨터 프로그램.
  13. 제 12 항에 있어서,
    상기 잠금 트랜잭션이 머클 트리 참조를 사용하여 상기 개시 트랜잭션을 참조하거나, 혹은 상기 완료 트랜잭션이 다른 머클 트리 참조를 사용하여 상기 잠금 트랜잭션을 참조하는,
    컴퓨터 판독 가능 저장 매체에 기록된 컴퓨터 프로그램.
  14. 고확장성 트랜잭션 처리량에 대한 복수 분산 원장 사이에서의 교차 원장 전송을 이용하는 시스템으로서, 상기 시스템은,
    복수의 분산 원장 네트워크 - 상기 복수의 분산 원장 네터워크는, 로컬 분산 원장을 유지하는 로컬 분산 원장 네트워크로서 상기 복수의 분산 원장 네트워크 중 하나와, 각각 외부 분산 원장을 유지하는 외국 분산 원장 네트워크로서 나머지 상기 분산 원장 네트워크를 포함함 - 와,
    각각이 상기 복수의 분산 원장 네트워크 중 두 개의 분산 원장 네트워크 사이에 있는 네트워크 상호 접속부들(internetwork connections)을 포함하며,
    상기 로컬 분산 원장 네트워크는,
    각각이 상기 로컬 분산 원장을 포함하는 로컬 노드들과,
    각각이 상기 로컬 노드들 중 두 개 사이에 있는 통신 접속부들과,
    각각 상기 외부 분산 원장을 포함하고, 상기 로컬 노드들과 공동 배치되며, 상기 로컬 분산 원장과 상기 외부 분산 원장 중 하나 사이의 교차 원장 트랜잭션을 검증하기 위해 참조 정보를 제공하도록 구성된 외부 지불 검증 노드들을 포함하고,
    상기 로컬 분산 원장 및 상기 외부 분산 원장은 각각 소스 분산 원장 및 타겟 분산 원장이거나 또는 상기 타겟 분산 원장 및 상기 소스 분산 원장인,
    시스템.
  15. 삭제
  16. 제 14 항에 있어서,
    상기 로컬 분산 원장 네트워크의 각각의 외부 지불 검증 노드에,
    상기 로컬 분산 원장 네트워크와는 상이한 대응하는 외부 분산 원장 네트워크에 의해 유지되는 상기 외부 분산 원장에 대한 블록 헤더 및 블록 서명을 포함하는 블록 헤더/서명 체인, 또는
    상기 블록 헤더/서명 체인의 상기 블록 헤더에 대한 블록 해시의 인덱스
    를 더 포함하는,
    시스템.
  17. 제 14 항에 있어서,
    상기 소스 분산 원장의 잠금 트랜잭션의 존재의 검증은, 상기 타겟 분산 원장의 완료 트랜잭션이 상기 타겟 분산 원장의 개시 트랜잭션의 트랜잭션 출력을 소비하는데 필요한,
    시스템.
  18. 제 14 항에 있어서,
    서로 공동 배치되는 각각의 로컬 노드와 상기 외부 지불 검증 노드는 상기 로컬 분산 원장의 로컬 노드 스택 및 상기 각각의 외부 분산 원장의 외부 지불 검증 노드 스택을 포함하는 하나 이상의 프로세서를 구비한 컴퓨터 장치에 의해 구현되는,
    시스템.
  19. 고확장성 트랜잭션 처리량에 대한 복수의 분산 원장 사이에서의 교차 원장 전송을 이용하는 시스템으로서, 상기 시스템은,
    복수의 분산 원장 네트워크 - 상기 복수의 분산 원장 네트워크는, 소스 분산 원장을 유지하는 소스 분산 원장 네트워크로서 상기 복수의 분산 원장 네트워크 중 하나와, 타겟 분산 원장을 유지하는 타겟 분산 원장 네트워크로서 상기 복수의 분산 원장 네트워크 중 다른 하나를 포함하고, 상기 소스 분산 원장은 상기 타겟 분산 원장과 상이함 - 와,
    상기 복수의 분산 원장 네트워크 사이의 네트워크 상호 접속부들을 포함하며,
    각각의 분산 원장 네트워크는,
    로컬 노드들과,
    각각이 다수의 상이한 공동 배치되는 로컬 노드들을 포함하는 공유 노드들의 세트와,
    상기 로컬 노드들간, 상기 세트의 공유 노드들간 및 상기 로컬 노드들과 상기 세트의 공유 노드들간의 통신 접속부들을 포함하고,
    상기 세트의 공유 노드들은, 상기 소스 분산 원장을 포함하는 하나의 로컬 노드와 상기 타겟 분산 원장을 포함하는 다른 로컬 노드를 포함하고 상기 소스 분산 원장과 상기 타겟 분산 원장 사이의 교차 원장 트랙잭션을 검증하기 위해 참조 정보를 제공하도록 구성된,
    시스템.
  20. 삭제
  21. 제 19 항에 있어서,
    공유 노드 각각에, 상기 복수의 분산 원장의 각각에 대한 블록 헤더에 대한 블록 해시의 인덱스를 더 포함하는,
    시스템.
  22. 제 19 항에 있어서,
    공유 노드 각각은 적어도 상기 소스 분산 원장 네트워크 및 상기 타겟 분산 원장 네트워크에 의해 각각 유지되는 적어도 상기 소스 분산 원장 및 상기 타겟 분산 원장의 로컬 노드 스택을 포함하는 컴퓨터 장치를 포함하는,
    시스템.
  23. 삭제
  24. 제 19 항에 있어서,
    상기 소스 분산 원장의 기존 트랜잭션은 디지털 방식으로 표현된 경제적 가치가 상기 타겟 분산 원장으로 전송될 트랜잭션 출력을 포함하는,
    시스템.
  25. 제 24 항에 있어서,
    잠금 트랜잭션은 상기 기존 트랜잭션의 상기 트랜잭션 출력을 소비하고, 상기 소스 분산 원장의 잠금 트랜잭션의 존재의 검증은 상기 타겟 분산 원장의 완료 트랜잭션이 상기 타겟 분산 원장의 개시 트랜잭션의 트랜잭션 출력을 소비하는데 필요한,
    시스템.
  26. 확장성 트랜잭션 처리량에 대한 복수의 분산 원장 사이에서의 교차 원장 전송을 위한 컴퓨터 장치로서, 상기 컴퓨터 장치는,
    컴퓨터 판독 가능 코드 및 데이터를 유지하기 위한 메모리와,
    상기 데이터를 수정하기 위해 상기 컴퓨터 판독 가능 코드를 실행하기 위한 하나 이상의 프로세서와,
    상기 복수의 분산 원장의 타겟 분산 원장에 대한 로컬 노드 스택을 위한 컴퓨터 판독 가능 코드와,
    상기 복수의 분산 원장의 소스 분산 원장에 대한 외부 지불 검증 노드 스택을 위한 컴퓨터 판독 가능 코드
    를 포함하고,
    상기 로컬 노드 스택은 상기 외부 지불 검증 노드 스택을 사용하여, 서로 상이하고 소스 분산 원장 네트워크 및 타겟 분산 원장 네트워크에 의해 각각 유지되는 상기 타겟 분산 원장 및 상기 소스 분산 원장 사이의 교차 원장 트랜잭션을 검증하기 위해 참조 정보를 제공하도록 구성되는,
    컴퓨터 장치.
  27. 제 26 항에 있어서,
    상기 외부 지불 검증 노드 스택에,
    상기 소스 분산 원장에 대한 블록 헤더 및 블록 서명을 포함하는 블록 헤더/서명 체인, 또는
    상기 블록 헤더/서명 체인의 상기 블록 헤더에 대한 블록 해시의 인덱스
    를 더 포함하는,
    컴퓨터 장치.
  28. 삭제
  29. 제 26 항에 있어서,
    상기 로컬 노드 스택은, 상기 타겟 분산 원장의 개시 트랜잭션의 트랜잭션 출력을 소비하는 완료 트랜잭션을 구성하기 전에, 상기 소스 분산 원장의 잠금 트랜잭션의 존재를 검증하고 상기 개시 트랜잭션의 상기 트랜잭션 출력의 가치와 상기 잠금 트랜잭션에 의해 소비된 가치를 매칭시키는데 필요한,
    컴퓨터 장치.
  30. 확장성 트랜잭션 처리량에 대한 복수의 분산 원장 사이에서의 교차 원장 전송을 위한 컴퓨터 장치로서, 상기 컴퓨터 장치는,
    컴퓨터 판독 가능 코드 및 데이터를 유지하는 메모리와,
    상기 컴퓨터 판독 가능 코드를 실행하여 상기 데이터를 수정하는 하나 이상의 프로세서와,
    소비되지 않는 트랜잭션 출력을 갖는 상기 복수의 분산 원장 중 소스 분산 원장의 기존 트랜잭션을 결정하도록 구성된 컴퓨터 판독 가능 코드와,
    상기 복수의 분산 원장 중 타겟 분산 원장에 커밋되는 개시 트랜잭션을 생성 및 제출하도록 구성된 컴퓨터 판독 가능 코드 - 상기 개시 트랜잭션은 트랜잭션 출력을 가짐 - 와,
    상기 소스 분산 원장에 커밋되는 잠금 트랜잭션을 생성 및 제출하도록 구성된 컴퓨터 판독 가능 코드 - 상기 잠금 트랜잭션은 상기 소스 분산 원장의 상기 기존 트랜잭션의 상기 트랜잭션 출력을 잠금하고 상기 타겟 분산 원장의 상기 개시 트랜잭션을 참조해서 상기 개시 트랜잭션의 존재를 검증함 - 와,
    상기 타겟 분산 원장에 커밋되는 완료 트랜잭션을 생성 및 제출하도록 구성된 컴퓨터 판독 가능 코드 - 상기 완료 트랜잭션은, 상기 잠금 트랜잭션의 존재를 검증하기 위해 상기 소스 분산 원장의 상기 잠금 트랜잭션을 참조한 후에 상기 타겟 분산 원장의 상기 개시 트랜잭션의 상기 트랜잭션 출력을 소비함 -
    를 포함하고,
    소스 분산 원장 네트워크에 의해 유지되는 상기 소스 분산 원장은 타겟 분산 원장 네트워크에 의해 유지되는 상기 타겟 분산 원장과는 상이한,
    컴퓨터 장치.
  31. 제 30 항에 있어서,
    상기 개시 트랜잭션의 상기 트랜잭션 출력은, 상기 완료 트랜잭션이 상기 잠금 트랜잭션을 참조하고, 상기 개시 트랜잭션의 상기 트랜잭션 출력의 가치가 상기 기존 트랜잭션의 상기 트랜잭션 출력의 가치와 매칭할 때에만 상기 완료 트랜잭션에 의해 소비될 수 있는,
    컴퓨터 장치.
  32. 제 26 항에 있어서,
    디지털 방식으로 표현된 경제적 가치가 상기 소스 분산 원장에서 더 이상 소비될 수 없도록, 상기 로컬 노드 스택은 기존 트랜잭션의 상기 트랜잭션 출력의 상기 디지털 방식으로 표현된 경제적 가치를 잠금하는 잠금 트랜잭션을 구성하는,
    컴퓨터 장치.
  33. 제 29 항에 있어서,
    상기 잠금 트랜잭션은 적어도 하나의 원장간 트랜잭션 입력, 하나의 교차 원장 참조 트랜잭션 입력 및 0 이상의 트랜잭션 출력을 포함하고, 상기 개시 트랜잭션은 트랜잭션 입력은 없고 하나의 트랜잭션 출력을 포함하는,
    컴퓨터 장치.
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 삭제
  51. 삭제
  52. 삭제
  53. 삭제
  54. 삭제
  55. 삭제
  56. 삭제
  57. 삭제
  58. 삭제
  59. 삭제
  60. 삭제
  61. 삭제
  62. 삭제
  63. 삭제
  64. 삭제
  65. 삭제
  66. 삭제
  67. 삭제
  68. 삭제
  69. 삭제
  70. 삭제
  71. 삭제
  72. 삭제
  73. 삭제
KR1020207020979A 2017-12-19 2018-01-16 분산 원장 사이에서 교차 원장 전송을 위한 방법 및 장치와 교차 원장 전송을 사용하는 시스템 KR102548540B1 (ko)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201762607453P 2017-12-19 2017-12-19
US62/607,453 2017-12-19
US15/866,280 2018-01-09
US15/866,280 US20190188697A1 (en) 2017-12-19 2018-01-09 Systems of multiple distributed ledgers using cross-ledger transfers for highly-scalable transaction throughput
US15/866,290 2018-01-09
US15/866,266 2018-01-09
US15/866,290 US20190188698A1 (en) 2017-12-19 2018-01-09 Computer apparatus for cross-ledger transfers between distributed ledgers
US15/866,266 US11461777B2 (en) 2017-12-19 2018-01-09 Cross-ledger transfers between distributed ledgers
PCT/US2018/013861 WO2019125506A1 (en) 2017-12-19 2018-01-16 Methods and apparatus for cross-ledger transfers between distributed ledgers and systems using cross-ledger transfers

Publications (2)

Publication Number Publication Date
KR20200100773A KR20200100773A (ko) 2020-08-26
KR102548540B1 true KR102548540B1 (ko) 2023-06-29

Family

ID=66814603

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207020979A KR102548540B1 (ko) 2017-12-19 2018-01-16 분산 원장 사이에서 교차 원장 전송을 위한 방법 및 장치와 교차 원장 전송을 사용하는 시스템

Country Status (7)

Country Link
US (3) US20190188698A1 (ko)
EP (1) EP3729779A4 (ko)
JP (2) JP7307910B2 (ko)
KR (1) KR102548540B1 (ko)
CN (2) CN118096139A (ko)
SG (1) SG11202005655UA (ko)
WO (1) WO2019125506A1 (ko)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10419225B2 (en) 2017-01-30 2019-09-17 Factom, Inc. Validating documents via blockchain
US10810546B2 (en) 2017-10-02 2020-10-20 R3 Ltd. Settling obligations via netting transactions
US10630769B2 (en) * 2017-12-26 2020-04-21 Akamai Technologies, Inc. Distributed system of record transaction receipt handling in an overlay network
WO2019144948A1 (en) * 2018-01-27 2019-08-01 Redrock Biometrics Inc Decentralized biometric authentication platform
US11438139B2 (en) * 2018-02-07 2022-09-06 Raouf Boutaba Blockchain based secure naming and update verification
US20210004906A1 (en) * 2018-02-08 2021-01-07 2Bc Innovations, Llc Modifying a portfolio of blockchain-encoded rived longevity-contingent instruments
CN108389129B (zh) * 2018-02-27 2020-12-04 创新先进技术有限公司 基于区块链的交易执行方法及装置、电子设备
US10848395B2 (en) * 2018-04-10 2020-11-24 Zscaler, Inc. State management across distributed services using cryptographically bound journals
US11194837B2 (en) * 2018-05-01 2021-12-07 International Business Machines Corporation Blockchain implementing cross-chain transactions
US11030217B2 (en) * 2018-05-01 2021-06-08 International Business Machines Corporation Blockchain implementing cross-chain transactions
US11544782B2 (en) 2018-05-06 2023-01-03 Strong Force TX Portfolio 2018, LLC System and method of a smart contract and distributed ledger platform with blockchain custody service
CA3098670A1 (en) 2018-05-06 2019-11-14 Strong Force TX Portfolio 2018, LLC Methods and systems for improving machines and systems that automate execution of distributed ledger and other transactions in spot and forward markets for energy, compute, storage and other resources
US11669914B2 (en) 2018-05-06 2023-06-06 Strong Force TX Portfolio 2018, LLC Adaptive intelligence and shared infrastructure lending transaction enablement platform responsive to crowd sourced information
US11550299B2 (en) 2020-02-03 2023-01-10 Strong Force TX Portfolio 2018, LLC Automated robotic process selection and configuration
US20190363890A1 (en) 2018-05-24 2019-11-28 Walmart Apollo, Llc Nested Blockchain System
WO2019227052A1 (en) * 2018-05-24 2019-11-28 Walmart Apollo, Llc System and methods for multi-variant tracking
US11276056B2 (en) * 2018-08-06 2022-03-15 Inveniam Capital Partners, Inc. Digital contracts in blockchain environments
US11196543B2 (en) * 2018-09-05 2021-12-07 International Business Machines Corporation Minimum evidence calculation in blockchain transactions
CN109274667B (zh) 2018-09-14 2020-06-23 阿里巴巴集团控股有限公司 一种基于区块链的版权事件存证方法及***
CN109272385B (zh) * 2018-09-14 2021-03-23 创新先进技术有限公司 一种基于区块链的版权事件代理存证方法及***
CN110008686B (zh) * 2018-11-16 2020-12-04 创新先进技术有限公司 跨区块链的数据处理方法、装置、客户端、区块链***
US11121860B2 (en) * 2018-12-27 2021-09-14 Lendingclub Corporation Multi-layered blockchain for digital assets
EP3566393B1 (en) 2018-12-28 2021-09-01 Advanced New Technologies Co., Ltd. Accelerating transaction deliveries in blockchain networks using transaction resending
JP6899911B2 (ja) 2018-12-28 2021-07-07 アドバンスド ニュー テクノロジーズ カンパニー リミテッド アクセラレーションノードを用いたブロックチェーンネットワーク内のトランザクション配信の高速化
KR20200083937A (ko) * 2018-12-28 2020-07-09 알리바바 그룹 홀딩 리미티드 전역적 가속 노드를 사용한 블록체인 트랜잭션 속도 향상
US11177962B2 (en) * 2019-02-05 2021-11-16 Visa International Service Association Optimizations for verification of interactions system and method
CN113508410A (zh) * 2019-02-15 2021-10-15 区块链控股有限公司 用于通过区块链网络实现转账的计算机实现的***和方法
US11997205B2 (en) * 2019-02-25 2024-05-28 Tbcasoft, Inc. Credential verification and issuance through credential service providers
US20200327627A1 (en) * 2019-03-03 2020-10-15 Deep Chakraborty Methods and systems of a blockchain for distributed-energy-project management
SG11201910057QA (en) * 2019-04-12 2019-11-28 Alibaba Group Holding Ltd Performing parallel execution of transactions in a distributed ledger system
CA3060790C (en) 2019-04-12 2021-06-08 Alibaba Group Holding Limited Performing parallel execution of transactions in a distributed ledger system
US11251938B2 (en) * 2019-06-03 2022-02-15 International Business Machines Corporation Blockchain verification using non-consecutive blocks
CN110288480B (zh) * 2019-06-28 2023-06-09 深圳前海微众银行股份有限公司 一种区块链的私密交易方法及装置
US10771524B1 (en) * 2019-07-31 2020-09-08 Theta Labs, Inc. Methods and systems for a decentralized data streaming and delivery network
SG10201907333RA (en) * 2019-08-08 2020-01-30 Alibaba Group Holding Ltd Methods And Devices For Executing Cross-Chain Anonymous Multi-Swap Contracts
CN114391241B (zh) * 2019-09-11 2024-06-11 维萨国际服务协会 具有可调整法定数量的区块链分片
US11468044B2 (en) 2019-11-25 2022-10-11 Visa International Service Association Optimizations for verification of interactions system and method using probability density functions
US11544252B2 (en) * 2019-12-17 2023-01-03 Akamai Technologies, Inc. High performance distributed system of record with extended transaction processing capability
US11982993B2 (en) 2020-02-03 2024-05-14 Strong Force TX Portfolio 2018, LLC AI solution selection for an automated robotic process
CN112581131B (zh) * 2020-05-15 2022-08-19 支付宝(杭州)信息技术有限公司 资产转移方法、装置、设备及***
US20210398211A1 (en) * 2020-06-17 2021-12-23 Coinbase, Inc. Systems and methods for converting cryptocurrency
CA3091660A1 (en) * 2020-08-31 2021-11-03 Polymath Inc. Method, system, and medium for blockchain-enabled atomic settlement
KR20220057823A (ko) * 2020-10-30 2022-05-09 서강대학교산학협력단 블록체인 네트워크에서의 블록 사이즈 조절 방법 및 이를 이용한 블록체인 네트워크
EP4307645A1 (en) * 2021-06-11 2024-01-17 Samsung Electronics Co., Ltd. Electronic device having partial ledger in blockchain network, and operating method therefor
US20220417044A1 (en) * 2021-06-25 2022-12-29 Prateek GOEL System and method to manage large data in blockchain
CN113362068B (zh) * 2021-08-10 2022-03-29 北京连琪科技有限公司 一种轻节点验证区块链状态转移的方法
US11379429B1 (en) 2021-10-28 2022-07-05 Tassat Group LLC Computer-based systems configured for permission events management on a blockchain and methods of use thereof
WO2023127530A1 (ja) * 2021-12-28 2023-07-06 京セラ株式会社 システム、ノード、及びプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160335641A1 (en) * 2015-05-13 2016-11-17 Mastercard International Incorporated Enhanced payment card platform
US20170221052A1 (en) * 2015-07-14 2017-08-03 Fmr Llc Computationally Efficient Transfer Processing and Auditing Apparatuses, Methods and Systems

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130226891A1 (en) * 2012-02-29 2013-08-29 Red Hat Inc. Managing versions of transaction data used for multiple transactions in distributed environments
US11023968B2 (en) 2015-03-05 2021-06-01 Goldman Sachs & Co. LLC Systems and methods for updating a distributed ledger based on partial validations of transactions
US10812274B2 (en) * 2015-05-07 2020-10-20 Blockstream Corporation Transferring ledger assets between blockchains via pegged sidechains
US20160342977A1 (en) * 2015-05-20 2016-11-24 Vennd.io Pty Ltd Device, method and system for virtual asset transactions
EP3125489B1 (en) 2015-07-31 2017-08-09 BRITISH TELECOMMUNICATIONS public limited company Mitigating blockchain attack
US20180089651A9 (en) 2015-11-06 2018-03-29 Cable Television Laboratories, Inc Blockchaining systems and methods for frictionless media
US11941588B2 (en) * 2015-11-06 2024-03-26 Cable Television Laboratories, Inc. Systems and methods for blockchain virtualization and scalability
US10440101B2 (en) 2016-02-22 2019-10-08 Bank Of America Corporation System for external validation of private-to-public transition protocols
AU2017240796A1 (en) * 2016-03-31 2018-10-25 Clause, Inc. System and method for creating and executing data-driven legal contracts
US10521775B2 (en) * 2016-04-18 2019-12-31 R3 Ltd. Secure processing of electronic transactions by a decentralized, distributed ledger system
US10810583B2 (en) 2016-04-29 2020-10-20 Digital Asset Holdings Digital asset modeling
JP6628188B2 (ja) * 2016-05-10 2020-01-08 日本電信電話株式会社 決済システム、決済方法、トランザクション生成装置及びトランザクション生成プログラム
US11397944B2 (en) 2016-05-11 2022-07-26 Nasdaq, Inc. Application framework using blockchain-based asset ownership
US10713731B2 (en) * 2016-07-22 2020-07-14 Nec Corporation Method for secure ledger distribution and computer system using secure distributed ledger technology
GB201613176D0 (en) * 2016-07-29 2016-09-14 Eitc Holdings Ltd Computer-implemented method and system
JP7203009B2 (ja) * 2016-07-29 2023-01-12 エヌチェーン ライセンシング アーゲー ブロックチェーンにより実装される方法及びシステム
US10339014B2 (en) * 2016-09-28 2019-07-02 Mcafee, Llc Query optimized distributed ledger system
US11182851B2 (en) * 2016-10-20 2021-11-23 International Business Machines Corporation Inter-ledger messaging in a blockchain
US10540652B2 (en) * 2016-11-18 2020-01-21 Intel Corporation Technology for secure partitioning and updating of a distributed digital ledger
US11270395B2 (en) * 2016-12-15 2022-03-08 Mastercard International Incorporated Systems and methods for building a data table to reduce false declines over a network
US10452998B2 (en) * 2017-03-19 2019-10-22 International Business Machines Corporation Cognitive blockchain automation and management
WO2017196289A2 (en) * 2017-04-25 2017-11-16 Tovarystvo Z Obmezhenoiu Vidpovidalnistiu "Simcord" The method for executing a digital value transfer transaction and the digital value transfer system for its implementation
CN107239951A (zh) * 2017-06-07 2017-10-10 北京天德科技有限公司 一种基于第三代区块链的可扩展央行数字货币交易方法
CN113204532A (zh) * 2017-10-04 2021-08-03 邓白氏公司 跨全异的不可变分布式账本网络进行身份解析的***和方法
GB2569278A (en) * 2017-10-23 2019-06-19 Cygnetise Ltd Methods and apparatus for verifying a user transaction
US11244309B2 (en) * 2017-11-22 2022-02-08 Cornell University Real-time cryptocurrency exchange using trusted hardware
US20190172026A1 (en) * 2017-12-02 2019-06-06 Alchemy Limited LLC Cross blockchain secure transactions
US10673620B2 (en) * 2017-12-14 2020-06-02 Paypal, Inc. Blockchain validation system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160335641A1 (en) * 2015-05-13 2016-11-17 Mastercard International Incorporated Enhanced payment card platform
US20170221052A1 (en) * 2015-07-14 2017-08-03 Fmr Llc Computationally Efficient Transfer Processing and Auditing Apparatuses, Methods and Systems

Also Published As

Publication number Publication date
US20190188697A1 (en) 2019-06-20
US20190188698A1 (en) 2019-06-20
CN111615817A (zh) 2020-09-01
JP7307910B2 (ja) 2023-07-13
SG11202005655UA (en) 2020-07-29
US11461777B2 (en) 2022-10-04
CN118096139A (zh) 2024-05-28
WO2019125506A1 (en) 2019-06-27
JP2021508111A (ja) 2021-02-25
KR20200100773A (ko) 2020-08-26
CN111615817B (zh) 2023-10-17
EP3729779A1 (en) 2020-10-28
US20190188711A1 (en) 2019-06-20
EP3729779A4 (en) 2021-12-15
JP2023134492A (ja) 2023-09-27

Similar Documents

Publication Publication Date Title
KR102548540B1 (ko) 분산 원장 사이에서 교차 원장 전송을 위한 방법 및 장치와 교차 원장 전송을 사용하는 시스템
JP7472333B2 (ja) バリデータノードにより提供されるブロックチェーントランザクションをマイニングする方法及びシステム
JP7221355B2 (ja) 匿名エントリを含む分散型データベースのための方法および装置
US20220138737A1 (en) Computer-implemented systems and methods for implementing transfers over a blockchain network
Robinson et al. Atomic crosschain transactions for ethereum private sidechains
US20200028667A1 (en) Blockchain-Based Unexpected Data Detection
US11520777B2 (en) High performance distributed system of record with extended transaction processing capability
US10693646B2 (en) Event execution using a blockchain approach
CN110998631A (zh) 分布式账本技术
US20210365943A1 (en) Verifiable Transfer of Data Using Sharded Blockchain
US20200204338A1 (en) Securing public key cryptographic algorithms
CN115152177A (zh) 提供机密知识的专门证明的***和方法
WO2021224428A1 (en) Blockchain
EP3918750B1 (en) Turing-complete smart contracts for cryptocurrencies
EP3952207A1 (en) Secure transfer of data units using sharded blockchain
EP3876472A1 (en) Verifiably unique transfer of exclusive control of data units
US11720453B2 (en) High performance distributed system of record with unspent transaction output (UTXO) database snapshot integrity
Djari et al. Yggdrasil: Secure state sharding of transactions and smart contracts that self-adapts to transaction load
You et al. A Multi-Party, Multi-Blockchain Atomic Swap Protocol with Universal Adaptor Secret
CN116388957A (zh) 一种基于区块链的链下扩容技术

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right