KR102446978B1 - 블록체인 구현 방법 및 시스템 - Google Patents

블록체인 구현 방법 및 시스템 Download PDF

Info

Publication number
KR102446978B1
KR102446978B1 KR1020197005552A KR20197005552A KR102446978B1 KR 102446978 B1 KR102446978 B1 KR 102446978B1 KR 1020197005552 A KR1020197005552 A KR 1020197005552A KR 20197005552 A KR20197005552 A KR 20197005552A KR 102446978 B1 KR102446978 B1 KR 102446978B1
Authority
KR
South Korea
Prior art keywords
user
transaction
blockchain
asset
output
Prior art date
Application number
KR1020197005552A
Other languages
English (en)
Other versions
KR20190034272A (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 엔체인 홀딩스 리미티드
Priority to KR1020227032567A priority Critical patent/KR102634563B1/ko
Publication of KR20190034272A publication Critical patent/KR20190034272A/ko
Application granted granted Critical
Publication of KR102446978B1 publication Critical patent/KR102446978B1/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/3825Use of electronic signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/22Payment schemes or models
    • G06Q20/223Payment schemes or models based on the use of peer-to-peer networks
    • 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/29Payment schemes or models characterised by micropayments
    • 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/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/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/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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
    • 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q2220/00Business processing using cryptography
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Finance (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Data Mining & Analysis (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Electrotherapy Devices (AREA)
  • Oscillators With Electromechanical Resonators (AREA)
  • Medicines Containing Material From Animals Or Micro-Organisms (AREA)

Abstract

본 발명은 컴퓨터 기반의 전자 원장(ledgers), 특히 "블록체인 (blockchains)"으로 알려진 분산형 원장에 관한 것이다. 본 발명은 비트코인(Bitcoin) 블록체인 및 관련 프로토콜과 함께 사용하기에 적합하지만, 이에 국한되지 않고 다른 블록체인 플랫폼을 사용할 수도 있다. 본 발명은 블록체인으로 제출될 필요가 있는 트랜잭션(TXs)의 수가 크게 감소될 수 있는 소액 결제 채널(micropayment channel)을 실행하기 위한 새롭고 유리한 기술을 제공한다. 초기 트랜잭션 (Tx)은 선택된 트랜잭션이 완료(서명)되고 네트워크에 제출될 때까지 다른 당사자가 보유할 수 있는 하나 이상의 후속 트랜잭션으로 대체될 수 있다. 한 실시예에서, 본 발명은 블록체인을 통해 교환을 수행하는 컴퓨터 구현 방법을 제공하며, 이는 블록체인 네트워크에 자금 제공(funding) 트랜잭션을 제출하는 단계를 포함하며, 여기서 펀딩 트랜잭션은 제 2 사용자로부터 제 1 사용자로 전송될 자산에 관한 토큰화 된 계약을 포함하고; ii) 제1 사용자에 의하여 서명된다. 또한, 이는 제 1 사용자로부터 제 2 사용자에게 하나 이상의 후속 트랜잭션을 전송하는 단계를 포함하고, 여기서 후속 트랜잭션 각각은 펀딩 트랜잭션의 출력을 소비하고 제 1 사용자에 의해 서명된다. 이는 후속 트랜잭션들 중 하나를 블록체인 네트워크에 제출하는 단계를 포함하며, 제출된 트랜잭션은 제2 사용자에 의하여 서명된다.

Description

블록체인 구현 방법 및 시스템
본 발명은 제1 사용자와 제2 사용자 간에, 디지털 자산과 같은 자산을 전송하는 컴퓨터 구현 방법에 관한 것이다. 특히, 이에 한정되는 것은 아니지만, 블록체인 플랫폼 상의 복수의 트랜잭션을 통해 자산 이전 프로세스가 어떻게 실행될지를 결정하기 위한 컴퓨터 구현 제어 메커니즘에 관한 것일 수 있다. 본 발명은 소액 결제 채널(micropayment channel)의 사용을 포함할 수 있다.
본 문서에서 우리는 이 컨텍스트에서 현재 가장 널리 알려진 용어이기 때문에 편의를 위해 '블록체인'이라는 용어를 사용한다. 이 용어는 컨센서스 기반 블록체인, 알트체인(alt-chain), 사이드체인(sidechains) 및 트랜잭션 체인 기술, 허가 및 비인가 원장(ledgers), 개인 및 공용 원장, 공유 원장 및 이들의 변형례를 포함하는, 모든 형태의 전자, 컴퓨터 기반 분산된 원장을 포함하는데 사용된다.
블록체인(blockchain)은 트랜잭션들로 구성된 블록들로 이루어진 컴퓨터 기반의 분산형 분산 시스템으로 구현되는 전자 원장(ledgers)이다. 각 트랜잭션은 적어도 하나의 입력과 적어도 하나의 출력을 포함한다. 각 블록은 이전 블록의 해시를 포함하여 처음부터 블록체인에 기록된 모든 트랜잭션에 대하여 영구적이며 변경 불가능한 기록을 생성하도록 해당 블록들이 함께 연결된다. 트랜잭션의 출력들이 어떻게 명시되고, 어떠한 방법으로 누구에 의하여 액세스되는지, 그들의 입력들 및 출력들로 임베드된 스크립트로 알려진 작은 프로그램들을 트랜잭션이 포함한다. 예를 들어, 출력에 임베드된 스크립트는 트랜잭션의 출력에 액세스하는데 필요한 암호화 서명이 어떠한 것인지를 명시할 수 있다. 비트코인 플랫폼에서 이 스크립트는 스택 기반 스크립팅 언어를 사용하여 기록된다.
트랜잭션을 블록체인에 기록하기 위하여, i) 트랜잭션을 수신하는 제1 노드에 의하여 인증되어야 한다-만약, 트랜잭션이 인증되면, 노드는 네트워크 내 다른 노드로 릴레이한다; 그리고 ii) 채굴자(minor)에 의하여 세워진 새로운 블록에 추가되고; iii) 채굴, 즉 과거 트랜잭션들의 원장에 추가된다.
블록체인 기술에서 가장 널리 알려진 애플리케이션은 비트코인 원장이지만, 다른 블록체인 구현도 제안되고 개발되고 있다. 비트코인은 본 명세서에서 편의상 및 설명을 위해 언급될 수 있지만, 본 발명은 비트코인 블록체인으로 사용하는 것에 한정되지 않으며 다른 블록체인 구현들이 본 발명의 범위 내에 있다.
블록체인 기술은 암호화된 화폐 구현의 용도로 가장 널리 알려져 있다. 그러나, 최근에, 디지털 기업가들은 비트코인이 기반으로 하는 암호화 보안 시스템의 사용과 새로운 시스템을 구현하기 위해 블록체인에 저장될 수 있는 데이터를 모두 탐구하기 시작했다.
현재 관심 있는 연구 분야 중 하나는 "스마트 계약"의 구현을 위해 블록체인을 사용하는 것이다. 이들은 계약 또는 합의 조건의 실행을 자동화하도록 설계된 컴퓨터 프로그램이다. 자연어로 기재된 전통적인 계약과는 달리, 스마트 계약은 결과를 산출하기 위해 입력을 처리할 수 있는 규칙을 포함하는 기계가 실행할 수 있는 프로그램으로, 그 결과들에 따라 수행되어야 하는 액션들이 유발될 수 있다.
블록체인과 관련된 또 다른 관심 영역은 블록체인을 통해 실제 엔터티(entity)를 표현하고 전달하기 위해 '토큰(tokens)'(또는 '유색 코인(coloured coin))을 사용하는 것이다. 잠재적으로 민감하거나 비밀스러운 항목은 식별할 수 없는 의미 또는 값을 가지지 않는, 토큰으로 나타내어질 수 있다. 따라서 토큰은 실제 항목을 참조할 수 있게 해 주는 식별자의 역할을 한다.
블록체인 관련 기술의 또 다른 용도는 "소액 결제 채널(micropayment channels)"과 관련된다. 작성 시, “소액 결체 채널”에 대한 설명은 인터넷(https://bitcoinj.github.io/working-with-micropayments)에서 이용 가능하다. 이것은, 예를 들어 인터넷 접속과 같은 시간 관련 온라인 서비스에 대한 비용을 지불하는 것과 같이, 고객으로부터 상인에게 정기적인 지불이 이루어질 수 있도록 하는데 사용될 수 있습니다. 이러한 소액 결제 채널은 첫 번째로, 고객이 상인에게 지불할 보증금을 나타내는 출력을 가지는 자금 블록체인 트랜잭션을 생성함으로써 동작하고, 지정된 잠금 시간 후에 고객에게 환불되며, 생성된 후에 블록체인에 제출된다. 종래 기술에서, 이 펀딩 트랜잭션은 "환불 트랜잭션(refund transaction)"으로도 알려질 수 있다. 두번째로, “대체할 수 있는” 블록체인 트랜잭션은 상인에 대한 지불을 나타내는 출력을 가지는 것으로 생성된다. 이 대체할 수 있는 트랜잭션(replaceable transaction)은 이전 트랜잭션의 사본이지만 고객에게 적게 환불된다. 이러한 프로세스는 반복될 수 있으며, 대체할 수 있는 트랜잭션은 상인에게 지불하는 금액을 증가시키도록 주기적으로 갱신된다. 상인은 최종 트랜잭션이 지불을 상환하기 위하여 블록체인에 제출될 때까지만 대체할 수 있는 트랜잭션을 유지한다. 이에 따라, 블록체인에서의 불필요한 데이터 처리 및 불필요한 메모리 점유를 최소화한다. 대체할 수 있는 트랜잭션은 클라이언트에 의하여 제공된 이전 트랜잭션을 대체하기 때문에 이 이름이 주어진다. 펀딩 및 대체할 수 있는 트랜잭션들은 종래 기술에서 블록체인으로 이루어진 일반적인 사용을 가능하게 하는 것으로 알려진 일반적인 블록체인 트랜잭션이다.
공지의 단방향 소액 결제 채널의 예가 도 1에 도시되어 있다.
도 1을 참조하면, 고객이 인터넷 접속과 같은 온라인의, 시간에 의존하는 디지털 자산을 상인에게 지불할 수 있도록 하는 소액 결제 채널이 단계 S1으로 시작된다. 이는 계약이 어떻게 수행되는지에 관한 세부 사항, 예를 들어 보증금 규모, 지불 금액 및 지불 주기를 정의하는 암시적/명시적 계약에 관하여 고객과 상인이 동의하는 것이다. 소액 결제 채널은 상인으로부터 고객으로가 아닌, 고객으로부터 상인으로 블록체인을 통해 자산이 (지불의 형태로) 전달되는 점에서, 단방향이다. 그 다음, 펀딩 블록체인 트랜잭션이 단계 S2에서 생성된다. 이 트랜잭션은 고객에 의한 자금의 예치(deposit)를 나타내는 제1 입력, 그리고 전체 예치금이 고객 및 상인의 서명에 의하여, 또는 잠금시간(locktime) N 후 고객의 서명만에 의하여 상환 가능한 스크립트에 지불되는 방법에 의한 제1 출력을 포함한다. 펀딩 트랜잭션은 단계 S3에서 고객에 의하여 서명되며 블록체인에 제출된다.
고객이 상인에게 지불을 하기 위해, 단계 S4에서 대체할 수 있는 블록체인 트랜잭션이 생성된다. 대체할 수 있는 블록체인 트랜잭션은 펀딩 트랜잭션으로부터 예치금을 사용하는 하나의 입력, 그리고 상인으로 인하여 금액을 지불하는 하나의 출력과 나머지를 고객에게 다시 지불하는 다른 하나의 출력을 포함하는 한 쌍의 출력을 가진다. 대체할 수 있는 트랜잭션은 고객 및 상인의 서명을 통해 잠금 해제될 수 있다. 대체할 수 있는 트랜잭션은 단계 S5에서 고객에 의해 서명된 후 상인에게 전송된다.
상인에 의해 고객에게 제공된 시간에 의존하는 온라인 자산, 예를 들어 인터넷 접속 또는 컨텐츠의 양이 시간과 함께 증가함에 따라, 대체할 수 있는 트랜잭션은 단계 S6에서 상인에게 지불될 수 있는 제1 출력의 금액을 높이고, 고객에게 다시 지불될 수 있는 제2 출력을 줄이도록 갱신된다. 지불을 상환하기 위해, 상인은 단계 S7에서 최종적으로 대체할 수 있는 트랜잭션에 서명하고 서명된 트랜잭션을 블록체인에 제출한다. 반면에, 대체할 수 있는 트랜잭션이 시간 N까지 수신되지 않았다면, 고객은 단계 S8에서 환불 트랜잭션의 출력을 상환할 수 있다. 이 환불 트랜잭션은 펀딩 트랜잭션으로부터의 예치금을 소비하는 하나의 입력과 고객 서명을 제공하는 것에 의하여, 고객에 의해 지정된 주소로 전체 예치금을 지불하는 하나의 출력을 갖는다. 고객은 단계 S9에서 환불 트랜잭션을 서명하고 이를 블록체인으로 제출한다.
이러한 방식은 예치금의 지불을 나타내는 펀딩 트랜잭션이 상인에게 지불 보증을 보장함에도 불구하고, 고객으로부터 상인에게 블록체인을 통해 전달되는 자산이 고객과 상인 사이의 계약으로부터 분리된다는 단점이 있다. 결과적으로, 상인과 고객 간에 충돌이 발생하는 경우, 소액 결제 채널을 종료하기 위한 최신의 대체할 수 있는 트랜잭션을 상환하는 것 외에, 상인이 계약 및 관련된 블록체인 트랜잭션 간에 필수적인 상관 관계를 입증하거나, 온라인 서비스의 공급에 관한 조건을 내포하거나, 고객에 의하여 승인되지 않은 활동에 대한 절차를 취하는 것이 어려울 수 있다.
국제공개공보 WO 제2015/171580호(2015.11.12)
본 발명의 바람직한 실시예는 종래 기술의 상기 단점들 중 하나 또는 그 이상을 극복하고자 한다.
본 발명은 첨부된 청구항에 기재된 바와 같은 컴퓨터 구현 방법 및 이에 대응하는 시스템을 제공할 수 있다.
본 발명은 토큰화 방법/시스템으로 설명될 수 있다. 이는 블록체인을 통해서, 한 당사자에서 다른 당사자에게 전송되는 자산 및/또는 자산의 전송을 정의하는 계약을 나타내는 토큰 또는 유색 코인의 용도를 포함할 수 있다. 이 자산은 "전송 자산(transfer asset)"이라고 할 수 있다. 자산의 전송은 기계 실행 가능한(machine-executable) 스마트 계약에서 정의되거나 상세화될 수 있다.
부가적으로 또는 대안으로, 본 발명은 블록체인을 통해 소액 결제 채널을 구현 및/또는 실행하기 위한 방법/시스템으로 설명될 수 있다.
부가적으로 또는 대안으로, 본 발명은 제어 방법/시스템으로 설명될 수 있다. 이는 한 당사자(사용자)로부터 다른 당사자에게 전송되는 자산의 제공을 제어할 수 있다. 부가적으로 또는 대안으로, 이는 본 발명의 사용자 간 전송 자산의 전송 및/또는 교환을 제어할 수 있다. 사용자는 "당사자(parties)" 또는 "참가자(participants)"로 지칭될 수 있다. 이들은 "자산 수신자 또는 수령인" 및 이에 대응하는 "자산 제공자(asset provider)"로 지칭될 수 있다.
전송 자산은 디지털, 물리적, 전자 또는 추상 자산의 어느 유형이 될 수 있다. 이는 서비스 또는 물건일 수 있다.
본 발명의 방법은 제1 사용자와 제2 사용자 간 (전송) 자산을 전송하는 단계를 포함할 수 있다.
이 방법은 블록체인을 통해 자산의 전송을 가능하게 하거나 촉진할 수 있다. 이는 비트코인 블록체인일 수도 있고, 아닐 수도 있다.
표현의 한 형태에 따라, 본 발명은 컴퓨터 구현 방법을 제공할 수 있다. 본 방법은 블록체인 상에 소액 결제 채널을 구현 및/또는 실행하는 방법일 수 있다. 부가적으로 또는 대안으로, 본 방법은 블록체인을 통해 교환 또는 트랜잭션을 수행하는 방법일 수 있다. 이는 블록체인으로 트랜잭션의 제출을 제어하는 방법일 수 있다.
본 방법은 다음 단계들을 포함할 수 있다:
상기 블록체인 네트워크에 펀딩(funding) 트랜잭션을 제출하는 단계, 여기서 펀딩 트랜잭션은
ⅰ) 제2 사용자로부터 제1 사용자로 전송될 자산에 관한 토큰화된 계약을 포함하고;
ii) 제1 사용자에 의하여 서명된다;
상기 제1 사용자로부터 상기 제2 사용자에게 하나 이상의 후속 트랜잭션을 전송하는 단계,
여기서, 상기 후속 트랜잭션 각각은 펀딩 트랜잭션의 출력을 소비하고 제1 사용자에 의해 서명된다; 그리고
후속 트랜잭션들 중 하나를 블록체인 네트워크에 제출하는 단계, 여기서, 제출된 트랜잭션은 상기 제2 사용자에 의하여 서명된다.
생성된 후속 트랜잭션은 복수 개일 수 있다. 이들은 연속적으로 생성될 수 있다. 펀딩 트랜잭션 및/또는 후속 트랜잭션(들)은 일부 가치/자산/자금(예: BTC)을 제1 사용자에게 전송하는 출력(TxO)을 포함할 수 있다. 각 후속 트랜잭션은 제1 사용자에게 더 낮은 가치/자금/자산을 지불할 수 있다.
"토큰화된 계약"은 계약 또는 그의 위치를 나타내는 토큰(유색 동전이라고도 함)일 수 있다. 계약은 기계 실행 가능한 스마트 계약일 수 있다. 스마트 계약은 자산 제공자에 의해 생성될 수 있다. 토큰은 스크립트 내에서 제공될 수 있다. 이는 스크립트의 메타 데이터 내에서 제공될 수 있다. 스크립트는 블록체인 트랜잭션의 잠금 스크립트에서 제공될 수 있다.
계약은 제2 사용자(자산 제공자)에 의해 생성될 수 있다. 따라서, 하나 이상의 실시예에서, 본 발명은 스마트 계약, 토큰 및 소액 지불 채널을 포함하는 여러 기술의 새로운 조합을 제공할 수 있다.
대안적인 표현에 따르면, 본 방법은 다음 단계들을 포함 할 수 있다:-
상기 제2 사용자로부터 상기 제1 사용자에게 전송할 수 있는 각각의 제1 자산을 나타내는 적어도 하나의 제1 입력과 상기 제1 사용자의 암호화 서명 및 상기 제2 사용자의 암호화 서명을 제공함으로써 상환 가능한 각각의 제 2 자산을 나타내는 적어도 하나의 제2 출력을 포함하는 제1 블록체인 트랜잭션을 생성하는 단계;
상기 제2 자산 각각을 나타내는 적어도 하나의 제2 입력과 상기 제1 사용자로부터 상기 제2 사용자에게 전송할 수 있는 각각의 제3 자산을 나타내는 적어도 하나의 제2 출력을 포함하는 제2 블록체인 트랜잭션을 생성하는 단계, 여기서 상기 제3 자산은 상기 제1 자산 각각과 교환되며, 상기 제2 자산은 상기 제1 사용자의 암호화 서명 및 상기 제2 사용자의 암호화 서명을 제공함으로써 상환 가능하다; 그리고
상기 제3 자산의 값을 갱신하기 위해 상기 제2 블록체인 트랜잭션의 생성을 반복하는 단계를 포함한다.
각각의 제1 자산을 나타내는 적어도 하나의 제1 입력을 포함하는 제1 블록체인 트랜잭션을 생성함으로써, 제1 자산과 관련된 데이터가 제1 트랜잭션에 포함될 수 있다. 예를 들어, 제1 블록체인 트랜잭션은 제1 및 제2 사용자 간의 합의에 대한 변경 불가능한 기록을 제공할 수 있으며, 이는 특정 상황이 발생할 경우 액션을 유발할 수 있는 날짜를 포함할 수 있다. 예를 들어, 스마트 계약 또는 제어 데이터는 특정 당사자에 대한 지불과 같은, 제 1 사용자에 의한 공인되지 않은 활동이 발생한 경우 소정의 액션을 일으킬 수 있다.
제2 블록체인 트랜잭션은 상기 제1 자산 각각을 나타내는 적어도 하나의 제3 출력을 가질 수 있다.
이에 따라, 제1 자산은, 예를 들어 재사용을 위하여 제2 사용자에게 반환되기 위하여 사용된 후 다른 당사자에게 전송될 수 있다. 이에 따라, 첫 번째 자산이 불필요하게 메모리를 차지하거나 블록체인에서 처리 능력을 차지하는 것을 방지할 수 있다.
적어도 하나의 상기 제1 입력은 제3 블록체인 트랜잭션을 생성하기 위한 제어 데이터를 포함할 수 있다.
이에 따라, 예를 들어, 제1 사용자에 의한 공인되지 않은 활동의 경우, 자동 액션이 취해질 수 있다.
적어도 하나의 상기 제2 자산은 상기 제3 자산의 비상환 결과로서 상기 제1 사용자의 암호화 서명을 제공하는 것에 의하여 상환될 수 있다.
적어도 하나의 상기 제2 자산은 제1 사용자의 암호화 서명을 제공하는 것에 의하여, 제1 잠금 시간이 만료된 후에 상환될 수 있다.
본 발명의 다른 실시예에 따르면, 블록체인을 이용하여 제1 사용자와 제2 사용자 간에 적어도 하나의 자산을 전송하는 컴퓨터 구현 방법이 제공될 수 있다. 본 방법은 다음을 포함한다:-
상기 제2 사용자로부터 상기 제1 사용자에게 전달할 수 있는 각각의 제1 자산을 나타내고 제1 블록체인 트랜잭션의 각각의 제1 입력에 대응하는 적어도 하나의 제4출력을 포함하는 제4 블록체인 트랜잭션을 생성하는 단계;
상기 제1 자산 각각을 나타내는 적어도 하나의 제1 입력과 제2 자산 각각을 나타내는 적어도 하나의 제1 출력을 포함하는 제1 블록체인 트랜잭션을 수신하는 단계, 여기서 상기 제2 자산은 상기 제1 사용자의 암호화 서명 및 상기 제2 사용자의 암호화 서명을 제공함으로써 상환 가능하다;
상기 제1 블록체인 트랜잭션을 상기 블록체인에 제출하는 단계;
복수의 제2 블록체인 트랜잭션을 수신하는 단계, 여기서 각각의 제2 블록체인 트랜잭션은 상기 제2 자산 각각을 나타내는 적어도 하나의 각 제2 입력, 상기 제1 사용자로부터 상기 제2 사용자에게 전달할 수 있는 각각의 제3 자산을 나타내는 적어도 하나의 각 제2 출력을 포함하고, 상기 제3 자산은 상기 제1 자산 각각과 교환되며, 상기 제3 자산은 상기 제1 사용자의 암호화 서명 및 상기 제2 사용자의 암호화 사명을 제공하는 것에 의하여 상환 가능하다; 그리고
상기 제2 블록체인 트랜잭션을 상기 블록체인에 제출하는 단계를 포함한다.
상기 제1 블록체인 트랜잭션은 상기 제2 사용자의 암호화 서명을 제공함으로써 상환 가능한 각각의 제4 자산을 나타내는 적어도 하나의 제5 출력을 포함할 수 있다.
상기 제4 자산은 상기 제2 사용자의 암호화 서명을 제공함으로써 상기 제3 자산의 비상환(non-redemption)의 결과로서 상환될 수 있다.
상기 제4 자산은 상기 제2 사용자의 암호화 서명을 제공함으로써 제2 잠금 시간(locktime)이 만료된 후에 상환될 수 있다.
적어도 하나의 상기 제1 및/또는 제2 자산은 머신 실행가능한 코드를 포함할 수 있다.
상기 개시된 다양한 "양상(aspect)"은 본 발명을 제한하기 위한 것이 아니다. 본 발명의 한 양상 또는 단어에 관하여 연급된 임의의 특징은 상기 제공된 하나 이상의 양상 또는 단어에 적용될 수도 있다. 본 발명은 이하에서 제공되는 다음의 예시적인 실시예 또는 사용 케이스에 기재된 바와 같은 실질적인 방법/시스템을 제공할 수 있다.
본 발명의 중요한 이점은 교환 프로세스가 완전히 자동화될 수 있으므로, 프로세스가 개시되면 수동 참여의 필요성을 제거한다는 것이다. 이 시스템은 트랜잭션이 생성되고 및/또는 블록체인에 제출되는 방법 및 시기를 컴퓨팅 에이전트가 결정할 수 있도록 구성될 수 있다
본 발명의 바람직한 실시예는 수반되는 도면을 참조로 하여, 오직 예시를 위한 것으로 제한적인 측면 없이 기술될 것이다:-
도 1은 공지의 단방향 소액 결제 채널의 동작을 보여주는 개략도이다;
도 2는 본 발명에 따른 단방향 소액 결제 채널의 동작을 보여주는 개략도이다;
도 3은 도 2의 방법에서 사용된 블록체인 토큰화 프로세스를 도시한다;
도 4A 내지 도 8B는 도 2의 소액 결제 채널에 사용된 블록 체인 트랜잭션을 보여준다; 그리고
도 9A 내지 도 11B는 실시예 1에서 사용된 블록체인 트랜잭션을 보여준다.
도면을 참조하여, 우리는 서비스의 구매와 관련된 사용 사례를 보여준다. 그러나, 본 발명은 이에 제한되는 것이 아님이 중요하다. 본 발명의 실시예들은 임의의 자산의 교환을 촉진하기 위하여 구성될 수 있다. 이 자산은 "전송 자산(transfer asset)"이라고 할 수 있다. 전송 자산은 디지털 자산일 수 있으며, 임의의 유형, 예를 들어 물리적, 전자적, 디지털 또는 추상적 엔티티일 수 있다. 이하의 설명에서, 제1, 제2, 제3 및 제4 블록 체인 트랜잭션, 및 제1, 제2, 제3 및 제4 자산에 대한 참조는 청구 범위에서와 동일한 의미를 가진다.
여기에 제공된 예는 구매가 이루어지는 시나리오에 관한 것이라는 점도 중요하다. 따라서 "고객" 과 "상인"이라는 용어는 거래의 참가자들을 지칭하는데 사용될 수 있다. 그러나, 본 발명은 소매 중심의 애플리케이션에 국한되지는 않는다. 대신에, 본 발명은 어떠한 재화 또는 서비스를 구매하지 않는 애플리케이션에도 동일하게 적용될 수 있다. 블록체인 트랜잭션에 의해 만들어진 디지털 자산(자금fund)의 전송은 순수하게 모든 블록체인 트랜잭션(Txs)가 입력과 출력을 가져야 하므로, 블록체인 관련 구현을 용이하게 할 수 있다.
도 2를 참조하면, 본 발명을 구현하는 소액 결제 채널(micropayment channel)이 도시되어 있다. 소액 결제 채널은 "단방향 소액 결제 채널"이라 불릴 수 있다. 소액 결제 채널은 참여 당사자(이하 "고객")가 인터넷 접속과 같은 온라인의, 시간에 의존하는 디지털 자산에 대하여 다른 참여 당사자(이하 "상인")에게 한 번 이상 업데이트될 수 있는 지불 트랜잭션을 이용하여 지불할 수 있게 한다. 이를 통해 시간 의존 자산에 대한 지불을 나타내는 소액 결제 채널의 출력은 시간이 지남에 따라 더 많은 자산이 전송되도록 업데이트 될 수 있다. 이는 한 사용자로부터 다른 사용자에게 제공되는 자산이기 때문에 "전송 자산"이라고 할 수 있다. 따라서, 본 발명은 전송 자산이 전송되는 방식을 제어하기 위한 기술적 메커니즘을 제공한다. 블록체인 트랜잭션은 당사자 간에 자산이 전송될 수 있는지 여부와 전송이 어떻게 그리고 언제 수행되는지를 결정하기 위한 기술적 수단을 제공한다.
본 발명의 중요한 이점은 교환 프로세스가 완전히 자동화될 수 있으므로, 프로세스가 개시되면 수동 참여의 필요성을 제거한다는 것이다. 이 시스템은 트랜잭션이 생성되고 및/또는 블록체인에 제출되는 방법 및 시기를 컴퓨팅 에이전트가 결정할 수 있도록 구성될 수 있다.
초기에, 상인은 단계 S101에서 서비스 또는 자산에 계약의 번호 C를 생성한다. 바람직하게는, 계약은 예치금의 크기, 지불 금액 및 지불 빈도와 같은 소정의 세부 사항을 정의하는 기계 실행 가능한(machine executable) 스마트 계약이다. 따라서, 스마트 계약을 이용하는 것에 의하여, 본 발명은 자산 제공자(예를 들어, 상인)가 소액 결제 프로세스에 대한 일부 입력을 가지도록 할 수 있다. 이것은 종래 기술의 구성에 비해 유리한 점이며, 본 발명은 소액 결제 채널이 실행되는 방법을 제어하기 위한 대안적이고 기술적인 메커니즘을 제공한다. 스마트 계약을 통한 실행에는 보다 세밀한 정도 또는 조건이 도입된다. 예를 들어, 자산 제공자는 스마트 계약을 사용하여 인터넷 접속과 같이 자산에 액세스하는 것을 물리적으로 제어할 수 있다.
그 다음으로, 상인은 단계 S102에서 민팅(minting) 블록체인 트랜잭션("minting Tx")의 형태로 제4 블록체인 트랜잭션을 생성한다. 이는 상인에 의하여 제공되는 자금을 나타내는 입력, 그리고 일련의 C 출력들을 가지며, 이들 각각은 고객과 상인 간 계약의 일부를 형성하는 각각의 제1 자산을 나타내는 스크립트 또는 토큰에 자금의 일부를 지불하는 것이다. 민팅(minting) 트랜잭션을 생성하는 당사자(“민터(minter)”)가 상인일 필요는 없다는 것은 당업자에게 이해될 것이다. 예를 들어, 상인은 제3 당사자에게 민팅 트랜잭션의 생성을 계약하기 위하여 선택하거나, 이 목적으로 제3 자에 의하여 제공된 소프트웨어를 사용할 수 있다.
토큰은 컴퓨터 기반 리소스, 예를 들어 서버에 저장될 수 있는, 스마트 계약을 나타낼 수 있다. 스마트 계약은 기계 실행 가능한(machine executable) 형식으로 작성되므로, (“봇(bots)”으로 불릴 수 있는) 자동화된 에이전트에 의하여 읽히거나, 실행되거나 및/또는 적용될 수 있다. 계약은, 예를 들어 오프-블록으로 제공되는 DHT(Distributed Hash Table)에 저장될 수 있다. 토큰은 언제든지 민터(minter)에 의하여 주조되거나 녹을 수 있다.
계약을 나타내는 토큰(또는 "유색 코인")은 스크립트에서 메타데이터로 제공될 수 있다. 토큰은 계약으로 하여금 액세스되도록 할 수 있다. 예를 들어, 토큰은 스마트 계약이 저장된 위치 또는 URI, 또는 상기 위치의 해시를 제공할 수 있다.
다음으로, 상인은 단계 S103에서 민팅 트랜잭션(minting transaction)을 블록체인에 제출한다. 민팅 트랜잭션(minting transaction)의 세부 사항이 도 4A에 도시되어 있으며, 트랜잭션의 입력 및 출력과 민팅 트랜잭션의 출력이 그의 자금을 지불하는 스크랩트에 관한 세부 사항이 도 4B에 도시되어 있다.
트랜잭션의 입력 및 출력과 민팅 트랜잭션의 출력이 그의 자금을 지불하는 스크립트는 다음과 같다:
* 입력 1 - 토큰을 발행하기 위한 상인에 의한 자금
- 자금 금액 및 잠금 해제 스크립트는 임의적임
* 출력 1 - 스크립트의 Hash 160인 <script_hash_token>에 자금을 지급
스크립트 OP_1 <Metadata1> <Metadata2> <PubKey_Merchant> OP_3 OP_CHECKMULTISIG
여기서, 메타데이터 1과 메타데이터 2는 계약에 대한 정보를 포함하는 프리텐드 압축(pretend compressed) 공개 키이다
단계 S103에서 민팅 트랜잭션이 블록체인에 제출된 후, 상인은 단계 S104에서 고객에 의해 접속 가능한 플랫폼 상에서 토큰의 스크립트 및 계약의 세부 사항을 공개한다. 단계 S101 내지 S104는 언제든지 수행될 수 있고, 상인으로 하여금 새로운 토큰을 리스트에 추가할 수 있도록 하며, 토큰은 상인에 의하여 언제든지 멜팅(즉, 삭제되거나 재사용)될 수 있다.
도 3은 도 2의 단계 S102의 민팅 트랜잭션일 수 있는 토큰 민팅 트랜잭션 및 도 2의 단계 S108의 대체할 수 있는 트랜잭션의 출력을 형성하는 전송 트랜잭션일 수 있는 토큰 전송 트랜잭션의 예를 도시한다. 민팅 트랜잭션은 단계 S201에서 토큰 민터에 의해 생생되고, 민터에 의해 제공된 자금을 나타내는 입력 및 스크립트 해시에 자금을 지불하는 하나의 출력을 가지며, 이는 전자 인증서를 가리키는 메타데이터를 포함하는 다중 서명 스크립트의 해시이다. 스크립트의 형식은 다음과 같다:
Figure 112019019466358-pct00001
여기서, 메타데이터(Metadata) 1...등은 프리텐드 압축된(pretend compressed) 공개 키(32바이트)이다. 메타데이터 포맷의 예는 아래와 같이 나타낼 수 있다.
Figure 112019019466358-pct00002
PubK1…은 트루(true) 공캐 키이다.
토큰은 도2에 도시된 바와 같이 민터의 공개 키를 포함하는 스크립트에 의해 상환될 수 있다.
토큰 전송 트랜잭션은 단계 S202에서 생성되고, 이는 토큰 및 그와 관련된 자금을 사용하는 입력 및 당사자 A에 의하여 소유된 토큰을 나타내는 스크립트의 해시에 자금을 지불하는 출력을 갖는다.
도 2를 다시 참조하면, 단계 S105에서 고객이 들어가고자 하는 계약에 대하여 고객이 계약을 브라우징하고 펀딩 트랜잭션의 형태로 제 1 블록체인 트랜잭션을 생성할 때 소액 지불 채널이 처음으로 생성된다. 펀딩 트랜잭션은 고객에 의한 자금 예치를 나타내는 제1 입력과, 제 1 자산을 나타내는 제 2 입력을 갖는다. 여기서 제 1자산은 상인에 의해 제공되는 토큰을 포함하는 스크립트를 포함하는 제2 입력에 의하여 나타내진다. 펀딩 트랜잭션은 고객에게 금액 X를 지불하는 것에 의하여 제2 자산을 나타내는 출력을 가지며, 이는 고객의 서명 및 상인의 서명을 제공하거나, 또는 잠금 시간 N의 만료 후에 고객의 서명만을 제공하는 것에 의하여 상환 가능하다. 그리고, 펀딩 트랜잭션은 상인에게 금액 Y를 지불하는 것에 의하여 제3 자산을 나타내는 출력을 가지며, 이는 고객의 서명 및 상인의 서명을 제공하거나, 잠금 시간 N의 만료 후에 상인의 서명만을 제공하는 것에 의하여 상환 가능하다. 금액 X는 일반적으로 예치금(deposit)의 전체 금액일 수 있으며, 이는 고객에게 예치금이 전액 환불되는 것을 나타낼 수 있고, Y는 상인에게 토큰 가격의 전액 환불을 나타낼 수 있습니다. 그러나, X를 더 작은 값으로 설정하고 Y를 더 큰 값으로 설정할 수도 있다. 이는 상인에게 환불 불가능한 예치금의 지불을 나타낼 수 있다.
다음으로, 고객은 단계 S106에서 펀딩 트랜잭션에 서명을 하고 이를 상인에게 보낸다. 상인은 단계 S107에서 펀딩 트랜잭션에 서명하고 이를 블록체인에 제출한다. 펀딩 트랜잭션에 관한 세부 사항은 도 5A에 도시되어 있으며, 펀딩 트랜잭션의 입력 및 출력에 관한 세부 사항과 펀딩 트랜잭션의 입력과 출력을 잠금 해제하기 위한 스크립트가 도 5B에 도시되어 있다.
펀딩 트랜잭션의 입력 및 출력에 관한 세부 사항과 펀딩 트랜잭션의 입력 및 출력을 잠금 해제하기위한 스크립트는 다음과 같다:
* 입력 1 - 계약에 의하여 요구된 바와 같이 고객에 의하여 예치
- 예치금 금액 및 잠금 해제 방법은 임의적임
* 입력 2 - 상인에 의한 토큰, 고객은 상인이 계약 및 토큰 스크립트를 게시하는 플랫폼으로부터 이를 복사함. <script_serialized_token>은 직렬화된 토큰 스크립트이다:
스크립트 OP_1 <Metadata1> <Metadata2> <PubKey_Merchant> OP_3 OP_CHECKMULTISIG
여기서, 메타데이터 1과 메타데이터 2는 계약에 관한 정보를 포함한다
* 출력 1-해시 160인 <script_hash_customer>로 금액 X를 지불:
스크립트 OP_IF <now + time N> OP_CHECKLOCKTIMEVERIFY OP_DROP <PubKey_Customer> OP_CHECKSIGVERIFY OP_ELSE <PubKey_Customer> <PubKey_Merchant> OP_2 OP_CHECKMULTISIGVERIFY OP_ENDIF
- <script_hash_customer>는 다음에 의하여 잠금 해제될 수 있다:
· OP_1 <Sig_Customer> <serialized script customer> with Locktime N; 또는
· OP_0 <Sig_Customer> <Sig Merchant> <serialized script customer>
-지불된 금액 X(여기서, 450,000)은 계약 조항, 예를 들어, 시간 N 전에 대체할 수 있는 트랜잭션이 블록체인에 제출되지 않은 경우 얼마가 고객에게 환불되는지에 따라 조정될 수 있다.
* 출력 2 -해시 160인 <script_hash_merchant>에 금액 Y를 지불:
스크립트 OP_IF <now + time N> OP_CHECKLOCKTIMEVERIFY OP_DROP <PubKey_Merchant> OP_CHECKSIGVERIFY OP_ELSE <PubKey_Customer> <PubKey_Merchant> OP_2 OP_CHECKMULTISIGVERIFY OP_ENDIF
- <script_hash_merchant>는 다음에 의하여 잠금 해제될 수 있다:
· OP_1 <Sig_Merchant> <serialized script merchant> with Locktime N; 또는
· OP_0 <Sig_Customer> <Sig Merchant> <serialized script merchant>
- 지불된 금액 Y(여기서, 50,000)은 계약 조항, 예를 들어, 시간 N 전에 대체할 수 있는 트랜잭션이 블록체인에 제출되지 않은 경우 얼마가 상인에게 지불되는지에 따라 조정될 수 있다.
도 2를 참조하면, 결제가 이루어질 때, 고객은 단계 S108에서 대체할 수 있는 블록체인 트랜잭션의 형태로 제2 블록체인 트랜잭션을 생성한다. 대체할 수 있는 트랜잭션은 펀딩 트랜잭션으로부터 금액 X 및 금액 Y를 소비하는 입력들 각각과, 토큰의 스크립트에 토큰 값을 지불하는 출력, 상인으로 인한 금액을 지불하는 것에 의하여 제3 자산을 나타내는 출력, 그리고 고객에게 남아있는 자금을 지불하는 출력을 가진다. 고객은 단계 S109에서 대체할 수 있는 트랜잭션에 서명하며 이를 상인에게 보낸다. 대체할 수 있는 트랜잭션은 블록체인에 제출되지 않는다는 점에 유의해야 한다. 대신, 이들은 고객에 의하여 서명되며, 어느 대체할 수 있는 트랜잭션이 언제 서명되고 블록체인에 제출되는지를 선택할 수 있는 상인에게 전송된다.
대체할 수 있는 트랜잭션의 출력들 각각을 상환하기 위하여, 고객의 서명과 상인의 서명이 요구된다.후속 지불 기한이 되면 단계 S108 및 S109가 반복되며, 상인에 기인한 금액을 증가시키고 고객에게 재지불될 금액을 줄인다.
최종적으로, 단계 S110에서 상인에 기인한 금액을 상환하기 위하여 가장 최근의 대체할 수 있는 트랜잭션의 입력들에 서명하고 블록체인에 트랜잭션을 제출한다. 대체할 수 있는 트랜잭션의 세부 사항이 도 6A에 도시되고, 대체할 수 있는 트랜잭션의 입력 및 출력에 관한 세부 사항 및 입력 및 출력을 잠금 해제하기 위한 스크립트는 6B에 도시된다.
트랜잭션의 입력 및 출력의 세부 사항 및 대체할 수 있는 트랜잭션의 입력 및 출력을 잠금 해제하기 위한 스크립트는 다음과 같다:
* 입력 1-<serialized script customer>를 잠금 해제하기 위하여 고객 및 상인 서명(sig)을 이용하여 펀딩 트랜잭션의 출력 1을 소비한다:
스크립트 OP_IF <now + time N> OP_CHECKLOCKTIMEVERIFY OP_DROP <PubKey_Customer> OP_CHECKSIGVERIFY OP_ELSE <PubKey_Customer> <PubKey_Merchant> OP_2 OP_CHECKMULTISIGVERIFY OP_ENDIF
* 입력 2-<serialized script merchant>를 잠금 해제하기 위하여 고객 및 상인 서명(sig)을 이용하여 펀딩 트랜잭션의 출력 2를 소비한다:
스크립트 OP_IF <now + time N> OP_CHECKLOCKTIMEVERIFY OP_DROP <PubKey_Merchant> OP_CHECKSIGVERIFY OP_ELSE <PubKey_Customer> <PubKey_Merchant> OP_2 OP_CHECKMULTISIGVERIFY OP_ENDIF
* 출력 1-스크립트의 해쉬 160인 <script_hash_token>으로 자금을 지불한다:
스크립트 OP_1 <Metadata1> <Metadata2> <PubKey_Merchant> OP_3 OP_CHECKMULTISIG
여기서, 메타데이터 1과 메타데이터 2는 계약에 대한 정보를 포함하는 프리텐드 압축공캐 키이다
- 이는 상인에게 토큰을 돌려 보낸다.
* 출력 2 - 상인에게 빚진 금액을 지불함
이 금액은 각각의 새로운 대체할 수 있는 트랜잭션과 함께 단조롭게 증가해야 한다.
* 출력 3 - 고객에게 잔여 예치금을 지불함
잠금 시간 N이 만료할 때까지 대체할 수 있는 트랜잭션이 수신되지 않은 경우, 고객 및 상인 환불 블록체인 트랜잭션이 실행된다. 특히, 단계 S111에서 생성된 고객 환불 트랜잭션은 단계 S105의 펀딩 트랜잭션으로부터 자금 X를 소비하는 단일의 입력을 가지며, 고객이 지정한 주소로 금액 X를 지불한다. 고객 환불 트랜잭션의 출력은 고객의 서명만을 요구한다. 고객은 단계 S112에서 트랜잭션을 서명하고 이를 블록체인에 제출한다.
고객 환불 트랜잭션의 세부 사항이 도 7A에 도시되어 있고, 고객 환불 트랜잭션의 입력 및 출력의 세부 사항 및 고객 환불 트랜잭션의 입력 및 출력을 잠금 해제하기 위한 스크립트가 도 7B에 도시되어 있다.
유사하게, 단계 S113에서 생성된 상인 환불 트랜잭션은 단계 S105의 펀딩 트랜잭션으로부터 자금 Y를 소비하는 단일의 입력을 가지며, 고객이 지정한 주소로 금액 Y를 지불한다. 상인 환불 트랜잭션의 출력은 상인의 서명만을 요구한다. 상인은 트랜잭션을 서명하고 이를 단계 S114에서 블록체인으로 제출한다. 상인 환불 트랜잭션의 세부 사항이 도 8A에 도시되어 있고, 상인 환불 트랜잭션의 입력 및 출력의 세부 사항 및 상인 환불 트랜잭션의 입력 및 출력을 잠금 해제하기 위한 스크립트가 도 8B에 도시되어 있다.
고객 환불 트랜잭션의 입력 및 출력의 세부 사항 및 고객 환불 트랜잭션의 입력 및 출력을 잠금 해제하기 위한 스크립트는 다음과 같다:
* 입력 1-<serialized script customer>를 잠금 해제 하기 위하여 고객 서명을 사용하여 펀딩 트랜잭션의 출력 1을 소비한다:
스크립트 OP_IF <now + time N> OP_CHECKLOCKTIMEVERIFY OP_DROP <PubKey_Customer> OP_CHECKSIGVERIFY OP_ELSE <PubKey_Customer> <PubKey_Merchant> OP_2 OP_CHECKMULTISIGVERIFY OP_ENDIF
- 시퀀스 넘버는 잠금타임 N을 확인하기 위하여 전송되는 0xFFFFFFFF가 아니다.
*출력 1 고객이 지명하기 위하여 선택한 주소로 펀딩 트랜잭션 출력 1의 금액을 지불한다.
상인 환불 트랜잭션의 입력 및 출력의 세부 사항 및 상인 환불 트랜잭션의 입력 및 출력을 잠금 해제하기 위한 스크립트는 다음과 같다:
*입력 1-<serialized script merchant>를 잠금 해제하기 위하여 상인 서명을 사용하여 펀딩 트랜잭션의 출력 1을 소비한다:
스크립트 OP_IF <now + time N> OP_CHECKLOCKTIMEVERIFY OP_DROP <PubKey_Merchant> OP_CHECKSIGVERIFY OP_ELSE <PubKey_Customer> <PubKey_Merchant> OP_2 OP_CHECKMULTISIGVERIFY OP_ENDIF
-시퀀스 넘버는 잠금타임 N을 확인하기 위하여 전송되는 0xFFFFFFFF가 아니다.
*출력 1 - 상인이 지명하기 위하여 선택한 주소로 펀딩 트랜잭션 출력 2의 금액을 지불한다.
-상인은 토큰을 다시 민팅하기 위하여 출력들 중 하나를 사용하는 것을 선택할 수 있다.
실시예 1
다음 예에서 상인은 인터넷 접속을 제공하는 호텔이고, 고객은 인터넷 접속을 구매하고자 하는 호텔의 게스트이다.
호텔에는 다른 IP/MAC 주소들에 대하여 대역폭, 다운로드 및 시간 제한을 설정할 수 있는 라우터 관리 소프트웨어를 가진다. 인터넷 접속을 통해 수익을 얻기 위하여, 호텔은 손님들에게 다음의 서비스를 제공한다.
서비스 No. 대역폭 제한 다운로드 제한 시간 제한 잠금 예치금* 최소 지불* 요율*
1 30Mbps 2GB 24hrs 4,500,000 (~$18) 2,250,000 (~$9) 1,125/MB (~$0.0045)
2 30Mbps 1GB 24hrs 2,500,000 (~$10) 1,250,000 (~$5) 1,250/MB (~$0.005)
3 10Mbps Unlimited 2hr 6,000,000 (~$24) 3,000,000 (~$12) 25,000/min (~$0.1)
4 10Mbps Unlimited 1hr 3,750,000 (~$15) 1,875,000 (~$7.5) 31,250/min (~$0.125)
* 단위는 사토시(Satoshi)이다. $ 가치는 $400/BTC으로 평가된다.
기타 설정 세부 사항
* 호텔은 1BTC (100,000,000 Satoshi)를 가지는 개인/공개 키를 소유한다
* 게스트는 0.06BTC (6,000,000 Satoshi)를 가지는 개인/공개 키 G를 소유한다.
* 호텔은 토큰/계약서를 저장하는 서버를 가진다. 또한 사용 가능한 토큰/계약서를 나타내는데 사용하는 인트라넷 사이트를 가진다.
단계들
1. 호텔은 4개의 서비스 각각에 대한 계약을 생성하며, 이들을 pdf로 저장하고 서버에 저장한다.
2. 호텔은 4개의 계약서 각각에 대하여 메타데이터 1과 메타데이터 2를 생성한다. 포맷은 다음과 같다.
필드명 바이트 수 Description
메타데이터1 Contract Link 32 32 character link to the contract
메타데이터 2* Contract Hash 20 RIPEMD(SHA256(contract file))
*메타데이터 2의 나머지 12바이트는 단지 0이다
3. 호텔은 5개의 계약을 토큰화하는 민팅 트랜잭션을 생성한다.
a. 단순화를 위해 여기서 오직 4개의 토큰만 만들어진다. 실제로 각 서비스/토큰 복수 개가 생성될 수 있다.
민팅 트랜잭션의 세부 사항이 도 9A에 도시되어 있고, 트랜잭션의 입력 및 출력의 세부 사항 및 민팅 트랜잭션의 출력이 그의 자금을 지불하는 스크립트가 도 9B에 도시되어 있다.
트랜잭션의 입력 및 출력의 세부 사항 및 민팅 트랜잭션의 출력이 그의 자금을 지불하는 스크립트는다음과 같다:
출력 1 - P2PKH. 나머지 자금을 호텔의 주소 H로 돌려줌
출력 2 - P2SH (토큰 1). 1,000 Satoshi를 스크립트의 해시<script_hash_token3>에 지불함:
스크립트 OP_1 <Metadata1> <Metadata2> <PubKey H> OP_3 OP_CHECKMULTISIG
여기서 메타데이터 1 및 메타데이터 2는 계약 1에 대한 정보를 포함하는 프리텐드 압축된 공개 키이다
출력 3-5 - P2SH. 메타데이터가 다른 계약들을 가리키는 것을 제외하면 출력 2와 동일
4. 호텔은 민팅 트랜잭션을 블록체인에 제출한다
5. 호텔은 손님이 브라우징하는 인트라넷 사이트에 토큰과 계약서를 표시한다
6. 호텔의 게스트는 인터넷 액세스 옵션을 위하여 인트라넷을 브라우징하고 서비스 3을 선택한다. 이는 토큰 3을 필요로 하며 연관된 계약 3과 같이 펀딩 트랜잭션을 생성한다.
펀딩 트랜잭션의 세부 사항은 도 10A에 도시되어 있고 펀딩 트랜잭션의 입력 및 출력의 세부 사항 및 펀딩 트랜잭션의 입력 및 출력을 잠금 해제하기 위한 스크립트는 도 10B에 도시된다.
펀딩 트랜잭션의 입력 및 출력의 세부 사항 및 펀딩 트랜잭션의 입력 및 출력을 잠금 해제하기 위한 스크립트는 다음과 같다:
입력 2-호텔의 인트라넷 사이트에서 토큰 세부 사항의 복사. 호텔의 서명 완료가 필요함
출력 1 - P2SH. 스크립트의 해시 <script_hash_guest>로 3,000,000을 지불:
스크립트 OP_IF <now + 48hrs> OP_CHECKLOCKTIMEVERIFY OP_DROP <PubKey G> OP_CHECKSIGVERIFY OP_ELSE <PubKey G> <PubKey H> OP_2 OP_CHECKMULTISIGVERIFY OP_ENDIF
잠긴 자금이 소비되지 않은 경우 48 시간 내에 게스트가 청구할 수 있다.
출력 2 - P2SH. 스크립트의 해시 <script_hash_hotel>에 3,001,000을 지불:
스크립트 OP_IF <now + 48hrs> OP_CHECKLOCKTIMEVERIFY OP_DROP <PubKey H> OP_CHECKSIGVERIFY OP_ELSE <PubKey G> <PubKey H> OP_2 OP_CHECKMULTISIGVERIFY OP_ENDIF
잠긴 자금은 48 시간 내에 호텔이 청구할 수 있다. 이는 계약 3에 따른 최소 지불액과 토큰 자체의 값이다.
7. 손님은 인트라넷 사이트에 있는 양식을 통해 호텔에 펀딩 트랜잭션을 보낸다
8. 호텔은 펀딩 트랜잭션을 확인하고, 이를 서명하여 승인하며, 블록체인에 제출한다.
9. 호텔은 손님에게 인터넷에 접속할 수 있는 세부 정보를 제공한다. 대안으로, 토큰은 인터넷에 대한 접속을 자동으로 가능하게 하고 종료시키기 위한 기계 실행 가능한 명령을 포함할 수 있다
10. 손님이 인터넷을 사용하기 시작한다. 연결 시간 및 다운로드 양은 라우터 관리 소프트웨어에 의해 추적된다.
11. 라우터 관리 소프트웨어가 연결이 1분 동안 사용되었음을 감지한다. 이는 손님에게 지불 요청을 보낸다. 손님은 호텔에 보내는 대체할 수 있는 트랜잭션을 생성한다:
대체할 수 있는 트랜잭션의 세부 사항이 도 11A에 도시되어 있고, 트랜잭션의 입력 및 출력의 세부사항 및 대체할 수 있는 트랜잭션의 입력 및 출력을 잠금 해제하기 위한 스크립트는 도 11B에 도시되어 있다.
트랜잭션의 입력 및 출력의 세부사항 및 대체할 수 있는 트랜잭션의 입력 및 출력을 잠금 해제하기 위한 스크립트는 다음과 같다.
입력 1-2 - 펀딩 트랜잭션 출력을 소비한다. 호텔의 서명 완료가 요구된다.
출력 1 - P2SH. 토큰을 다시 호텔로 보낸다. 스크립트 해시<script_hash_token3>에 1,000을 지불한다
출력 2 - P2PKH. 호텔에 지불해야 하는 금액 3,000,000 + 25,000/분 x 1분
출력 3 - P2PKH. 손님 6,000,000으로 다시 변경-호텔에 지불
12. 손님이 인터넷에 연결되어 있는 동안, 라우터 관리 소프트웨어는 연결 타이머를 계속하여 증가시키고, 매 분마다 지불 요청을 보낸다. 손님은 대체할 수 있는 트랜잭션의 출력 2 및 3을 최근 금액으로 업데이트하고 호텔에 보낸다
13. 계약 3에 따라 2시간이 끝난 경우, 호텔은 최근의 대체할 수 있는 트랜잭션에 서명하고 블록체인에 제출한다. 손님은 총 70분을 사용한 경우, 출력 2는 4,750,000이고 출력 3은 1,250,000이다
상기 실시예는 단지 예시적인 것으로서 제한적인 의미가 아니며, 첨부된 특허청구범위에 정의된 바와 같이 본 발명의 범위를 벗어나지 않도록 다양한 대체 및 변형이 가능함을 당업자는 이해할 것이다.

Claims (14)

  1. 블록체인을 이용하여 제1 사용자와 제2 사용자 간에 적어도 하나의 자산을 전송하는 컴퓨터 구현 방법에 있어서,
    컴퓨터가 상기 제2 사용자로부터 상기 제1 사용자에게 전달할 수 있는 각각의 제1 자산을 나타내는 적어도 하나의 제1입력과 상기 제1 사용자의 암호화 서명 및 상기 제2 사용자의 암호화 서명을 제공함으로써 상환 가능한 각각의 제 2 자산을 나타내는 적어도 하나의 제2 출력을 포함하는 제1 블록체인 트랜잭션을 생성하는 단계;
    상기 컴퓨터가 상기 제2 자산 각각을 나타내는 적어도 하나의 제2 입력과 상기 제1 사용자로부터 상기 제2 사용자에게 전달할 수 있는 각각의 제3 자산을 나타내는 적어도 하나의 제2 출력을 포함하는 제2 블록체인 트랜잭션을 생성하는 단계, 여기서 상기 제3 자산은 상기 제1 자산 각각과 교환되며, 상기 제3 자산은 상기 제1 사용자의 암호화 서명 및 상기 제2 사용자의 암호화 서명을 제공함으로써 상환 가능하고, 상기 제2 블록체인 트랜잭션은 상기 제1 자산 각각을 나타내는 적어도 하나의 제3 출력을 가진다; 그리고
    상기 컴퓨터가 상기 제3 자산의 값을 갱신하기 위해 상기 제2 블록체인 트랜잭션의 생성을 반복하는 단계를 포함하는 방법.
  2. 제1항에 있어서,
    적어도 하나의 상기 제1 입력은 제3 블록체인 트랜잭션을 생성하기 위한 제어 데이터를 포함하는 방법.
  3. 제1항에 있어서,
    적어도 하나의 상기 제2 자산은 상기 제1 사용자의 암호화 서명을 제공함으로써 상기 제3 자산의 (non-redemption)의 결과로서 상환 가능한 방법.
  4. 제1항에 있어서,
    적어도 하나의 상기 제2 자산은 제1 사용자의 암호화 서명을 제공함으로써 제 1 잠금 시간(locktime)이 만료된 후에 상환 가능한 방법.
  5. 블록체인을 이용하여 제1 사용자와 제2 사용자 간에 적어도 하나의 자산을 전송하는 컴퓨터 구현 방법에 있어서,
    컴퓨터가 상기 제2 사용자로부터 상기 제1 사용자에게 전달할 수 있는 각각의 제1 자산을 나타내고 제1 블록체인 트랜잭션의 각각의 제1 입력에 대응하는 적어도 하나의 제4출력을 포함하는 제4 블록체인 트랜잭션을 생성하는 단계;
    상기 컴퓨터가 상기 제1 자산 각각을 나타내는 적어도 하나의 제1 입력과 제2 자산 각각을 나타내는 적어도 하나의 제1 출력을 포함하는 제1 블록체인 트랜잭션을 수신하는 단계, 여기서 상기 제2 자산은 상기 제1 사용자의 암호화 서명 및 상기 제2 사용자의 암호화 서명을 제공함으로써 상환 가능하다;
    상기 컴퓨터가 상기 제1 블록체인 트랜잭션을 상기 블록체인에 제출하는(submitting) 단계;
    상기 컴퓨터가 복수의 제2 블록체인 트랜잭션을 수신하는 단계, 여기서 각각의 제2 블록체인 트랜잭션은 상기 제2 자산 각각을 나타내는 적어도 하나의 각 제2 입력, 상기 제1 사용자로부터 상기 제2 사용자에게 전달할 수 있는 각각의 제3 자산을 나타내는 적어도 하나의 각 제2 출력, 상기 제1 자산 각각을 나타내는 적어도 하나의 제3 출력을 포함하고, 상기 제3 자산은 상기 제1 자산 각각과 교환되며, 상기 제3 자산은 상기 제1 사용자의 암호화 서명 및 상기 제2 사용자의 암호화 서명을 제공하는 것에 의하여 상환 가능하다; 그리고
    상기 컴퓨터가 상기 제2 블록체인 트랜잭션을 상기 블록체인에 제출하는(submitting) 단계를 포함하는 방법.
  6. 제5항에 있어서,
    상기 컴퓨터가 상기 제4 블록체인 트랜잭션을 상기 블록체인에 제출하는(submitting) 단계를 더 포함하는 방법.
  7. 제5항 또는 제6항에 있어서,
    상기 제1 블록체인 트랜잭션은 상기 제2 사용자의 암호화 서명을 제공함으로써 상환 가능한 각각의 제4 자산을 나타내는 적어도 하나의 제5 출력을 포함하는 방법.
  8. 제7항에 있어서,
    상기 제4 자산은 상기 제2 사용자의 암호화 서명을 제공함으로써 상기 제3 자산의 비상환(non-redemption)의 결과로서 상환 가능한 방법.
  9. 제7항에 있어서,
    상기 제4 자산은 상기 제2 사용자의 암호화 서명을 제공함으로써 제2 잠금 시간(locktime)이 만료된 후에 상환 가능한 방법.
  10. 제5항에 있어서,
    적어도 하나의 상기 제1 및/또는 제3 자산은 머신 실행가능한 코드를 포함하는 방법.
  11. 제1항또는 제5항에 따른 방법을 수행하도록 설정된 컴퓨터 구현 시스템에 있어서,
    블록체인 네트워크; 그리고
    블록체인 트랜잭션을 생성 및/또는 블록체인 네트워크에 블록체인 트랜잭션을 제출하도록 설정된 적어도 하나의 컴퓨팅 기반의 리소스를 포함하는 시스템.
  12. 삭제
  13. 삭제
  14. 삭제
KR1020197005552A 2016-07-29 2017-07-24 블록체인 구현 방법 및 시스템 KR102446978B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020227032567A KR102634563B1 (ko) 2016-07-29 2017-07-24 블록체인 구현 방법 및 시스템

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1613109.6 2016-07-29
GBGB1613109.6A GB201613109D0 (en) 2016-07-29 2016-07-29 Computer implemented method and system
PCT/IB2017/054462 WO2018020389A2 (en) 2016-07-29 2017-07-24 Blockchain implemented method and system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020227032567A Division KR102634563B1 (ko) 2016-07-29 2017-07-24 블록체인 구현 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20190034272A KR20190034272A (ko) 2019-04-01
KR102446978B1 true KR102446978B1 (ko) 2022-09-23

Family

ID=56936573

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020197005552A KR102446978B1 (ko) 2016-07-29 2017-07-24 블록체인 구현 방법 및 시스템
KR1020227032567A KR102634563B1 (ko) 2016-07-29 2017-07-24 블록체인 구현 방법 및 시스템

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020227032567A KR102634563B1 (ko) 2016-07-29 2017-07-24 블록체인 구현 방법 및 시스템

Country Status (10)

Country Link
US (1) US20220058614A1 (ko)
EP (3) EP3761554B1 (ko)
JP (3) JP7005591B2 (ko)
KR (2) KR102446978B1 (ko)
CN (2) CN118037290A (ko)
GB (1) GB201613109D0 (ko)
SG (2) SG11201811005XA (ko)
TW (2) TWI803466B (ko)
WO (1) WO2018020389A2 (ko)
ZA (1) ZA201900535B (ko)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11363033B2 (en) * 2017-08-04 2022-06-14 Ho Yun KYUNG Time-dependent blockchain-based self-verification user authentication method
US20190251627A1 (en) * 2018-02-11 2019-08-15 Loopring Project Ltd Methods and systems for digital asset transaction
EP3776867A1 (en) * 2018-03-27 2021-02-17 Nchain Holdings Limited Computer-implemented methods and systems relating to arithmetic coding for serialised arithmetic circuits
WO2019191688A1 (en) 2018-03-30 2019-10-03 Exposition Park Holdings Secz Digital asset exchange
WO2020092900A2 (en) 2018-11-02 2020-05-07 Verona Holdings Sezc A tokenization platform
CN108876606B (zh) 2018-05-29 2021-02-09 创新先进技术有限公司 资产转移方法及装置、电子设备
CN108876572A (zh) 2018-05-29 2018-11-23 阿里巴巴集团控股有限公司 区块链交易的对账方法及装置、电子设备
CN108805712B (zh) * 2018-05-29 2021-03-23 创新先进技术有限公司 资产转移的回退处理方法及装置、电子设备
US11068464B2 (en) 2018-06-26 2021-07-20 At&T Intellectual Property I, L.P. Cyber intelligence system and method
GB201811263D0 (en) * 2018-07-10 2018-08-29 Netmaster Solutions Ltd A method and system for managing digital using a blockchain
CN109189327B (zh) * 2018-07-27 2020-05-05 阿里巴巴集团控股有限公司 区块链数据的压缩处理方法和装置
US10250395B1 (en) * 2018-08-29 2019-04-02 Accenture Global Solutions Limited Cryptologic blockchain interoperation
KR102201468B1 (ko) 2018-09-17 2021-01-12 엔에이치엔 주식회사 블록체인 기반의 게임 제작을 위한 크라우드펀딩 시스템의 동작 방법 및 서비스 환경을 구현하기 위한 시스템
JP7021747B2 (ja) * 2018-09-20 2022-02-17 日本電信電話株式会社 決済システム、決済方法、利用者装置、決済プログラム
CN109615513B (zh) * 2018-11-02 2023-06-09 克洛斯比尔有限公司 用于区块链内待交换价值或物品公平交换的方法和系统
KR102293076B1 (ko) * 2019-01-17 2021-08-25 정상수 블록체인을 이용한 운송장치의 모빌리티 데이터 수집 시스템과 이를 이용한 모빌리티 데이터 수집 방법 및 프로그램
KR102002509B1 (ko) 2019-04-04 2019-07-22 주식회사 한국정보보호경영연구소 공증센터를 포함하는 프라이빗 블록체인 시스템 및 이의 공증방법
KR102118178B1 (ko) * 2019-04-24 2020-06-02 주식회사 데이터젠 블록체인을 위한 다중 트랜잭션 병렬 처리 방법 및 시스템
US20200356989A1 (en) * 2019-05-07 2020-11-12 Puzzzle Cybersecurity Ltd. Transferring digital assets possession over a unidirectional connection
GB2588072A (en) * 2019-05-24 2021-04-21 Nchain Holdings Ltd Malleability of transactions for inclusion in a blockchain
GB201907343D0 (en) * 2019-05-24 2019-07-10 Nchain Holdings Ltd Method of using a side channel
GB2587773A (en) * 2019-05-24 2021-04-14 Nchain Holdings Ltd Streaming portions of data over a side channel
US11556909B2 (en) 2019-08-16 2023-01-17 Visa International Service Association Universal payment channels
KR102294623B1 (ko) * 2019-09-27 2021-08-30 지티시 코리아 주식회사 블록체인 기반 상품 구매 중계 시스템 및 방법
GB2596096A (en) * 2020-06-17 2021-12-22 Nchain Holdings Ltd Agreements on the blockchain
EP4227879A1 (en) * 2020-10-07 2023-08-16 Nippon Telegraph And Telephone Corporation Identifier change management device, identifier change management method, and identifier change management program
US11494799B1 (en) * 2021-05-14 2022-11-08 William C. Rehm Supporting action tracking and deeds between multiple parties
CN113469690B (zh) * 2021-07-23 2024-03-26 佳乔(深圳)投资有限公司 一种基于区块链的交易结算方法
CN113794711A (zh) * 2021-09-10 2021-12-14 安徽江淮汽车集团股份有限公司 基于区块链及国密算法的车辆信息管控架构构建方法
US20230080599A1 (en) * 2021-09-14 2023-03-16 Progrexion IP, Inc. Non-fungible tokenized contract embedded in a blockchain

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015171580A1 (en) 2014-05-09 2015-11-12 Veritaseum, Inc. Devices, systems, and methods for facilitating low trust and zero trust value transfers
US20160164884A1 (en) 2014-12-05 2016-06-09 Skuchain, Inc. Cryptographic verification of provenance in a supply chain

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001090861A2 (en) * 2000-05-25 2001-11-29 Echarge Corporation Secure transaction protocol
EP2172896A1 (fr) * 2008-10-02 2010-04-07 Nagravision S.A. Méthode de gestion d'une valeur dans un dispositif à prépaiement
US8401970B1 (en) * 2010-12-29 2013-03-19 Amazon Technologies, Inc. System and method for reusing payment authorizations
EP2634738A1 (en) * 2012-03-02 2013-09-04 Alcatel Lucent Decentralized electronic transfer system
US20140337206A1 (en) 2013-05-10 2014-11-13 Albert Talker Electronic Currency System
US20160012465A1 (en) * 2014-02-08 2016-01-14 Jeffrey A. Sharp System and method for distributing, receiving, and using funds or credits and apparatus thereof
CN104320262B (zh) * 2014-11-05 2017-07-21 中国科学院合肥物质科学研究院 基于加密数字货币公开账本技术的用户公钥地址绑定、检索和校验的方法及系统
US20160217436A1 (en) * 2015-01-25 2016-07-28 Dror Samuel Brama Method, System and Program Product for Tracking and Securing Transactions of Authenticated Items over Block Chain Systems.
US10812274B2 (en) * 2015-05-07 2020-10-20 Blockstream Corporation Transferring ledger assets between blockchains via pegged sidechains
CN105701372B (zh) * 2015-12-18 2019-04-09 布比(北京)网络技术有限公司 一种区块链身份构建及验证方法
CN112950381A (zh) * 2016-01-24 2021-06-11 杭州复杂美科技有限公司 区块链撮合交易所
CN105761143B (zh) * 2016-02-01 2019-04-05 上海凭安网络科技有限公司 一种基于区块链的多方共建信用记录的方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015171580A1 (en) 2014-05-09 2015-11-12 Veritaseum, Inc. Devices, systems, and methods for facilitating low trust and zero trust value transfers
US20160164884A1 (en) 2014-12-05 2016-06-09 Skuchain, Inc. Cryptographic verification of provenance in a supply chain

Also Published As

Publication number Publication date
JP2022058489A (ja) 2022-04-12
TWI803466B (zh) 2023-06-01
KR102634563B1 (ko) 2024-02-07
EP3491773B1 (en) 2020-10-07
JP7316392B2 (ja) 2023-07-27
TW201810150A (zh) 2018-03-16
US20220058614A1 (en) 2022-02-24
ZA201900535B (en) 2021-07-28
CN118037290A (zh) 2024-05-14
EP3761554B1 (en) 2024-04-17
JP2019527962A (ja) 2019-10-03
KR20190034272A (ko) 2019-04-01
WO2018020389A2 (en) 2018-02-01
TWI822037B (zh) 2023-11-11
SG11201811005XA (en) 2019-02-27
SG10202100534XA (en) 2021-02-25
WO2018020389A3 (en) 2018-03-08
JP7005591B2 (ja) 2022-01-21
JP2023134665A (ja) 2023-09-27
EP3761554A1 (en) 2021-01-06
TW202234320A (zh) 2022-09-01
CN109478997A (zh) 2019-03-15
EP4362387A2 (en) 2024-05-01
EP3491773A2 (en) 2019-06-05
KR20220135251A (ko) 2022-10-06
CN109478997B (zh) 2023-10-03
GB201613109D0 (en) 2016-09-14

Similar Documents

Publication Publication Date Title
KR102446978B1 (ko) 블록체인 구현 방법 및 시스템
JP6925346B2 (ja) ブロックチェーンベースのトークナイゼーションを用いた交換
JP6851386B2 (ja) ブロックチェーンにおけるエンティティの効率的な移転のための方法およびシステム
JP6869250B2 (ja) ブロックチェーンを使用してピアツーピア分散型台帳におけるエンティティを効率的な移転のための方法およびシステム
JP6957482B2 (ja) ブロックチェーンベースにおけるエンティティのセキュアな移転のための方法およびシステム
JP7377312B2 (ja) ブロックチェーンにより実現されるシステム及び方法
CN113946817A (zh) 用于管理安全实体的连网承诺的系统和方法

Legal Events

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