KR20210106532A - 블록체인을 통해 행해지는 전송의 성능을 제어하거나 강제하기 위한 컴퓨터-구현된 시스템 및 방법 - Google Patents

블록체인을 통해 행해지는 전송의 성능을 제어하거나 강제하기 위한 컴퓨터-구현된 시스템 및 방법 Download PDF

Info

Publication number
KR20210106532A
KR20210106532A KR1020217022972A KR20217022972A KR20210106532A KR 20210106532 A KR20210106532 A KR 20210106532A KR 1020217022972 A KR1020217022972 A KR 1020217022972A KR 20217022972 A KR20217022972 A KR 20217022972A KR 20210106532 A KR20210106532 A KR 20210106532A
Authority
KR
South Korea
Prior art keywords
script
blockchain
transaction
hash
address
Prior art date
Application number
KR1020217022972A
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 KR20210106532A publication Critical patent/KR20210106532A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • 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/3823Payment protocols; Details thereof insuring higher security of transaction combining multiple encryption tools for 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/405Establishing or using transaction specific rules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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
    • H04L2209/38
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Abstract

본 발명은 블록체인(예를 들어, 비트코인 블록체인) 상에서 전송을 관리하는 조건의 협의된 세트가 생성되고 강제될 수 있는 방법 및 시스템을 제공한다. 이롭게, 조건은 규칙의 협의된 세트의 그의 이행을 강제함으로써 자산을 수신할 다른 당사자의 행위를 지정하고 이에 영향을 미치는 데 사용될 수 있다. 일 실시예에서, 컴퓨터-구현된 방법은 수신자에게, 블록체인 네트워크를 통해 행해질 전송에 관련된 적어도 하나의 규칙의 표현(r)을 제공하는 단계를 포함한다. 이는 또한, 전송자로부터 표현(r)을 포함하는 상환 스크립트(R); 및 상환 스크립트(R)의 해시(HR)를 포함하는 스크립트 주소를 수신하는 단계를 포함한다. 이는 또한, 상환 스크립트(R)의 해시(H)를 생성하는 단계 및 이를 스크립트 주소와 비교하는 단계를 포함한다. 해시(H)가 스크립트 주소에 매칭하면, 전송자는 자산을 잠금 해제하기 위해 규칙(r)이 강제될 것이라는 지식으로 안전한 블록체인 트랜잭션(TX0)의 출력과 연관된 잠금 스크립트에서 스크립트 주소를 사용할 수 있다.

Description

블록체인을 통해 행해지는 전송의 성능을 제어하거나 강제하기 위한 컴퓨터-구현된 시스템 및 방법
본 발명은 일반적으로 분산 컴퓨팅 네트워크(distributed computing networks), 더 구체적으로 분산 원장 기술(블록체인)에 관한 것이다. 본 발명은 블록체인 네트워크 상에서 참여자 간에 행해지는 전송 및 통신의 보안, 강제(enforcement) 및 제어에 관련된 이점을 제공한다. 이는 네트워크를 통한 향후 전송이 어떻게 수행될 수 있을 지를 강제하기 위한 솔루션을 제공하며, 따라서 지금까지 현장에서 불가능하다고 믿었던 문제를 해결한다. 이는 기계 실행가능 스마트 계약과 사용하기에 적합하지만, 이에 제한되지 않는다.
본 문서에서, '블록체인'이란 용어를 모든 형태의 전자적인, 컴퓨터-기반의, 분산 원장(distributed ledgers)을 포함하는 것으로 사용한다. 이는 컨센서스-기반의 블록체인(consensus-based blockchain) 및 트랜잭션-체인 기술, 허가된 및 허가되지 않은 원장, 공유 원장 및 이의 변형을 포함한다. 다른 블록체인 구현이 제안되고 개발되었지만, 블록체인 기술의 가장 널리 알려진 응용은 비트코인 원장이다. 비트코인이 본원에서 편의 및 예시의 목적으로 언급될 수 있지만, 본 발명이 비트코인 블록체인을 통해 사용하는 것으로 제한되지는 않으며, 대안적인 블록체인 구현 및 프로토콜이 본 발명의 범주 내에 속한다는 점이 유의 되어야 한다. "비트코인"이란 용어는 본원에서 비트코인 프로토콜로부터 도출되는 프로토콜의 임의의 버전 또는 변형을 지칭하는 것으로 사용된다. "사용자"라는 용어는 본원에서 인간 또는 프로세서 기반의 리소스를 지칭할 수 있다.
블록체인은 결국 트랜잭션으로 구성되는 블록으로 구성되는 컴퓨터-기반의 탈중앙화된(decentralised) 분산 시스템으로 구현된 피어 투 피어(peer-to-peer) 전자 원장이다. 각 트랜잭션은 블록체인 시스템에서 참여자 간의 디지털 자산의 제어의 전송을 인코딩하는 데이터 구조이며, 적어도 하나의 입력 및 적어도 하나의 출력을 포함한다. 각 블록은 블록이 그의 시작 이래로 블록체인에 기록된 모든 트랜잭션의 영구적이고 변경할 수 없는 레코드를 생성하기 위해 함께 연쇄되도록 이전 블록의 해시(hash)를 포함한다. 트랜잭션은 그의 입력 및 출력에 내재된(embedded) 스크립트로 알려진 소규모 프로그램을 포함하고, 이는 트랜잭션의 출력에 액세스할 수 있는 방법 및 대상을 지정한다. 비트코인 플랫폼에서, 이들 스크립트는 스택-기반의 스크립팅 언어(stack-based scripting language)를 사용하여 기록된다.
트랜잭션이 블록체인에 기록되게 하기 위해, 이는 "유효성 검증(validated)"되어야 한다. 네트워크 노드(채굴자)는, 각 트랜잭션이 유효하고, 유효하지 않은 트랜잭션이 네트워크로부터 거부됨을 보장하기 위한 작업을 수행한다. 노드 상에 설치된 소프트웨어 클라이언트는 그의 잠금 및 잠금 해제 스크립트를 실행함으로써, 소비되지 않은 트랜잭션(unspent transaction, UTXO)에 대해 이 유효성 검증 작업을 수행한다. 잠금 및 잠금 해제 스크립트의 실행이 TRUE로 평가되는 경우, 트랜잭션은 유효하고 트랜잭션은 블록체인에 기록된다. 따라서, 트랜잭션이 블록체인에 기록되게 하기 위해, 이는 i) 트랜잭션을 수신하는 제1 노드에 의해 유효성 검증되어야 하고 - 트랜잭션이 유효성 검증되는 경우, 노드는 네트워크에서 다른 노드에 이를 중계(relay)함 -; ii) 채굴자에 의해 구축되는 신규 블록에 추가되어야 하며; 및 iii) 채굴, 즉 과거 트랜잭션의 공공 원장에 추가되어야 한다.
암호 화폐 구현의 사용에 대해 블록체인 기술이 가장 널리 알려져 있지만, 디지털 기업가는 신규 시스템을 구현하기 위해 비트코인이 기초로 하는 암호 화폐 보안 시스템뿐만 아니라 블록체인 상에 저장될 수 있는 데이터의 사용을 조사하기 시작하였다. 블록체인이 암호 화폐의 영역으로 제한되지 않는 자동화된 작업 및 프로세스에 대해 사용될 수 있는 경우, 이는 매우 유리할 것이다. 이러한 해결책은 블록체인의 장점(예를 들어, 이벤트의 영구적인 변조 방지 레코드, 분산 처리 등)을 이용할 수 있으면서, 그의 응용에서 더욱 범용성이 있을 것이다. 예를 들어, 연구 및 관심의 하나의 이러한 영역은 "스마트 계약"의 구현을 위한 블록체인의 사용이다.
더 범용성이 있는 블록체인 플랫폼을 제공하기 위해, 참여자 Alice와 Bob 간의 자산의 초기 전송 이후에, 네트워크 상에서 "이후의(onward)" 전송이 어떻게 이루어지는 지를 제어하거나 영향을 미칠 수 있는 것이 유리할 것이다. 다수의 상이한 타입의 시나리오에서 및 다수의 상이한 이유로, 당사자들 간의 신용에 대한 요구 없이 Bob으로부터 하나 이상의 다른 참여자로의 자산의 후속 전송(들)을 통제할 규칙(즉, 조건 또는 기준)을 두는 것이 바람직할 것이다. 지금까지, 기술 커뮤니티 내에서는 향후 블록체인 트랜잭션에 구속력이 있는 제약을 두는 것이 불가능한 것으로 믿었다.
출원인은 적어도 이러한 요구를 해결하는 발명을 고안하였다. 본 발명은 본원에서 첨부된 청구 범위에서 정의된다.
본 발명의 실시예에 따라:
블록체인 네트워크를 통해 행해질 전송에 관련된 적어도 하나의 규칙의 표현(r)을 생성하는 단계;
상기 표현(r)을 포함하는 상환 스크립트(redeem script, R); 및 상기 상환 스크립트(R)의 해시(HR)를 포함하는 스크립트 주소를 생성하는 단계;
스크립트 주소와(이에 대해) 상환 스크립트(R)의 해시(H)를 비교하는 단계; 및
해시(H)가 스크립트 주소에 매칭하는 경우, 블록체인 트랜잭션(TX0)의 출력(UTXO)과 연관된 잠금 스크립트에서 스크립트 주소를 사용하는 단계를 포함하는 컴퓨터-구현된 방법이 제공될 수 있다.
추가적으로 또는 대안적으로,
수신자에게, 블록체인 네트워크를 통해 행해질 전송에 관련된 적어도 하나의 규칙의 표현(r)을 제공하는 단계;
전송자로부터 표현(r)을 포함하는 상환 스크립트(R); 및 상환 스크립트(R)의 해시(HR)를 포함하는 스크립트 주소를 수신하는 단계;
상환 스크립트(R)의 해시(H)를 생성하는 단계 및 이를 스크립트 주소와 비교하는 단계;
해시(H)가 스크립트 주소와 매칭하는 경우, 블록체인 트랜잭션(TX0)의 출력과 연관된 잠금 스크립트의 스크립트 주소를 사용하는 단계를 포함하는, 컴퓨터-구현된 방법이 제공될 수 있다.
추가적으로 또는 대안적으로,
전송자로부터, 블록체인 네트워크를 통해 행해질 전송에 관련된 적어도 하나의 규칙의 표현(r)을 수신하는 단계;
전송자에게, 표현(r)을 포함하는 상환 스크립트(R); 및 상환 스크립트(R)의 해시(HR)를 포함하는 스크립트 주소를 전송하는 단계;
스크립트 주소에 잠긴 블록체인 트랜잭션(TX0)의 출력을 잠금 해제하도록 배열된 추가적인 블록체인 트랜잭션(TX1)에서 상환 스크립트(R)를 제공하는 단계를 포함하는 컴퓨터-구현된 방법이 제공될 수 있다.
블록체인 네트워크는 비트코인 네트워크 또는 그의 변형, 또는 다른 (비-비트코인) 블록체인 네트워크일 수 있다. 방법은 상환 스크립트의 해시를 생성하는 단계를 포함할 수 있다. 이는 블록체인 트랜잭션(TX0)을 생성하는 단계, 업데이트하는 단계 및/또는 완료하는 단계를 포함할 수 있다.
본 개시의 실시예는 도 1 또는 아래 제공된 설명에 포함된 임의의 단계(들)를 더 포함할 수 있다.
하나 이상의 실시예는:
트랜잭션(TX0)의 잠금 스크립트를 잠금 해제하기 위해 스크립트 주소를 사용하도록 배열된 잠금 해제 스크립트를 포함하는 추가적인 블록체인 트랜잭션(TX1)을 생성하는 단계 및/또는 사용하는 단계를 더 포함할 수 있다.
바람직하게, 트랜잭션(TX0) 및/또는 추가적인 트랜잭션(TX1)은 암호 화폐가 출력의 잠금 스크립트에서 스크립트 해시에 전송되는 것/이와 연관되는 것/이에 의해 잠기는 것을 허용하고, 암호 화폐를 획득(잠금 해제)하기 위해 사용자가 잠금 해제 스크립트에서 스크립트 해시에 매칭하는 스크립트 및 스크립트를 참으로 평가하게 하는 데이터를 제공하도록 요구하는 트랜잭션 타입이다. 블록체인 네트워크가 비트코인 네트워크이거나 또는 그 변형인 경우, 이는 P2SH(Pay-to-script-hash) 트랜잭션일 수 있다. 블록체인 네트워크가 비트코인 네트워크 또는 그의 변형이 아닌 경우, 트랜잭션은 다른 (비-비트코인) 블록체인 프로토콜에 따라 기능적으로 동일한/유사한 트랜잭션 타입일 수 있다.
바람직하게, 표현(r)은 블록체인 스크립트 또는 블록체인 스크립팅 언어로 기록된 코드의 일부/스니펫(snippet), 텍스트 파일, 스마트 계약, 이미지, 및/또는 적어도 하나의 규칙이 액세스될 수 있는 위치에 대한 참조 또는 이의 식별자이다.
바람직하게, 적어도 하나의 규칙은 블록체인 네트워크를 통해 후속 전송이 어떻게 또는 누구에게 이루어질 수 있는지에 관련된다.
바람직하게, 적어도 하나의 규칙의 표현(r)은 불완전한 블록체인 트랜잭션의 일부로 수신자에게 제공되거나, 또는 블록체인 스크립팅 코드의 스니펫으로서 제공된다.
바람직하게, 스크립트 주소는 블록체인 트랜잭션의 일부로서 제공된다.
바람직하게, 방법은 블록체인 네트워크에 트랜잭션을 제출하는 단계를 더 포함한다.
바람직하게, 적어도 하나의 규칙은 블록체인에서 자산을 잠금 해제하기 위해 제공되어야 하는 암호화 서명을 지정한다.
본 개시는 또한,
프로세서; 및
프로세서에 의한 실행의 결과로서, 시스템이 본원에서 설명된 컴퓨터-구현된 방법의 임의의 실시예를 수행하게 하는 실행가능 명령어를 포함하는 메모리를 포함하는 컴퓨터-구현된 시스템을 제공한다.
본 개시는 또한, 컴퓨터 시스템의 프로세서에 의한 실행의 결과로서, 컴퓨터 시스템이 본원에서 설명되는 본 발명의 실시예를 적어도 수행하게 하는 실행가능 명령어를 저장하는 비일시적 컴퓨터 판독 가능 저장 매체를 제공한다.
본 발명의 이들 및 다른 양상은 본원에 설명된 실시예로부터 명백할 것이고, 이를 참조하여 설명될 것이다. 이제, 본 개시의 실시예가 첨부 도면을 참조하여 단지 예시로서만 설명될 것이다:
도 1은 하이 레벨(high level)에서, 본 개시의 실시예를 도시하는 흐름도를 도시한다.
도 2는 다양한 실시예가 구현될 수 있는 컴퓨팅 환경을 도시하는 개략도이다.
본 개시의 실시예는 블록체인 네트워크를 통해 전자 전송을 제어하기 위한 새롭고 유리한 메커니즘을 제공한다. 전통적으로 블록체인 네트워크를 통한 후속 트랜잭션을 통해 이루어지는 이후의("다운스트림") 교환에 제약을 두거나 이를 강제하거나, 이에 영향을 미치거나 또는 이를 제어하는 것은 불가능한 것으로 유지되어 왔다. 예를 들어, Alice가 블록체인 트랜잭션을 통해 Bob에게 전송을 하는 경우, Alice는 전통적으로 Bob(또는 전송의 체인의 더 아래의 다른 수신자)이 이후에 하는 전송(들)을 지시하거나 또는 제어할 수 없다고 간주된다. Bob이 Alice로부터 전송된 자산(들)을 수신하면, 그는 그가 선택한 대로 자유롭게 행동할 수 있다. 이는 사용자가 특정 방식으로 그의 통신을 라우팅하거나 또는 어떻게 및/또는 누가 그의 전자 자산, 데이터 및 통신의 전송을 처리하는 지에 대한 제약을 두기를 원하는 것이 드문 일이 아니기 때문에 다수의 상황에서 바람직하지 않다.
본 개시는 당사자가 이후의 송신의 영향을 위해 초기 전송에 조건, 제약 및 규칙을 주입할 수 있는 암호로 강제되는 메커니즘을 제공함으로써 이 문제를 해결한다. 이는 안전하고 불변하고 가시적이며 추적 가능한 조건이 블록체인 네트워크를 통해 아직 수행되지 않은 향후 동작과 연관되는 것을 가능하게 하는 수학적으로 강제되는 제어 기술을 통해 이를 행한다.
실시예의 상세한 예시를 제공하기 전에, 우리는 단지 기술적 배경에 의해서만 본 개시에 의해 이롭도록 사용되는 알려진 기술 중 일부의 간략한 내용을 제공한다.
P2SH(Pay-To-Script-Hash)
공개 키의 해시에 대한 지불을 가능하게 하는 비트코인 프로토콜 내의 표준 블록체인 트랜잭션과 달리, P2SH 트랜잭션은 전송자가 스크립트의 해시에 대해 지불하는 것을 허용한다. 전통적인 트랜잭션에서, 출력은 소비 시도가 있을 때 TRUE로 평가되어야 하는 (잠금) 스크립트를 포함한다. 잠금 스크립트는 연관된 출력을 잠금 해제하기 위해 누가 서명해야 하는 지를 지정할 것이다. 다른 한편으로, P2SH 트랜잭션의 경우, 출력은 스크립트 그 자체를 포함하지 않고 잠금 스크립트의 해시만을 포함한다. 따라서 P2SH 주소는 해시된 스크립트를 포함하고, 3으로 시작하기 때문에(한편, 공개 키 해시 주소는 1로 시작함) 식별될 수 있다.
자금의 예정 수신자(would-be recipient)가 소비되지 않은 출력(UTXO)의 잠금 스크립트에서 지정된 공개 키에 매칭하는 서명을 제공하는 것을 요구하는 것 대신에, P2SH 트랜잭션은 수신자가 잠금 스크립트에서의 동일한 해시에 해시하는 스크립트(상환 스크립트로 알려지고, 본원에서 R로 지칭됨)를 공급하고, 잠금 스크립트에서 설정된 임의의 조건을 충족시키도록 요구되는 데이터를 또한 공급하도록 요구하여, 데이터는 스크립트가 TRUE로 평가되게 할 것이다. 상환 스크립트 해시가 매칭하고, UTXO의 잠금 스크립트의 TRUE 평가를 가능하게 하기 위해 올바른 데이터가 제공되는 경우, 출력과 연관된 자금이 잠금 해제되고 제어가 수신자에게 전송된다. 상이한 (비-비트코인 기반의) 블록체인 프로토콜을 사용하여 구현되는 본 개시의 실시예에 따라, 트랜잭션 타입은 "P2SH"가 아닌 다른 것으로 불릴 수 있다는 것이 유의되어야 한다. 하지만, 기능은 트랜잭션의 잠긴 자금의 예정 수신자가 해시될 때 트랜잭션 출력의 잠금 스크립트에 제공된 해시에 매칭하는 스크립트를 제공해야 한다는 점에서 본질적으로 동일할 수 있다. 그러나 참조의 편의를 위해, "P2SH"란 용어는 이 기능/특성을 갖는 이러한 트랜잭션 타입을 지칭하는데 사용할 것이다.
스마트 계약
스마트 계약은 기계 판독가능 계약 또는 협의의 조건의 실행을 자동화하도록 설계된 컴퓨터 프로그램이다. 자연어로 기록될 전통적인 계약과 달리, 스마트 계약은 결과를 생성하기 위해 입력을 처리할 수 있는 규칙을 포함하고, 동작이 이들 결과에 의존하여 수행되게 할 수 있는 기계 판독가능 및 실행가능 프로그램이다.
본 개시의 개요를 제공하는 예시적인 실시예
Alice가 블록체인 상의 일정량의 암호 화폐 또는 토큰화된 자산 또는 다른 리소스를 소유한다고 가정한다. 그녀는 그녀의 자산이 전송되거나 및/또는 액세스되는 약정(terms)을 지정하는 조건 또는 규칙 r의 세트를 생성한다. 규칙의 세트는 비트코인 스크립팅 언어, 스크립트, 비트코인 관련 구현 또는 상이한 블록체인 프로토콜이 사용되는 경우 가능한 일부 다른 언어로 공식화된다.
Alice는 그녀의 자산을 Bob에게 전송하고 Bob이 또한, 그가 블록체인 상에서 자산을 잠금 해제할 때 이들 규칙을 따르도록 보장하고 싶을 것이다. 예를 들어, 규칙(들) r은 Eve의 서명이 또한 제공되는 경우에만 그녀의 자산이 잠금 해제될 수 있게 하는 것일 수 있다. 비트코인 스크립트에서 이 조건은 다음과 같이 표현될 것이다:
Figure pct00001
여기서 PE는 Eve의 공개 키이다. 이 스크립트는 다음의 입력을 제공받는 경우에만 TRUE로 평가될 것이다
Figure pct00002
이제 다음 시나리오를 고려한다:
Figure pct00003
Alice는 그녀 자신으로부터의 제1 트랜잭션 tx 1 상의 규칙 r을 Bob에게 부과한다.
Alice는 Bob으로부터 Charlie로의 다음 트랜잭션이 또한 동일한 규칙을 따르도록 부과할 수 있다. 즉, tx 1 로부터의 출력 UTXO 1 의 소비는 출력 UTXO 0 의 소비와 동일한 규칙 r에 종속된다. 이는 다음과 같이 행해진다.
1. Alice는 규칙 r의 세트를 Bob에게 전송한다. 규칙은 예를 들어, 위의 (1)로 도시된 블록체인 스크립트 스니펫으로서 표현된다는 것을 상기한다.
2. Bob은 그 자신의 규칙 예를 들어, 그 자신의 서명의 요건과 함께 규칙 r을 포함하는 상환 스크립트 R을 생성한다.
Figure pct00004
3. Bob은 상환 스크립트 R B 를 기초로 P2SH(Pay to Script Hash) 주소 P 1 을 생성한다.
4. Bob은 그의 P2SH 주소 P 1 을 상환 스크립트 R B 와 함께 Alice에게 전송한다.
5. Alice는 Bob의 P2SH 주소 P 1 이 상환 스크립트 R B 의 해시에 대응하는지를 검사한다.
Alice는 이제, 그녀가 Bob의 P2SH 주소로 잠겨있는 트랜잭션 tx 1 을 생성할 때 규칙 r에 종속될 것이라는 것을 확신할 수 있다. Bob이 추가적인 트랜잭션 tx 2 를 생성함으로써 자산을 잠금 해제하기 위해, 규칙 r은 Bob의 잠금 해제 스크립트에서 충족되어야 하며, 그렇지 않으면 결과는 FALSE일 것이고, 출력은 잠금 해제되지 않을 것이다.
사용중인 발명의 단계별(Step-through) 예시
독자의 이해의 용이함을 위해, 우리는 이제 도 1을 참조하여 사용될 수 있는 본 발명의 예시적인 실시예의 더 상세한 단계별 예시를 제공한다.
단계 101에서, 복수의 당사자 예를 들어, Alice 및 Bob은 (이하에서 "규칙" r로 간단하게 지칭될) 조건, 규칙 또는 기준의 세트에 의해 관리되는 동작의 과정을 결정한다. 이는 블록체인 상에서 보유된 암호화폐 또는 토큰의 전송, 또는 일부 장치, 상품 또는 서비스 등의 구매/대여/제공과 같은 임의의 타입의 동작일 수 있다. 유사하게, 조건은 동작 - 예를 들어, Alice가 지정된 이벤트의 확인 시 블록체인 상의 토큰화된 엔티티를 Bob에게 전송하는 것 - 의 수행에 대한 임의의 제약일 수 있다.
Alice(또는 일부 다른 당사자)는 규칙 r의 표현을 생성한다. 표현은 텍스트 파일, 픽처, 사운드 파일, 스크립트 등과 같은 임의의 형식을 취할 수 있다. 이는 본질적으로, 합의된 동작, 및 이들 동작의 성능을 관리하는 조건/규칙/기준에 대한 레코드이다. 일부 실시예에서, 이는 통상의 기술자에게 알려지고 위에서 설명된 바와 같이, 스마트 계약일 수 있다. 바람직한 실시예에서, 조건은 비트코인 스크립팅 언어 스크립트 또는 일부 다른 블록체인 호환 가능 및 실행 가능한 언어로 표현된다. 그러므로, r은 (블록체인 스크립팅) 코드의 일부 또는 스니펫일 수 있다.
단계 102에서, Bob은 상환 스크립트 R을 생성하기 위해 Alice의 스크립트 스니펫 r을 사용한다. 따라서, 상환 스크립트 R은 규칙 r을 포함한다. Bob은 또한, 그 자신의 일부 추가적인 규칙을 포함할 수 있다.
단계 103에서, Bob은 그가 그의 P2SH 주소로 사용할 수 있는 해시 H(R)를 생성하기 위해 상환 스크립트 R을 사용한다.
단계 104에서, Bob은 그의 P2SH 주소 및 상환 스크립트 R을 Alice에게 전송한다. 이는 임의의 적합한 방식으로 수행될 수 있다. 그 후, Alice는 상환 스크립트 R이 그녀의 규칙 r을 포함하고 있음을 확신할 수 있다.
단계 105 및 106에서, Alice는 Bob에 의해 공급된 P2SH가 Bob의 상환 스크립트의 해시인지 검사한다. 이는 빠르고 계산적으로 간단한 프로세스이다. 이들이 매칭하지 않으면, Alice는 트랜잭션을 종료하거나 이를 쿼리하도록 선택할 수 있다. 하지만, 이들이 매칭하는 경우, 그녀는 그녀의 규칙이 포함되었고 강제될 것이라는 지식으로 진행할 수 있으며, 따라서 단계 107에서 그녀는 유효성 검증을 위한 및 블록으로 채굴될, 네트워크로 전송하는 블록체인 트랜잭션 TX0을 생성한다.
단계 108에서, Bob이 TX0에서 Alice에 의해 잠긴 자산에 액세스하기를 원할 때, 그는 자산을 릴리즈(release)하기 위해, 요구된 상환 스크립트 R을 TX0의 잠금 스크립트에 제공할 출력(UTXO)을 포함하는 소비 트랜잭션 TX1을 생성한다. 그렇게 되도록 하기 위해, 스니펫 r은 TRUE로 평가되어야 하고, 이는 Alice에 의해 원래 지정된 규칙 r이 강제되었음을 보장한다.
대안적인 실시예에서, 위의 프로세스는 불완전한 부분 트랜잭션을 생성함으로써 수행될 수 있다. 이는 Alice가 스니펫 r을 부분적으로 완전한 P2SH 트랜잭션 TX0의 잠금 스크립트에 삽입함으로써 행해질 수 있다. 잠금 스크립트는 TX0의 소비되지 않은 출력 UTXO와 연관되고, UTXO가 추가적인 후속 트랜잭션 TX1에 의해 어떻게 잠금 해제될 수 있는지를 결정한다. TX0은 아직 P2SH 주소를 포함하지 않기 때문에 불완전하다. 이는 Bob에 의해 공급될 것이다.
단계 103에 따라, (스니펫 r을 포함하는) 부분 트랜잭션 TX0이 Bob에게 전달된다. 이는 다양한 방식으로 달성될 수 있다. Bob은 r에서의 규칙이 Alice 및 Bob이 단계 101에서 협의한 규칙과 매칭하는지를 검사할 수 있다.
단계 103에 따라, Bob은 규칙 r을 포함하는 상환 스크립트 R을 생성하고 그 후, 그의 P2SH 주소를 생성하기 위한 R의 해시를 생성한다. 단계 104에서, Bob의 상환 스크립트 R은 P2SH와 함께 Bob이 그의 P2SH 주소를 트랜잭션 TX0에 삽입하고 이를 Alice에게 다시 전송함으로써 Alice에게 전달된다. R은 임의의 적합한 방법을 통해 전송될 수 있다. TX0의 Bob의 업데이트 버전으로부터, Alice는 그가 공급한 P2SH 주소가 규칙 r을 포함하는 상환 스크립트 R의 해시와 매칭하는지를 검사할 수 있다.
단계 107에서, Alice는 위와 같이 블록체인 네트워크에 TX0을 제출한다. 이는 알려진 기술에 따라 유효성 검증되고, 블록으로 채굴된다. Bob은 물론, TX0에서 UTXO를 소비하기를 원하며, 따라서 단계 108에서 이를 잠금 해제해야 한다. UTXO를 잠금 해제하기 위해, 그는 UTXO의 상환 스크립트에 대해 필요한 해시를 제공해야 하며, 따라서 그는 TX1의 잠금 해제 스크립트를 포함하는 소비 트랜잭션 TX1을 생성한다. 그 후, TX1은 블록체인 상에 배치되고 유효성 검증되고 채굴되어, 해시가 TX0에서의 상환 스크립트에 제시될 것이고 출력이 잠금 해제될 것이고 자산(예를 들어, 암호 화폐, 토큰 등의 일부)의 전송이 발생한다. 이제 Bob이 자산을 소유하고 있다.
따라서, 본 발명은 기술분야 내에서 이전에 해결하지 못할 것으로 간주되었던 문제에 대한 해결책을 제공하고, 수학적 및 암호화 기술의 사용을 통해 블록체인 네트워크에서 당사자 간의 후속 전송을 제어하고, 강제하고 및 제약을 두는 것을 가능하게 한다.
이제 도 2를 참조하면, 본 개시의 적어도 하나의 실시예를 실시하는 데 사용될 수 있는 컴퓨팅 디바이스(2600)의 예시적이고 단순화된 블록도가 제공된다. 다양한 실시예에서, 컴퓨팅 디바이스(2600)는 위에서 예시되고 설명된 시스템 중 임의의 것을 구현하는데 사용될 수 있다. 예를 들어, 컴퓨팅 디바이스(2600)는 데이터 서버, 웹 서버, 휴대용 컴퓨팅 디바이스, 개인용 컴퓨터, 또는 임의의 전자 컴퓨팅 디바이스로서 사용하도록 구성될 수 있다. 도 2에 도시된 바와 같이, 컴퓨팅 디바이스(2600)는 메인 메모리(2608) 및 영구 저장소(2610)를 포함하는 저장소 서브시스템(2606)과 통신하도록 구성될 수 있는 하나 이상의 수준의 캐시 메모리 및 메모리 제어기를 갖는 하나 이상의 프로세서(집합적으로 2602로 라벨링 됨)를 포함할 수 있다. 메인 메모리(2608)는 도시된 바와 같이 동적 랜덤 액세스 메모리(DRAM, 2618) 및 판독 전용 메모리(ROM, 2620)를 포함할 수 있다. 저장소 서브시스템(2606) 및 캐시 메모리(2602)는 본 개시에서 설명된 바와 같은 트랜잭션 및 블록과 연관된 세부사항과 같은, 정보의 저장을 위해 사용될 수 있다. 프로세서(들)(2602)는 본 개시에서 설명된 임의의 실시예의 단계 또는 기능을 제공하기 위해 이용될 수 있다.
프로세서(들)(2602)는 또한, 하나 이상의 사용자 인터페이스 입력 디바이스(2612), 하나 이상의 사용자 인터페이스 출력 디바이스(2614) 및 네트워크 인터페이스 서브 시스템(2616)과 통신할 수 있다.
버스 서브시스템(2604)은 컴퓨팅 디바이스(2600)의 다양한 구성요소 및 서브시스템이 의도된 대로 서로 통신할 수 있게 하는 메커니즘을 제공할 수 있다. 버스 서브시스템(2604)이 단일의 버스로서 개략적으로 도시되었지만, 버스 서브시스템의 대안적인 실시예는 다수의 버스를 이용할 수 있다.
네트워크 인터페이스 서브시스템(2616)은 다른 컴퓨팅 디바이스 및 네트워크에 대한 인터페이스를 제공할 수 있다. 네트워크 인터페이스 서브시스템(2616)은 컴퓨팅 디바이스(2600)로부터 다른 시스템으로부터 데이터를 수신하고 이로 데이터를 송신하기 위한 인터페이스로서 기능할 수 있다. 예를 들어, 네트워크 인터페이스 서브시스템(2616)은 데이터 기술자가 데이터 센터와 같은 원격 위치에 있는 디바이스로 데이터를 송신하거나 또는 그 디바이스로부터 데이터를 수신할 수 있도록, 데이터 기술자가 디바이스를 네트워크에 연결하게 할 수 있다.
사용자 인터페이스 입력 디바이스(2612)는 키보드; 통합형 마우스, 트랙볼, 터치패드, 또는 그래픽스 태블릿과 같은 포인팅 디바이스; 스캐너; 바코드 스캐너; 디스플레이에 포함되는 터치 스크린; 음성 인식 시스템, 마이크로폰과 같은 오디오 입력 디바이스; 및 다른 타입의 입력 디바이스와 같은 하나 이상의 사용자 입력 디바이스를 포함할 수 있다. 일반적으로, "입력 디바이스"라는 용어의 사용은 컴퓨팅 디바이스(2600)에 정보를 입력하기 위한 가능한 모든 타입의 디바이스 및 메커니즘을 포함하는 것으로 의도된다.
하나 이상의 사용자 인터페이스 출력 디바이스(2614)는 디스플레이 서브시스템, 프린터, 또는 오디오 출력 디바이스와 같은 비-시각적 디스플레이 등을 포함할 수 있다. 디스플레이 서브시스템은 CRT(cathode ray tube), 또는 LCD(liquid crystal display), LED(light emitting diode) 디스플레이, 또는 프로젝션과 같은 플랫-패널 디바이스 또는 다른 디스플레이 디바이스일 수 있다. 일반적으로, "출력 디바이스"라는 용어의 사용은 컴퓨팅 디바이스(2600)로부터 정보를 출력하기 위한 가능한 모든 타입의 디바이스 및 메커니즘을 포함하는 것으로 의도된다. 하나 이상의 사용자 인터페이스 출력 디바이스(2614)는, 예를 들어, 이러한 상호작용이 적절할 수 있을 때, 설명된 프로세스 및 그 변형을 수행하는 애플리케이션과의 사용자 상호작용을 용이하게 하기 위해 사용자 인터페이스를 제시하는 데 사용될 수 있다.
저장소 서브시스템(2606)은 본 개시의 적어도 하나의 실시예의 기능을 제공할 수 있는 기본 프로그래밍 및 데이터 구조를 저장하기 위한 컴퓨터 판독가능 저장 매체를 제공할 수 있다. 하나 이상의 프로세서에 의해 실행될 때, 애플리케이션(프로그램, 코드 모듈, 명령어)은 본 개시의 하나 이상의 실시예의 기능을 제공할 수 있고, 저장소 서브시스템(2606)에 저장될 수 있다. 이들 애플리케이션 모듈 또는 명령어는 하나 이상의 프로세서(2602)에 의해 실행될 수 있다. 저장소 서브시스템(2606)은 본 개시에 따라 사용되는 데이터를 저장하기 위한 보관소를 추가적으로 제공할 수 있다. 예를 들어, 메인 메모리(2608) 및 캐시 메모리(2602)는 프로그램 및 데이터를 위한 휘발성 저장소를 제공할 수 있다. 영구 저장소(2610)는 프로그램 및 데이터에 대한 영구적인(비-휘발성) 저장소를 제공할 수 있고, 플래시 메모리, 하나 이상의 솔리드 스테이트 드라이브, 하나 이상의 자기 하드 드라이브(magnetic hard disk drives), 연관된 이동식 매체를 갖는 하나 이상의 플로피 디스크 드라이브, 연관된 이동식 매체를 갖는 하나 이상의 광학 드라이브(예를 들어, CD-ROM 또는 DVD 또는 블루-레이) 드라이브 및 다른 유사한 저장 매체를 포함할 수 있다. 이러한 프로그램 및 데이터는 본 개시에서 설명된 하나 이상의 실시예의 단계를 수행하기 위한 프로그램뿐만 아니라, 본 개시에서 설명된 트랜잭션 및 블록과 연관된 데이터를 포함할 수 있다.
컴퓨팅 디바이스(2600)는 휴대용 컴퓨터 디바이스, 태블릿 컴퓨터, 워크스테이션, 또는 아래에서 설명되는 임의의 다른 디바이스를 포함하는 다양한 타입일 수 있다. 추가적으로, 컴퓨팅 디바이스(2600)는 하나 이상의 포트(예를 들어, USB, 헤드폰 잭, 라이트닝(Lightning) 커넥터 등)를 통해 컴퓨팅 디바이스(2600)에 연결될 수 있는 다른 디바이스를 포함할 수 있다. 컴퓨팅 디바이스(2600)에 연결될 수 있는 디바이스는 광섬유 커넥터를 수용하도록 구성되는 복수의 포트를 포함할 수 있다. 따라서, 이 디바이스는 광 신호를, 처리를 위해 디바이스를 컴퓨팅 디바이스(2600)에 연결하는 포트를 통해 송신될 수 있는 전기 신호로 변환하도록 구성될 수 있다. 컴퓨터 및 네트워크의 계속 변하는 성질에 기인하여, 도 2에 도시된 컴퓨팅 디바이스(2600)의 설명은 디바이스의 바람직한 실시예를 예시할 목적으로 특정 예시로서만 의도된다. 도 2에 도시된 시스템보다 더 많거나 적은 구성요소를 갖는 다수의 다른 구성이 가능하다.
전술한 실시예는 본 발명을 제한하는 것이 아니라 예시하는 것이고, 통상의 기술자는 첨부된 청구범위에 의해 정의된 본 발명의 범주를 벗어나지 않으면서, 다수의 대안적인 실시예를 설계할 수 있음이 유의되어야 한다. 청구범위에서, 괄호안에 있는 임의의 참조 부호는 청구범위를 제한하는 것으로 해석되어서는 안된다. "포함하는" 및 "포함한다" 등의 단어는 임의의 청구범위 또는 명세서 전체에 열거된 것 이외의 요소 또는 단계의 존재를 배제하지 않는다. 본 명세서에서, "포함한다"는 "포함하거나 구성된다"를 의미하고, "포함하는"은 "포함하거나 구성되는"을 의미한다. 요소의 단수형 참조는 이러한 요소의 복수형의 참조를 배제하지 않으며, 그 역으로도 그러하다. 본 발명은 수개의 개별적인 요소를 포함하는 하드웨어에 의해, 그리고 적합하게 프로그래밍된 컴퓨터에 의해 구현될 수 있다. 수개의 수단을 나열하는 디바이스 청구항에서, 이들 수단 중 몇몇은 하나의 동일한 하드웨어의 항목에 의해 구현될 수 있다. 특정 측정치가 서로 상이한 종속 항에서 인용된다는 단순한 사실만으로 이들 측정치의 조합이 유리하도록 사용될 수 없음을 나타내지 않는다.

Claims (13)

  1. 컴퓨터-구현된 방법으로서,
    블록체인 네트워크를 통해 행해질 전송에 관련된 적어도 하나의 규칙의 표현(r)을 생성하는 단계;
    상기 표현(r)을 포함하는 상환(redeem) 스크립트(R); 및 상기 상환 스크립트(R)의 해시(HR)를 포함하는 스크립트 주소를 생성하는 단계;
    상기 상환 스크립트(R)의 해시(H)를 상기 스크립트 주소와 비교하는 단계; 및
    상기 해시(H)가 상기 스크립트 주소에 매칭하는 경우, 블록체인 트랜잭션(TX0)의 출력과 연관된 잠금 스크립트에서 상기 스크립트 주소를 사용하는 단계를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 트랜잭션(TX0)의 상기 잠금 스크립트를 잠금 해제하기 위해 상기 스크립트 주소를 사용하도록 배열된 잠금 해제 스크립트를 포함하는 추가적인 블록체인 트랜잭션(TX1)을 생성하는 단계 및/또는 사용하는 단계를 더 포함하는, 방법.
  3. 제1항 또는 제2항에 있어서, 상기 트랜잭션(TX0) 및/또는 상기 추가적인 트랜잭션(TX1)은 비트코인 프로토콜 또는 그의 변형에서의 P2SH(Pay-to-Script-Hash) 트랜잭션 타입, 또는 다른 블록체인 프로토콜에서의 기능적으로 유사한/동등한 트랜잭션 타입인, 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 표현(r)은 블록체인 스크립트 또는 블록체인 스크립팅 언어로 기록된 코드의 일부, 텍스트 파일, 스마트 계약, 이미지, 상기 적어도 하나의 규칙이 액세스될 수 있는 위치에 대한 참조 또는 이의 식별자인, 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 적어도 하나의 규칙은 상기 블록체인 네트워크를 통해 후속 전송이 어떻게 또는 누구에게 이루어질 수 있는지에 관련되는, 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 적어도 하나의 규칙의 상기 표현(r)은 불완전한 블록체인 트랜잭션의 일부로서 수신자에게 제공되거나, 또는 블록체인 스크립팅 코드의 스니펫(snippet)으로서 제공되는, 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서, 상기 스크립트 주소는 블록체인 트랜잭션의 일부로서 제공되는, 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서, 상기 블록체인 네트워크에 상기 트랜잭션을 제출하는 단계를 더 포함하는, 방법.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서, 상기 적어도 하나의 규칙은 상기 블록체인 상의 자산을 잠금 해제하기 위해 제공되어야 하는 암호화 서명을 지정하는, 방법.
  10. 컴퓨터-구현된 방법으로서,
    수신자에게, 블록체인 네트워크를 통해 행해질 전송에 관련된 적어도 하나의 규칙의 표현(r)을 제공하는 단계;
    전송자로부터 상기 표현(r)을 포함하는 상환 스크립트(R); 및 상기 상환 스크립트(R)의 해시(HR)를 포함하는 스크립트 주소를 수신하는 단계;
    상기 상환 스크립트(R)의 해시(H)를 생성하고 이를 상기 스크립트 주소와 비교하는 단계;
    상기 해시(H)가 상기 스크립트 주소와 매칭하는 경우, 블록체인 트랜잭션(TX0)의 출력과 연관된 잠금 스크립트에서의 상기 스크립트 주소를 사용하는 단계를 포함하는, 컴퓨터-구현된 방법.
  11. 컴퓨터-구현된 방법으로서,
    전송자로부터, 블록체인 네트워크를 통해 행해질 전송에 관련된 적어도 하나의 규칙의 표현(r)을 수신하는 단계;
    상기 전송자에게, 상기 표현(r)을 포함하는 상환 스크립트(R); 및 상기 상환 스크립트(R)의 해시(HR)를 포함하는 스크립트 주소를 전송하는 단계;
    상기 스크립트 주소에 잠긴 블록체인 트랜잭션(TX0)의 출력을 잠금 해제하도록 배열된 추가적인 블록체인 트랜잭션(TX1)에서 상기 상환 스크립트(R)를 제공하는 단계를 포함하는, 컴퓨터-구현된 방법.
  12. 컴퓨터-구현된 시스템으로서,
    프로세서; 및
    상기 프로세서에 의한 실행의 결과로서, 상기 시스템이 제1항 내지 제11항 중 어느 한 항에서 청구된 상기 컴퓨터-구현된 방법의 어느 실시예를 수행하게 하는 실행가능 명령어를 포함하는 메모리를 포함하는, 컴퓨터-구현된 시스템.
  13. 비일시적 컴퓨터-판독가능 저장 매체로서, 컴퓨터 시스템의 프로세서에 의한 실행의 결과로서, 상기 컴퓨터 시스템이 제1항 내지 제11항 중 어느 한 항에서 청구된 상기 방법의 실시예를 적어도 수행하게 하는 실행가능 명령어를 저장하는, 비일시적 컴퓨터-판독가능 저장 매체.
KR1020217022972A 2018-12-21 2019-12-17 블록체인을 통해 행해지는 전송의 성능을 제어하거나 강제하기 위한 컴퓨터-구현된 시스템 및 방법 KR20210106532A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1820947.8 2018-12-21
GBGB1820947.8A GB201820947D0 (en) 2018-12-21 2018-12-21 Computer-implemented system and method
PCT/IB2019/060897 WO2020128814A1 (en) 2018-12-21 2019-12-17 Computer-implemented systems and methods for controlling or enforcing performance of transfers conducted over a blockchain

Publications (1)

Publication Number Publication Date
KR20210106532A true KR20210106532A (ko) 2021-08-30

Family

ID=65364369

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217022972A KR20210106532A (ko) 2018-12-21 2019-12-17 블록체인을 통해 행해지는 전송의 성능을 제어하거나 강제하기 위한 컴퓨터-구현된 시스템 및 방법

Country Status (9)

Country Link
US (1) US20220051236A1 (ko)
EP (1) EP3899837A1 (ko)
JP (1) JP2022511971A (ko)
KR (1) KR20210106532A (ko)
CN (1) CN113228075A (ko)
GB (1) GB201820947D0 (ko)
SG (1) SG11202105308UA (ko)
TW (1) TW202105283A (ko)
WO (1) WO2020128814A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11488145B2 (en) * 2020-03-17 2022-11-01 Mastercard International Incorporated Method and system for user-based distributed ledgers
TWI770933B (zh) * 2021-04-09 2022-07-11 重量科技股份有限公司 基於跨鏈架構的身份識別管理方法及身份識別管理系統

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180240107A1 (en) * 2015-03-27 2018-08-23 Black Gold Coin, Inc. Systems and methods for personal identification and verification
CN108885748A (zh) * 2016-02-23 2018-11-23 区块链控股有限公司 用于区块链的加密货币的通用令牌化系统
KR102608099B1 (ko) * 2016-04-11 2023-12-01 엔체인 홀딩스 리미티드 블록체인에서 안전한 피어-투-피어 통신을 위한 방법
US10417217B2 (en) * 2016-08-05 2019-09-17 Chicago Mercantile Exchange Inc. Systems and methods for blockchain rule synchronization
US20180247191A1 (en) * 2017-02-03 2018-08-30 Milestone Entertainment Llc Architectures, systems and methods for program defined entertainment state system, decentralized cryptocurrency system and system with segregated secure functions and public functions
EP3396608A1 (en) * 2017-04-24 2018-10-31 BlockSettle AB Method and system for settling a blockchain transaction
GB201709760D0 (en) * 2017-06-19 2017-08-02 Nchain Holdings Ltd Computer-Implemented system and method
EP3740923B1 (en) * 2018-01-17 2023-07-05 tZERO IP, LLC Multi-approval system using m of n keys to generate a transaction address
CN108305074B (zh) * 2018-01-30 2020-06-02 深圳壹账通智能科技有限公司 交易处理方法、装置、计算机设备和存储介质
US10693637B2 (en) * 2018-03-23 2020-06-23 Belavadi Nagarajaswamy Ramesh System and method for composite-key based blockchain device control
CN108628942B (zh) * 2018-03-27 2020-07-31 深圳市网心科技有限公司 区块链节点设备、分布式数据库的数据读取及写入方法

Also Published As

Publication number Publication date
CN113228075A (zh) 2021-08-06
JP2022511971A (ja) 2022-02-01
SG11202105308UA (en) 2021-07-29
WO2020128814A1 (en) 2020-06-25
TW202105283A (zh) 2021-02-01
US20220051236A1 (en) 2022-02-17
GB201820947D0 (en) 2019-02-06
EP3899837A1 (en) 2021-10-27

Similar Documents

Publication Publication Date Title
TWI705689B (zh) 區塊鏈網路中的資料隔離
RU2745518C2 (ru) Изоляция данных в сети блокчейн
KR20200011949A (ko) 미결정 소스로부터 미결정 데이터를 블록체인 트랜잭션의 잠금 스크립트에 안전하게 제공하는 기법
JP2023029895A (ja) クラウドベースのコンピューティング環境において分散台帳技術のためのインテリジェントな合意、スマートな合意、及び重み付き合意のモデルを実現するシステム、方法、及び装置
US11038685B1 (en) Correcting blockchain transactions with cryptocurrency type mistakes
CN116210200A (zh) 区块链通证
KR20210106532A (ko) 블록체인을 통해 행해지는 전송의 성능을 제어하거나 강제하기 위한 컴퓨터-구현된 시스템 및 방법
US11880839B2 (en) Platform for a plurality of services associated with a blockchain
CN115114372A (zh) 基于区块链的数据处理方法、装置、设备及可读存储介质
US20200364788A1 (en) Computer-implemented systems and methods for enhanced bitcoin wallets
WO2024021785A1 (zh) 一种数字实体的处理方法、装置、设备、介质及程序产品
KR102493093B1 (ko) 블록체인 기반의 내용증명 이메일 서비스 제공 장치 및 방법
US20230093411A1 (en) Synchronising event streams