KR20180115282A - 블록체인을 이용하는 피어 - 투 - 피어 분산 장부에서 개체들의 효율적인 전송을 위한 방법 및 시스템 - Google Patents

블록체인을 이용하는 피어 - 투 - 피어 분산 장부에서 개체들의 효율적인 전송을 위한 방법 및 시스템 Download PDF

Info

Publication number
KR20180115282A
KR20180115282A KR1020187026285A KR20187026285A KR20180115282A KR 20180115282 A KR20180115282 A KR 20180115282A KR 1020187026285 A KR1020187026285 A KR 1020187026285A KR 20187026285 A KR20187026285 A KR 20187026285A KR 20180115282 A KR20180115282 A KR 20180115282A
Authority
KR
South Korea
Prior art keywords
user
script
transaction
party
invitation
Prior art date
Application number
KR1020187026285A
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
Priority claimed from GBGB1603125.4A external-priority patent/GB201603125D0/en
Priority claimed from GBGB1603123.9A external-priority patent/GB201603123D0/en
Priority claimed from GBGB1604493.5A external-priority patent/GB201604493D0/en
Application filed by 엔체인 홀딩스 리미티드 filed Critical 엔체인 홀딩스 리미티드
Publication of KR20180115282A publication Critical patent/KR20180115282A/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/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • G06F16/137Hash-based
    • 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/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/4015Transaction verification using location information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • 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/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • 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
    • 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
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • 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/321Cryptographic 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 a third party or a trusted authority
    • 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/321Cryptographic 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 a third party or a trusted authority
    • H04L9/3213Cryptographic 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 a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • 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
    • 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

Abstract

본 발명은 블록 체인을 통해 개체들을 교환하기 위한 안전한 방법을 제공한다. 본 발명은 토큰화 기술 및 블록 체인 거래의 교환 스크립트에 메타 데이터를 내장하는 기술을 포함한다. 실시예(들)는 전송을 수행하는 컴퓨터 구현 방법을 제공한다. 상기 방법은, 제 1 교환 거래를 생성하는 단계와, 제 1 네트워크를 통해, P2P 분배 장부에 포함시키기 위한 제 1 교환 거래를 브로드캐스팅 하는 단계를 포함하며, 상기 제 1 교환 거래는, 전송 될 암호 화폐의 제 1 수량의 표시; 제 1 사용자로부터의 제 1 초대장 거래의 출력으로부터 제공되는 제 1 입력, 상기 제 1 초대장 거래는 이전에 상기 P2P 분배 장부에 포함되어 있으며, 제 1 스크립트, 상기 제 1 사용자와 관련된 제 1 사용자 개인키(, 제 1 서드파티와 관련된 제 1 서드파티 개인키, 및 상기 제 1 사용자로부터 제 2 사용자로 제 1 개체의 전송을 나타내는 제 1 출력; 을 포함하며, 그리고, 상기 제 1 스크립트는, 전송될 제 1 개체의 표시 및 전송을 위한 제 1 조건 세트를 제공하는 제 1 메타 데이터 세트, 상기 제 1 사용자 개인키와 암호화 쌍이며, 상기 제 1 사용자와 연관된 제 1 사용자 공개키, 및 상기 제 1 서드파티 개인키와 암호화 쌍이며, 상기 제 1 서드파티와 연관된 제 1서드파티 공개키 쌍을 포함할 수 있다.

Description

블록체인을 이용하는 피어 - 투 - 피어 분산 장부에서 개체들의 효율적인 전송을 위한 방법 및 시스템
본 발명은 분산된 피어-투 피어 장부, 특히 블록 체인 기술에 관한 것이다. 본 발명은 또한 부분적으로 토큰 화 및 보안 기술, 그리고 블록 체인을 통하여 개체 및 / 또는 개체의 소유권을 전송하기 위한 보안 메커니즘에 관한 것이다. 본 발명은 블록 체인을 통해 서로 다른 당사자들간에 보안 거래를 수행하는 방법을 포함 할수 있다.
블록 체인(blockchain)은 피어-투-피어(peer-to-peer) 전자 장부로서, 블록들은 거래들로 구성되는 컴퓨터 기반 분산형 분산 시스템으로서 구현된다. 각 거래는 블록 체인 시스템의 참여자간에 디지털 자산의 지배권 전송을 인코딩하는 데이터 구조이며 최소한 하나의 입력과 하나 이상의 출력을 포함한다.  각 블록은 이전 블록의 해시를 포함하여 해당 블록이 서로 연결되어, 처음부터 블록체인에 기록된 영구적이며 변경 불가능한 모든 거래를 생성한다. 거래에는 입력 및 출력에 내장되어 있는 스크립트라고 하는 작은 프로그램이 들어 있으며, 이 프로그램은 거래의 출력에 액세스 할 수 있는 사용자 및 방법을 지정한다. 비트코인 플랫폼에서 이 스크립트는 스택-기반 스크립팅 언어를 사용하여 작성된다.
거래(Tx)가 블록 체인에 기록되기 위해서는, 반드시 "검증"되어야 한다. 네트워크 노드(채굴자)는 네트워크에서 유효하지 않은 거래를 거부하여 각 거래가 유효한지 확인하기 위해 작업을 수행한다. 노드에 설치된 소프트웨어 클라이언트는 잠금 및 잠금 해제 스크립트를 실행하여 사용되지 않은 거래(UTXO)에 대해 유효성 검증 작업을 수행한다.   잠금 및 잠금 해제 스크립트의 실행이 TRUE로 평가되면, 거래는 유효하며 거래가 블록 체인에 기록된다. 따라서 거래가 블록 체인에 기록되려면 i) 거래를 수신하는 첫 번째 노드에 의해 유효성이 검증되어야 한다 - 거래의 유효성이 검사되면 노드가 이것을 네트워크의 다른 노드로 중계한다;  ii) 채굴자가 만든 새로운 블록에 추가되어야 한다;  iii) 채굴, 즉 과거 거래의 공개 장부에 추가되어야 한다.
블록 체인 기술이 암호 화폐 구현에 이용되는 것으로 가장 널리 알려져 있지만, 디지털 기업은 비트코인이 기반으로 하는 암호 보안 시스템 및 새로운 시스템을 구현하기 위해 블록 체인에 저장될 수 있는 데이터의 사용을 모색하기 시작했다. 블록 체인이 암호 화폐의 영역에 국한되지 않고 자동화된 작업 및 프로세스에 사용될 수 있다면 매우 유용할 것이다. 이러한 솔루션은 블록 체인의 이점 (예: 영구적이고, 변조 방지된 이벤트의 기록, 이벤트 처리, 분산 처리 등)을 활용할 수 있을 뿐만 아니라 해당 애플리케이션에서보다 다양하게 활용할 수 있다.
현재의 연구 분야 중 하나는 "스마트 계약(smart contracts)"의 구현을 위한 블록 체인의 사용이다. 이들은 기계가 읽을 수 있는 계약 또는 계약 조건의 실행을 자동화하도록 설계된 컴퓨터 프로그램이다. 자연어로 작성된 기존 계약과 달리 스마트 계약은 결과를 산출하기 위해 입력을 처리할 수 있는 규칙을 포함하는 기계 실행 가능 프로그램으로, 결과에 따라 조치가 수행될 수 있다.
블록 체인과 관련된 또 다른 관심 영역은 블록 체인을 통해 실제 세계의 개체를 표현하고 전달하기 위해 '토큰'(또는 'coloured coins')을 사용하는 것이다. 잠재적으로 민감하거나 비밀스러운 아이템은 식별 불가한 의미 또는 가치가 없는 토큰으로 나타낼 수 있다. 따라서 토큰은 실제 세계의 아이템을 블록 체인에서 참조할 수 있게 해주는 식별자 역할을 한다. 토큰화 기술은 보안, 익명성 및 크로스-플랫폼의 준수가 중요한 다양한 유형의 컨텍스트와 관련하여 사용할 수 있다. 그러한 응용 분야 중 하나는 금융 어플리케이션이지만, 본 발명은 금융 거래와 관련한 용도로만 제한되지 않는다.
이 문서에서 우리는 모든 형태의 전자 컴퓨터 기반 분산 장부를 포함하는 개념으로 '블록 체인 (blockchain)'이라는 용어를 사용한다. 여기에는 합의-기반 블록 체인과 거래-체인 기술, 허가 및 비허가 장부, 공유 장부 및 그 변형이 포함되나 이에 국한되지 않는다. 블록 체인 기술의 가장 널리 알려진 어플리케이션은 비트코인 장부이지만 다른 블록 체인 구현이 제안되고 개발되었다. 비트코인은 본 명세서에서 편의 및 설명을 위해 언급될 수 있지만, 본 발명은 비트코인 블록 체인을 사용하는 것에 국한되지 않으며, 대안적인 블록 체인의 구현과 프로토콜도 본 발명의 범위 내에 속한다는 것을 알아야 한다.
본 발명은 블록 체인을 통해 자산의 보안 지배권 및 / 또는 전송 또는 교환을 위한 솔루션을 제공할 수 있다. 여기서, "개체"라는 용어는 "자산"과 상호 교환 적으로 사용될수 있다. 추가적 또는 대안적으로, 본 발명은 자산 소유권의 지배권 및 / 또는 전송을 가능하게 할 수 있다. 이는  스마트 계약 또는 실제-세계 / 물리적 자산과 같은 디지털 또는 가상 자산일 수 있다. 자산은 라이센스 또는 사용권과 같은 권리 또는 특정 유형의 자산과 관련된 권리 일 수 있다. 본 발명은 이러한 지배권 또는 전송을 용이하게 하기 위해 토큰화 기술을 사용할 수 있다. 본 발명은 기본 블록 체인 프로토콜의 변경을 요구하지 않으면서 암호화 키의 사용을 통합하는 안전한 방식으로 전송 / 교환을 수행할 수 있게 한다. 본 발명은 블록 체인 거래(Tx)와 연관된 스크립트에 메타 데이터를 내장하기 위한 기술을 사용할 수 있다.
본 발명은 첨부된 청구 범위에서 정의된다
본 발명은 피어 - 투 - 피어 분산 장부(블록체인)에서 개체들의 효율적인 전송을 위한 컴퓨터 구현 방법을 제공할 수 있다. 상기 방법은, 제 1 교환 거래를 생성하는 단계와, 제 1 네트워크를 통해, P2P 분배 장부에 포함시키기 위한 제 1 교환 거래를 브로드캐스팅 하는 단계를 포함하며, 상기 제 1 교환 거래는, 전송 될 암호 화폐의 제 1 수량의 표시; 제 1 사용자로부터의 제 1 초대장 거래의 출력으로부터 제공되는 제 1 입력, 상기 제 1 초대장 거래는 이전에 상기 P2P 분배 장부에 포함되어 있으며, 제 1 스크립트, 상기 제 1 사용자와 관련된 제 1 사용자 개인키(V1A), 제 1 서드파티와 관련된 제 1 서드파티 개인키(P1T), 및 상기 제 1 사용자로부터 제 2 사용자로 제 1 개체의 전송을 나타내는 제 1 출력; 을 포함하며, 그리고, 상기 제 1 스크립트는, 전송될 제 1 개체의 표시 및 전송을 위한 제 1 조건 세트를 제공하는 제 1 메타 데이터 세트, 상기 제 1 사용자 개인키와 암호화 쌍이며, 상기 제 1 사용자와 연관된 제 1 사용자 공개키, 및 상기 제 1 서드파티 개인키와 암호화 쌍이며, 상기 제 1 서드파티와 연관된 제 1서드파티 공개키 쌍을 포함할 수 있다.
따라서 (리딤, redeem)스크립트의 해시는 블록 체인 거래 내에서 제공되거나 블록 체인 거래(Tx)와 연관되어 제공될 수 있다. 이것은 비트코인 프로토콜 또는 다른 블록 체인 프로토콜의 다른 기능적으로 동등한 거래 유형에 따라 P2SH 거래 일 수 있다. 스크립트의 해시는 해시 테이블 또는 다른 스토리지 리소스에 대한 룩-업 키 역할을 할 수 있다. 이 스토리지 리소스는 초대장의 공개 도메인 저장소 일 수 있다. 스토리지 리소스는 룩업 키(즉, 해시) 및 조합을 통하여 초대장을 정의하는 메타 데이터의 모든 필드를 포함할 수 있다. 룩업 키는 나머지 기록의 해시, 즉 연계된 메타 데이터 값의 해시 일 수 있다. 바람직한 실시 예에서, 메타 데이터는 토큰과 연관된 계약 위치에 대한 포인터 또는 다른 참조를 포함할 수 있다. 계약은 별도의 스토리지 리소스에 저장될 수 있다. 초대장(스토리지 리소스의 메타 데이터에 정의된 바대로)은 해시를 통해 블록 체인 거래에 링크될 수 있다.
다양한 이점이 본 발명에 의해 제공되며, 그 중 일부가 이제 설명된다. 첫째, 교환에 관한 정보가 분산 장부에 안전하게 내장된 메타 데이터에 포함되므로 교환을 피어-투- 피어(peer-to-peer) 방식으로 안전하게 수행할 수 있어, 신뢰할 수 있는 서드 파티를 불필요하게 만든다. 이는 결국, 서비스 제공자와 같은 서드 파티에 의해 교환에 대한 중요한 정보가 다량으로 필요하지 않게 되므로 서드 파티의 보안이 손상되는 것과 관련된 위험을 피할 수 있다. 이 장점은 거래의 익명성을 유지하면서 제공된다. 첫 번째 스크립트가 해시되었으므로, 스크립트의 해당 해시값을 변경하지 않고 메타 데이터 값을 변경하는 것은 어렵다. 또한 거래의 조건을 공개적으로 사용 가능한 분산 장부에 고정하여 거래의 무결성을 신뢰할 수 있게 하므로 당사자가 거래 조건을 확인할 수 있다. 첫 번째 메타 데이터가 첫 번째 스크립트의 공개키를 사용할 수 있는 장소 중 하나 이상에 내장될 수 있으므로, 메타 데이터 처리에 적합하지 않은 노드가 다른 노드에 스크립트를 간단히 전송할 수 있게 한다는 이점이 있어 진행을 가로막는 과정과는 대조적이다. 이는 차례로 관련 거래의 계산 효율성을 향상시킵니다. 예를 들어, 개최지 또는 여행 티켓 또는 바우처 티켓으로 대표되는 토큰의 경우, 배리어에 대한 액세스 코드 같은 제어 데이터가 메타 데이터에 통합될 수 있는 또 다른 이점이 제공된다. 메타 데이터는 또한 교환의 세부 사항을 가리키는 오프-블록 스토리지를 포함할 수 있으며, 따라서 관련 거래 처리에 사용되는 메모리 및/또는 프로세싱 자원을 적게 사용할 수 있다. 토큰은 분할되어 두 개 이상의 거래 출력을 가능하게 하며, 각각은 토큰화 되거나 토큰화 되지 않은 전자적 전송 가능한 디지털 자산과 관련될 수 있게 한다는 또 다른 장점이 제공된다.
상기 방법은 제 2 교환 거래를 생성하는 단계; 및 상기 제 1 네트워크를 통해, P2P 분배 장부에 포함시키기 위한 제 2 교환 거래를 브로드캐스팅하는 단계를 더 포함하며, 상기 제 2 교환 거래는, 전송될 암호 화폐의 제 2 수량의 표시; 상기 제 2 사용자로부터의 제 2 초대장 거래의 출력으로부터 제공되는 제 2 입력, 상기 제 2 초대장 거래는 이전에 상기 P2P 분배 장부에 포함되어 있으며, 제 2 스크립트, 상기 제 2 사용자와 관련된 제 2 사용자 개인키, 제 2 서드파티와 관련된 제 2 서드파티 개인키, 및 상기 제 2 사용자로부터 제 1 사용자로 제 2 개체의 전송을 나타내는 제 2 출력; 을 포함하며, 그리고, 상기 제 2 스크립트는, 전송될 제 2 개체의 표시 및 전송을 위한 제 2 조건 세트를 제공하는 제 2 메타 데이터 세트, 상기 제 2 사용자와 연관된 제 2 사용자 공개키, 및 상기 제 2 서드파티와 연관된 제 2서드파티 공개키 쌍을 포함할 수 있다.
추가적 또는 대안적으로, 본 발명은 피어-투-피어 분산 장부에서 개체들의 효율적인 전송을 위한 컴퓨터 구현 방법을 제공할 수 있다. 상기 방법은, 제 1 교환 거래를 생성하는 단계와, 제 1 네트워크를 통해, P2P 분배 장부에 포함시키기 위한 제 1 교환 거래를 브로드캐스팅 하는 단계를 포함하며, 상기 제 1 교환 거래는,전송될 암호 화폐의 제 1 수량의 표시; 제 1 사용자로부터의 제 1 초대장 거래의 출력으로부터 제공되는 제 1 입력, 상기 제 1 초대장 거래는 이전에 상기 P2P 분배 장부에 포함되어 있으며, 제1 스크립트,상기 제 1 사용자와 관련된 제 1 사용자 개인키, 제 1 서드파티와 관련된 제 1 서드파티 개인키, 및 상기 제 1 사용자로부터 제 2 사용자로 제 1 개체의 전송을 나타내는 제 1 출력; 전송될 암호 화폐의 제 2 수량의 표시; 상기 제 2 사용자로부터의 제 2 초대장 거래의 출력으로부터 제공되는 제 2 입력, 상기 제 2 초대장 거래는 이전에 상기 P2P 분배 장부에 포함되어 있으며, 제 2 스크립트, 상기 제 2 사용자와 관련된 제 2 사용자 개인키, 제 2 서드파티와 관련된 제 2 서드파티 개인키, 및 상기 제 2 사용자로부터 제 1 사용자로 제 2 개체의 전송을 나타내는 제 2 출력; 을 포함하며, 그리고, 상기 제 1 스크립트는, 전송될 제 1 개체의 표시 및 전송을 위한 제 1 조건 세트를 제공하는 제 1 메타 데이터 세트, 상기 제 1 사용자와 연관된 제 1 사용자 공개키, 및 상기 제 1 서드파티와 연관된 제 1서드파티 공개키 쌍을 포함하며, 그리고, 상기 제 2 스크립트는, 전송될 제 2 개체의 표시 및 전송을 위한 제 2 조건 세트를 제공하는 제 2 메타 데이터 세트, 상기 제 2 사용자와 연관된 제 2 사용자 공개키, 및 상기 제 2 서드파티와 연관된 제 2 서드파티 공개키 쌍을 포함할 수 있다.
바람직하게, 상기 제 1 교환 거래를 생성하는 단계는, 상기 제 1 사용자 개인키로 서명하기 위해 상기 제 1 스크립트를 상기 제 1 사용자에게 전송하는 단계; 상기 제 1 사용자로부터 상기 제 1 사용자 개인키로 서명된 상기 제 1 스크립트를 수신하는 단계; 상기 제 1 서드파티 개인키로 서명하기 위해 상기 제 1 스크립트를 상기 제 1 서드파티에게 전송하는 단계; 및 상기 제 1 서드파티로부터 상기 제 1 서드파티 개인키로 서명된 상기 제 1 스크립트를 수신하는 단계를 포함할 수 있다.
유리하게는, 상기 제 1 교환 거래를 생성하는 단계는, 상기 제 2 사용자 개인키로 서명하기 위해 상기 제 1 스크립트를 상기 제 2 사용자에게 전송하는 단계; 상기 제 2 사용자로부터 상기 제 2 사용자 개인키로 서명된 상기 제 1 스크립트를 수신하는 단계; 상기 제 2 서드파티 개인키로 서명하기 위해 상기 제 1 스크립트를 상기 제 2 서드파티에게 전송하는 단계; 및 상기 제 2 서드파티로부터 상기 제 2 서드파티 개인키로 서명 된 상기 제 1 스크립트를 수신하는 단계를 포함할 수 있다.
상기 제 2 교환 거래를 생성하는 단계는, 상기 제 2 사용자 개인키로 서명하기 위해 상기 제 2 스크립트를 상기 제 2 사용자에게 전송하는 단계; 상기 제 2 사용자로부터 상기 제 2 사용자 개인키로 서명된 상기 제 2 스크립트를 수신하는 단계; 상기 제 2 서드파티 개인키로 서명하기 위해 상기 제 2 스크립트를 상기 제 2 서드파티에게 전송하는 단계; 및 상기 제 2 서드파티로부터 상기 제 2 서드파티 개인키로 서명된 상기 제 2 스크립트를 수신하는 단계를 포함할 수 있다.
상기 방법은, 상기 제 1 및 / 또는 제 2 교환 거래를 생성 또는 브로드 캐스팅하기 전에 교환을 허용하도록 프롬프트를 상기 제 1 및 제 2 사용자 중 하나 이상에게 전송하는 단계를 더 포함할 수 있다.
상기 방법은, 상기 제 1 사용자로부터 교환을 수행하기 위한 제 1 초대장을 수신하는 단계, 상기 제 1 초대장은 상기 제 1 메타 데이터 세트를 포함하며; 상기 제 1 스크립트를 생성하는 단계; 상기 제 1 스크립트를 해싱하여 제 1 스크립트 해시를 생성하는 단계; 제 2 네트워크를 통해 상기 제 1 스크립트 및 상기 제 1 스크립트 해시를 전송하는 단계; 및 상기 제 1 네트워크를 통해 피어-투-피어 분산 장부에 포함시키기 위한 상기 제 1 초대장 거래를 송신하는 단계를 더 포함하며, 상기 제 1 초대장 거래는 전송될 암호 화폐 제 3 수량의 표시 및 상기 제 1 스크립트 해시를 포함할 수 있다.
상기 방법은, 상기 제 2 사용자로부터 교환을 수행하기 위한 제 2 초대장을 수신하는 단계, 상기 제 2 초대장은 상기 초대장과 연관된 상기 제 2 메타 데이터 세트를 포함하며; 상기 제 2 스크립트를 생성하는 단계; 상기 제 2 스크립트를 해싱하여 제 2 스크립트 해시를 생성하는 단계; 상기 제 2 네트워크를 통해 상기 제 2 스크립트 및 상기 제 2 스크립트 해시를 전송하는 단계; 및 상기 제 1 네트워크를 통해 피어-투-피어 분산 장부에 포함시키기 위한 상기 제 2 초대장 거래를 송신하는 단계를 더 포함하며, 상기 제 2 초대장 거래는 전송될 암호 화폐 제 4 수량의 표시 및 상기 제 2 스크립트 해시를 포함할 수 있다.
상기 제 1 개체는 암호 화폐의 상기 제 1 수량일 수 있다. 추가적 또는 대안적으로, 상기 제 2 개체는 암호 화폐의 상기 제 2 수량일 수 있다.
상기 제 1 네트워크를 통해 상기 제 1 스크립트 및 상기 제 1 스크립트 해시를 전송하는 단계는, 분산된 해시 테이블(DHT) 상에 상기 제 1 스크립트 및 상기 제 1 스크립트 해시를 발행하는 단계; 또는, 대안적으로 상기 제 1 스크립트 및 상기 제 1 스크립트 해시를 상기 제 2 사용자에게 전송하는 단계를 포함한다.
상기 제 2 네트워크를 통해 상기 제 2 스크립트 및 상기 제 2 스크립트 해시를 전송하는 단계는, 분산된 해시 테이블(DHT) 상에 상기 제 2 스크립트 및 상기 제 2 스크립트 해시를 발행하는 단계; 또는, 대안적으로 상기 제 2 스크립트 및 상기 제 2 스크립트 해시를 상기 제 1 사용자에게 전송하는 단계를 포함한다.
일부 실시예에서, 상기 P2P 분산 장부는 비트코인 블록 체인이다.
바람직하게, 상기 제 1 서드파티는 에스크로우 서비스 제공자이다. 동일하게, 상기 제 2 서드파티는 에스크로 서비스 제공자일 수 있다.
유리하게는, 상기 제 1 교환 거래, 상기 제 2 교환 거래, 상기 제 1 초대장 거래 및 상기 제 2 초대장 거래 중 하나 이상은 pay-to-script-hash(P2SH) 거래일 수 있다.
상기 제 1 스크립트 해시 및 상기 제 2 스크립트 해시는 Base58로 인코딩 것일 수 있다.
상기 제 1 개체 및 / 또는 상기 제 2 개체는 비트 코인, 계약, 물품, 또는 서비스일 수 있다.
상기 계약은 신용 화폐; 소유권 증서; 티켓; 상품; 서비스 중 하나 이상일 수 있다.
상기 제 1 조건 세트 및 / 또는 상기 제 2 조건 세트는 a) 상기 교환과 관련된 하나 이상의 가격에 대한 하나 이상의 범위 한도; b) 환율; c) 상기 제1초대장을의 이행을 위한 마감일; d) 상기 교환이 일어나기 위한 지리적 영역의 제한 중 하나 이상을 포함할 수 있다.
본 발명의 실시예(들)는 (블록 체인) 거래에 메타 데이터를 내장하기 위한 기술을 포함 할 수 있으며, 자산(B1) 및 리딤 스크립트의 해시와 관련된 출력(Tx0)을 갖는 블록 체인 거래(Tx)를 생성하는 단계를 포함하며; 리딤 스크립트의 해시는 토큰화 된 개체를 대표하거나 참조하는 토큰을 포함하는 메타데이터; 및 하나 이상의 (바람직하게는 2 개 이상의) 공개 암호키를 포함한다.
디지털 자산(B1)은 비트코인과 같은 암포 화폐의 수량일 수 있다. 리딤 스크립트는 거래 출력 TxO의 잠금 스크립트 내에 제공 될 수 있다. 메타데이터는 암호화 키를 위한 위치로서 블록 체인 프로토콜의 지정된 위치에서 리딤 스크립트에 제공 될 수 있다. 따라서 기본 블록 체인 프로토콜을 변경하지 않고도 메타 데이터를 전송할 수 있다는 이점이 있다. 프로토콜을 운영하는 노드는 암호화 키 대신 메타 데이터를 사용하는 것을 알 수 없다.
상기 방법은 거래(Tx)를 블록 체인에 제출하는 단계를 더 포함 할 수 있다. 사실상, 암호 화폐(B1)는 토큰과 관련하여 블록 체인 상에 고정 될 수 있다. 암호 화폐(B1)의 양은 출력 TxO에 대한 잠금 스크립트의 요구 사항을 충족시키는 잠금 해제 스크립트를 제공한 경우에만 사용(교환) 될 수 있다. 특히, 해시되었을 때, TxO의 잠금 스크립트에서 제공된 해시와 일치하는 리딤 스크립트가 제시되어야 한다. 출력 TxO에 대한 잠금 스크립트는 토큰(메타 데이터에서)을 차례로 포함하는 리딤 스크립트의 해시를 포함하기 때문에, 암호 화폐(B1)는 토큰과 연관된다. 올바른 잠금 해제(redeem) 스크립트의 프리젠테이션에서, 암호 화폐(B1)의 소유권은 상환 당사자 또는 사용자에게 전달될 수 있다(즉, 소비된다).
본 발명은 상술한 임의의 방법을 구현하도록 배치되고 구성된 컴퓨터 구현 시스템을 제공할 수 있다. 하나의 양태 또는 실시 예와 관련하여 상기 언급된 임의의 특징(들)은 임의의 다른 실시 예 또는 양태와 관련하여 사용될 수 있다. 본 발명의 방법과 관련하여 언급된 임의의 특징은 상응하는 구현 시스템에 동일하게 적용될 수 있고, 그 반대일 수도 있다.
본 발명의 일 측면에 따르면, 전술한 바와 같은 방법을 수행하도록 동작 가능한 프로세서 또는 프로세서 그룹이 제공된다.
본 발명의 일 측면에 따르면, 실행될 때, 전술한 바와 같은 방법을 수행하도록 동작 가능한 명령들을 저장 한 컴퓨터 판독 가능 매체가 제공된다
본 명세서 전체에 걸쳐, "포함한다"라는 단어 또는 "포함" 또는 "포함하는"과 같은 변형은 명시된 구성, 정수 또는 단계, 또는 구성, 정수 또는 단계의 그룹을 포함하며, 다른 구성, 정수 또는 단계, 또는 구성, 정수 또는 단계의 그룹을 제외하지 않는 것으로 이해되어야 할 것이다.
본 발명은 특히, 전자 전송에 대한 메모리 사용 최적화의 강화, 해싱 기술의 사용을 통해 보안성 및 데이터 무결성의 개선, 신뢰된 서드 파티에 대한 니즈 제거를 통해 향상된 보안 및 데이터의 향상된 익명성을 제공한다. 또한, 본 발명에 의해 제공되는 신규한 방법 및 / 또는 아키텍처를 통해 서로 다른 또는 구별된 당사자가 서로를 식별 및 / 또는 데이터를 교환할 수 있도록 향상된 통신 메커니즘을 제공할 수 있다. 이 열거된 장점 목록은 제한적이지 않으며, 빠짐없이 열거된 것은 아니다.
본 발명은 하나 이상의 사용자 장치 및 블록 체인(blockchain) 관련 소프트웨어 및 프로토콜을 실행하도록 구성된 컴퓨팅 노드를 포함하는 분산 컴퓨터 시스템(블록 체인)과 같이 다양한 별개의 개별 컴퓨터 기반 자원의 상호 작용 및 상호 통신을 필요로 할 수 있다.
본 발명의 실시 예는 첨부 도면을 참조하여 비 제한적인 실시 예에 의해서만 설명 될 것이다:
도 1은 본 발명의 일 실시예에 따른 시스템의 개략도이다;
도 2는 도 1의 시스템의 사용자에 의해 수행되는 프로세스의 흐름도이다;
도 3은 교환 서비스 제공자에 의해 수행되는 프로세스를 나타내는 흐름도이다;
도 4는 교환 서비스 제공자에 의해 생성된 초대장에 대한 메타 데이터 포맷을 나타내는 테이블이다;
도 5는 교환 서비스 제공자에 의해 생성된 초대장에 대한 메타 데이터 포맷을 나타내는 테이블이다;
도 6은 도 1의 시스템에서 두 명 이상의 사용자로부터의 초대장 매칭의 프로세스를 나타내는 흐름도이다;
도 7은 도 1의 시스템에서 복수의 당사자들 사이의 복수의 거래에 대한 거래 테이블이다;
도 8은 도 1의 시스템에서 당사자들간의 거래를 도시한 거래 개략도이다;
도 9는 도 1의 시스템에서 복수의 당사자들 사이의 복수의 거래에 대한 거래 테이블이다;
도 10은 도 1의 시스템에서 다수의 당사자들 사이의 복수의 거래에 대한 거래 테이블이다;
도 11a는 도 1의 시스템에서 두 당사자 간의 거래에 대한 거래 테이블이다;
도 11b는 도 1의 시스템에서 두 당사자 간의 거래에 대한 거래 테이블이다; 그리고,
도 11c 는도 1의 시스템에서 두 당사자 간의 거래에 대한 거래 테이블이다.
다른 사람의 은행 계좌 또는 외화 교환기로의 지불과 같은 통상적인 금융 거래를 수행하는 최첨단 방법은 거래 수수료 및 시간 지연 모두에서 비용을 초래한다. 반대로, 비트 코인과 같은 전자 화폐 거래는 훨씬 빠른 속도(즉, 며칠이 아닌 수 분) 및 훨씬 적은 비용(거래당 수십 달러가 아닌 소정의 센트)으로 처리될 수 있다.
재무 및 비재무 분야의 일상적인 거래에 대한 영구적인 기록을 수행하고 유지하는 더 빠르고 저렴한 방법이 필요하다. 본 발명은 금융 어플리케이션에 사용되거나 금융 어플리케이션에 대한 이점으로 제한되지 않는다는 점에 유의해야 한다. 대신에, 본 발명은 일반적으로 당사자가 임의의 유형의 개체를 제공, 요청 및 교환 할 수 있도록, 비트코인 블록 체인과 같은 P2P 분산 장부를 이용하는 방법 및 장치에 관한 것이다. 여기에 설명된 방법은 개체 교환을 수행하기 위한 초대장(또는 주문)의 입력은 물론 초대장의 수락에 대한 실제 교환의 제정(enactment)을 가능하게 한다. 따라서, 실시 예들은 유지되어야 할 교환 프로세스의 모든 단계들의 영구적인 기록을 제공한다. 또한 프로세스(제안, 수락 및 교환)의 각 단계는 암호 화폐의 거래에서 사용되는 것과 유사한 암호화 잠금 기술을 사용하여 보호할 수 있다. 여기에 설명된 방법은 또한 임의의 유형의 개체를 교환하는 데 사용될 수 있다. 이러한 개체의 예로 비트 코인, 신용 화폐, 계약, 재화 및 서비스가 있으며, 이에 제한되지는 않는다. "암호 화폐"란 비트코인과 같은, 그러나 이에 제한되지는 않는, 암호화된 전자 전송 가능한 디지털 자산을 의미한다.
블록 체인(blockchain) 기술의 사용을 수반하는 Coinffeine(http://www.coinffeine.com/)과 같은 거래소들이 당 업계에 공지되어 있다. 그러나, 이러한 선행 기술은 여전히 전통적인 모델에 의존하고 있으며, 운영하기 위해 타사 소스, 에스크로 및 기타 다중 통화 비은행 계좌 / 프로세서에 의존하여여 한다. 이러한 알려진 기술은 기술 혁신 및 암호화 기술(본 발명에 따른)보다는 비즈니스 모델을 통해 분산화를 달성한다.
본 발명은 토큰화 기술의 사용을 포함한다. 계약은 토큰을 통한 시스템을 사용하여 교환될 수 있다. 토큰은 계약을 나타내는 교환 가능한 개체이다. 계약은 여러 가지 형태 중 하나를 택할 수 있다. 예를 들어, 계약은 권리자에게 권리를 부여하거나 재산의 소유권을 나타낼 수 있다. 토큰의 가치는 계약상으로 지정 될 수 있으며, '페깅 레이트(pegging rate)'를 통해 기본 BTC금액에 링크된다. 토큰은 비트코인 프로토콜과 같은 암호 화폐 프로토콜을 사용하는 새로운 유형의 거래를 통해 교환 가능합니다. 거래상에서 비트 코인의 가치는 디지털 형식의 권리 계약서를 나타내는 토큰 역할을 한다. 계약 자체는 블록 체인에 저장되거나 공개적으로 액세스 할 수 있는 오프-블록 위치에 보관되거나, 또는 특정 실시 예에 따라 계약 당사자가 개인적으로 보유 할 수 있다. 계약이 블록 체인에 저장되지 않은 경우, 블록 체인 거래(Tx)은 고유한 포인터, 식별자 또는 기타 계약에 대한 레퍼런스를 저장할 수 있다.
토큰은 분할될 수 있다. 분할 가능한 토큰은 거래 출력의 값을 여러 개의 새로운 토큰에 할당하여 더 작은 금액으로 세분할 수 있는 토큰이다. 분할 가능한 토큰은 신용 화폐를 위한 토큰 또는 경마, 부동산 등의 주식에 대한 토큰을 포함한다. 분할 가능한 계약은 0이 아닌 페깅 레이트를 지정하는 것으로 정의될 수 있다. 즉, 토큰 값은 기본 비트 코인 값에 고정된다. 또는 토큰은 분할할 수 없다. 분할 할 수 없는 토큰은 소유자의 권리를 고정된 가치로 지정하는 계약이다(예: 집 상환 계약서 또는 AU $ 1000). 따라서 분할할 수 없는 토큰은 기본 비트 코인의 값과 링크되지 않는다.
유효한 토큰은 토큰 발급자에 의해 디지털 서명되어야 한다. 발급자는 예를 들어 소유권 증서 등록 기관과 같은 권리 기관 일 수 있다. 발급자는 지불 대가로 사용자에게 토큰을 발행할 수 있다. 계약서가 화폐 통화권을 상환할 권리이거나, 또는 서비스 수행을 의미하는 것이거나, 그 토큰은 사용자가 토큰에 링크된 계약을 행사할 권리를 부여할 수 있다.
상기에 따른 토큰의 예는 다음을 포함한다:
·계약 발급자에 의해 거래 출력(UTXO)의 BTC 값에 고정되는 신용 화폐 토큰. 예를 들어 "이 토큰 (비트 코인 거래 출력 UTXO)의 소비자는 매 1000 사토시(satoshis)마다 1 주(10 센트)의 비율로 캐나다 달러 (CAD)에 대해 이 토큰의 일부를 사용할 수 있다."
·신디케이트 여러 회원 소유의 경주마
·소유권이 소유권 증서 형식으로 된 모든 아이템. 예를 들어, 집 또는 기타 자산 등은 이러한 방식으로 취급될 수 있다.
·콘서트 티켓을 대표하는 전자 계약. 이것은 본질적으로 분할될 수 없다.
·무기명 채권 (분할 될 수 없음)
·(바코드 또는 RFID와 같은)상품 / 서비스에 부착 된 고유 한 식별자. 사용시에는, 이 식별자는 여전히 승인 된 개체의 서명에 의해 검증되는 것이 바람직하다; 서명이 없으면 보장되지 않는 '상품 / 서비스'범주로 분류된다(아래 설명 참조).
·수행할 서비스에 대한 권리. 이것은 실제 서비스 자체와 동일하지는 않지만 서비스를 수행할 수 있는 권한만 있다는 점에 유의하여야 한다. 이 권리는 거래될 수 있다. 예를 들어, 시드니 대도시 지역에서 약 3 시간 동안 마이클의 잔디 깎기 서비스에서 잔디 깍기 서비스를 받을 수 있는 바우처. 이 바우처(계약)의 소유자는 실제 서비스를 위해 이 바우처를 사용할 수 있다.
토큰은 예를 들면, 아이템 또는 자산(경주마, 집 등)에 대해 1 쉐어 = 10 센트(cents) CAD, 1 쉐어 = 1 루피아(rupiah) 또는 1 공유 = 1 % 소유권과 같은 공유 값을 지정해야 한다.
후술되는 실시예는 구체적으로 비트코인 블록 체인(또는 단순히 블록 체인)상의 거래를 기록하는 것을 언급할 수 있지만, 본 발명은 임의의 P2P 분산 장부를 사용하여 구현 될 수 있음을 이해할 수 있을 것이다. 블록 체인은 표준화 수준이 높고 관련 공개 문서가 많기 때문에 단순화를 위해 본 발명의 관점들을 설명하기 위해 아래에서 사용된다.
당해 기술 분야에서 잘 알려진 바와 같이, 블록 체인은 비트코인 프로토콜 기반의 시스템에 참여한 네트워크화 된 노드를 통하여 분산되는 거래 장부 또는 데이터베이스이다. 통화 블록 체인의 전체 복사본에는 통화로 실행된 모든 거래가 포함된다. 따라서 지속적으로 증가하는 거래 데이터 기록 목록이 제공된다. 블록 체인에 입력된 각 거래는 암호가 강제되기 때문에, 블록 체인은 데이터 저장소 노드의 운영자에 대하여 조차도 변조 및 수정에 대한 강화가 되어 있다.
본 발명의 실시 예들에서, 블록 체인은 한 당사자로부터 다른 당사자로의 비트코인(또는 다른 암호 화폐)의 지불을 나타내는 거래 기록을 저장하는 설계된 기능으로 사용되는 대신에 또는 부가하여, 새로운 방식으로 당사자간에 개체나 자산을 양도 할 수 있도록 사용된다. 교환은 디지털 개체의 지배권 및 / 또는 소유권을 한 당사자에서 다른 당사자로 이전한다. 이를 달성하기 위해, 본 발명은 하나 이상의 개체들의 교환을 수행하기 위해 초대(또는 주문들)을 유지 및 기록하는 메커니즘을 제공한다. 따라서, 본 발명은 블록 체인을 통해 수행되는 신규하고 유리한 통신 솔루션을 제공한다.
전술한 바와 같이, 임의의 유형의 개체 또는 자산이 교환 가능하다. 이들은 물리적인 "실세계 (real world)"의 개체 또는 가상, 디지털 개체 일 수 있다. 교환 할 수 있는 개체의 예로는, 비트 코인, 토큰(모든 유형의 양도 가능 계약을 대표하는) 및 임의의 유형의 상품 및 서비스를 포함할 수 있다. 토큰은 소유주가 신용 화폐 (가상 지폐)의 사용, 재산 소유권의 표시(예: 소유권 증서) 또는 이벤트에 대한 접근 권한(티켓)등과 같은 많은 사례에 특정 권리를 수여하는 계약을 나타낼 수 있다. 상품 및 서비스에는 신제품 또는 중고 제품, 노동력(예: 타임 차지), 완전한 작업 (예: 잔디 깎기) 등이 포함될 수 있으며 많은 사례가 있다.
도 1은 일 실시 예에 따른 P2P 교환 시스템(100)의 네트워크 다이어그램이다. 시스템(100)은 네트워크(102) 및 네트워크에 대한 복수의 당사자를 포함한다. 당사자는 교환 서비스 제공자(104), 제 1 사용자(106), 제 2 사용자(108), 에스크로 서비스 제공자(110) 및 발급자(112)를 포함한다. 이하에서 더 상세히 설명되는 바와 같이, 교환 서비스 제공자(104), 에스크로 서비스 제공자(110) 및 발급자(112)의 결합 기능은 단일 당사자에 의해 수행될 수 있다. 즉, 한 당사자가 각각의 기능을 동시에 수행할 수 있다. 또한, 이하 더 상세히 설명되는 바와 같이, 교환 서비스 제공자(104) 및 에스크로 서비스 제공자(110)는 선택 사항이다. 왜냐하면, 본 발명은 이들 서비스 제공자(104, 110)의 사용없이 P2P 교환 시스템상에서 완전히 수행될 수 있기 때문이다.
교환 서비스 제공자(104)는 제 1 사용자(106) 및 제 2 사용자(108)를 포함하는 복수의 사용자에게 교환 서비스를 제공한다. 발급자(112)는 점선으로 표시된 바와 같이 네트워크(102)에 대해 선택적이다. 아래에서 보다 상세히 설명되는 바와 같이, 발행자(112)는 토큰의 교환이 관련될 때에 만 요구된다.
일부 실시 예에서, 네트워크(102)는 인터넷이다. 따라서, 다른 당사자(미도시)가 네트워크(102)에 참여할 수 있다. 네트워크 (102)의 모든 당사자는 네트워크(102)에 대한 모든 다른 당사자와 통신할 수 있다. 호스팅 되는 네트워크(102) 는 피어-투-피어 분산형 해시 테이블(P2P DHT) 및 피어-투-피어 분산 장부(P2P DL)이다. 도시되지 않은 것들과 함께, 시스템(100)에 도시된 당사자들의 일부 또는 전부는 P2P DHT 및 P2P DL 모두 또는 둘 모두에 대한 호스트 노드로서 동작할 수 있음을 이해할 것이다.
초대장 구조(Structure of An Invitation)
초대장은 다양한 매개 변수 또는 코드를 포함하여 구성 될 수 있다. 이들은 예를 들어 아래에서 보다 자세히 설명하는 초대장 매칭과 같이 다양한 목적을 위해 사용될 수 있다. 하나 이상의 실시 예에서, 다음 구조가 사용될 수 있다:
Offer-type-code
Offer-QTY-max 이것은 제공자의 지불 거래에서 수행 될 금액(예 : BTC)이다.

제공자가 BTC를 제공하는 경우 이 값은 단순히 제공자의 최대 BTC 제공이다.

제공자가 토큰화 된 통화를 제공하는 경우 이 값은 제공자의 최대 제안 통화 금액(토큰화 계약에 지정된 페깅 레이트에 따라 계산됨)과 동등한 토큰 값이다. 이는 제안자가 경주마의 일부 소유권과 같은 토큰화 된 다른 상품을 제공하는 경우에도 마찬가지이다(계약서는 경주마의 쉐어에 대한 BTC 토큰값을 지정하는 페깅 레이트를 여전히 가지고 있다).

제공자가 실제 아이템을 제공하는 경우 이 필드는 무시되지만, 실제 비트코인 거래에는 최소 요구 금액(예: dust = 546satoshis)이 표시된다.

물론, 지출액은 거래 입력값의 총 BTC 값을 초과 할 수 없기 때문에 제공자는 소유 한 비트 코인 이상을 제공 할 수 없다.
Offer-QTY-min
Offer-Item-ID
Offer-Description 키워드 : 제안이 상품 / 서비스이고 다른 식별자(예: 경매 사이트 카탈로그 번호)가 없는 경우 반드시 설정해야 하는 조건이다.
Rate-min 이것은 제공자가 (요청 단위)/(제안 단위)로 협약으로 표시 할 수 있는 교환 최소 비율이다.[0021] 예:
(1) 상품의 쉐어를 위하여 제공된 BTC(예 : 경주마의 부분 소유권)
    rate = shares/satoshis
(참고: 이 경우 콘서트 티켓과 같이 분할할 수 없는 토큰에도 적용된다. 단,이 경우에는 쉐어가 하나뿐이다)

(2) BTC를 위하여 제공된 토큰 쉐어
    rate = satoshis/share (예: Satoshis/cent, 토큰은 CAD와 같은 신용 금액임)

(3) 토큰을 위한 토큰
  rate = requested-share/offered-share(예 : cents/rupiah, 제공되는 토큰은 rupiah를 나타내며 요청은 CAD임)

이것은 일관성과 편리성을 위한 협약일 뿐이며 더 쉽게 매칭시킬 수 있다. 이 비율은 토큰화 계약에 사용된 페깅 레이트를 기반으로 requested-satoshis/offered-satoshis로 쉽게 변환 될 수 있다.
Rate-max
Conditions 이것은 개별 메타 데이터 필드에 코드화 될 최대 8 개의 조건을 나타내는 코드이다. 예를 들면:
·마감 기한(유닉스 시간으로)
·위치

이러한 메타 데이터 필드의 형식은 조건 유형에 따라 다르다.

Offer-Description 및 Request-Description도 조건으로 간주된다. 그들은 일반적으로 필요한 모든 정보를 다른 메타 데이터 필드에 코딩 할 수 있기 때문에 일반적으로 필요하지 않다. 만약 그들이 필요하다면 Conditions bitfield에서 해당 플래그를 스위칭하여 기존 플래그로 지정해야 한다.
Request-type-code
Request-item-ID
Request-description 키워드 : 요청이 상품 / 서비스이고 다른 식별자 (예: 경매 사이트 카탈로그 번호)가 없는 경우 반드시 설정해야 하는 조건이다.
Request-QTY-max
Request-QTY-min
교환 서비스 제공자(104)의 하나의 목적은 사용자(106, 108)를 위한 게이트웨이를 제공하여 P2P DHT 및 P2P DL 모두에 초대장(또는 주문)을 발행하는 것이다. 네트워크(102)의 사용자들(106, 108)은 그들 자신이 P2P DHT 및 P2P DL 모두에 초대장을 발행할 수 있지만, 교환 서비스 제공자(104)는 초청장이 생성되는 효율을 개선하고, 비트코인 같은 분산 장부상에서 거래의 직접 취급과 관련된 위험(예: 거래 손실)을 감소시키기 위하여 단순화된 인터페이스를 제공한다. P2P DHT 및 P2P DL에 사용자 초대장을 공개 하는 것에 더하여, 교환 서비스 제공자는 다음과 같은 추가 서비스 중 하나 이상을 수행 할 수 있다:
·초대장 매칭 - 위에서 설명한대로 초대장에는 a) 사용자가 교환하고자 하는 개체의 세부 사항과 b) 교환에 첨부된 하나 이상의 사용자 적용 옵션/조건이 포함될 수 있다. 두 개의 초대장는 각각의 개체 세부 사항이 미러링되고 두 가지 초대장의 하나 이상의 조건이 호환될 때 매칭될 수 있다. 즉, 첫 번째 초대장에 포함된 하나 이상의 파라미터 또는 기능이 두 번째 초대장에 포함될 때 매칭될 수 있다. 초대장의 매개 변수 사이에는 공통점이 있다. 첫 번째 사용자(앨리스)가 사과를 위해 비트 코인을 제공하고, 두 번째 사용자(밥)가 비트 코인을 위해 사과를 제공할 때 미러링 된 개체 세부 사항의 예가 있다. 따라서 서비스 제공자는 교환을 수용하기 위해 호환되는 초대장을 매칭시키는 매칭 서비스를 제공할 수 있다. 매칭은 매칭 개체 및/또는 조건을 갖는 하나 이상의 초대장에 대해 P2P DHT를 스캐닝하는 것을 포함할 수 있다. 일부 실시 예에서, 서비스 제공자(104)는 사용자의 요청에 응답하여 P2P DHT를 스캔할 수 있다. 예를 들어, 사용자는 원하는 초대장에 대한 하나 이상의 기준을 서비스 제공자(104)에게 제공할 수 있다. 제공된 기준에 기초하여, 서비스 제공자(104)는 그 기준에 부합하는 P2P DHT에 이미 발행된 초대장을 검색할 수 있다. 다른 실시 예에서, 서비스 제공자(104)는 특정 사용자 요청과 관련되지 않은 매칭 또는 거의 매칭되는 초대장을 위해 P2P DHT를 검색하는 비-특정 페어링 알고리즘을 구현할 수 있다. 일치하는 서비스는 다른 서드-파티에 의해 제공될 수 있다는 것을 이해할 것이다. 하나 이상의 서드-파티가 존재할 수 있으며, 주된 목적은 아래에 설명된 매칭 알림은 물론 위의 내용에 따라 매칭 서비스를 제공하는 것이다. 일부 실시 예에서, 매칭은 매칭 서비스 제공자( MSP )에 의해 제공된다. 하나 이상의 실시 예에 따라, 또한 위의 "초대장 구조" 섹션에 나타낸 표를 참조하여, 다음과 같은 A와 B 사이의 매칭되는 초대장으로부터의 매칭 알고리즘이 사용될 수 있다 :
A's Offer-type-code must match B's Request-type-code
A's Request-type-code must match B's Offer-type-code
A's Rate-Min ≤ B's Rate-max (when expressed in equivalent units)
A's Rate-Max ≥ B's Rate-min (when expressed in equivalent units)
Request-item-ID must match Offer-item-ID
A's Request-QTY-min ≤ B's Offer-QTY-max
A's Request-QTY-max ≥ B's Offer-QTY-min
A's condition(s) (if any) must be compatible with B's invitation
B's condition(s) (if any) must be compatible with A's invitation
본 발명은 이 알고리즘 또는 그 변형을 시행하는 머신-실행 가능 규칙을 통합하도록 구성될 수 있다.
·매칭 알림 - 매칭 또는 거의 매칭이 감지되면, 교환 서비스 제공자(104)는 전자 메일이나 전화 또는 태블릿 응용 프로그램과 같은 알려진 방법으로 사용자에게 알릴 수 있다. 따라서, 본 발명은 새로운 통신 또는 알림 메커니즘을 제공할 수 있다.
·매칭에 기초하여 새로운 초대장 생성 - 사용자가 발행하고자 하는 초대장 또는 주문의 세부 사항을 제공하는 경우, 서비스 제공자(104)는 사용자 주문의 조건을 만족시키는 하나 이상의 초대장에 대해 P2P DHT를 스캔할 수 있다. 일치하는 초대장이 P2P DHT에서 발견되면, 서비스 제공자(104)는 성공적인 매칭의 편의를 위하여 이미 P2P DHT 상에 식별된 초대장을 반영한 초대장을 생성할 수 있다. P2P DL에서 최종 거래를 완료하려면, 거래 당사자 모두 P2P DL에 이미 공개된 초대장을 가지고 있어야 한다. 그러나 모든 초대장이 P2P DHT에 공개될 필요는 없다. 현재 실시예에서, 예를 들어, 서비스 제공자는 초대장이 홍보될 필요가 없기 때문에(원하는 매칭이 이미 발견됨), P2P DHT에 제안을 공개할 필요가 없다. 그러나, 예를 들어, 초기 매칭이 실패한 경우, 생성된 초대장은 여전히 P2P DHT 상에 발행될 수 있음을 이해할 것이다.
·거래 실행 - 한 쌍의 초대장이 성공적으로 매칭된 후에, 서비스 제공자(104)는 최종 거래를 구현하기 위한 프록시로서 동작할 수 있다. 예를 들어, 2 개의 초대장이 매칭된다는 결정에 따라, 서비스 제공자(104)는 실제 거래, 즉 개체들의 교환을 수반하는 거래를 P2P 분배 장부에 기록할 수 있다. 이 프로세스는 당사자의 명시적 승인없이 또는 하나 이상의 당사자에게 거래 승인을 요청한 후에 자동으로 수행될 수 있다. 일부 실시 예에서, 초대장의 메타 데이터는 교환이 완료되기 전에 당사자에게 통지되어야 하는지 여부를 나타낼 수 있다.
·e지갑 서비스 - 상기 이외에, 서비스 제공자(104)는 또한 암호 화폐 키 등의 보유와 같은 전통적인 e지갑 서비스를 제공할 수 있다.
단일 서비스 제공자(104)가 도 1의 시스템(100)에 도시되어 있다. 그러나, 하나 이상의 추가적인 교환 서비스 제공자가 네트워크(102)의 당사자 일 수 있다는 것을 이해할 것이다. 둘 이상의 교환 서비스 제공자가 존재하는 경우, 사용자는 예를 들어, 서비스 제공자의 요금 구조, 위치, 호환성 등을 포함할 수 있는 사용자 요구에 따라 교환 서비스 제공자를 선택할 수 있다. 따라서, 특정 상황에서, 일치하는 초대장을 가진 두 명의 사용자가 상이한 교환 서비스 제공자를 이용할 수 있음을 이해할 것이다. 이러한 상황에서, 사용자의 교환 서비스 제공자 각각은 교환을 용이하게 하기 위해 서로 통신할 수 있다.
교환 서비스 제공자(104) 뿐만 아니라, 에스크로 서비스 제공자(110)(또는 에스크로)도 네트워크(104)의 당사자 일 수 있다. 에스크로 서비스 제공자(110)는 거래가 해결 될 때까지, 또는 주문을 취소하기 위한 특정 조건하에서 사용자의 제안이 유지될 수 있게 하고,(즉, 제안된 금액은 리저브됨) 초대장에서 제공된 모든 것을 반환한다. 에스크로 서비스 제공자(110)는 거래에 대한 에스크로 서비스를 제공하기 위해 거래의 두 당사자에 의해 신뢰되는 중립적인 서드 파티로서 기능한다. 따라서 시스템은 최종 거래에 참여하는 사용자로 하여금, 제안을 하는 사용자가 제안 금액(비트 코인 또는 토큰으로)을 충족할 수 있음을 보증할 수 있다.
교환 서비스 제공자와 마찬가지로, 둘 이상의 에스크로가 네트워크(104)의 당사자 일 수 있다. P2P 교환 시스템(100)의 사용자는 또한 그들이 사용하는 에스크로 제공자를 선택할 수 있다. 일부 실시 예에서, 에스크로(110)의 서비스는 교환 서비스 제공자(104)의 서비스에 통합될 수 있거나 그 반대일 수 있다. 이 경우 별도의 에스크로가 필요하지 않을 수 있다.
상기 이외에, 시스템(100)은 발급자(112)를 포함 할 수 있다. 발급자(112)는 거래가 토큰의 교환을 수반하는 곳에 포함될 수 있다. 이러한 상황에서 프로세스는 발급자가 토큰에 서명하는 것을 포함한다. 토큰의 전달을 포함하는 모든 거래는 발급자(112)를 포함하는 것이 바람직하다. 본 명세서에 설명된 실시 예에서, 발급자의 서명은 토큰이 에스크로에서 제공되고 유지되는 초대장 거래에서 요구된다. 발급자의 서명은 거래 상대방에게 토큰을 지급하는 교환 거래에서도 필요할 수 있다.
본 발명의 실시 예의 중요한 관점은 비트 코인 또는 다른 암호 화폐 거래에서 실제 교환에 관한 메타 데이터를 내장하는 능력뿐만 아니라, 비트 코인 거래(또는 다른 암호 화폐 거래)에서 교환을 수행하기 위한 초대장에 관한 메타 데이터를 내장 할 수 있는 능력이다. 본 명세서에 설명된 실시 예들은 다중-서명 pay to script hash(P2SH)타입 거래를 사용하여 이하에 기술된 바와 같이 이러한 메타 데이터 내장을 가능하게 한다.
(i) P2Sh에서 일반적인 리딤 스크립트(redeem script)
배경기술로서, 비트 코인 프로토콜의 표준 pay-to-script-hash 방법에서, 리딤 스크립트는 다음의 형태를 취할 수 있다:
<NumSigs PubK1 PubK2 … PubK15 NumKeys OP_CHECKMULTISIG>
에서,
NumSigs - 거래 잠금을 해제하기 위해 리딤 스크립트를 충족시키는 데 필요한 유효한 서명의 수 "m"이다
PubK1, PubK2 ... PubK15 - 거래 잠금을 해제하는 서명에 대응하는 공개키이다 (최대 15 개의 공개 키)
NumKeys - 공개 키의 숫자 "n"이다 (15 이하 여야 함).
리딤 스크립트를 사용하기 위해서는 공개키에 대응하는 적어도 “m” 개의 서명이 필요하다. 일부 예에서는 공개키의 순서가 중요하며 서명을 위한 "n"개의 서명 중 “m” 개를 순서대로 수행해야 한다. 예를 들어, "m"이 2이고 공개키의 수 "n"이 15라고 가정한다. Sig1(PubK1에 대응됨) 및 Sig 15 (PubK15에 대응됨) 등 두 가지 서명을 사용할 수 있다고 가정하면, 리딤 스크립트는 먼저 Sig1에 서명된 다음 Sig15를 서명되어야 한다.
(ii) P2SH에 메타데이터 내장
본 발명자들은 리딤 스크립트의 공개키에 대해 이용 가능한 15 개 장소 중 하나 이상의 장소에서 P2SH에 메타 데이터가 내장 될 수 있다는 것을 알게 되었다.
예를 들어, P2SH는 다음의 형태를 취할 수 있다 :
<NumSigs Metadata1 Metadata2…PubK1 PubK2…NumKeys OP_CHECKMULTISIG>
에서,
NumSigs - 거래 잠금을 해제하기 위해 리딤 스크립트를 충족시키는 데 필요한 유효한 서명의 수 "m"이고,
Metadata1과 Metadata2- 각각 공개 키를 대체하는 메타 데이터를 포함하고,
PubK1과 PubK2 - 실제 공개 키이고,
NumKeys - 메타 데이터와 공개 키가 차지하는 총 위치 수이다(15 이하여야함).
리딤 스크립트에서, 초대장의 조건에 대응하는 메타 데이터, 토큰과 관련된 계약의 세부 사항 및/또는 교환과 관련된 다른 정보를 발행함으로써, 그러한 정보의 해시가 P2P분산 장부에 포함될 것이다.
·이 내장 방법은 다음과 같이 요약할 수 있다:
암호 화폐의 일부에 관련된 출력(Tx0)과 리딤 스크립트의 해시(hash)를 갖는 블록 체인 거래(Tx)를 생성하는 단계,
해시는 토큰화 된 개체를 대표하는 또는 참조로 하는 토큰을 포함하는 메타 데이터;
하나 이상의 (바람직하게는 2 개 이상의) 공개 암호 키를 포함한다.
토큰화 된 개체는 교환과 관련된 계약 및/또는 다른 개체 일 수 있다. 메타 데이터는 암호화 키를 위한 프로토콜에 의해 지정된 위치에 제공된다.
따라서, 본 발명의 실시 예에서 다중-서명 P2SH 비트 코인 거래의 사용은 몇 가지 이점을 제공한다. 첫째, 초대장 거래가 메타 데이터 페이로드를 전달할 수 있게 한다. 둘째, 교환 거래에서 에스크로 서비스의 사용을 용이하게 한다. 셋째, 토큰이 전송되는 교환에서, 교환 거래가 교환되는 하나 이상의 토큰과 관련된 메타 데이터를 전달할 수 있게 한다. 또한, 기본 블록 체인 프로토콜은 거래를 통해 메타 데이터가 전송된다는 사실을 알지 못한다. 따라서 이 정보를 전달하기 위해 블록 체인 프로토콜을 변경할 필요가 없다.
메타 데이터는 초대장 거래에서 제안 또는 요청을 기술하는 설명 또는 키워드를 포함할 수 있다. 또한, 메타 데이터는 초대와 관련된 조건을 포함할 수 있다. 예를 들어, 주문을 이행해야 하는 시간 및/또는 날짜가 지정될 수 있는 마감일이 초대장에 첨부될 수 있다. 마감일 조건이 초대장 거래와 함께 제공되는 경우, 동일한 BTC 금액을 소비하며 교환 거래 마감일을 나타내는 잠금 시간을 포함하는 취소 거래가 생성될 수 있다. 취소 거래는 잠금 시간까지 P2P DL에 배포되는 것이 방지될 수 있다. 마감일까지 교환이 이루어지지 않으면 취소 거래가 P2P DL에 추가되어 지불자나 서비스 제공자에게 효과적으로 페이백된다. 기한이 만료되기 전에 교환이 이루어지면 교환 거래가 그 금액을 소비하고, 시간-잠금 취소 거래보다 앞서 P2P DL에 도달하는 이중 지출을 생성하여 취소 거래를 차단할 수 있다. 일부 실시 예에서, 메타 데이터는 마감일을 포함하지 않을 수도 있지만, 대신에 취소 거래는 원래의 초대장 거래를 취소하는 것에 전적으로 책임을 질 수 있다. 대안적으로, 마감일 메타 데이터 조건이 자동으로 취소 거래의 사용을 유발하지 않을 수 있다. 즉, 마감일은 지불자의 통제하에 있는 소프트 마감일(soft deadline) 이 될 수 있다. 따라서 마감일은 시간 경과를 허용하고 늦은 초대장 매칭을 수락하는 당사자에 의해 쉽게 연장될 수 있다. 마찬가지로, 서비스 제공자는 소비되지 않은 주문이 남아있는 경우에도 만료된 주문을 매칭하기 위하여 시도할 수 있다.
초대장 거래를 발행하는 것과 동시에 취소 거래를 잠금하는 대신, 사용자는 마감일 이후까지 기다릴 수 있고 그가 원할 경우 취소 거래를 수동으로 입력할 수 있다.
조건들은 또한, 예를 들어 거래 브로드캐스트의 위치가 지정된 좌표의 X 미터 내에 있는 경우, P2P DHT로만 거래(들)을 브로드 캐스트한다는 것을 지정할 수 있는 하나 이상의 위치 조건을 포함할 수 있다. 이렇게 하면 거래가 Bob의 커피 숍과 같이 지정된 위치에서만 이루어질 수 있다.
사용자가 그들 자신의 새로운 조건을 생성하고 이전에 사용되지 않은 조건-코드에 이들을 할당함으로써 조건들의 리스트에 이들을 추가할 수 있게 하는 기능이 존재할 수 있다. 이 기능은 남용에 강할 수 있다. 예를 들어, 각 서비스 제공자는 관련된 조건-코드에 따라 자신의 조건 테이블을 단순히 공개할 수 있고, 시스템(100)에 대한 다른 당사자는 동일한 코딩을 채택하도록 선택할 수 있고, 그들 자신의 새로운 코드를 추가할 수도 있다. 그런 다음, 예를 들어 조건 코드 의 재사용으로 인한 분쟁이 발생하면, 서비스 제공자 또는 시스템(100)의 다른 사용자가 분쟁을 해결할 수 있다.
본 발명의 실시 예는 이제 제 1 사용자(106)(본 명세서에서 앨리스로 언급됨)와 제 2 사용자(본 명세서에서 밥으로 언급됨) 사이의 예시적인 거래로 설명 될 것이다. 이 예시에서 거래는 비트 코인에 대해 토큰화 된 캐나다 달러를 교환하는 것이다.
초대장 포스팅 (Posting an invitation)
첫 번째 예에서, 앨리스는 비트 코인을 위해 토큰화 된 캐나다 달러(CAD)를 구매하기를 원한다. 그녀의 관심을 홍보하기 위해, 앨리스는 예를 들어 웹 인터페이스를 통해 또는 태블릿이나 휴대 전화에서 실행되는 앱을 통해 교환 서비스 제공자(104)에 연락한다. 도 2에 도시된 바와 같이, 단계 202에서, 앨리스는 서비스 제공자(104)의 웹 인터페이스에 로그인한다. 단계 204 및 206에서, 앨리스는 교환될 개체(비트 코인을 위해 토큰화 된 CAD), 교환 조건 및 서비스 제공자에 의해 제공된 임의의 선택된 옵션을 포함하는 그녀의 초대장의 세부 사항을 서비스 제공자에게 전송한다. 앨리스는 예를 들어 서비스 제공자(104)에 의해 유효한 초대장으로 번역 될 수 있는 일반적인 언어를 사용하여 서비스 제공자(104)에 의해 호스팅되는 인터페이스에 이 정보를 입력할 수 있거나, 또는 대안적으로 앨리스는 사전-선택 옵션에 의하여 단순히 정보를 입력할 수 있다(예를 들어, 드롭-다운 선택 메뉴를 통해).
단계 208에서, 앨리스는 그녀의 선택에 기초하여 서비스 제공자(104)에 의해 생성된, 앨리스가 교환하기를 원하는 개체에 관한 정보 및 그 초대장과 관련된 임의의 조건을 포함하는 리딤 스크립트를 서비스 제공자(104)로부터 수신한다. 앨리스가 특정 서비스 제공자(104)를 사용하기로 서명했기 때문에, 이미 서비스 제공자(104)는 앨리스의 공개 키를 가지고 있을 수 있다. 대안적으로, 앨리스는 초기 선택 중 또는 서비스 제공자(104)로부터의 요청에 응답하여 그녀의 공개키를 서비스 제공자(104)에 제공 할 수 있다.
앨리스는 그녀의 공개키와 암호화 쌍인 그녀의 개인 키를 사용하여 단계 210에서 리딤 스크립트를 서명하고, 단계 212에서 서명된 배포될 리딤 스크립트를 서비스 제공자(104)로 다시 보낸다. 이 프로세스는 서비스 제공자(104)에 의하여 자체적으로 제공 될 수 있는 앱의 사용으로 지원될 수 있다.
도 3에 도시된 흐름도(300)는 서비스 제공자(104)에 의해 수행되는 대응 프로세스를 도시한다. 단계 302에서, 서비스 제공자(204)는 앨리스로부터 초대장 세부 정보를 수신하고, 앨리스의 공개키, 개체 세부 사항 및 초대장 조건을 사용하여 단계 304에서 리딤 스크립트를 생성한다. 리딤 스크립트는 P2SH 비트코인 거래에 적합한 형식 일 수 있다; 초대장 세부 사항은 일반적으로 다중 서명 잠금 해제 스크립트에 사용되는 32 바이트 공개키 대신 메타 데이터 필드에 저장될 수 있다. 도 4는 일 실시예에 따른, 앨리스의 초대장에 대한 메타 데이터의 포맷을 도시한다. 초대장에서 앨리스는 토큰화 된 CAD를 요청하고 이에 대하여 400CAD/bitcoin이상의 환율로 비트 코인을 제공한다. 이하에서 더 상세히 설명되는 바와 같이, 도 4는 또한 초대장에 추가될 수 있는 마감일 조건을 보여준다. 마감일 조건으로 인해 초대장을 기반으로 한 거래가 완료되지 않은 경우 마감일에 초대가 취소될 수 있다.
그 다음, 리딤 스크립트는 서명을 위해 앨리스에게 전송된다. 앨리스로부터 서명된 리딤 스크립트를 수신하면, 단계 308에서 서비스 제공자(104)는 서명된 리딤 스크립트의 해시를 생성한다.
서비스 제공자(104)는 두 가지 방식으로 해시를 사용한다. 먼저, 단계 310에서, 서비스 제공자(104)는 공적으로 이용 가능한 P2P DHT상의 해시와 함께 초대장 세부 정보를 열거한다. 앞에서 언급했듯이, 이 테이블은 토렌트 기법을 사용하므로 중앙 집중식이 아니라 분산되어 있으며, 공개적으로 액세스 할 수 있고, 위조가 방지될 수 있다. 다른 서비스 제공자(104)는 초대장에 액세스하여 자신의 사이트에 열거할 수 있다(실제로, 서비스 제공자(104)는 단순히 해시 테이블을 유일한 저장소로 사용하고 초대장의 자체 로컬 데이터베이스를 유지할 필요가 없다).
해시가 사용되는 두 번째 방법은, 단계 312에서 비트 코인 거래의 잠금 스크립트를 생성하는 것이다. 이 거래는 잠금을 해제하기 위해 2 개의 서명을 필요로 하는 P2SH 스크립트에 일정량의 앨리스의 비트 코인을 송부한다: 즉, 앨리스의 서명과 그녀에게 지명된 에스크로 서비스 제공자(110)의 서명(전술한 바와 같이, 서비스 제공자(104)와 동일한 개체일 수도 있고, 그렇지 않을 수도 있음)를 포함 할 수 있다. 이 거래의 목적은 두 가지이다. 먼저 초대장이 P2P DL에 기록된다. 임의의 사용자 또는 서비스 제공자는 (매칭되는 해시 값을 통해)P2P DL에 매칭되는 거래가 있는지 확인함으로써 P2P DHT에 대한 초대장이 적법한지 확인할 수 있다. 둘째로, 거래는 앨리스에 의하여 그녀의 거래장에서 만들어진 약속을 '고정'한다; 앨리스가 토큰화 된 CAD와 교환하여 제공하는 비트코인의 양은 주문 거래에 소요된 금액이다. 따라서 주문이 충분한 자금으로 뒷받침되고 있음을 확인할 수 있다.
페어링 매칭 초대장(Pairing matching invitations)
제 2 실시예에서, 밥은 자신의 토큰화 된 CAD의 일부를 BTC용으로 판매하기를 원하며, 앨리스에 의해 사용되는 서비스 제공자(104)와 동일한 또는 다른 서비스 제공자를 사용하여 자신의 초대장을 독립적으로 열거한다. 밥의 주문 또한 도 2 및 도 3을 참조하여 설명된 바와 같이 해시 테이블 상에 열거되어 있으며, P2P DL 거래에 내장되어 있다. 밥의 초대장의 메타 데이터는 도 5에 도시되어있다.
도 6을 참조하면, 앨리스와 밥의 주문을 매칭시키는 프로세스(400)가 설명된다. 이 예시에서, 서비스 제공자(100)는 프로세스를 수행하는 것으로 설명된다. 그러나, 임의의 교환 서비스 제공자 또는 실제로, 임의의 다른 적절한 서드 파티가 프로세스(400)를 수행 할 수 있다는 것을 이해할 것이다.
교환 서비스 제공자(104)는 앨리스와 밥의 초대장간의 전체 또는 부분 매칭 여부를 식별하도록 동작 가능한 매칭 알고리즘을 실행할 수 있다. 단계 402에서, 교환 서비스 제공자(104)는 매칭되는 개체 세부 사항에 대해 P2P DHT를 스캔한다. 스캔을 수행하는 동안, 서비스 제공자(104)는 앨리스와 밥의 초대장의 개체 세부 사항간에 매칭 여부를 검사한다. 매칭되는 것이 단계 404에서 발견되지 않으면, 프로세스는 단계 402로 되돌아 가고 교환 서비스 제공자(104)는 일치하는 개체 세부 사항에 대해 P2P DHT를 계속 스캔한다. 단계 404에서 매칭되는 것이 발견되면, 프로세스 400는 단계 406로 진행하여 앨리스와 밥의 초대장 각각의 하나 이상의 조건 사이의 매칭 여부에 대한 체크가 이루어진다. 단계 406에서 매칭되는 것이 발견되지 않으면, 프로세스는 단계 402로 되돌아 간다. 하나 이상의 조건들 사이에 매칭되는 것이 발견되면 프로세스는 단계 408로 진행하고, 교환 서비스 제공자(104)는 앨리스와 밥 사이의 거래를 생성하고 마무리하기 위한 시도를 한다.
단계 406에서, 긍정적인 매칭이 확인되도록 두 개의 초대장 내에서 모든 조건의 직접 매칭은 요구되지 않을 수 있다. 실제로, 프로세스(400)는 일부 조건들이 매칭되는 것만을 요구할 수 있다. 부가적 또는 대안적으로, 하나 이상의 조건이 완전히 매칭될 필요는 없다. 예를 들어, 비교되는 조건이 각 조건에서 제안된 환율인 경우, 프로세스(400)는 환율이 서로 기 설정된 임계 범위 내에 있는 경우에는 긍적적인 매칭으로 확인할 수 있다. 예를 들어 앨리스가 4 x 10-5 토큰화 된 CAD/satoshi의 최소 환율 조건을 제안하고, 밥이 3.9 x 10-5 토큰화 된 CAD/satoshi의 최소 환율 조건을 동등하게 제안한 경우, 밥의 제안된 환율이 앨리스의 원래 요구 사항을 충분히 충족하지 못하는 경우에도, 프로세스는 여전히 조건이 매칭됨을 확인하거나 제안할 수 있다. 그러한 매칭 상황에서, 앨리스에게 수락 할 수 있는 옵션이 주어질 수 있다. 밥의 동등한 최소 제안 환율이 4.1 x 10-5의 토큰화된 CAD/satoshi라면, 조건이 만족될 것임을 이해할 것이다. 또 다른 예시에서, 조건은 제안 및 요청에서 제안된 재화 및 서비스에 대한 각각의 값일 수 있다. 프로세스(400)는 두 개의 값이 서로의 기 결정된 임계 범위 내에 있다면 긍적적인 매칭이 됨을 다시 확인할 수 있다. 각각의 경우에, 소정의 임계 범위는 예를 들어, 이산값 또는 제안값 또는 요청값에 대한 비율 일 수 있다. 일부 실시 예에서, 클로즈 매칭을 허용 또는 금지하도록 설정 될 수있는 조건이 있을 수 있다. 즉, 앨리스와 밥의 각각의 제안 사이에 직접적인 매칭이 없는 경우이다. 동일하게, 제안된 범위 내에 엄격하게 있지 않은 역제안(counteroffers)를 허용하거나 금지하도록 설정할 수 있는 조건이 있을 수 있다.
이전에 언급 된 바와 같이, 밥 및 앨리스의 초대장 각각 또는 둘 모두에 대한 거래 메타 데이터는, 예를 들어 거래 (들)이 P2P DHT에 브로드 캐스팅되는 것을 특정 할 수 있는 하나 이상의 위치 조건을 더 포함 할 수 있다. 위치 조건은 예를 들면, 거래하는 브로드 캐스트의 위치가 지정된 좌표의 X 미터 내에 있는 경우에만 거래(들)이 P2P DHT로 브로드 캐스팅되도록 지정할 수 있다. 이렇게 하면 거래가 밥의 커피 숍과 같이 지정된 위치에서만 이루어질 수 있다.
일단 매칭되는 것이 발견되면, 거래를 완료하기 전에, 하나 이상의 중간 단계들이 수행 될 수 있다. 여기에는 매칭되는 것이 발견되었다는 당사자들에 대한 알림, 진행 확인을 위한 각 당사자 또는 양 당사자에 대한 요청 등이 포함될 수 있다. 예를 들어, 위에 언급된 것처럼 한 명 이상의 사용자에 의하여 조건이 완전 충족되지는 않고 거의 충족되는 경우, 매칭 여부는 여전히 기록될 수 있지만, 모든 상대방이 초대장의 조건에 만족할 때까지 마무리되지는 않을 수 있다. 이 과정은 조건에 대한 최종 합의를 협상하기 위한 역 제안(counter offers)으로 이어질 수 있으며, 그러면 위에 설명된 프로세스에 따라 추가 초대장이 생성될 수 있다.
최종 교환은 각 초대장 거래의 출력을 소비하는 하나 이상의 비트코인 거래를 생성함으로써 실행될 수 있다. 본 발명자는 거래를 완료하는 몇 가지 새로운 방법을 발견하였는데, 이는 거래에 관련된 사용자, 교환되는 개체 및 거래와 관련된 서비스 제공자 및 발행자를 포함하지만, 이에 한정되지 않는 상황에 의존할 수 있다. 이러한 방법의 몇 가지 예가 아래에 설명되어 있다.
도 2 내지 도 6을 참조하여 설명한 예시들에 이어서, 앨리스-밥 및 밥-앨리스에 대한 별개의 거래들에 대한 거래 테이블(500)이 도 7에 도시되어 있고, 거래 흐름의 개략도(600)가 도8에 도시되어 있다. 도 4 및 도 5에 도시된 메타 데이터 값과 마찬가지로, 거래 테이블(500)에 제공된 값은 단지 예시로서 도시된다. 이 예시에서 앨리스의 초대장 거래상의 앨리스의 비트코인은 밥에게 보내고, 밥의 초대장 거래상의 밥의 CAD-토큰화된 비트코인은 앨리스에게 보낸다.
우선, 앨리스-밥 거래를 참조하면, 이 거래의 입력(602)은 앨리스의 초대장과 함께 P2P DL 상에 발행된 초대장 거래의 출력으로부터 제공된다. 첫 번째 거래와 마찬가지로 입력 스크립트는 앨리스와 에스크로 서비스 공급자(110) 모두에 의해 서명된다(앨리스가 거래 진행에 만족한다고 가정함). 스크립트는 소비된 비트 코인을 잠금 해제하고, 소비된 비트 코인은 a) 토큰화된 CAD에 대한 대가로 그의 지불로서 밥에게 출력될 수 있고(604), b) 교환에 대한 지불로서 교환 서비스 제공자(104)로 출력될 수 있고(606), c) 어떤 변경점이 있을 경우 그에 대한 것으로 앨리스에게 출력될 수 있다(608).
이제 밥-앨리스 거래를 참조하면, 이 거래는 두 개의 입력을 갖는다. 거래의 제 1 입력(610)은 밥의 초대장과 함께 P2P DL 상에 발행된 초대장 거래의 출력으로부터 제공된다. 이 거래의 입력이 토큰화 되었기 때문에 입력 스크립트는 밥과 그의 토큰 발급자가 모두 서명해야 한다. 이 경우 토큰 발급자는 에스크로로서 동작하여 밥(및 선택적으로 앨리스)이 거래에 만족할 때까지 자금을 홀딩한다. 서명된 스크립트는 소비된 토큰을 잠금 해제하여 a) BTX에 대한 대가로 앨리스에게 출력 될 수 있고(612), 그리고, (b) 앨리스에게 전송된 값보다 적은 원래 토큰의 값에 대한 변경 토큰으로서 밥에게 다시 출력 될 수 있다(614). 제 2 입력(616)은 밥의 이전 비트 코인 거래로부터의 것이다. 이 입력은 잠금 해제되어, a) 교환에 대한 지불로서 서비스 제공자(104)에게 출력되고(104), b) 교환 거래에 대한 비용으로 비트 코인 채굴자에게 출력되며, c) 비트코인이 원래 비트 코인 입력 값에서 서비스 제공자(104)의 수수료 및 채굴자의 수수료를 뺀 값으로 변경됨에 따라 밥에게 출력된다.
각각의 거래에 대한 서비스 제공자(104)의 수수료는 거래 값의 몫(slice)일 수 있다. 대안적 또는 부가적으로, 요금은 두 개의 초대장에 제시된 대응되는 요금 조건 사이의 환율 가산 금리(exchange rate spread)의 몫(slice) 일 수 있다. 예를 들어, 제시된 요금들이 중첩되는 경우, 서비스 제공자(104)는 각각의 요청 비율로 교환의 양측을 이행하고 그 차이를 수수료로 유지할 수 있다. 대안적으로 또는 추가적으로, 고정 요금(satoshis, 토큰화된 통화 또는 기타)이 서비스 제공자(104)에 의해 취해질 수 있다. 일부 실시 예에서, 서비스 제공자는 실제 거래를 통해 수수료를 추출하지 않을 수 있다. 대신, 사용자는 거래 외부에서 수수료를 부과받을 수 있다. 예를 들어, 하나 이상의 거래에 대해 사용자는 회원비 또는 거래당 송장을 청구 받을 수 있다(거래당 또는 계좌별).
일단 거래가 완료되면, 밥 및 앨리스의 각각의 서비스 제공자는 그들의 초청장 엔트리를 P2P DHT로부터 제거하거나, 원래 엔트리를 무효로 하는 추가 엔트리를 입력 할 수 있다. 예를 들어, 서비스 제공자는 엔트리가 초대장이 더 이상 유효하지 않음을 내포하는 지출 거래에 해당하므로, 단순히 P2P DHT에 엔트리를 남겨 둘 수 있다. 대안적으로, 서비스 제공자는 그것이 소비되었음을 지정하는 필드로 거래를 표시 할 수 있다. 이것은 특정 엔트리에 대응하지만 초대장과 관련된 실제 메타 데이터를 변경하지 않는 DHT의 별도 필드일 수 있다(이는 스크립트 해시가 여전히 거래의 해시와 일치함을 보장한다). 대안적으로, 서비스 제공자는 P2P DHT로부터 엔트리를 삭제할 수 있다. 그러나, P2P DHT의 이점은 시스템(100)을 사용하는 거래에 대한 영구적인 회계 검사(audit)의 제어이다. 따라서, 바람직하게는, P2P DHT로부터 엔트리의 삭제가 방지되거나 엔트리의 기록을 유지하기 위해 삭제된 엔트리가 보관된다. 일례에서, 삭제된 엔트리는 보관된다.
상기 예시된 거래에서, 퍼즐은 교환되지 않는다. 즉, 두 거래(앨리스-밥 및 밥-앨리스)는 완전히 별개이고 불연속적이다. 그러나 경우에 따라서는 두 거래가 유효하거나 무효인 것이 바람직할 수 있다. 도 9는 앨리스의 거래(앨리스-밥)에서 퍼즐을 교환하는 다른 트랜잭션 예를 보여준다. 이렇게 하면, 두 거래가 함께 고정되어 다른 하나가 함께 소비되지 않으면 소비될 수 없게 된다. 이로 인하여, 상대방 거래를 거치지 않고 한 당사자에서 다른 당사자로 거래가 진행되는 것을 방지할 수 있다.
상기 두 예시에서, 교환을 완료하기 위해 두 개의 비트코인 거래가 수행된다. 그러나 가능한 경우, 위의 두 거래를 단일 비트코인 거래로 통합하는 것이 바람직하다. 그렇게 되면, 교환의 두 당사자가 자동으로 고정되므로 거래에 대해 앨리스와 밥이 지불한 전체 비용이 줄어든다.
도 10은 앨리스와 밥 사이의 단일 거래에 대한 거래 테이블(700)을 도시한다. 교환에 대한 거래 흐름은 이전의 두 예시들, 즉 도 6에 도시된 것과 동일하다. 하지만, 교환은 단일 다중 입력- 다중 출력(MIMO) 거래로 통합된다. 도 8에서, 교환 서비스 제공자(104)에 두 개의 개별 요금이 지불된다는 점에 유의해야 한다. 그러나, 밥 및 앨리스의 교환 서비스 제공자(104)가 동일하다면, 이들 두 개의 수수료는 밥, 앨리스 또는 밥 및 앨리스에 의해 지불되는 단일 거래로 통합될 수 있다.
둘 이상의 당사자를 포함하는 거래(Transactions involving more than two parties)
전술한 거래는 두 개체 사이의 교환에 관한 것이다. 그러나, 몇몇 예시에서, 3 개 이상의 개체가 교환에 참여할 수 있음을 이해할 것이다. 예를 들어, 다음 시나리오를 고려할 수 있다. 앨리스는 사과를 위하여 비트코인을 교환하기를 원하지만 최소한 1000개의 사과을 원한다. 밥은 사과를 비트코인으로 교환하려고 하지만 500개의 사과만을 공급할 수 있다. 캐롤은 사과를 비트 코인으로 교환하고 싶지만 600개의 사과만을 공급할 수 있다. 이러한 상황에서, 앨리스의 초대장 조건을 밥이나 캐롤이 개별적으로 만족시킬 수 없다. 그러나 밥과 캐롤은 1100 개의 사과를 가지고 있으므로 앨리스의 초대 조건을 만족시킬 수 있다.
또 다른 예에서, 앨리스는 토큰 화 된 CAD를 토큰화 된 GBP로 교환하고자 하고, 밥은 토큰 화 된 GBP를 토큰 화 된 AUD로 교환하기를 원하고, 캐롤은 토큰 화 된 AUD를 토큰 화 된 CAD로 교환하기를 원한다. 세 당사자 중 임의의 두 당사자 사이에 직접 매칭은 존재하지 않지만, 결합된 각각의 초대는 만족 될 수 있다 - 앨리스의 토큰화 된 CAD는 캐롤에게 갈 수 있고, 밥의 토큰화 된 GBP는 앨리스에게 갈 수 있으며, 캐럴의 토큰화 된 AUD는 밥에게 갈 수 있다. 도 11a 내지 11c는 앨리스, 밥 및 캐롤 간의 거래를 위한 예시적인 거래 테이블을 도시한다.
먼저 도 11a를 참조하면, 앨리스에서 캐롤로의 지불에 대한 거래 테이블이 도시되어 있다. 앨리스는 $1500의 토큰화 된 CAD를 가지고 있으며 밥의 토큰화 된 GBP500이 필요합니다. 거래는 토큰화 된 CAD1000을 앨리스로부터 캐롤에게 지불하고, 앨리스는 나머지 토큰화 된 CAD500(1500-1000)을 자신에게 지불한다. 앨리스는 정규 BTC를 사용하여 서비스 제공자의 수수료(그림 11a에 표시된 바와 같이 정액 요금 또는 송금 금액에 따라 요금이 부과 될 수 있음)를 지불하고, 채굴자를 위하여 1000 satoshis를 뺀 금액을 자신에게 지불한다.
이제 도 11b를 참조하면, 토큰화 된 GBP를 밥에서 앨리스에게 지불하기 위한 거래 테이블이 도시되어 있다. 밥은 GBP750을 토큰화 했으며 캐롤의 토큰화 된 AUD가 필요하다. 거래는 토큰화 된 GBP500을 밥으로부터 앨리스에게 지불하고, 밥은 나머지 토큰화 된 GBP250(750-500)을 자신에게 지불한다. 밥은 정규 BTC를 사용하여, 서비스 제공자의 수수료(도 11b에 도시 된 바와 같이 정액 요금 또는 송금 금액에 따라 요금이 부과될 수 있음)를 지불하고, 채굴자를 위하여 1000 satoshis를 뺀 금액을 자신에게 지불한다.
이제 도 11c를 참조하면, 밥에서 캐롤로의 토큰화 된 AUD 지불에 대한 거래 테이블이 도시되어 있다. 캐롤은 AUD1500을 토큰화 했으며 앨리스의 토큰화 된 CAD가 필요하다. 거래는 토큰화 된 AUD1000을 캐롤로부터 밥에게 지불하고, 캐롤은 나머지 토큰화 된 AUD500(1500-1000)을 자신에게 지불한다. 캐롤은 정규 BTC를 사용하여 서비스 제공자의 수수료(그림 11c에 표시된 바와 같이 정액 요금 또는 송금 금액에 따라 요금이 부과될 수 있음)를 지불하고 채굴자를 위하여 1000 satoshis를 뺀 금액을 자신에게 지불한다. 거래가 두 개 이상의 개별 거래로 구성되는 경우(예시 1: 앨리스가 밥에게 이체하고; 2: 밥이 앨리스에게로 이체), 거래가 링크되어 모든 당사자가 몫을 모두 수령할 수 있도록 하거나 또는 모두 수령할 수 없도록 한다. 이것은 다음 조건을 만족시킴으로써 달성될 수 있다(A와 B의 두 당사자의 예를 사용하지만 세 명 이상의 당사자로 쉽게 확장 가능함): A에서 B로 전송되는 거래 출력이 존재하며, B에서 A로 전송되는 거래 출력이 존재하고 동시에 A가 소비할 수 있는 경우에만 B가 소비할 수 있으며 그 반대도 마찬가지이다. A와 B는 앨리스와 밥이 아니라 각 거래에 필요한 서명자 집합을 의미한다 (예 : 토큰 발급자, 에스크로 등을 포함할 수 있음).
사용자로부터 선택 수신하기(Receiving a selection from a user)
도 6을 참조하여 설명한 예시적인 교환의 변형 예에서, 서비스 제공자가 매칭 명령에 대한 P2P DHT를 파싱하는 대신에, 사용자 자신이 현재의 초대장을 보기 위해 P2P DHT를 스캔하거나 브라우징할 수 있다. 브라우징은 교환 서비스 제공자(104)와 같은 서드-파티에 의해 촉진될 수 있다. 서드-파티는 사용자가 관심을 가질만한 초대장을 브라우징, 스캔, 그리고 검색할 수 있는 인터페이스를 제공할 수 있다.
사용자는 P2P DHT에서 그들 자신의 장래의 초대장을 입력하는 프로세스를 건너뛸 수 있지만, 그들이 관심 있는 주문과 일치하거나 거의 일치하는 초대장을 생성하도록 선택할 수있다.
예를 들어, 앞의 예시와는 달리, 밥은 브라우징 또는 검색 인터페이스를 통해 P2P DHT에 대한 앨리스의 초대를 찾을 수 있으며, 이 경우 밥은 자신의 초대를 입력하여 앨리스의 초대장과 매칭시킬 수 있다. 밥은 여러 가지 방법 중 하나로 이 작업을 수행할 수 있다. 한 예를 들어, 그녀의 주문을 '수락'하기 위한 앨리스의 명령을 표시하는 인터페이스 기능이 있을 수 있다. 밥이 앨리스가 초대장에 사용한 것과 동일한 교환 서비스 제공자(104)의 클라이언트인 경우, 그들은 이미 밥의 e지갑(공개키 등)에 액세스 하여, 그러한 정보를 기반으로 매칭 주문을 만들 수 있다. 따라서, 교환 서비스 제공자(110)는 매칭되는 초대장에 대한 리딤 스크립트를 생성하고, 서명을 위해 이를 밥으로 전송하며, 서명된 리딤 스크립트를 수신하고, 거래에 대비하여 P2P DL 상에 주문을 입력할 수 있다. 밥이 앨리스의 교환 서비스 제공자(104)의 클라이언트가 아닌 경우, 밥이 필요한 정보 및 권한을 입력할 수 있게 하는 기능이 제공되어, 서비스 제공자가 밥의 매칭 주문을 생성하게 할 수 있다. 도 7 및 도 8을 참조하여 전술한 것과 동일한 프로세스가 수행될 수 있다.
위의 예시는 토큰화 된 BTC를 CAD로 교환하는 것을 설명한다. 그러나, 시스템(100)은 BTC를 임의의 유형의 토큰으로 교환(즉, 통화 계약뿐만 아니라 임의의 계약을 나타냄), 임의의 유형의 토큰을 임의의 다른 유형의 토큰으로 교환, BTC를 상품/서비스로 교환, 토큰을 상품/서비스로 교환, 또는 상품/서비스를 상품/서비스로 교환하는 동작을 수행할 수 있음을 이해할 것이다. 추가적으로 그리고 이론적으로, 비록 교환이 실제 의미가 없더라도, 위의 과정은 BTC를 BTC로 교환하는 동작으로 변형될 수 있다.
상품/서비스의 교환(Exchanging goods/services)
상품/서비스가 교환에 수반되는 경우, 전술한 거래 프로세스의 약간의 변형이 요구된다.
그러한 경우에, (상품 및/또는 서비스의)거래는 교환에 수반되는 상품 또는 서비스의 설명을 포함한다. 계약 또는 소유권 증서로 대표되는 토큰과 달리, 상기 설명은 계약을 형성하지 않는다.
상기 설명은 아이템을 고유하게 식별할 수도 있고 그렇지 않을 수도 있다. 예를 들어, 물리적 아이템이 거래와 관련된 경우, 상기 설명은 물리적 아이템과 관련된 고유한 식별자를 명시적으로 참조할 수 있다. 추가적 또는 대안적으로, 설명 메타 데이터는 다음 중 하나 이상을 포함할 수 있다: a) 예를 들면, "식기 세척기, < 3 yo"와 같이 제공되거나 요청되는 위시 아이템에 대한 일반적인 설명, b) 경매 웹 사이트에서 판매한 특정 아이템에 대한 언급(예: "경매에서 판매된 중고품 사이트(site)", c) 아이템 유형의 개수, 하나 또는 15까지의 수량으로 구입할 수 있는 판매용 티셔츠 15 개의 홍보, d) 특정 통화로 현금 참조, e) 노동 및 단일 작업 완료당 보수에 대한 설명, 또는 정규화 잔디 깍기(반복 작업)당 보수에 대한 설명, f) 하나 이상의 키워드, 예: "식기 세척기".
서비스와 관련하여, 서비스는 토큰과 마찬가지로 계약에 의해 뒷받침될 수 있다. 따라서 서비스는 쉐어로 분할할 수 있으며, 분할 불가능한 서비스는 일회성 업무로 고려된다. 즉, 나눌 수 있지만 단일 쉐어(1 쉐어)로 구성된다. 서비스가 분할할 수 없는 경우, 초대장 및 교환 목적의 토큰으로 처리될 수 있다. 아이템이 토큰으로 뒷받침되는 경우 초대장 및 교환 목적의 토큰으로 처리되며, 신용 화폐용 토큰처럼 다른 토큰과 같은 방식으로 교환된다.
고유 식별자와 연관된 물리적 아이템을 수반하는 거래의 예가 이제 설명될 것이다. 이전 예시들과 마찬가지로, 이 예시에서 앨리스는 P2P DL 및 P2P DHT에 초대장을 발행하기 위하여 교환 공급자를 사용하였다. 초대장에는 그녀가 라파엘 (Rafael)의 걸작인 예수매장(Deposition of Christ)과 관련될 수 있으며, 고유 식별자 XYZ123을 가지는 물리적 아이템을 2500BTC이하로 구입할 것이라는 설명이 포함되어 있다. 마찬가지로 밥은 2400BTC이상으로 XYZ123 항목을 판매한다는 매칭 초대장을 발행 했을 수 있다. 앨리스는 P2P DL을 탐색하여 항목 번호가 XYZ123 인 아이템을 찾은 다음 이 정보를 기반으로 매칭 주문을 할 수 있다. 또는 대안적으로 앨리스는 일반 초대장을 발행하여 서드 파티(예; 교환 서비스 제공자)에 의하여 매칭된 후, 밥의 주문과 매칭을 위하여 카탈로그 아이템 번호와 설명을 포함한 새로운 초대장이 만들어 질 수 있다.
고유 ID를 수반하는 거래의 경우, 이러한 ID는 특정 교환 서비스 제공자뿐만 아니라, P2P DL전체에 걸쳐 불변 및 고유해야 한다는 것을 이해할 수 있을 것이다. 따라서, 고유 식별자가 장치에 완전히 고유하지 않으면(예를 들어, 장치 일련 번호), 교환 서비스 제공자는 장치에 대한 고유 식별자를 생성할 수 있다. 각 식별자가 전체 P2P DL에 고유함을 보장하기 위해, 각 교환 서비스 제공자는 예를 들어 P2P DL에 홍보하는 제품을 고유하게 식별하는데 사용하는 번호 앞에 고유한 코드를 붙일 수 있다.
앨리스와 밥 사이에 동의가 이루어지면, 도 7 내지 도 10을 참조하여 설명한 예시적인 거래 프로세스에 따라 거래가 이루어진다.
물리적 아이템을 포함하는 거래의 다른 예시가 이제 설명될 것이다. 그러나, 이 예시에서 아이템은 그와 관련된 고유 식별자를 갖지 않는다.
초대장이 복수의 유사한 아이템을 판매하는 제안을 포함하는 경우, 메타 데이터는 임의의 한 번의 거래로 구입 될 수 있는 아이템의 최대 및 최소 수량을 기술하도록 요구 될 수 있다. 예를 들어, 앨리스는 최대 15 개의 Dead Lizard 2015 콘서트 투어 티셔츠를 개당 0.025 BTC로, 거래당 최소 5 개 판매 할 것임을 나타내는 초대장을 발행할 수 있다. 이 경우, 메타 데이터 값은 최소 환율 (0.025BTC/ 아이템); 최대 수량 (Offer-QTY-max (15)) 및 최소 수량 (Offer-QTY-min (5))을 포함할 수 있다. 아래 표에는 초대장과 관련된 메타 데이터가 요약되어 있다.
Field Sub-field Value Comments
A ContractType 0x0000FF01 P2P 거래 주문을 나타냄
ContractPointer   실제 계약 파일 위치의 IPv6 주소
OfferRequestCodes   Offer-type(4 bits) + Request-type (4 bits)을 나타내는 코드값
Conditions 000000112 Bitfield - 메타 데이터 필드에 추가 조건이 있음을 나타내는 플래그
Rate-min 0.025 BTC / 15 아이템
Rate-max    
C Offer-QTY-max 15 판매 당 최대 티셔츠 수량
Offer-QTY-min  5 판매 당 티셔츠의 최소 수량
Request-QTY-max    
Request-QTY-min    
D Offer-Item-ID  01245D2SA 아이템과 관련된 고유 ID
Request-item-ID    
지불 거래의 실제 BTC 값은 교환 서비스 제공자에 의해 계산될 것이다. 이 거래는 단순히 수행하고 교환 할 수 있는 초대장을 나타 내기 때문에, 거래의 실제 가치는 작을 수 있다(예를 들면, 아주 작다(546 satoshis)). 대안적으로, 아래에 설명된 바와 같이, 값은 초대장을 보장하기 위해 서비스 제공자에 의해 요구되는 명목상의 양일 수 있다(예를 들어, 이로 인하여 앨리스는 철회하지 않도록 동기 부여됨).
또 다른 예시에서, 경화(현금) 형태의 상품이 교환 될 수 있다. 예를 들어 앨리스는 150BTC의 최대 구매와 함께 비트코인을 캐나다 달러로 판매하기 위한 초대장을 발행 할 수 있다. 초대장에는 그녀의 매장 주소(371 Whimsy Avenue, Brentford)에서만 교환을 해야 한다는 위치 조건이 추가로 포함될 수 있다. 매칭 초대장을 발행한 후, 거래를 완료하기 위해 밥은 현금을 앨리스의 매장으로 가져 와서 비트코인 거래에 대한 대가로 양도할 수 있다. 밥에게 비트 코인을, 앨리스에게 경화를 전송하는 디지털 기록의 실제 디지털 거래는 밥과 앨리스가 물리적 양도를 위해 매장에서 만난 후 일어날 수 있다.
다른 상품/서비스와 교환되는 상품/서비스를 수반한 거래의 경우, P2P DL상의 거래는 단지 기록으로서 존재하며, 당사자들 사이의 임의의 가치 교환을 위한 것이 아니라는 점을 이해할 것이다(서비스 제공자의 임의의 수수료 등은 별개임). 사용자는 시스템을 사용하여 P2P DL에 거래 입력을 위한 명목상의 서비스 요금을 지불하여, 교환이 영구적으로 기록되도록 할 수 있다.
본래의 초대장 거래는 가치 전송 또는 이벤트 기록이 아닌 초대로서의 역할만을 수행함을 알아야 한다. 물리적 아이템 교환만을 수반하는 상품-상품 교환이 발생하면, P2P DL이 최종 교환 단계에서 거래를 완료할 필요가 없기 때문에 실제 최종 교환을 P2P DL에 기록할 필요가 없다. 그럼에도 불구하고, 실제 물리적 아이템의 당사자가 P2P DL에 교환을 기록하고자 하는 경우, 그들은 채굴자에 대한 수수료를 내고 서로에게 초대장 거래를 할 수 있다. P2P DL에 대한 최종 교환을 기록하지 않으려는 당사자는 각자 자신의 초대장을 자신에게로 되돌려 보내거나 P2P DL에 미사용으로 남겨 둘 수 있다.
BTC를 상품으로 교환하거나 또는 토큰을 상품으로 교환하는 경우, 적어도 하나의 거래가 BTC 또는 토큰의 값을 전달하기 위해 P2P DL에 소비된다. 이 경우 교환(상품)의 가치가 초대장 거래를 통해 이전되는 것은 아니므로, 상품을 제안하는 초대장 거래는 소비되거나 소비되지 않을 수 있다. 그러나 거래 당사자는 영구적인 이전 기록(예: 판매 영수증)을 제공하기 위해 거래를 소비하도록 할 수 있다.
몇몇 케이스에서, 상기 거래들에 소요된 금액은, 특히 앨리스의 제안이 비트코인 또는 토큰이 아닌 상품/서비스인 경우, 제공되는 금액을 나타내지 않을 수 있다. 대신, 서비스 제공 업체는 앨리스에게 상품 가치를 나타내는 금액의 '예치금'을 요구하거나, 앨리스가 다른 방식으로 제안을 '보증'할 수 있는 경우에는 명목상 금액만을 요구할 수 있다. 또는 (iii) 서비스 제공자는 그 자체로 앨리스를 대신하여 비트코인을 제공하고(그녀는 가지고 있지 않을 수도 있음), 고객에게 수수료를 부과한다는 의미에서 자금 조달 비용을 충당할 수 있다.
상술한 실시 예에서, 사용자의 초대장은 P2P DHT에 게시된다. 그러나, 일부 실시 예에서, 사용자의 초대장(예를 들어, 스크립트 및 스크립트 해시)은 웹 사이트상에 공개되어 다른 사용자에게 직접 전송될 수 있다.
일부 실시 예에서, 사용자의 초대장은 서비스 제공자에 의해 국부적으로 저장될 수 있다. 예를 들어 서비스 제공자는 특정 사용자만 사용자의 초대장 세부 사항에 액세스 할 수있는 비공개 경매를 주최할 수 있다.
당업자는 본 개시물의 넓은 범용 범위를 벗어나지 않으면서 상술한 실시 예에 대해 다양한 변형 및/또는 수정이 이루어질 수 있음을 이해할 것이다. 따라서, 본 실시 예들은 모든면에서 예시적이고 제한적이지 않은 것으로 간주되어야 한다.
본 명세서에 개시되거나 본 출원의 명세서에 개별적 또는 집합적으로 지시된 단계, 특징, 정수, 조성물 및/또는 화합물, 그리고 임의의, 그리고 둘 이상의 단계 및 특징의 모든 조합을 포함한다.

Claims (23)

  1. 피어 - 투 - 피어 분산 장부에서 개체들의 효율적인 전송을 위한 컴퓨터 구현 방법에 있어서,
    제 1 교환 거래를 생성하는 단계와,
    제 1 네트워크를 통해, P2P 분배 장부에 포함시키기 위한 제 1 교환 거래를 브로드캐스팅 하는 단계를 포함하며,
    상기 제 1 교환 거래는,
    전송될 암호 화폐의 제 1 수량의 표시;
    제 1 사용자로부터의 제 1 초대장 거래의 출력으로부터 제공되는 제 1 입력, 상기 제 1 초대장 거래는 이전에 상기 P2P 분배 장부에 포함되어 있으며,
    제 1 스크립트,
    상기 제 1 사용자와 관련된 제 1 사용자 개인키,
    제 1 서드파티와 관련된 제 1 서드파티 개인키, 및
    상기 제 1 사용자로부터 제 2 사용자로 제 1 개체의 전송을 나타내는 제 1 출력; 을 포함하며, 그리고,
    상기 제 1 스크립트는,
    전송될 제 1 개체의 표시 및 전송을 위한 제 1 조건 세트를 제공하는 제 1 메타 데이터 세트,
    상기 제 1 사용자 개인키와 암호화 쌍이며, 상기 제 1 사용자와 연관된 제 1 사용자 공개키, 및
    상기 제 1 서드파티 개인키와 암호화 쌍이며, 상기 제 1 서드파티와 연관된 제 1서드파티 공개키 쌍을 포함하는 방법.
  2. 제1항에 있어서,
    제 2 교환 거래를 생성하는 단계; 및
    상기 제 1 네트워크를 통해, P2P 분배 장부에 포함시키기 위한 제 2 교환 거래를 브로드캐스팅하는 단계를 더 포함하며,
    상기 제 2 교환 거래는,
    전송 될 암호 화폐의 제 2 수량의 표시;
    상기 제 2 사용자로부터의 제 2 초대장 거래의 출력으로부터 제공되는 제 2 입력, 상기 제 2 초대장 거래는 이전에 상기 P2P 분배 장부에 포함되어 있으며,
    제 2 스크립트,
    상기 제 2 사용자와 관련된 제 2 사용자 개인키,
    제 2 서드파티와 관련된 제 2 서드파티 개인키, 및
    상기 제 2 사용자로부터 제 1 사용자로 제 2 개체의 전송을 나타내는 제 2 출력; 을 포함하며, 그리고,
    상기 제 2 스크립트는,
    전송될 제 2 개체의 표시 및 전송을 위한 제 2 조건 세트를 제공하는 제 2 메타 데이터 세트,
    상기 제 2 사용자 개인키와 암호화 쌍이며, 상기 제 2 사용자와 연관된 제 2 사용자 공개키, 및
    상기 제 2 서드파티 개인키와 암호화 쌍이며, 상기 제 2 서드파티와 연관된 제 2서드파티 공개키 쌍을 포함하는 방법.
  3. 피어 - 투 - 피어 분산 장부에서 개체들의 효율적인 전송을 위한 컴퓨터 구현 방법에 있어서,
    제 1 교환 거래를 생성하는 단계와,
    제 1 네트워크를 통해, P2P 분배 장부에 포함시키기 위한 제 1 교환 거래를 브로드캐스팅 하는 단계를 포함하며,
    상기 제 1 교환 거래는,
    전송될 암호 화폐의 제 1 수량의 표시;
    제 1 사용자로부터의 제 1 초대장 거래의 출력으로부터 제공되는 제 1 입력, 상기 제 1 초대장 거래는 이전에 상기 P2P 분배 장부에 포함되어 있으며,
    제 1 스크립트,
    상기 제 1 사용자와 관련된 제 1 사용자 개인키,
    제 1 서드파티와 관련된 제 1 서드파티 개인키, 및
    상기 제 1 사용자로부터 제 2 사용자로 제 1 개체의 전송을 나타내는 제 1 출력;
    전송될 암호 화폐의 제 2 수량의 표시;
    상기 제 2 사용자로부터의 제 2 초대장 거래의 출력으로부터 제공되는 제 2 입력, 상기 제 2 초대장 거래는 이전에 상기 P2P 분배 장부에 포함되어 있으며,
    제 2 스크립트,
    상기 제 2 사용자와 관련된 제 2 사용자 개인키,
    제 2 서드파티와 관련된 제 2 서드파티 개인키, 및
    상기 제 2 사용자로부터 제 1 사용자로 제 2 개체의 전송을 나타내는 제 2 출력; 을 포함하며, 그리고,
    상기 제 1 스크립트는,
    전송될 제 1 개체의 표시 및 전송을 위한 제 1 조건 세트를 제공하는 제 1 메타 데이터 세트,
    상기 제 1 사용자와 연관된 제 1 사용자 공개키, 및
    상기 제 1 서드파티와 연관된 제 1서드파티 공개키 쌍을 포함하며, 그리고,
    상기 제 2 스크립트는,
    전송될 제 2 개체의 표시 및 전송을 위한 제 2 조건 세트를 제공하는 제 2 메타 데이터 세트,
    상기 제 2 사용자와 연관된 제 2 사용자 공개키, 및
    상기 제 2 서드파티와 연관된 제 2서드파티 공개키 쌍을 포함하는 방법.
  4. 이전 청구항 중 어느 한 항에 있어서, 상기 제 1 교환 거래를 생성하는 단계는,
    상기 제 1 사용자 개인키로 서명하기 위해 상기 제 1 스크립트를 상기 제 1 사용자에게 전송하는 단계;
    상기 제 1 사용자로부터 상기 제 1 사용자 개인키로 서명 된 상기 제 1 스크립트를 수신하는 단계;
    상기 제 1 서드파티 개인키로 서명하기 위해 상기 제 1 스크립트를 상기 제 1 서드파티에게 전송하는 단계; 및
    상기 제 1 서드파티로부터 상기 제 1 서드파티 개인키로 서명된 상기 제 1 스크립트를 수신하는 단계를 포함하는 방법.
  5. 제 3 항에 있어서, 상기 제 1 교환 거래를 생성하는 단계는,
    상기 제 2 사용자 개인키로 서명하기 위해 상기 제 1 스크립트를 상기 제 2 사용자에게 전송하는 단계;
    상기 제 2 사용자로부터 상기 제 2 사용자 개인키로 서명 된 상기 제 1 스크립트를 수신하는 단계;
    상기 제 2 서드파티 개인키로 서명하기 위해 상기 제 1 스크립트를 상기 제 2 서드파티에게 전송하는 단계; 및
    상기 제 2 서드파티로부터 상기 제 2 서드파티 개인키로 서명 된 상기 제 1 스크립트를 수신하는 단계를 포함하는 방법.
  6. 제 2 항 또는 제 2 항을 인용하는 제 4 항에 있어서, 상기 제 2 교환 거래를 생성하는 단계는,
    상기 제 2 사용자 개인키로 서명하기 위해 상기 제 2 스크립트를 상기 제 2 사용자에게 전송하는 단계;
    상기 제 2 사용자로부터 상기 제 2 사용자 개인키로 서명 된 상기 제 2 스크립트를 수신하는 단계;
    상기 제 2 서드파티 개인키로 서명하기 위해 상기 제 2 스크립트를 상기 제 2 서드파티에게 전송하는 단계; 및
    상기 제 2 서드파티로부터 상기 제 2 서드파티 개인키로 서명 된 상기 제 2 스크립트를 수신하는 단계를 포함하는 방법.
  7. 제 2 항 내지 제 6 항 중 어느 한 항에 있어서, 상기 제 1 및 / 또는 제 2 교환 거래를 생성 또는 브로드 캐스팅하기 전에 교환을 허용하도록 프롬프트를 상기 제 1 및 제 2 사용자 중 하나 이상에게 전송하는 단계를 더 포함하는 방법.
  8. 이전 청구항 중 어느 한 항에 있어서,
    상기 제 1 사용자로부터 교환을 수행하기 위한 제 1 초대장을 수신하는 단계, 상기 제 1 초대장은 상기 제 1 메타 데이터 세트를 포함하며;
    상기 제 1 스크립트를 생성하는 단계;
    상기 제 1 스크립트를 해싱하여 제 1 스크립트 해시를 생성하는 단계;
    제 2 네트워크를 통해 상기 제 1 스크립트 및 상기 제 1 스크립트 해시를 전송하는 단계; 및
    상기 제 1 네트워크를 통해 피어-투-피어 분산 장부에 포함시키기 위한 상기 제 1 초대장 거래를 송신하는 단계를 더 포함하며,
    상기 제 1 초대장 거래는 전송될 암호 화폐 제 3 수량의 표시 및 상기 제 1 스크립트 해시를 포함하는 방법.
  9. 제 2 항 또는 제 3항을 인용하는 제 4 항에 있어서,
    상기 제 2 사용자로부터 교환을 수행하기 위한 제 2 초대장을 수신하는 단계, 상기 제 2 초대장은 상기 초대장과 연관된 상기 제 2 메타 데이터 세트를 포함하며;
    상기 제 2 스크립트를 생성하는 단계;
    상기 제 2 스크립트를 해싱하여 제 2 스크립트 해시를 생성하는 단계;
    상기 제 2 네트워크를 통해 상기 제 2 스크립트 및 상기 제 2 스크립트 해시를 전송하는 단계; 및
    상기 제 1 네트워크를 통해 피어-투-피어 분산 장부에 포함시키기 위한 상기 제 2 초대장 거래를 송신하는 단계를 더 포함하며,
    상기 제 2 초대장 거래는 전송될 암호 화폐 제 4 수량의 표시 및 상기 제 2 스크립트 해시를 포함하는 방법.
  10. 이전 청구항 중 어느 한 항에 있어서, 상기 제 1 개체는 암호 화폐의 상기 제 1 수량이거나 또는 상기 제 2 개체는 암호 화폐의 상기 제 2 수량 인 방법.
  11. 제 8 항 내지 제 10 항 중 어느 한 항에 있어서, 상기 제 1 네트워크를 통해 상기 제 1 스크립트 및 상기 제 1 스크립트 해시를 전송하는 단계는,
    a) 분산된 해시 테이블(DHT) 상에 상기 제 1 스크립트 및 상기 제 1 스크립트 해시를 발행하는 단계; 및
    b) 상기 제 1 스크립트 및 상기 제 1 스크립트 해시를 상기 제 2 사용자에게 전송하는 단계 중 하나를 포함하는 방법.
  12. 제 9 항 내지 제 11 항 중 어느 한 항에 있어서, 상기 제 2 네트워크를 통해 상기 제 2 스크립트 및 상기 제 2 스크립트 해시를 전송하는 단계는,
    a) 분산된 해시 테이블(DHT) 상에 상기 제 2 스크립트 및 상기 제 2 스크립트 해시를 발행하는 단계; 및
    b) 상기 제 2 스크립트 및 상기 제 2 스크립트 해시를 상기 제 1 사용자에게 전송하는 단계 중 하나를 포함하는 방법.
  13. 제 1 항 또는 제 2 항에 있어서, 상기 P2P 분산 장부는 비트코인 블록 체인인 방법.
  14. 이전 청구항 중 어느 한 항에 있어서, 상기 제 1 서드파티는 에스크로우 서비스 제공자이고 및/또는 상기 제 2 서드파티는 에스크로우 서비스 제공자인 방법.
  15. 이전 청구항 중 어느 한 항에 있어서, 상기 제 1 교환 거래, 상기 제 2 교환 거래, 상기 제 1 초대장 거래 및 상기 제 2 초대장 거래 중 하나 이상은 pay-to-script-hash(P2SH) 거래인 방법.
  16. [0001] 제 8 항 내지 제 8 항 또는 제 9항을 인용하는 제 15 항 중 어느 한 항에 있어서, 상기 제 1 스크립트 해시 및 상기 제 2 스크립트 해시 중 하나 이상은 Base58로 인코딩 된 방법.
  17. 이전 청구항 중 어느 한 항에 있어서, 상기 제 1 개체 및 / 또는 상기 제 2 개체는 다음 중 하나인 방법:
    a) 비트 코인;
    b) 계약;
    c) 물품;
    d) 서비스.
  18. 제 17 항에 있어서, 상기 계약은 다음 중 하나 이상을 위한 것인 방법:
    a) 신용 화폐;
    b) 소유권 증서;
    c) 티켓;
    d) 상품;
    e) 서비스.
  19. 이전 청구항 중 어느 한 항에 있어서, 상기 제 1 조건 세트 및 / 또는 상기 제 2 조건 세트는 다음 중 하나 이상을 포함하는 방법:
    a) 상기 교환과 관련된 하나 이상의 가격에 대한 하나 이상의 범위 한도;
    b) 환율;
    c) 상기 제1초대장을의 이행을 위한 마감일;
    d) 상기 교환이 일어나기 위한 지리적 영역의 제한.
  20. 이전 청구항 중 어느 한 항에 있어서, 상기 제 1 및 / 또는 제 2 메타 데이터 세트는 리딤 스크립트에 제공되는 방법.
  21. 이전 청구항 중 어느 한 항에 있어서, 상기 제 1 및 / 또는 제 2 메타 데이터 세트는 암호화 키를 위한 위치로서 블록 체인 프로토콜상에 지정된 위치에서 상기 스크립트에 제공되는 방법.
  22. 제 1 항 내지 제 21 항 중 어느 한 항의 방법을 수행하도록 동작 가능한 프로세서 또는 프로세서 그룹.
  23. 실행시에 제 1 항 내지 제 21 항 중 어느 한 항의 방법을 수행하도록 동작 가능한 명령들을 저장한 컴퓨터 판독 가능 매체.
KR1020187026285A 2016-02-23 2017-02-16 블록체인을 이용하는 피어 - 투 - 피어 분산 장부에서 개체들의 효율적인 전송을 위한 방법 및 시스템 KR20180115282A (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
GBGB1603125.4A GB201603125D0 (en) 2016-02-23 2016-02-23 Universal tokenisation system for blockchain based cryptocurrencies
GB1603123.9 2016-02-23
GBGB1603123.9A GB201603123D0 (en) 2016-02-23 2016-02-23 P2P cryptocurrency exchange with tokenisation
GB1603125.4 2016-02-23
GB1604493.5 2016-03-16
GBGB1604493.5A GB201604493D0 (en) 2016-03-16 2016-03-16 Methods and systems for efficient transfer of entities on a peer-to-peer distributed ledger using the blockchain
PCT/IB2017/050866 WO2017145020A1 (en) 2016-02-23 2017-02-16 Methods and systems for efficient transfer of entities on a peer-to-peer distributed ledger using the blockchain

Publications (1)

Publication Number Publication Date
KR20180115282A true KR20180115282A (ko) 2018-10-22

Family

ID=58266690

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187026285A KR20180115282A (ko) 2016-02-23 2017-02-16 블록체인을 이용하는 피어 - 투 - 피어 분산 장부에서 개체들의 효율적인 전송을 위한 방법 및 시스템

Country Status (8)

Country Link
US (1) US20190068365A1 (ko)
EP (2) EP3420518B1 (ko)
JP (3) JP6869250B2 (ko)
KR (1) KR20180115282A (ko)
CN (2) CN117611331A (ko)
GB (1) GB2561466A (ko)
WO (1) WO2017145020A1 (ko)
ZA (1) ZA201805063B (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102023101B1 (ko) 2018-12-20 2019-11-04 주식회사 엔퍼 원본 데이터의 위변조 방지 장치 및 그 방법
KR20200072371A (ko) 2018-12-12 2020-06-22 애니팬 주식회사 블록체인 기반의 암호화 화폐를 이용한 콘텐츠 투자 시스템 및 그 방법
WO2021101020A1 (ko) * 2019-11-22 2021-05-27 현대비에스앤씨 (주) 증권형 토큰 기반의 부동산 투자 중개 처리 서버 및 그 동작 방법

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10354325B1 (en) 2013-06-28 2019-07-16 Winklevoss Ip, Llc Computer-generated graphical user interface
US9892460B1 (en) 2013-06-28 2018-02-13 Winklevoss Ip, Llc Systems, methods, and program products for operating exchange traded products holding digital math-based assets
US10068228B1 (en) 2013-06-28 2018-09-04 Winklevoss Ip, Llc Systems and methods for storing digital math-based assets using a secure portal
US11334882B1 (en) * 2016-03-28 2022-05-17 United Services Automobile Association (Usaa) Data access management on a distributed ledger system
US10937069B2 (en) * 2016-04-13 2021-03-02 Paypal, Inc. Public ledger authentication system
EP3504835B1 (en) * 2016-08-24 2021-09-22 Upgraded Inc. Digital securitization, obfuscation, policy and commerce of event tickets
US10762479B2 (en) * 2017-04-05 2020-09-01 Samsung Sds Co., Ltd. Method and system for processing blockchain-based real-time transaction
US11481740B1 (en) * 2017-04-25 2022-10-25 EMC IP Holding Company LLC Distributed ledger for peer-to-peer cloud data asset valuation
CN110741400A (zh) * 2017-06-16 2020-01-31 维萨国际服务协会 区块链网络交互控制器
GB201711867D0 (en) * 2017-07-24 2017-09-06 Nchain Holdings Ltd Computer-implemented system and method
CN107769918B (zh) * 2017-09-07 2020-12-04 广东工业大学 一种安全的云数据多副本关联删除方法
GB201714987D0 (en) * 2017-09-18 2017-11-01 Nchain Holdings Ltd Computer-implemented system and method
WO2019094828A1 (en) * 2017-11-09 2019-05-16 Indeco Union Digital crypto asset generation
US10810683B2 (en) 2017-11-21 2020-10-20 General Electric Company Hierarchical meta-ledger transaction recording
EP3490191B1 (en) * 2017-11-22 2020-01-15 Siemens Aktiengesellschaft Processing method of service requests performed by a service provider node
US11049182B2 (en) * 2017-12-28 2021-06-29 Chicago Mercantile Exchange Inc. Secure deterministic tokens for electronic messages
US10841372B1 (en) * 2018-01-11 2020-11-17 Hoot Live, Inc. Systems and methods for performing useful commissioned work using distributed networks
US20200402167A1 (en) * 2018-02-08 2020-12-24 2Bc Innovations, Llc Updating a portfolio of blockchain-encoded rived longevity-contingent instruments
US11200569B1 (en) 2018-02-12 2021-12-14 Winklevoss Ip, Llc System, method and program product for making payments using fiat-backed digital assets
US10438290B1 (en) 2018-03-05 2019-10-08 Winklevoss Ip, Llc System, method and program product for generating and utilizing stable value digital assets
US10373129B1 (en) 2018-03-05 2019-08-06 Winklevoss Ip, Llc System, method and program product for generating and utilizing stable value digital assets
US11909860B1 (en) 2018-02-12 2024-02-20 Gemini Ip, Llc Systems, methods, and program products for loaning digital assets and for depositing, holding and/or distributing collateral as a token in the form of digital assets on an underlying blockchain
US11308487B1 (en) 2018-02-12 2022-04-19 Gemini Ip, Llc System, method and program product for obtaining digital assets
US10540654B1 (en) 2018-02-12 2020-01-21 Winklevoss Ip, Llc System, method and program product for generating and utilizing stable value digital assets
US10373158B1 (en) 2018-02-12 2019-08-06 Winklevoss Ip, Llc System, method and program product for modifying a supply of stable value digital asset tokens
US11475442B1 (en) 2018-02-12 2022-10-18 Gemini Ip, Llc System, method and program product for modifying a supply of stable value digital asset tokens
EP3531362A1 (en) * 2018-02-22 2019-08-28 Banco Bilbao Vizcaya Argentaria, S.A. Method for validating a voucher
WO2019167119A1 (ja) * 2018-02-27 2019-09-06 レヴィアス株式会社 情報処理装置
CN108282334B (zh) * 2018-04-13 2021-04-27 浪潮集团有限公司 一种基于区块链的多方密钥协商装置、方法及系统
US11132707B2 (en) 2018-04-25 2021-09-28 At&T Intellectual Property I, L.P. Blockchain solution for an automated advertising marketplace
EP3785200A4 (en) 2018-04-27 2022-01-19 Sharespost, Inc. GLOBAL LIQUIDITY AND BALANCING SYSTEM
US11100578B2 (en) * 2018-05-16 2021-08-24 Chicago Mercantile Exchange Inc. Secure deterministic tokens for encrypting electronic communications
WO2020008218A1 (en) * 2018-07-03 2020-01-09 Chain IP Holdings, Inc. Method for conditional blockchain transactions
CN109104286B (zh) * 2018-07-26 2021-08-17 杭州安恒信息技术股份有限公司 一种基于门限数字签名的共识的新区块生成方法
CA3107682C (en) * 2018-07-29 2023-10-31 Praveen Baratam A computer-implemented method, a computer system and a cryptocurrency depository for enabling secure escrow and safekeeping of a cryptocurrency
EP3830778A4 (en) * 2018-07-29 2022-05-11 Praveen Baratam PROCESS IMPLEMENTED BY COMPUTER, COMPUTER SYSTEM AND CRYPTOCURRENCY DEPOSIT TO ENABLE SECURE ESCROW AND SAFE CUSTODY OF A CRYPTOCURRENCY
JP7159689B2 (ja) * 2018-08-20 2022-10-25 富士通株式会社 決済装置、決済方法及びプログラム
JP7153528B2 (ja) * 2018-10-17 2022-10-14 伸太郎 原 クラウドデザイン管理方法、クラウドデザインデータベース及びクラウドデザイン管理プログラム
US20200175033A1 (en) * 2018-11-29 2020-06-04 International Business Machines Corporation Distributed decentralized matching
CN110009337B (zh) 2018-12-21 2020-04-21 阿里巴巴集团控股有限公司 一种基于区块链的数据处理方法和装置
CN110020543B (zh) 2018-12-21 2020-09-15 阿里巴巴集团控股有限公司 一种基于区块链的数据处理方法和装置
US11354278B2 (en) 2019-04-05 2022-06-07 International Business Machines Corporation Linking of tokens
WO2020213678A1 (ja) * 2019-04-16 2020-10-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 制御方法、サーバ、及び、データ構造
US11153621B2 (en) 2019-05-14 2021-10-19 At&T Intellectual Property I, L.P. System and method for managing dynamic pricing of media content through blockchain
JP7241176B2 (ja) * 2019-06-21 2023-03-16 double jump.tokyo株式会社 トークン発行方法、情報処理装置、及びブロックチェーンシステム
CN115398857A (zh) 2019-08-12 2022-11-25 创新先进技术有限公司 基于区块链的争议解决
US11625602B2 (en) 2019-09-11 2023-04-11 Sap Se Detection of machine learning model degradation
CN111028059B (zh) * 2019-12-11 2023-09-15 腾讯科技(深圳)有限公司 基于区块链的物品交换方法、装置、设备及存储介质
US11727284B2 (en) 2019-12-12 2023-08-15 Business Objects Software Ltd Interpretation of machine learning results using feature analysis
CN111242707A (zh) * 2020-01-21 2020-06-05 腾讯科技(深圳)有限公司 一种数据处理方法、装置及可读存储介质
US11580455B2 (en) 2020-04-01 2023-02-14 Sap Se Facilitating machine learning configuration
CN111445248B (zh) * 2020-04-13 2023-07-25 中国银行股份有限公司 外汇交易处理方法、装置、系统以及存储介质
US11418587B2 (en) 2020-04-30 2022-08-16 T-Mobile Usa, Inc. 5G on-demand dynamically instantiated blockchain for highly distributed peer-to-peer consumer cloud
US11539787B2 (en) 2020-04-30 2022-12-27 T-Mobile Usa, Inc. 5G enabled massively distributed on-demand personal cloud system and method
CN111478772B (zh) * 2020-06-22 2020-10-16 杭州趣链科技有限公司 一种流水线友好的签名和验签方法、设备及存储介质
CN113568624A (zh) * 2021-09-22 2021-10-29 苏州浪潮智能科技有限公司 一种镜像的拉取方法、系统、计算机设备及可读存储介质
JP7020739B1 (ja) 2021-10-29 2022-02-16 充宏 前田 取引システム、取引方法及びプログラム
US20230188357A1 (en) * 2021-12-09 2023-06-15 Bank Of America Corporation System for authenticating peer-to-peer resource exchange using non-fungible tokens
WO2023150659A1 (en) * 2022-02-03 2023-08-10 Tassat Group Inc. Computer-based platforms and systems for asynchronous parallel network operations and methods of use thereof

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1056449A (ja) * 1996-08-09 1998-02-24 Oki Electric Ind Co Ltd セキュリティ強化システム
US7702739B1 (en) * 2002-10-01 2010-04-20 Bao Tran Efficient transactional messaging between loosely coupled client and server over multiple intermittent networks with policy based routing
US7778882B2 (en) * 2006-03-03 2010-08-17 Mukesh Chatter Method, system and apparatus for automatic real-time iterative commercial transactions over the internet in a multiple-buyer, multiple-seller marketplace, optimizing both buyer and seller needs based upon the dynamics of market conditions
MX2009007995A (es) * 2007-01-26 2009-09-30 Interdigital Tech Corp Método y aparato para proteger la información de ubicación y control de acceso utilizando la información de ubicación.
GB0802739D0 (en) * 2008-02-15 2008-03-26 Foreman Patrick J Computer system and methods to support a Cloud Commerce community for authorised sharing of digtial content via a contolled peer-to-peer network
JP5389186B2 (ja) * 2008-12-02 2014-01-15 テレフオンアクチーボラゲット エル エム エリクソン(パブル) エンティティをマッチングするシステム及び方法
GB2467530A (en) * 2009-02-03 2010-08-11 Eservglobal Uk Ltd Credit transfer between telecommunications networks
FR2960671B1 (fr) * 2010-06-01 2020-01-10 Institut Telecom-Telecom Paris Tech Procede de securisation de donnees numeriques et d'identites notamment au sein de processus utilisant des technologies de l'information et de la communication
EP2442253A1 (en) * 2010-10-12 2012-04-18 Research In Motion Limited A method for securing credentials in a remote repository
CN103535090B (zh) * 2011-02-15 2017-07-07 黑莓有限公司 用于移动设备的身份管理的系统和方法
KR20200138828A (ko) * 2011-05-31 2020-12-10 블랙호크 네트워크, 아이엔씨. 전자 지갑을 통한 결제 시스템
US20150026072A1 (en) * 2011-07-18 2015-01-22 Andrew H B Zhou Global world universal digital mobile and wearable currency image token and ledger
US10354325B1 (en) * 2013-06-28 2019-07-16 Winklevoss Ip, Llc Computer-generated graphical user interface
US9710808B2 (en) * 2013-09-16 2017-07-18 Igor V. SLEPININ Direct digital cash system and method
FR3018378A1 (fr) * 2014-03-12 2015-09-11 Enrico Maim Systeme et procede transactionnels a architecture repartie fondees sur des transactions de transferts d'unites de compte entre adresses
US20170178237A1 (en) * 2014-03-11 2017-06-22 Dragonfly Fintech Pte Ltd Computer implemented frameworks and methods configured to create and manage a virtual currency
WO2015142765A1 (en) * 2014-03-17 2015-09-24 Coinbase, Inc Bitcoin host computer system
CN103927659A (zh) * 2014-04-18 2014-07-16 刘志望 一种虚拟货币的即时转移和安全支付方法
US11196566B2 (en) * 2014-05-09 2021-12-07 Reginald Middleton Devices, systems, and methods for facilitating low trust and zero trust value transfers
US9818092B2 (en) * 2014-06-04 2017-11-14 Antti Pennanen System and method for executing financial transactions
US10127552B2 (en) * 2014-06-16 2018-11-13 Bank Of America Corporation Cryptocurrency aggregation system
SG11201700142PA (en) * 2014-07-11 2017-02-27 Loyyal Corp Distributed ledger protocol to incentivize transactional and non-transactional commerce
SI3073670T1 (sl) * 2015-03-27 2021-07-30 Black Gold Coin, Inc. Sistem in postopek za osebno identifikacijo in verifikacijo
US20160342984A1 (en) * 2015-05-20 2016-11-24 402 Technologies S.A. Loop transfer in a resource transfer system
US10402792B2 (en) * 2015-08-13 2019-09-03 The Toronto-Dominion Bank Systems and method for tracking enterprise events using hybrid public-private blockchain ledgers
US10719816B1 (en) * 2015-11-19 2020-07-21 Wells Fargo Bank, N.A. Systems and methods for math-based currency escrow transactions

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200072371A (ko) 2018-12-12 2020-06-22 애니팬 주식회사 블록체인 기반의 암호화 화폐를 이용한 콘텐츠 투자 시스템 및 그 방법
KR102023101B1 (ko) 2018-12-20 2019-11-04 주식회사 엔퍼 원본 데이터의 위변조 방지 장치 및 그 방법
WO2021101020A1 (ko) * 2019-11-22 2021-05-27 현대비에스앤씨 (주) 증권형 토큰 기반의 부동산 투자 중개 처리 서버 및 그 동작 방법

Also Published As

Publication number Publication date
CN109155035B (zh) 2023-07-04
US20190068365A1 (en) 2019-02-28
JP6869250B2 (ja) 2021-05-12
ZA201805063B (en) 2023-09-27
EP4235552A3 (en) 2023-09-13
WO2017145020A1 (en) 2017-08-31
EP4235552A2 (en) 2023-08-30
EP3420518B1 (en) 2023-08-23
JP2021108488A (ja) 2021-07-29
CN117611331A (zh) 2024-02-27
CN109155035A (zh) 2019-01-04
GB2561466A (en) 2018-10-17
JP2019506074A (ja) 2019-02-28
EP3420518A1 (en) 2019-01-02
JP2023145626A (ja) 2023-10-11
GB201806525D0 (en) 2018-06-06

Similar Documents

Publication Publication Date Title
US20230237447A1 (en) Blockchain-based exchange with tokenisation
JP7247246B2 (ja) ブロックチェーンにおけるエンティティの効率的な移転のための方法およびシステム
CN109074580B (zh) 在区块链上安全转移实体的方法和系统
KR20180115282A (ko) 블록체인을 이용하는 피어 - 투 - 피어 분산 장부에서 개체들의 효율적인 전송을 위한 방법 및 시스템

Legal Events

Date Code Title Description
E902 Notification of reason for refusal