KR102569751B1 - 블록 체인을 사용하여 구현된 기계 실행 가능한 계약의 상태를 결정하기 위한 컴퓨터 구현 시스템 및 방법 - Google Patents

블록 체인을 사용하여 구현된 기계 실행 가능한 계약의 상태를 결정하기 위한 컴퓨터 구현 시스템 및 방법 Download PDF

Info

Publication number
KR102569751B1
KR102569751B1 KR1020197018806A KR20197018806A KR102569751B1 KR 102569751 B1 KR102569751 B1 KR 102569751B1 KR 1020197018806 A KR1020197018806 A KR 1020197018806A KR 20197018806 A KR20197018806 A KR 20197018806A KR 102569751 B1 KR102569751 B1 KR 102569751B1
Authority
KR
South Korea
Prior art keywords
information
search
interest
state
blockchain
Prior art date
Application number
KR1020197018806A
Other languages
English (en)
Other versions
KR20190107009A (ko
Inventor
페드로 히메네즈-델가도
Original Assignee
엔체인 홀딩스 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엔체인 홀딩스 리미티드 filed Critical 엔체인 홀딩스 리미티드
Publication of KR20190107009A publication Critical patent/KR20190107009A/ko
Application granted granted Critical
Publication of KR102569751B1 publication Critical patent/KR102569751B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3678Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes e-cash details, e.g. blinded, divisible or detecting double spending
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management
    • 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/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • G06F16/1837Management specially adapted to peer-to-peer storage networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • G06Q20/0658Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed locally
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/405Establishing or using transaction specific rules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/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/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/3236Cryptographic 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 using cryptographic hash functions
    • H04L9/3239Cryptographic 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 using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • Strategic Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Resources & Organizations (AREA)
  • Finance (AREA)
  • General Business, Economics & Management (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • Software Systems (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

블록 체인을 사용하여 구현된 기계 실행 가능한 계약의 상태를 결정하기 위한 컴퓨터 구현 시스템 및 방법
미사용 거래(UTXO), 블록 체인 및 결정론적 유한 오토 머턴(DFA) 계약 이행 및 그러한 상태의 결정과 같은 기계 실행 가능한 계약의 상태에 대한 정보를 확립하기 위한 컴퓨터 구현 시스템 및 방법이 상세하게 설명된다.
본 방법은 관심 정보와 해당 정보를 식별하는 코드 또는 태그를 결정하고, 해당 코드 또는 태그와 연관된 메타 데이터를 구성하고, 정보와 연관될 에이전트의 공개 키와 결합한다. 각 스크립트의 scriptPubKey 값은 외부 데이터베이스를 구성하는데 사용할 키를 제공하고 관심 정보에 링크된 scriptPubKey 값의 키를 보다 구체적으로 맵핑하는 데 사용될 수 있다.
조합의 나머지 절반을 획득하기 위하여 scriptPubKey 값에서 스크립트 해시 주소를 파생시키고 디지털 지갑을 채우는 데 사용되는 값을 사용한다. 그런 다음 검색 및 매칭 알고리즘을 사용하여 블록 체인에서 일치하는 스크립트 해시 주소가있는 UTXO를 검색한다. 그런 다음 위의 데이터베이스를 스크립트 해시 주소와 일치하는 UTXO로 채우고 키를 조합하여 결합을 완료한다. 매칭은 명확한 방식으로 상태를 나타낸다.

Description

블록 체인을 사용하여 구현된 기계 실행 가능한 계약의 상태를 결정하기 위한 컴퓨터 구현 시스템 및 방법
본 발명은 일반적으로 컴퓨터 구현 시스템 및 방법과 같은 시스템에 관한 것이며, 특히 상태에 관한 정보를 얻기 위한 컴퓨터 구현 시스템 및 방법에 관한 것이다. 본 발명은 계약의 블록 체인 및 결정론적 유한 오토 머턴(DFA) 구현 및 이들 내의 상태 결정에 특히 적합하다.
블록체인은, 컴퓨터 기반 비집중형 분산 시스템으로서 구현되는 전자 원장으로서 블록들로 구성된 피어투피어 분산 시스템이며, 이러한 블록들은 다시 거래들로 구성된다. 각 거래는, 블록체인 시스템의 참여자들 간에 디지털 자산의 제어 전송을 인코딩하는 데이터 구조이며, 적어도 하나의 입력과 적어도 하나의 출력을 포함한다. 각 블록은, 거래의 개시 이후로 블록체인에 기입된 모든 거래의 영구적이면서 변경불가 레코드를 생성하도록 그 블록들이 함께 체인 연결되는 이전 블록의 해시를 포함한다. 거래는, 자신의 입력과 출력에 내장된 스크립트라고 하는 작은 프로그램을 포함하며, 이 프로그램은 거래의 출력에 어떻게 액세스할 수 있는지 및 누가 액세스할 수 있는지를 특정한다. 비트코인 플랫폼 상에서, 이들 스크립트는 스택 기반 스크립팅 언어를 사용하여 기입된다.
거래를 블록체인에 기입하려면, 거래의 "유효성 확인"을 해야 한다. 네트워크 노드(마이너)는, 네트워크로부터 유효하지 않은 거래를 거부하여 각 거래가 유효함을 보장하도록 작업을 수행한다. 노드에 설치된 소프트웨어 클라이언트는, 자신의 잠금 및 잠금해제 스크립트를 실행함으로써 사용되지 않은 거래(UTXO)에 대하여 이러한 유효성 확인 작업을 수행한다. 잠금 및 잠금해제 스크립트의 실행이 참(TRUE)으로 평가되면, 거래는 유효한 것이며, 거래가 블록체인에 기입된다. 따라서, 거래를 블록체인에 기입하려면, i) 거래를 수신하는 제1 노드에 의해 거래를 유효성 확인해야 하고, 거래가 유효성 확인되면, 노드가 그러한 거래를 네트워크의 나머지 노드들에 중계하며, ii) 거래를 채굴자에 의해 구축되는 새로운 블록에 추가해야 하고, iii) 채굴해야 하며, 즉, 과거 거래들의 공개 원장에 추가해야 한다.
블록체인 기술이 암호화폐의 구현 용도에 가장 널리 알려져 있지만, 디지털 기업가는, 비트코인이 기반으로 하는 암호 보안 시스템 및 새로운 시스템을 구현하도록 블록체인에 저장될 수 있는 데이터의 사용 모두를 모색하기 시작했다. 블록체인이 암호화폐의 영역으로 한정되지 않는 자동화된 작업 및 프로세스에 사용될 수 있다면 매우 유리할 것이다. 이러한 솔루션은, 블록체인의 이점(예를 들어, 이벤트의 영구적인 변경 방지 레코드, 분산 처리 등)을 활용할 수 있고 또한 해당 응용분야에서 더욱 다용도일 수 있다.
현재 연구 분야 중 하나는 "스마트 계약"을 구현하기 위한 블록체인의 사용이다. 스마트 계약은, 기계 판독가능 계약 또는 합의의 실행을 자동화하도록 설계된 컴퓨터 프로그램이다. 자연어로 기입되는 기존의 계약과 달리, 스마트 계약은, 결과를 생성하도록 입력을 처리할 수 있는 규칙을 포함하는 기계 실행가능 프로그램이며, 그러한 결과에 따라 액션이 수행되게 할 수 있다.
블록체인과 관련된 또 다른 관심 분야는, 블록체인을 통해 실세계 엔티티를 표현하고 전송하도록 '토큰'(또는 '컬러드 코인(coloured coin)')을 사용하는 것이다. 잠재적으로 민감한 또는 비밀 항목은, 식별할 수 있는 의미 또는 값이 없는 토큰에 의해 표현될 수 있다. 따라서, 토큰은 실세계 항목을 블록체인으로부터 참조할 수 있게 하는 식별자로서 기능한다.
블록 체인 기술의 한 가지 문제점은 블록 체인에서 관심있는 정보를 찾을 수 있다는 것이다. 다수의 선행 기술 문서는 블록 체인상에서 관심있는 정보를 찾는 것과 관련된 방법론을 개시한다. 이러한 선행 기술 방법론의 예시가 아래에 간략하게 설명되어 있다.
Chris Pacia 등이 저술한 "OpenBazaar - Ratings, reviews and reputation"은 블록 체인 기반 등급 시스템에 대한 프레젠테이션을 개시하고 있다. 구매 거래가 발생하면 구매자와 판매자간에 돈이 교환되며, 구매자는 다른 사람들이 볼 수 있는 서비스에 대한 리뷰를 남길 수 있다. 공급 업체 Globally Unique Identifier(GUID)와 같은 데이터(등급화된 평가 및 계약 해시) 가 OP_RETURN에 추가된다. 슬라이드에는 공급 업체가 태깅된 블록 체인의 OP_RETURN 출력을 쿼리하여 사용자가 남긴 리뷰를 검색하는 기능이 나와 있다.
미국 특허 제2016-292672 호는 블록 체인 저장 시스템을 이용하는 거래 시스템을 개시한다. 거래 시스템은 거래를 수행하기 전에 거래 당사자가 거래할 지분을 소유하고 있는지 확인하기 위해 블록 체인 시스템에 쿼리하는 것을 개시하고 있다. 이것은 거래될 지분에 상응하는 거래자 소유의 미사용 거래가 있는지를 결정함으로써 이루어진다.
미국 특허 제 2017-005804 호는 금융 거래를 수행하고자 하는 특정 개인이 소유한 자산에 대해 블록 체인을 검색하는 시스템을 개시한다. 이 검증방식은 블록 체인에 액세스하여 소스 참여자가 충분한 수량의 자산에 링크된 미사용 출력 블록 체인 거래와 연결되어 있는지 확인하여 수행된다. 이 프로세스에는 소스 참가자가 "소유한" 총 자산 수량을 결정하기 위해 소스 참가자와 관련된 여러 가지 블록 체인 거래를 합산하는 작업이 포함될 수 있다.
기존 시스템 및 방법의 문제점은 블록 체인에서 구현된 기계 실행 가능 계약의 상태와 같은 특정 유형의 정보를 추출 할 수 없거나 적어도 효율적인 방식으로 이를 달성하기 어렵다는 점이다. 이는 예를 들어 결정론적 유한 오토 머턴(DFA)의 사용을 통해 기계 실행 가능 계약을 구현하는 것을 어렵게 만든다.
따라서 정보가 블록 체인으로 브로드캐스트 될때까지 정보의 변화 정도가 중요하다 하더라도, 정보 추출을 가능하게 하는 솔루션을 제공하는 것이 바람직하다.
이제 이와 같은 개선된 해결책이 고안되었다. 본 발명은 첨부된 청구 범위 및 / 또는 본 명세서 및 / 또는 이 문서 내에서 설명된 특징, 옵션 및 가능성에 따라 정의된다.
본 발명의 제 1 양태에 따르면, 본 발명은 블록 체인의 미사용 출력(UXTO)에 포함된 정보를 검색하는 방법을 제공하며, 상기 방법은,
a) 관심 정보를 결정하고, 상기 관심 정보와 관련된 암호 키를 생성하는 단계;
b) 상기 암호 키와 관련된 검색 용어를 구성하는 단계;
c) 상기 검색 용어에 매칭되는 미사용 출력(UXTO)을 위한 블록 체인을 검색하는 단계를 포함하며, 상기 관심 정보는 기계 실행 가능한 스마트 계약의 상태일 수 있다.
상기 방법은 기계 실행 가능한 스마트 계약의 상태를 검색하는 방법을 제공 할 수 있다. 본 방법은 DFA에 구현된 기계 실행 가능한 스마트 계약의 상태를 검색하는 방법을 제공 할 수 있다. 예를 들어, 블록 체인상에서 구현되는 기계 실행 가능한 계약의 상태를 결정하는 방법이 제공될 수 있으며,
상기 방법은,
a) 관심 정보를 결정하고, 상기 관심 정보와 관련된 암호 키를 생성하는 단계;
b) 상기 암호 키와 관련된 검색 용어를 구성하는 단계;
c) 상기 검색 용어에 매칭되는 미사용 출력(UXTO)을 위한 블록 체인을 검색하는 단계, 상기 관심 정보는 기계 실행 가능한 스마트 계약의 상태이고,
d) 상기 검색 용어에 매칭되는 미사용 출력(UXTO)으로부터 정보를 추출하고,
e) 추출된 정보로부터 상기 기계 실행 가능한 스마트 계약의 상태를 결정하는 단계를 포함하며, 상기 기계 실행 가능한 스마트 계약은 결정 유한 오토 머턴(deterministic finite automaton)을 사용하여 구현되고, 상기 기계 실행 가능한 스마트 계약의 상태를 결정하는 단계는 상기 결정 유한 오토 머턴의 상태를 결정하는 단계를 포함한다.
상기 방법은 키가 하나 이상의 단계를 통해 상기 관심 정보를 전달함으로써 획득되는 단계를 제공할 수 있다. 키를 획득하기 위한 하나 이상의 단계는 구체화 단계; 메타 데이터 구성 단계; 에이전트 연관 단계; 결합 단계 및 평가 단계를 포함할 수 있다. 키는 평가 단계의 출력 일 수 있다.
상기 방법에서, 상기 키는 상기 관심 정보에 재생산 가능한 프로세스를 적용함으로써 생성되며, 동일한 재생 가능 프로세스는 검색중인 상기 블록 체인의 미사용 출력(UXTO)에 포함된 정보를 생성할 수 있다.
상기 방법에서 검색 용어는 예를 들면, 어드레스 도출 단계를 통해 키로 구성될 수 있다.
상기 방법에서, 상기 검색은 검색 및 매칭 단계에 의해 제공될 수 있다.
상기 방법에서, 상기 검색 용어와 매칭되는 미사용 출력(UXTO 's)은 상기 암호 키 및 / 또는 상기 관심 정보와 쌍을 이룰 수 있다. 상기 쌍(들)은 데이터베이스 및/또는 데이터베이스화 단계내에서 제공될 수 있다.
상기 방법은, 구체화 단계; 메타 데이터 구성 단계; 에이전트 연관 단계; 결합 단계; 평가 단계; 데이터베이스화 단계; 어드레스 도출 단계; 지갑 형성 단계; 검색 및 매칭 단계 중 하나 이상을 포함할 수 있다.
이 단계 각각에 대한 경우의 수는 아래에서 자세히 설명하도록 한다.
본 발명의 제 1 양태는 본 명세서 내의 다른 곳에서 설명된 임의의 특징, 옵션 및 경우의 수를 포함할 수 있다.
본 발명의 제 2 양태에 따르면, 본 발명의 제 1 양태의 방법을 구현하도록 배치된 시스템, 바람직하게는 컴퓨터 구현 시스템을 제공하며, 잠재적으로 본 명세서 내의 다른 곳에서 설정된 특징, 옵션 및 경우의 수 중 임의의 것을 수행하도록 구성된 시스템을 포함할 수 있다.
상기 시스템은 블록 체인을 통해 DFA를 구현하도록 구성된 적어도 하나의 컴퓨팅 에이전트; 및
블록 체인 플랫폼을 포함할 수 있다.
본 발명의 제 2 양태는 본 명세서 내의 다른 곳에서 설명된 임의의 특징, 옵션 및 경우의 수를 포함 할 수 있다.
그러므로, 본 발명에 따르면, 아래에 설명되는 옵션, 경우의 수 및 특징이 제공되거나 또는 추가로 제공될 수 있다.
상기 방법 및 / 또는 시스템은 구체화 단계를 포함할 수 있다. 구체화 단계는 상기 관심 정보를 선택하는 단계를 포함 할 수 있다. 구체화 단계는 식별자 구체화 단계이거나 또는 이를를 포함 할 수 있다. 구체화 단계는 코드 또는 태그 구체화 단계를 포함 할 수 있다.
상기 관심 정보는 정보 세트의 선택일 수 있다. 상기 관심 정보는 상태, 바람직하게는 결정론적 유한 오토 머턴의 상태, 가장 바람직하게는 기계 실행 가능한 스마트 계약의 상태 일 수 있다. 정보 세트는 제한될 수 있다(예: DFA의 제한된 가능한 상태).
상기 관심 정보는 사용자에 의해 선택될 수 있다. 상기 관심 정보는 DFA에 의해 선택될 수 있다. 상기 관심 정보는 네트워크상의 하나 이상의 에이전트에 의해 선택 될 수 있다.
상기 관심 정보에 대한 하나 이상의 식별자가 결정될 수 있다. 식별자는 코드일 수 있다. 식별자는 태그일 수 있다. 코드는 하나의 상태와 같이 관심있는 하나의 정보만을 나타낼 수 있다. 태그는 하나의 상태와 같이 관심있는 하나의 정보만을 나타낼 수 있다.
상기 방법 및 / 또는 시스템은 메타 데이터 구성 단계를 포함 할 수 있다. 상기 관심 정보, 보다 바람직하게는 그에 대한 코드 또는 태그는 메타 데이터로 변환 될 수 있다. 상기 관심 정보, 보다 바람직하게는 그에 대한 코드 또는 태그는 암호화 해시에 의해 처리 될 수 있으며, 그러한 2 개의 암호화 해시가 직렬로 적용되는 것이 이상적이다. 메타 데이터, 특히 해싱된 메타 데이터는 이후에 형식이 지정될 수 있다. 상기 관심 정보, 바람직하게는 그에 대한 코드 또는 태그, 보다 바람직하게는 그 메타 데이터는 공개 키에 통합 될 수 있다. 공개 키는 정보 공개 키로 지정 될 수 있다.
상기 방법 및 / 또는 시스템은 에이전트 연관 단계를 제공 할 수 있다. 에이전트 연관 단계는 하나 이상의 에이전트, 바람직하게는 UXTO를 실행하도록 배정된 하나 이상의 에이전트, 예를 들어 기계 실행 가능한 스마트 계약으로부터의 UXTO, 바람직하게는 DFA에 의해 구현되는 하나의 에이전트를 선택할 수 있다. 하나 이상의 또는 모든 선택된 에이전트가 공개 키를 제공 할 수 있다. 하나 이상의 공개 키는 에이전트 공개 키로 지정될 수 있다.
상기 방법 및 / 또는 시스템은 결합 스테이지, 바람직하게는 공개 키 결합 스테이지를 제공할 수 있다. 결합 단계는 정보 공개 키를 하나 이상의 에이전트 공개 키와 결합 할 수 있다. 결합 단계에서는 P2SH 다중 서명 리딤 스크립트와 같은 다중 서명 리딤 스크립트를 생성할 수 있다. 결합 단계는 이상적으로는 정보 공개 키 및 하나 이상의 에이전트 공개 키로부터 잠금 스크립트를 제공 할 수 있다.결합 단계에서 잠금 스크립트의 해시가 생성될 수 있다. 잠금 스크립트의 해시는 scriptPubKey로 지정될 수 있다.
상기 방법 및 / 또는 시스템은 값을 얻기 위한 평가 단계를 포함할 수 있다. 상기 방법 및 / 또는 시스템은 잠금 스크립트 값과 같은 값을 획득하기 위한 잠금 스크립트 평가 단계를 포함 할 수 있다. 상기 방법 및 / 또는 시스템은, 예를 들어, 잠금 스크립트 값 또는 scriptpubKey 값과 같은 값을 얻기 위한, scriptPubKey 평가 단계를 포함 할 수 있다. 평가 단계는 잠금 스크립트에 대한 값, 보다 바람직하게는 잠금 스크립트의 해시값,보다 바람직하게는 scriptPubKey에 대한 값을 얻을 수 있다.
상기 방법 및 / 또는 시스템은, 예를 들어 데이터베이스를 구성하기 위한 데이터베이스화 단계를 포함 할 수있다.
데이터베이스는 블록 체인 외부에 있을 수 있다. 데이터베이스는 중앙 집중형 일 수 있다. 데이터베이스는 예를 들어 네트워크상에서, 분산된 해시 테이블로 잠재적 분산될 수 있다. 데이터베이스화는 파이썬 사전(Python dictionary) 을 사용하여 수행될 수 있다. 데이터베이스는 분산 네트워크와 같이 네트워크의 각 노드가 액세스 할 수 있는 것이 바람직하다. 하나 이상의 노드 또는 모든 노드에 컴퓨팅 에이전트가 제공될 수 있다.
데이터베이스화 단계는 상기 관심 정보를 키에 매핑하는 단계를 포함 할 수 있다. 키는 잠금 스크립트의 값과 같이 평가 단계에서의 값일 수 있으며, 바람직하게는 scriptPubKey의 값일 수 있다. 키는 단일 값에 링크될 수 있다. 키는 단일 코드 또는 태그에 링크될 수 있다. 키는 관심있는 단일 정보에 링크될 수 있다. 키에 대한 정보의 맵핑은 키에 대한 결합의 맵핑의 절반을 제공 할 수 있다. 결합의 다른 절반은 검색 및 매칭 단계에서 키에 맵핑 될 수 있다. 데이터베이스화 단계 및 / 또는 맵핑은 해시 테이블로서 구현될 수 있다.
상기 방법 및 / 또는 시스템은 스크립트 해시 어드레스 도출 단계와 같은 어드레스 도출 단계를 포함할 수 있다. 어드레스는 정보 공개 키 및 에이전트 공개 키, 바람직하게는 잠금 스크립트, 보다 바람직하게는 잠금 스크립트의 해시 및 이상적으로는 scriptPubKey로부터 도출 될 수 있다. 어드레스는 P2SH 어드레스와 같은 스크립트 해시 어드레스 일 수 있다.
상기 방법 및 / 또는 시스템은 지갑 형성 단계를 포함 할 수 있다. 지갑 형성 단계는 스크립트 해시 어드레스와 같은 하나 이상의 어드레스 또는 모든 어드레스를 지갑, 바람직하게는 지갑 내의 계정 또는 폴더에 추가하는 단계를 포함 할 수 있다.
상기 방법 및 / 또는 시스템은 검색 및 매칭 단계를 포함 할 수 있다. 검색 및 매칭 단계는 알고리즘에 의해 구현 될 수 있다. 검색 및 매칭 단계는 스크립트 해시 어드레스와 같은 어드레스와의 하나 이상의 매칭에 대해 블록 체인을 조사하는 단계를 포함 할 수 있다. 검색 및 매칭 단계는 이상적으로 지갑 형성 단계의 지갑으로부터 스크립트 해시 어드레스와 같은 어드레스를 획득할 수있다. 검색 및 매칭 단계는 검색에 사용된 어드레스와 일치하는 블록 체인에서 UTXO의 세부 정보를 수집 할 수 있다.
상기 방법 및 / 또는 시스템은 잠재적으로 검색 및 매칭 단계 및 / 또는 데이터베이스화 단계 내에서, 주소에 매칭되는 획득된 UXTO의 세부정보를 키에 매핑하는 단계를 포함할 수 있다. 앞서 언급했듯이 매핑이 이루어지는 키는 단일 값 또는 단일 코드나 태그 또는 관심있는 단일 정보에 링크될 수 있다. 결과적으로, 키의 다른 절반의 맵핑은 검색 및 매칭 단계에서 제공된다.
매칭이 이루어지면, 상기 방법 및 / 또는 시스템은 태그 또는 상태와 같은 관심 정보가 UTXO에 존재하는지 명확하게 결정한 것으로 간주될 수 있다.
상기 방법 및 / 또는 시스템은 관심있는 하나 이상의 정보를 동시에 검색 할 수 있다.
컴퓨터로 구현된 시스템 및 방법은 예를 들어 미사용 거래(UTXO), 블록 체인 및 계약의 결정론적 유한 오토 머턴(DFA) 구현 및 그 안에서의 상태 결정과 같은 기계 실행 가능한 계약의 상태에 대한 정보를 확립하기 위해 구체화된다. 그 단계는 관심 정보와 해당 정보를 식별하는 코드 또는 태그를 결정하고, 해당 코드 또는 태그와 연관된 메타 데이터를 구성하고, 정보와 연관될 에이전트의 공개 키와 결합하는 단계를 포함한다. 각 스크립트의 scriptPubKey 값은 외부 데이터베이스를 구성하는데 사용할 키를 제공하고, 관심 정보에 링크된 scriptPubKey 값의 키를 보다 구체적으로 매핑하는데 사용될 수 있다. 결합의 나머지 절반을 얻기 위하여 scriptPubKey 값에서 스크립트 해시 어드레스를 도출하고 디지털 지갑을 채우는데 사용되는 값을 사용한다. 그런 다음 검색 및 매칭 알고리즘을 사용하여 블록 체인에서 일치하는 스크립트 해시 어드레스가 있는 UTXO를 검색한다. 그런 다음 전술한 데이터베이스를 스크립트 해시 어드레스와 일치하는 UTXO로 채우고 키를 결합하여 결합을 완료한다. 매칭은 명확한 방식으로 상태를 나타낸다.
본 발명은 계약의 블록 체인 및 결정론적 유한 오토 머턴(DFA) 구현 및 이들 내의 상태 결정에 특히 적합하다.
본 발명의 이들 및 다른 양태는 본원에 기술된 실시예를 참조하여 명백하게 설명될 것이다. 본 발명의 실시예는 첨부된 도면을 참조하여 예로서만 설명될 것이다.
도 1은 P2SH 거래에서 scriptPubKey를 포함하는 블록 체인 거래를 도시한다.
도 2는 본 발명의 실시예에서의 메타 데이터, P2SH 리딤 스크립트, scriptPubKey 및 비트코인 어드레스의 구성을 나타내는 의사 코드를 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른 외부 데이터베이스에 포함된 정보에 UTXO를 맵핑하는 단계를 설명하는 도면이다.
도 4는 본 발명이 포함될 수 있는 시스템의 개관을 도시한다.
도 5는 블록 체인 기반 DFA 구현을 나타낸다.
본원에서는, 모든 형태의 컴퓨터 기반 전자 분산 원장을 포함하기 위해 '블록체인'이라는 용어를 사용한다. 이들 용어는, 합의 기반 블록체인 및 거래 체인 기술, 허가된 및 허가되지 않은 원장, 공유 원장, 및 그 변형을 포함한다. 블록체인 기술의 가장 널리 알려진 응용분야는 비트코인 원장이지만, 다른 블록체인 구현예도 제안되고 개발되었다. 본원에서는 비트코인을 편의상 및 설명을 위해 언급할 수 있지만, 본 발명은 비트코인 블록체인과 함께 사용하는 것으로 한정되지 않으며 대체 블록체인 구현예 및 프로토콜도 본 발명의 범위 내에 속한다는 점에 주목한다.
미사용 거래 출력, UTXO는 블록 체인의 기본적인 특성이다. 블록 체인을 통해 아주 다양한 자산에 대한 매우 다양한 유형의 거래가 가능하다. UTXO의 수는 방대하며 각 풀 노드 비트 코인 클라이언트와 UTXO 풀(pool) 또는 UTXO 풀 세트의 전체 형태로 알려져 있다.
UTXO는 일반적으로 특정 사용자 어드레스와 연관된 대량의 비트 코인과 잠금 스크립트 또는 채무로(encumbrance )구성된다. 대다수 거래 유형의 경우, 데이터 부분이 UTXO에도 존재하여 정보를 블록 체인 거래에 통합한다. 데이터 부분은 코드, 태그 또는 메타 데이터의 형태 일 수 있다. 특정 코드, 태그 또는 메타 데이터를 찾을 수 있는 능력 및 / 또는 일반적인 블록 체인에 저장된 정보를 체계적으로 찾고 추출하는 능력은 현재 실행 가능하지 않으며 이 발명이 해결하고자 하는 잠재적인 문제들 중 하나이다.
본 발명은 블록 체인으로부터 정보를 추출함으로써 이를 처리하고 가능한 정보에 대한 액세스를 제공할 수 있다.
코드, 태그 또는 메타 데이터를 찾는 과정과 정보를 추출하는 것의 난이도는 UTXO 및 데이터 부분 내용이 어떻게 발생하는지를 고려하면 명확해진다.
일반적으로, 블록 체인 거래 (blockchain transaction)의 형식은 거기에 저장된 정보가 긴 바이트 체인의 형태로 제공된다는 의미를 내포한다. 이 정보는 사용 전에 필터링 및 처리되어야 한다. 또한 보안, 개인 정보 보호 및 기술적 이유로 인해 실제로 저장된 체인은 임의의 다중(multiple) 해시 형식으로 되어있기 때문에 원래의 정보 (예: 의미있는 메시지)를 해당 바이트 체인에서 재구성하는 것은 불가능하다. 예를 들어 비트코인 어드레스는 공개 키의 다중 해시이며, 다중 해시는 형식 지정된다. 유사한 프로세스를 통해 얻은 서명 스크립트 또는 블록 체인 거래 퍼즐에도 비슷한 위치가 적용된다. 이것은 네트워크에 의해 수용 될 수 있도록 하는 것일 수 있으며, 예를 들어 암호 공개 키 등의 형태를 가져야 한다.
이하에서 본 발명의 구현을 예시하기 위해 사용되는 특정 실시예는 관심 정보가 DFA의 상태와 관련되어 있는 블록 체인 기반의 결정론적 유한 오토 머턴(DFA)이다. 특정 예시에서 관심 UTXO는 pay-to-script-hash(P2SH) 유형이라고 가정한다. 또한 하나의 에이전트가 스테이트 머신의 특정 상태와 관련된 거래를 실행(소비)하도록 할당된 것으로 간주된다.
이 특정 실시예에의 제 1 단계에서, 정보(DFA의 상태를 식별하는 태그 또는 코드)는 먼저 공개 키에 포함되는 메타 데이터 필드를 구성하기 위해 해싱된다. 공개 키 형태의 메타 데이터 필드는 (채무를 제공하기 위해)담당 에이전트의 공개 키와 결합된다. 그 결과는 P2SH의 다중 서명 리딤 스크립트(redeem script) 2 개 중 1 개에 배치된다. 이 리딤 스크립트는 블록 체인 거래를 구성하는 바이트 체인의 일부에 최종적으로 배치되는 잠금 스크립트(scriptPubKey)를 추출하기 위하여 순차적으로 해싱됨과 동시에 추가 정보를 포함하는 다른 바이트와 결합된다.
이러한 단계를 거친 후에, 네트워크에 저장된 정보로부터 원래의 정보를 복구하는 것이 보다 일반적인 경우에서와 마찬가지로 이 특정 실시예의 이 시점에서 오히려 가능하지 않은 작업이라는 것이 명백해져야 한다.
이러한 단계를 거친 후에, 네트워크에 저장된 정보로부터 원래의 정보를 복구하는 것이 보다 일반적인 경우에서와 마찬가지로 이 특정 실시 예와 이 시점에서 오히려 어려운 작업이라는 것이 명백해져야 한다.
1. 관심 정보를 결정하고 해당 정보를 식별하는 코드 또는 태그를 지정함.
이하에서 보다 상세히 설명하는 DFA 실시예에서, 이는 블록 체인 기반 DFA로서 대변되는 특정 계약의 특정 상태 일 수 있다.
2. 해당 코드 또는 태그와 연관된 메타 데이터를 구성함.
DFA의 실시 예에서 이것은 특정 관심 대상 상태에 대한 코드 또는 태그 일 수 있으며, 특정 관심 대상 계약 유형에 잠재적으로 구체화 될 수 있다;
3. 정보와 연관 될 에이전트(또는 에이전트 세트)를 판별함.
다시 DFA 실시예에서, 이것은 특정 관심 상태에 대응하여 UXTO를 사용하도록 할당된 에이전트 일 수 있다;
4. 해당 코드 또는 태그와 연관된 메타 데이터를 포함하는 공개 키를 관련 에이전트에 대한 공개 키와 결합하여 스크립트를 제공함;
DFA 실시 예에서, 이것은 메타 데이터를 가지는 공개 키 및 에이전트로부터의 공개 키 일 수 있으며, P2SH 다중 서명 리딤 스크립트로 결합 될 수 있다;
5. 각 스크립트의 scriptPubKey 값을 추출하여 매칭 단계에 수반되는 외부 데이터베이스에서 사용할 키를 제공함;
DFA 실시 예에서, 이것은 코드, 그리고 관심 상태에 연계되는 키들로 표현된 값일 것이다;
6. scriptPubKey 값의 키를 맵핑 할 수 있는 데이터베이스를 구성하고, 관심 정보와 결합의 나머지 절반과 연계하여 후속 단계에 제공함;
DFA 실시예에서, 키는 코드, 그리고 관심 상태로 검색, 매칭 및 추가될 UTXO와 맵핑된다;
7. scriptPubKey 값에서 스크립트 해시 어드레스를 추출함;
이는 또한 DFA 실시 예에서 적용된다;
8. 스크립트 해시 어드레스로 디지털 지갑 채우기;
이는 또한 DFA 실시 예에서 적용된다;
9. 검색 및 매칭 알고리즘을 사용하여 블록 체인에서 스크립트 해시 어드레스와 일치하는 UTXO를 검색함;
이는 또한 DFA 실시 예에서 적용된다;
10. 스크립트 해시 어드레스, 그리고 이에 따라 키와 일치하는 UTXO를 사용하여 위에서 설명한 데이터베이스를 채우고 결합을 완성함;
DFA 실시 예에서, 이는 알고리즘이 매칭되는 UTXO의 스크립트 해시 어드레스를 찾으면, 시스템은 어떤 상태 태그가 UTXO에 존재하는지, 즉 본질적으로 상태가 검출되었는지를 명확하게 결정했다는 것을 의미한다.
블록 체인에 있는 정보로부터 정보를 완전히 복구하는 것은 매우 어려운 작업이지만, 사전에 알려진 정보에 대해 특정 태그가 암호 화폐의 UTXO에 존재하는지 여부를 결정할 수 있음을 알아야 한다. 이는 DFA 시스템의 상태 표시 태그에 대한 경우이다. 따라서 이에 기초하여, DFA 머신이 허용 상태에 있는지 여부를 감지할 수 있다.
여기서는 구성을 통해 DFA가 한 번에 유한 상태 집합 중 하나에 속할 수 있음을 언급할 가치가 있다. 그러나, 검출기는 임의의 수의 태그 또는 다른 종류의 알려진 정보를 검출하는 데 똑같이 적합할 수 있다.
초기 단계에서는 개요에서 위에 논의된 단계를 반영하여, 정보를 잠금 스크립트로 통합된 메타 데이터로 전환한다.
따라서, 초기 단계인 코드 구체화 단계에서, 관심 정보가 선택된다. 이 정보는 관심있는 상태 일 수 있다. 그런 다음 검색 될 정보(예: 특정 상태)를 식별하는 코드 또는 태그가 구체화된다. 이들은 상태 전이 표(state transition table)에 구체화 된 모든 상태에 대한 코드 또는 태그의 전체 세트에서 선택된 코드 또는 태그 일 수 있다. 따라서 코드 구체화 단계는 표기 단계(notation step)이며 쉽게 구현할 수 있다.
이러한 코드 또는 태그는 메타 데이터 구성 단계인 두 번째 단계에 대한 입력을 형성한다. 이 단계에서 코드 또는 태그의 이중 해싱은 코드 또는 태그를 이를 반영하는 메타 데이터 형식으로 변환한다. 이 메타 데이터는 형식이 지정되고 정보 공개 키에 배치된다.
계약, 에이전트 관련 단계의 특정 상태와 연관된 가능한 에이전트에 대하여 추가 선택이 이루어진다. 에이전트는 UXTO를 실행 (소비)하기 위해 배정된 당사자입니다. 연관된 에이전트는 에이전트 공개 키 또는 에이전트들의 공개 키들을 제공한다. 에이전트는 DFA 컨텍스트에서 상태에 따라 달라질 수 있다. 에이전트는 전체 에이전트의 하위 집합, 즉 리스트(listing)이다. 아래 설명된대로 DFA와의 인터페이스에 사용되는 컴퓨팅 에이전트와 상이하다. 따라서 에이전트 연관 단계는 배정 단계이며 쉽게 구현할 수 있다.
메타 데이터 구성 단계의 출력, 메타 데이터가 포함된 정보 공개 키 및 에이전트 연관 단계(에이전트 공개 키)는 다음 단계인 결합 단계에서 사용된다. 결합 단계에서 두 개의 공개 키 (따라서 정보 공개 키 내의 메타 데이터)는 P2SH 다중 서명 리딤 스크립트에 결합됩된니다. 공개 키는 잠금 스크립트를 생성하는데 사용되고 잠금 스크립트는 잠금 스크립트의 해시인 scriptPubKey로 대체된다.
다음 단계인 scriptPubKey 평가 단계에서는, 결합 단계에서의 하나 이상의 해시 잠금 스크립트에 대한 scriptPubKey 값이 설정된다. 도 1은 P2PH 거래의 컨텍스트에서 값을 직접 가져올 수 있는 scriptPubKey의 구성을 나타낸다. 이 scriptPubKey 값은 궁극적으로 맵핑된 결합에 대해 키 역할을 한다. 이 단계에서, 키는 각각의 관심 코드 또는 관심 태그에 대해 알려진 관계를 가진다. 궁극적으로 맵핑된 결합의 다른 부분은 아래에서 설명하는 검색 및 매칭 단계에서 찾을 수 있다.
결합의 맵핑은 데이터 베이스화 단계인 검색 용어 데이터베이스에서 구성된다. 검색 용어 데이터베이스는 블록체인 외부에 존재한다. 결과적으로 사전은 scriptPubKey의 값을 나타내는 키를 각각의 관심 코드 또는 관심 태그와 맵핑하여 제공된다. 키 세트를 값(사전)에 맵핑 할 수 있는 구조는 자연스럽게 해시 테이블로 구현된다.
사용된 특정 데이터베이스의 형태는 본 발명의 기본이 아니며 그 범위를 제한하지 않아야 함을 알아야 한다.
도4의 DFA 구현에서처럼 문제의 시스템이 분산되어 있는 경우, 네트워크의 각 노드가 검색 용어 데이터베이스에 (로컬 또는 원격으로) 액세스 할 수 있거나, 또는 일반적으로 분산된 해시 테이블로 분산되도록 구현될 수 있다.
데이터베이스화 단계(510)는 해시 테이블의 개념을 구현하는 내장형 데이터 유형인 파이썬 사전(Python dictionary)을 사용하여 수행될 수 있다.
다음 단계인 스크립트 해시 어드레스 도출 단계에서는 scriptPubKey값(단계 512)에서 스크립트 해시 어드레스를 추출한다. 예시적인 접근법에서 스크립트 해시 어드레스를 만들 때 P2SH에 대해 HASH160을 사용할 수 있다(먼저 SHA256을 적용한 다음 RIPEMD160을 적용함) . 이 연산의 결과로 (문자열의 시작 부분에) 하나의 네트워크가 사용 중임을 나타내는 "versionbyte"값이 추가된다(mainnet, testtet 등). 그런 다음 모든 것의 HASH256인 "checksum"을 계산한다. 그런 다음 이 프로세스는 두 문자열을 연결하고 base58의 결과를 인코딩하며, 이는 P2SH 어드레스를 나타낸다. 이 모든 것은 스크립트에 다른 방법을 사용하는 경우 변경되므로 본 발명에 필수적인 것은 아니며 그 범위를 한정하는 것은 아니다.
기술 레벨에서 상기 단계를 설명하기 위해 (의사)코드의 단순화 된 단편 정보가 제공된다. 이 단편 정보에 사용된 언어는 파이썬 3(Python 3)이지만, 앞서와 같이 발명의 범위 또는 배포 방식을 결코 제한하지 않아야 한다. 도2는 메타 데이터 구성, P2SH 리딤 스크립트로 에이전트의 공개 키와 결합, scriptPubKey 및 어드레스의 추출을 위한 의사 코드를 나타낸다(실제로 위에서 언급한 메타 데이터 구성 단계, 결합 단계, scripPubKey 평가 단계 및 스크립트 해시 어드레스 도출 단계).
스크립트 해시 어드레스를 얻은 후, 프로세스는 지갑 형성 단계에서 해당 어드레스를 지갑에 추가한다. 사용되는 지갑 내의 특정 계약 계좌에 어드레스가 추가되는 것이 바람직하다.
채용된 검색 및 매칭 알고리즘은 지갑에서 초기화되어 해당 어드레스, 검색 및 매칭 단계와 일치하는 UTXO를 검색할 수 있다. 매칭은 매칭되는 에이전트 뿐만 아니라 계약의 매칭 상태도 반영한다. 검색 및 매칭 단계는 표준 비트 코인 핵심 클라이언트 명령을 사용하여 수행할 수 있다. 많은 검색 및 매칭 알고리즘이 이러한 목적에 적합하다. 예를 들어, 루프를 사용하여 모든 UTXO를 검색할 수 있다.
알고리즘이 검색중인 스크립트 해시 어드레스와 일치하는 UXTO 세트의 스크립트 해시 어드레스 값을 찾으면, 관심 UTXO 세트의 scriptPubKey가 발견된다. 이를 추출하여 위에서 언급한 외부 데이터베이스에 맵핑할 수 있다. UXTO는 그 scriptPubKey를 통해 키, 즉 키의 값으로 맵핑되고, 이에 따라 코드 또는 태그로 되돌아 가고, 이에 따라 관심 있는 원래의 정보가 되어, 바람직한 실시 예에서 이는 특정 상태를 나타낸다.
이 마지막 단계에서의 매칭은 시스템이 어떤 상태 태그가 UTXO에 존재하는지, 즉 본질적으로 상태가 검출되었는지 여부를 명확하게 결정했다는 것을 제공한다. 매칭되는 스크립트 해시 어드레스, 그리고 이에 따른 키, 그리고 이에 따른 상태 태그가 있는 모든 UTXO에 대해 일치 프로세스가 반복된다.
블록 체인 UTXO에 저장된 키에 실제 알려진 정보(즉, 값, 이 예시에서는 계약 및 상태 태그)를 효과적으로 맵핑하는 방식을 도 3에 제공한다. 데이터베이스에 사용된 구조가 해시 테이블인 경우 원하는 정보 값에 액세스하기 전에 키가 추가로 해싱됨을 알아야 하며, 이것은 일반적인 경우를 나타내는 것을 의미하기 때문에 도면에는 도시되어 있지 않다.
다시 한번, 맵핑이 효과적인 사전 생성 프로세스이므로, 해시 테이블의 개념을 구현하는 기본 제공 데이터 유형인 파이썬 사전(Python dictionary)을 사용하여 맵핑을 수행할 수 있다.
지갑 검색 변형(Search Wallet Modification)
상태 전환 탐지기 또는 일반적으로 알려진 정보 검색의 구현에 있어서 독특한/특수한 소프트웨어를 피하면 전반적인 단순성과 구현 용이성에 도움이 된다. 물론 그러한 소프트웨어는 대안으로 제공될 수 있다.
본 맥락에서, 비트 코인 핵심 클라이언트 (사용이 선호되는 표준 사용자 인터페이스)를 통해 액세스 할 수 있는 유일한 UTXO는 사용자의 비트 코인 지갑에 포함된 어드레스와 관련된 것이다. 검색 과정에서 검색 대상 키가 반드시 해당 기준을 충족하지는 않는다. 이 문제를 해결하기 위해 지갑을 사용하여 UTXO 데이터베이스에서 외부 데이터베이스에 포함된 키를 검색하기 전에 해당 scriptPubKey 값과 관련된 비트 코인 어드레스를 구성해야 한다. 이것은 위에서 요약한 해싱 및 포맷(formatting) 프로세스에 의해 달성된다. 이들을 구성한 후에는 검색 사용자의 비트 코인 지갑에 추가해야 한다.
특정 계약을 구현하는 블록 체인 기반 DFA의 작업 예시의 경우, 추가적으로 계약과 관련된 어드레스를 지갑의 하위 세트인 특정 계좌와 연관시키는 것이 자연스럽고 편리하다. 그러나 이 마지막 단계는 반드시 필요한 것은 아니며, 제한이 아닌 추가적인 효율성과 구조를 제공하는 설계의 특정 기능으로 간주될 수 있다. 이것은 본 발명의 범위를 제한하지 않아야 한다.
발명의 사용을 위한 배경
알려진 정보를 추출하는 능력은 많은 컨텍스트에서 요구된다. 이러한 컨텍스트에는 메타 데이터가 블록 체인에 통합되는 상황이 포함될 수 있다. 예를 들어 공유, 인증서, 쿠폰, 재산, 상품, 토큰, 데이터 등과 같은 다른 자산을 나타내는 데 사용되는 토큰화 사례 또는 "컬러드 코인(colored coins)"이 포함된다.
정보를 찾고 추출하는 기능이 중요한 특정 컨텍스트는 블록 체인 기반 DFA이다. 이 정보는 머신의 상태가 될 수 있다.
스마트 계약 이행에 DFA를 사용하는 방법에 대한 자세한 내용은 다음 섹션에서 제공된다.
DFA의 사용
이 섹션에서는 스마트 계약을 구현하는 DFA를 참조하여 DFA의 유용한 사용 방법에 대한 배경 지식을 제공한다.
본 발명의 예시적인 컨텍스트에서는, 계약과 같은 프로세스 또는 테스크를 모델링하는 DFA에 대한 정의가 제공된다. DFA는 에이전트 또는 "봇"으로 지칭될 수 있는 컴퓨팅 리소스의 관련 시스템과 상호 작용한다. 이 컴퓨팅 에이전트는 거래를 생성하여 블록 체인에 제출한다. 이 DFA실시예가 계약과 관련되어 있으나, DFA는 계약과 관련하여 사용되는 것으로 한정되지는 않는다.
도 4를 참조하면, 본 발명은 하드웨어 플랫폼 및 소프트웨어 컴포넌트를 포함하는 컴퓨팅 플랫폼(블록 체인)상에서 구현된 관념상의 DFA로서 프로세스의 실현을 제공한다.
도 1은 본 발명의 예시적인 실시예에 따라 배열된 시스템의 개요를 제공한다. 시스템은 명령을 수신하기 위해 다른 개체(4)(예를 들어, 인간 또는 다른 컴퓨터)와 상호 작용할 수 있는 컴퓨팅 에이전트(3)를 포함한다. 이 명령은 예를 들어 어떤 스마트 계약을 생성하고 실행할 수 있는지에 대한 것이다. 따라서, 컴퓨팅 에이전트(3)는 물리적 세계와 상호 작용하여 "실제 세계"에서 자신들 외부의 이벤트에 응답하고 원인을 유도함으로써 발명을 구현한다.
계약 명세서 자체는 예를 들면, xBRL과 같은 기계 실행 가능한 형식으로 제공될 수 있으며, 토렌트 네트워크의 DHT(distributed hash table)(5)와 같이 안전하고 분산된 방식으로 저장될 수 있다. 계약 명세서로부터 컴퓨팅 에이전트는 하나 이상의 에이전트에 의해 블록 체인(1)에서 구현되는 DFA(2)를 구성한다.
DFA(2) 자체는 유한 집합 {S, I, t, s0, F}로 지정된다. 여기서 S는 계약 / DFA가 될 수 있는 가능한 상태의 (유한) 집합을 나타낸다. I는 본 발명의 맥락에서 계약과 관련하여 발생할 수 있는 모든 사건 또는 조건을 의미하는 입력 (알파벳으로도 알려짐)의 (유한) 집합이다(예를 들어, 지불이 이루어지고, 상품의 만기가 도래하고, 거래 상대방의 불이행 등); 본 발명의 메커니즘에서 이러한 입력 신호는 하나 이상의 에이전트에 의해 수신 / 생성되고 시스템의 다음 상태를 결정한다 (가능하면 동일한 상태).
DFA의 세 번째 구성 요소는 전환 함수 t : S × I → S이다. "DFA"에서 용어 "결정론적"은 결정의 고유성을 나타낸다: 상태와 입력이 주어지면 단 하나의 새로운 상태(아마도 동일한 상태)가 존재한다. 따라서 초기 상태(S0)와 입력의 이력이 주어지면 계산 결과(계약)는 유일하며, 이는 모든 가능한 최종 결과(F ⊆ S)의 집합 중 하나가 된다. 이러한 모든 요소가 설정되면 DFA는 모든 가능한 현재 상태 및 입력 신호에 대하여 미래 상태를 지정하는 전환 테이블에 의해 완전히 정의된다. DFA의 상태는 자체 블록 체인의 미사용 거래 출력 (UTXO)과 관련되어 있다. 당업계에 공지된 바와 같이, 비트코인 네트워크는 이용 가능한 모든 UTXO를 연속적으로 추적한다. 본 발명에 따르면, DFA가 하나의 상태에서 다른 상태로 전환하는 메커니즘은 블록 체인 거래에 의해 본 발명에 따라 구체화(구현)된다. 효과적으로, 블록 체인상의 거래는 하나의 상태(이전 거래의 입력)와 연관된 UTXO를 소비하고 다음 상태(출력)와 연관된 UTXO를 생성한다.
예시 : 할인(제로 쿠폰) 채권
예를 들어, 우리는 이제 보통 가격(일반적으로 액면가에 대한 할인 )으로 구입 한 간단한 부채 수단인 할인(제로 - 쿠폰) 채권을 고려한 후, 원금이 만기가 될 때까지 이를 얼마 동안 보유하도록 한다. 우리가 고려할 수있는 상태는 S = {s0, f0, f1}이다. 각각의 상태는 홀딩 상태 (s0), 계약의 정상적인 결론 (해피 패스를 따르는 경우) 또는 해피 엔딩(f0), 그리고 일이 잘못되는 상태 (f1)(예를 들면, 소송) 등을 나타낸다. 따라서 시스템의 최종 상태는 F = {f0, f1}이다. 우리가 고려할 알파벳은 각각 I = {r, d, e}로, 각각 만기 전 (또는 만료 전)의 원금 상환(r), 만기전 (또는 만료 전) 발급 기관의 채무 불이행(d), 그리고 미상환 계약 만료(e)을 나타낸다. 이 간단한 계약의 전환 행렬은 표 1에 나타나 있다.
표 1 - 제로 - 쿠폰 채권을 나타내는 DFA의 전환테이블
최종 상태는 계약의 완료를 나타내므로 더 이상 상태를 지정할 필요가 없다는 점에 유의해야 한다(해당 선은 생략할 수 있지만 전환 표에서 '-'로 표시됨). 원칙적으로, 더 많은 상태 및 / 또는 입력(및 동작)이 이 명령에 대하여 정의될 수 있지만, 본 명세서에서는 단순성과 명료성을 위하여, 계약의 복잡성과 관련하여 주의를 분산시키는 것보다는 근본적으로 본 발명의 진보적인 측면을 설명하기 위하여, 이 작업을 수행하지 않았다.
도 5는 (비트코인) 블록 체인상의 제로 - 쿠폰 채권 DFA의 실시예를 나타낸다. 상태는 파란색 삼각형에 의하여 머신을 하나의 상태에서 다른 상태로 전환시키는 원 및 비트코인 거래로 표시된다. 에이전트에 의해 수신된 입력은 도 5에서 생략되었지만, 각 상태에서 하나 또는 다른 비트코인 거래(예 : 상태 s0에서 t0 또는 t1)의 구성에 의해 다이어그램에 반영된 이러한 입력에 따라 하나 또는 다른 전환이 발생해야 한다. 상태를 변경하지 않는 이전에는 거래가 필요하지 않으므로 생략되었다. 또한, DFA 의 과도기 거래(ti) 외에도 초기 거래(o) 및 계약 완료(ci)에 해당하는 거래가 고려된다.
이제 거래(초기, 이전 및 완료)에서 자금 흐름으로 주의를 전환한다. 중요한 사항은 DFA와 (금융) 계약의 유한 속성으로 인해 여러 이전 후에 프로세스가 완료된다는 것이다. 이것은 계약의 수립 및 집행에 대한 최대 비용이 구속되어 있으며 사전(예를들면, DFA 설립 시점)에 결정될 수 있다는 것을 필연적으로 의미한다(관련 컴퓨팅 에이전트 및 비트코인 채굴자에 대한 일부 유한 수수료를 가정함). 이것은 상상할 수 있는 가장 경로를 따라 계약을 이행하는 데 필요한 자금의 총액으로 주어진다. 이것은 물론 실행의 무한 루프 가능성을 배제한다. 그러나 이것은 현재의 (금융) 계약과 관련이 없으며, 영속재산(perpetuities )과 같은 계약조차도 이름에도 불구하고 미래의 어떤 시점에서 완료되어야 할 의무가 있다(예를 들어, 부채가 존재하지 않거나 인플레이션으로 인해 지급액이 무시 될 때).
전술한 실시예들은 본 발명을 제한하는 것이 아닌 예시임을 알아야하며, 당업자는 첨부된 청구 범위에 의해 정의된 본 발명의 범위를 벗어나지 않고 많은 대안적인 실시 예를 설계할 수 있음을 알아야 한다. 청구 범위에서, 괄호안의 임의의 참조 부호는 청구 범위를 제한하는 것으로 해석되어서는 안된다. 용어 "포함하는" 및 “포함한다” 등은 청구 범위 또는 명세서 전체에 열거된 요소 또는 단계 이외의 요소의 존재를 배제하지 않는다. 본 명세서에서, "포함한다"는 "포함하거나 구성된다"를 의미하고 "포함하는"은 "포함하거나 구성되는"을 의미한다. 요소의 단일 참조는 이러한 요소의 복수 참조를 배제하지 않으며, 그 반대도 마찬가지이다. 본 발명은 몇몇 별개의 요소들을 포함하는 하드웨어에 의해, 그리고 적합하게 프로그래밍 된 컴퓨터에 의해 구현될 수 있다. 여러 수단들을 열거하는 장치 청구항에서, 이들 수단들 중 몇몇은 하나의 동일한 하드웨어 아이템에 의해 구현될 수 있다. 특정 측정 값이 서로 다른 종속항에서 인용된다는 단순한 사실만으로 이 측정값의 조합을 활용할 수 없다는 것을 의미하지는 않는다.

Claims (19)

  1. 복수의 컴퓨팅 에이전트의 컴퓨터들로 구성되어 스마트 계약을 실행하는 블록체인상에서 구현되며, 상기 스마트 계약을 실행하는 적어도 하나의 컴퓨팅 에이전트의 컴퓨터에 의하여 각 단계가 수행되는 기계 실행 가능한 계약의 상태를 결정하는 방법으로서,
    a) 관심 정보를 결정하고, 상기 관심 정보와 관련된 암호 키를 생성하는 단계;
    b) 상기 암호 키와 관련된 검색 용어를 구성하는 단계;
    c) 상기 검색 용어에 매칭되는 미사용 출력(UXTO)을 위한 블록 체인을 검색하는 단계, 상기 관심 정보는 기계 실행 가능한 스마트 계약의 상태이고,
    d) 상기 검색 용어에 매칭되는 미사용 출력(UXTO)으로부터 정보를 추출하고,
    e) 추출된 정보로부터 상기 기계 실행 가능한 스마트 계약의 상태를 결정하는 단계를 포함하는 방법.
  2. 제 1 항에 있어서, 상기 기계 실행 가능한 스마트 계약은 결정 유한 오토 머턴(deterministic finite automaton)을 사용하여 구현되고, 상기 기계 실행 가능한 스마트 계약의 상태를 결정하는 단계는 상기 결정 유한 오토 머턴의 상태를 결정하는 단계를 포함하는 방법.
  3. 제 1 항 또는 제 2 항에 있어서, 상기 암호 키는 상기 관심 정보에 재생산 가능한 프로세스를 적용함으로써 생성되며, 동일한 재생 가능 프로세스는 검색중인 상기 블록 체인의 미사용 출력(UXTO)에 포함된 정보를 생성하는 방법.
  4. 제 1 항 또는 제 2 항에 있어서, 상기 검색 용어는 상기 암호 키로 구성되는 방법.
  5. 제 1 항 또는 제 2 항에 있어서, 상기 검색은 검색 및 매칭 단계에 의해 제공되고, 상기 검색 용어와 매칭되는 미사용 출력(UXTO's)은 상기 암호 키 및 / 또는 상기 관심 정보와 쌍을 이루는 방법.
  6. 제 5 항에 있어서, 상기 쌍은 데이터베이스 내에 제공되는 방법.
  7. 제 1 항 또는 제 2 항에 있어서, 상기 방법은 구체화 단계를 포함하고, 상기 구체화 단계는 상기 관심 정보를 선택하는 단계 및 코드 또는 태그 구체화 단계를 더 포함하는 방법.
  8. 제 1 항 또는 제 2 항에 있어서, 상기 방법은 메타 데이터 구성 단계를 더 포함하며, 상기 관심 정보 및 / 또는 메타 데이터로 변환되는 코드 또는 태그를 포함하는 방법.
  9. 제 8 항에 있어서, 상기 메타 데이터는 정보 공개 키로 지정된 공개 키에 통합되는 방법.
  10. 제 1 항 또는 제 2 항에 있어서, 적어도 하나의 에이전트를 선택하는 에이전트 연계 단계가 제공되고, 선택된 에이전트 중 하나 이상 또는 모든 에이전트가 에이전트 공개 키로 지정된 공개 키를 제공하는 방법.
  11. 제 9 항에 있어서, 상기 방법은 결합 단계를 제공하고, 상기 결합 단계는 상기 정보 공개 키를 하나 이상의 에이전트 공개 키와 결합하여 잠금 스크립트를 생성하는 방법.
  12. 제 11 항에 있어서, 상기 결합 단계는 상기 잠금 스크립트의 해시를 생성하는 방법.
  13. 제 1 항 또는 제 2 항에 있어서, 상기 방법은 상기 암호 키를 제공하기 위해 잠금 스크립트 또는 잠금 스크립트의 해시로부터 값을 획득하는 평가 단계를 더 포함하는 방법.
  14. 제 1 항 또는 제 2 항에 있어서, 상기 방법은 데이터베이스화 단계를 포함하고, 상기 데이터베이스화 단계는 상기 관심 정보를 암호 키에 매핑하는 것을 더 포함하고, 정보를 상기 암호 키에 매핑하는 것은 결합의 매핑의 절반을 상기 암호 키에 제공하는 방법.
  15. 제 1 항 또는 제 2 항에 있어서, 상기 방법은 어드레스 도출(derivation) 단계를 포함하며, 상기 어드레스는 잠금 스크립트 또는 잠금 스크립트의 해시로부터 획득되는 방법.
  16. 제 1 항 또는 제 2 항에 있어서, 상기 방법은 검색 및 매칭 단계를 포함하며, 상기 검색 및 매칭 단계는 상기 블록 체인에서 하나 또는 그 이상의 어드레스와의 매칭을 조사하는 단계를 더 포함하고, 상기 검색 및 매칭 단계는 검색에 사용된 어드레스 또는 어드레스들과 매칭되는 상기 블록 체인에서 UTXO의 세부 정보를 수집하는 방법.
  17. 제 1 항 또는 제 2 항에 있어서, 검색 및 매칭 단계 및 / 또는 데이터베이스화 단계에서 UXTO의 어드레스에 매칭되는 획득된 세부사항을 상기 암호 키에 매핑하며, 상기 매핑은 상기 암호 키와 관련된 결합의 나머지 절반을 제공하는 방법.
  18. 제 1 항 또는 제 2 항의 방법을 구현하도록 구성된 시스템으로서, 컴퓨터로 구현된 시스템.
  19. 제 18 항에 있어서,
    블록 체인을 통해 DFA(deterministic finite automaton)를 구현하도록 구성된 적어도 하나의 컴퓨팅 에이전트; 및
    블록 체인 플랫폼을 포함하는 시스템.
KR1020197018806A 2017-01-31 2018-01-29 블록 체인을 사용하여 구현된 기계 실행 가능한 계약의 상태를 결정하기 위한 컴퓨터 구현 시스템 및 방법 KR102569751B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1701589.2 2017-01-31
GBGB1701589.2A GB201701589D0 (en) 2017-01-31 2017-01-31 Computer-implemented system and method
PCT/IB2018/050516 WO2018142259A1 (en) 2017-01-31 2018-01-29 Computer-implemented system and method for determining the state of a machine executable contract implemented using a blockchain

Publications (2)

Publication Number Publication Date
KR20190107009A KR20190107009A (ko) 2019-09-18
KR102569751B1 true KR102569751B1 (ko) 2023-08-23

Family

ID=58462718

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197018806A KR102569751B1 (ko) 2017-01-31 2018-01-29 블록 체인을 사용하여 구현된 기계 실행 가능한 계약의 상태를 결정하기 위한 컴퓨터 구현 시스템 및 방법

Country Status (10)

Country Link
US (2) US11263622B2 (ko)
EP (2) EP3913560A1 (ko)
JP (2) JP7132223B2 (ko)
KR (1) KR102569751B1 (ko)
CN (2) CN110199305B (ko)
GB (1) GB201701589D0 (ko)
HK (1) HK1257198A1 (ko)
SG (1) SG11201906374XA (ko)
WO (1) WO2018142259A1 (ko)
ZA (1) ZA201904303B (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190370789A1 (en) * 2017-02-10 2019-12-05 Intermine.com.au Pty Ltd Distributed block chain cryptocurrency system for securement against unauthorised transactions
US11568402B2 (en) * 2018-06-06 2023-01-31 International Business Machines Corporation Decentralized out-of-band accelerated blockchain transaction processing
CN109547823B (zh) * 2018-12-07 2020-11-10 四川链窗区块链科技有限公司 一种视频直播平台奖励数据处理方法
CN110032599B (zh) * 2018-12-20 2020-05-05 阿里巴巴集团控股有限公司 数据结构的读取及更新方法、装置、电子设备
US20210056053A1 (en) * 2019-08-19 2021-02-25 Cryptography Research, Inc. Application authentication and data encryption without stored pre-shared keys
CN111177151A (zh) * 2019-12-20 2020-05-19 广东文储区块链科技有限公司 一种去中心化存储区块链上检索数据的方法及系统
CN112740250A (zh) * 2019-12-31 2021-04-30 深圳市网心科技有限公司 一种基于区块链的数字货币交易方法、装置及系统
US11100501B1 (en) 2020-05-22 2021-08-24 Kpmg Llp Modular, configurable smart contracts for blockchain transactions
GB2596065A (en) * 2020-06-12 2021-12-22 Nchain Holdings Ltd Generating blockchain addresses
GB2598301A (en) * 2020-08-21 2022-03-02 Nchain Holdings Ltd Alert account
GB202108385D0 (en) * 2021-06-11 2021-07-28 Nchain Licensing Ag A computer implemented method and system

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160085955A1 (en) 2013-06-10 2016-03-24 Doosra, Inc. Secure Storing and Offline Transferring of Digitally Transferable Assets
US11250493B2 (en) 2014-03-31 2022-02-15 Monticello Enterprises LLC System and method for performing social media cryptocurrency transactions
WO2015183497A1 (en) 2014-05-06 2015-12-03 Case Wallet, Inc. Cryptocurrency virtual wallet system and method
EP3140979A4 (en) 2014-05-09 2017-12-27 Veritaseum Inc. Devices, systems, and methods for facilitating low trust and zero trust value transfers
CN104392354B (zh) * 2014-11-05 2017-10-03 中国科学院合肥物质科学研究院 一种公钥地址与用户账号的关联和检索方法及其系统
US10169124B2 (en) * 2014-12-16 2019-01-01 Samsung Electronics Co., Ltd. Unified object interface for memory and storage system
CN105991731A (zh) 2015-02-13 2016-10-05 中兴通讯股份有限公司 一种获取信息的方法、智能终端和服务端
US20160260095A1 (en) 2015-03-02 2016-09-08 Dell Products, Lp Containerized Computational Task Execution Management Using a Secure Distributed Transaction Ledger
JP6364132B2 (ja) 2015-03-31 2018-07-25 ナスダック, インコーポレイテッドNasdaq, Inc. ブロックチェーン取引記録のシステムおよび方法
US9397985B1 (en) 2015-04-14 2016-07-19 Manifold Technology, Inc. System and method for providing a cryptographic platform for exchanging information
US10963881B2 (en) 2015-05-21 2021-03-30 Mastercard International Incorporated Method and system for fraud control of blockchain-based transactions
WO2017004527A1 (en) 2015-07-02 2017-01-05 Nasdaq, Inc. Systems and methods of secure provenance for distributed transaction databases
WO2017005527A1 (en) 2015-07-07 2017-01-12 Arcelik Anonim Sirketi A cooling device comprising a door closing mechanism and the control method
KR101712119B1 (ko) * 2015-07-09 2017-03-03 국민대학교산학협력단 비트코인의 거래 알림 장치 및 거래 알림 방법
WO2017010455A1 (ja) 2015-07-13 2017-01-19 日本電信電話株式会社 契約合意方法、合意検証方法、契約合意システム、合意検証装置、契約合意装置、契約合意プログラム及び合意検証プログラム
CA2992458A1 (en) * 2015-07-14 2017-01-19 Fmr Llc Computationally efficient transfer processing, auditing, and search apparatuses, methods and systems
US9948467B2 (en) 2015-12-21 2018-04-17 Mastercard International Incorporated Method and system for blockchain variant using digital signatures
WO2017173399A1 (en) 2016-03-31 2017-10-05 Clause, Inc. System and method for creating and executing data-driven legal contracts
GB201607477D0 (en) * 2016-04-29 2016-06-15 Eitc Holdings Ltd A method and system for controlling the performance of a contract using a distributed hash table and a peer to peer distributed ledger
US10333705B2 (en) * 2016-04-30 2019-06-25 Civic Technologies, Inc. Methods and apparatus for providing attestation of information using a centralized or distributed ledger
US10838846B1 (en) 2016-05-16 2020-11-17 Jpmorgan Chase Bank, N.A. Method and system for implementing an automation software testing and packaging framework
CN105812126B (zh) * 2016-05-19 2018-10-12 齐鲁工业大学 健康区块链数据加密密钥的轻量级备份与高效恢复方法
CN106251216B (zh) * 2016-07-18 2020-12-25 恒宝股份有限公司 一种用于缓解节点存储压力的方法和系统
CN106503053B (zh) * 2016-09-26 2019-07-16 江苏通付盾科技有限公司 Utxo查询方法及装置
US11238450B2 (en) 2016-12-21 2022-02-01 Nchain Licensing Ag Computer-implemented systems and methods to enable complex functionality on a blockchain while preserving security-based restrictions on script size and opcode limits
AU2018230763A1 (en) 2017-03-08 2019-10-31 Ip Oversight Corporation System and method for creating commodity asset-secured tokens from reserves
US10891384B2 (en) 2017-10-19 2021-01-12 Koninklijke Kpn N.V. Blockchain transaction device and method
SG11202005570XA (en) 2017-12-15 2020-07-29 Nchain Holdings Ltd Computer-implemented systems and methods for authorising blockchain transactions with low-entropy passwords
WO2019043466A1 (ja) * 2018-06-12 2019-03-07 フレセッツ株式会社 暗号通貨のためのウォレット装置及びその装置を用いる署名方法

Also Published As

Publication number Publication date
GB201701589D0 (en) 2017-03-15
ZA201904303B (en) 2022-05-25
EP3913560A1 (en) 2021-11-24
US20220253835A1 (en) 2022-08-11
CN110199305A (zh) 2019-09-03
KR20190107009A (ko) 2019-09-18
EP3411840B1 (en) 2021-06-16
SG11201906374XA (en) 2019-08-27
US11900363B2 (en) 2024-02-13
CN116827516A (zh) 2023-09-29
CN110199305B (zh) 2023-08-01
US11263622B2 (en) 2022-03-01
JP2022169712A (ja) 2022-11-09
JP2020516976A (ja) 2020-06-11
JP7461423B2 (ja) 2024-04-03
EP3411840A1 (en) 2018-12-12
US20200005285A1 (en) 2020-01-02
JP7132223B2 (ja) 2022-09-06
HK1257198A1 (zh) 2019-10-18
WO2018142259A1 (en) 2018-08-09

Similar Documents

Publication Publication Date Title
KR102569751B1 (ko) 블록 체인을 사용하여 구현된 기계 실행 가능한 계약의 상태를 결정하기 위한 컴퓨터 구현 시스템 및 방법
JP7036844B2 (ja) ブロックチェーンを介して決定性有限オートマトン(dfa)を実施するシステム及び方法
US20220245626A1 (en) Computer-implemented system and method for generating and extracting user related data stored on a blockchain
US20240046230A1 (en) Systems and methods for hyperledger-based payment transactions, alerts, and dispute settlement, using smart contracts
JP2020509458A (ja) コンピュータにより実現される方法およびシステム
US11861619B1 (en) Systems and methods for payment transactions, alerts, dispute settlement, and settlement payments, using multiple blockchains
Wu et al. Blockchain Quick Start Guide: A beginner's guide to developing enterprise-grade decentralized applications
CN111488343A (zh) 基于业务数据区块链的电商数据上链方法及装置
Roy Blockchain development for finance projects: building next-generation financial applications using Ethereum, Hyperledger Fabric, and Stellar
Alm et al. Toward a framework for assessing meaningful differences between blockchain platforms
Sagar et al. Blockchain: the foundation of Web3
Youssefzadeh Future of Payment Platforms
Advisors et al. ETHEREUM ANALYTICS
Mishra et al. Music NFTs Player using Blockchain
Bibodi PodWeb: a decentralized application powered by Ethereum network
Johannesson Performance of Digital Currency and Improvements: An analysis of current implementations and the future of digital currency
KR20240024767A (ko) 커미트먼트의 사용자 체인에 랑데뷰 블록체인 트랜잭션을 첨부하기 위한 방법 및 시스템

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)