KR20190025942A - 외부 프로세스 또는 시스템을 제어하기 위한 블록 체인-구현 제어 방법 및 시스템 - Google Patents

외부 프로세스 또는 시스템을 제어하기 위한 블록 체인-구현 제어 방법 및 시스템 Download PDF

Info

Publication number
KR20190025942A
KR20190025942A KR1020197002687A KR20197002687A KR20190025942A KR 20190025942 A KR20190025942 A KR 20190025942A KR 1020197002687 A KR1020197002687 A KR 1020197002687A KR 20197002687 A KR20197002687 A KR 20197002687A KR 20190025942 A KR20190025942 A KR 20190025942A
Authority
KR
South Korea
Prior art keywords
transaction
public key
input
value
controller
Prior art date
Application number
KR1020197002687A
Other languages
English (en)
Other versions
KR102467625B1 (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 KR20190025942A publication Critical patent/KR20190025942A/ko
Application granted granted Critical
Publication of KR102467625B1 publication Critical patent/KR102467625B1/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
    • 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/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • 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/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/305Authentication, i.e. establishing the identity or authorisation of security principals by remotely controlling device operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/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/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
    • 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
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2147Locking files
    • 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

Abstract

본 발명은 블록 체인(blockchain)과 같은 전자 장부를 사용하여 구현되는 컴퓨터 구현 방법 및 대응 시스템을 제공한다. 이는 비트코인 블록 체인 일 수도 있고, 그렇지 않을 수도 있다. 본 발명은 태스크 또는 프로세스의 성능을 구현, 실행 및 / 또는 제어하는데 사용될 수 있다. 본 발명에 따른 방법은, 값을 포함하는 적어도 하나의 서명된 입력; 및 적어도 하나의 변경 가능한 출력;을 포함하는 블록 체인 거래를 생성하는 단계; 상기 서명된 입력으로부터 상기 값을 추출하고 로직 부분에 제공하여 결과를 획득하는 단계; 및 상기 결과를 사용하여 상기 거래의 출력을 변경하는 단계를 포함할 수 있다. 거래는 로직 및 / 또는 결과의 일부의 실행에 대한 기록 및 / 또는 표현을 제공한다. 서명된 입력은 잠금 해제 스크립트를 사용하여 거래에 제공된다. 적어도 하나의 입력은 입력을 변경 불가능한 것으로 표시하는 서명 해시 유형을 사용하여 서명된다. 이는 서명 해시 유형 SIGHASH_NONE 일 수 있다. 거래는 적어도 하나의 서명되지 않은 입력을 더 포함 할 수 있다. 서명되지 않은 입력은 출력이 변경된 후에 서명 될 수 있다. 서명되지 않은 입력은 전체 거래의 변경을 방지하는 서명 해시 유형을 사용하여 서명 할 수 있으며, 서명 해시 유형은 SIGHASH_ALL 일 수 있다. 또한, 값은 서명된 입력과 관련된 공개키에 삽입될 수 있으며; 공개키에서 추출하여 로직 부분에 제공된다. 로직의 일부는 AND, NOT, OR, NOR, XOR, IMPLY, NAND, NONIMPLY 또는 XNOR 게이트와 같은 로직 게이트 또는 게이트 조합의 기능을 구현하도록 배열 될 수 있다. 따라서, 본 발명은 블록 체인을 사용하여 태스크를 구현하기 위한 고도로 융통성 있고 유용한 기술 접근법을 제공한다.

Description

외부 프로세스 또는 시스템을 제어하기 위한 블록 체인-구현 제어 방법 및 시스템
본 발명은 일반적으로 분산 장부 기술 (블록 체인 관련 기술 포함), 특히 작업 또는 프로세스를 구현, 제어 및 / 또는 자동화하는 블록 체인(blockchain)의 사용에 관한 것이다. 논리적 부분의 실행을 기록하거나 표현하기 위해 블록 체인이나 관련 기술을 사용하는 것과 관련 될 수 있다. 이 로직 부분은 로직 게이트, 또는 AND, XOR, NOT, OR 등과 같은 복수의 로직 게이트의 기능을 구현하도록 배열될 수 있다.
블록 체인은 컴퓨터 기반의 분산화된, 분산 시스템으로 구현되는 전자 장부로 순차적 거래로 구성되는 블록으로 이루어진다. 각 거래에는 적어도 하나의 입력과 적어도 하나의 출력이 포함된다. 각 블록은 이전 블록의 해시를 포함하므로 블록이 함께 연결되어 처음부터 블록 체인에 기록된 모든 거래의 영구적인 변경 불가능한 기록을 생성한다. 거래에는 입력 및 출력에 삽입된 스크립트라고 하는 작은 프로그램이 들어 있으며, 이 프로그램은 거래의 출력에 액세스 할 수 있는 사용자 및 방법을 지정한다. 비트코인 플랫폼에서 이 스크립트는 스택-기반 스크립팅 언어를 사용하여 작성된다.
거래를 블록 체인에 쓰려면 "유효성"이 검증되어야 한다. 네트워크 노드(채굴자)는 네트워크에서 유효하지 않은 거래를 거부하여 각 거래가 유효한지 확인하기 위한 작업을 수행한다. 노드에 설치된 소프트웨어 클라이언트는 잠금 및 잠금 해제 스크립트를 실행하여 사용되지 않은 거래(UTXO)에 대해 이 유효성 검증 작업을 수행한다. 잠금 및 잠금 해제 스크립트의 실행이 참(TRUE)으로 평가되면 거래가 유효하며, 거래는 블록 체인에 기록된다.
블록 체인 기술은 암호 화폐 구현을 위한 사용으로 가장 널리 알려져 있다. 그러나 최근에 디지털 기업가는 비트코인을 기반으로 하는 암호화 보안 시스템의 사용과 새로운 시스템을 구현하기 위해 블록체인에 저장할 수 있는 데이터를 모두 연구하기 시작했다. 블록 체인이 암호화폐의 영역에 국한되지 않고 자동화 된 제어 프로세스와 같은 작업 및 프로세스에 사용될 수 있다면 매우 유용할 것이다. 이러한 솔루션은 블록 체인의 이점(예: 영구적인 변조 방지 기록, 분산 처리 등)을 활용할 수 있을 뿐만 아니라, 그들의 응용 분야에서 더욱 유용할 것이다.
이에 따른 개선된 해결책이 고안되었다. 따라서, 본 발명에 따르면, 첨부된 청구항에 정의 된 바와 같은 시스템 및 방법이 제공된다.
본 명세서에서 문맥상 현재 가장 널리 알려진 용어로서 편의와 참조를 위해 '블록 체인'이라는 용어를 사용한다는 점에 유의해야 한다. 그러나 이 용어는 블록 체인 및 거래-체인 기술, 허가 된 및 허가되지 않은 장부, 공유 장부 및 유사 콘텐츠를 포함하되, 이에 국한되지 않는 모든 형태의 전자 컴퓨터 기반 분산 장부 및 그의 변형을 포함할 수 있도록 여기에서(청구항 포함) 사용된다.
블록체인 기술의 가장 널리 알려진 적용은 비트 코인 장부이지만 다른 블록 체인 구현이 제안되고 개발되었다. 비트코인은 본 명세서에서 편의 및 설명을 위해 언급 될 수 있지만, 본 발명은 비트 코인 블록 체인과 함께 사용하는 것만으로 제한되지는 않으며, 대안적인 블록 체인 구현은 본 발명의 범위 내에 있다 할 것이다.
상기 방법은,
값을 포함하는 적어도 하나의 서명된 입력; 및 적어도 하나의 변경 가능한 출력;을 포함하는 블록 체인 거래를 생성하는 단계;
상기 서명된 입력으로부터 상기 값을 추출하고 로직 부분에 제공하여 결과를 획득하는 단계; 및
상기 결과를 사용하여 상기 거래의 출력을 변경하는 단계를 포함할 수 있다.
상기 결과는 거래가 상기 결과를 나타내도록 출력을 변경하는 데 사용될 수 있다. 거래는 로직 부분의 실행 기록을 제공 할 수 있다. 이 기록은 블록 체인에 저장 될 수 있다. 이는 실행 결과에 대한 기록을 제공 할 수 있다. 이는 실행과 관련된 파라미터를 포함하는 기록을 제공 할 수 있다.
'블록 체인'이라는 용어는 블록 체인 및 거래-체인 기술, 알트(alt-chains), 허가된 및 허가되지 않은 장부, 공유 장부 및 그 변형을 비롯한 모든 형태의 전자 컴퓨터 기반 분산 장부를 포함한다.
로직 부분은 컴퓨터 구현 프로세스 일 수 있다. 이는 지정된 작업을 수행하도록 구성 될 수 있다.
로직 부분은 트랜잭션과 블록 체인 중 하나 또는 둘 모두에 대해 외부에 있을 수 있다. 또한 컨트롤러(즉, 거래의 소유자 및 입력이 서명된 후 거래의 출력을 업데이트 할 수 있는 유일한 개체)는 거래와 블록 체인 중 하나 또는 둘에 대해 외부에 있을 수 있다. 외부 컨트롤러는 추출된 값에 로직 부분을 적용하여 결과를 얻고 거래와 통신하여 결과에 따라 거래의 출력을 변경할 수 있다. 로직 부분은 거래 및 블록 체인 중 하나 또는 둘 모두의 외부에 있는 시스템을 나타낼 수 있으며, 상기 방법은 상기 거래의 변경된 출력에 기초하여 상기 시스템의 상태를 변경하는 단계를 더 포함한다. 이러한 방식으로, 본 발명은 외부(오프 블록) 논리 시스템을 구현하거나 적어도 기록하는 블록 체인 시스템의 고유한 보안을 이용하여 블록 시스템의 기능 및 보안을 외부 시스템으로 확장하는 것으로 생각할 수 있다.
외부 시스템은 예를 들어, 수학적 기능, 알고리즘, 또는 논리 게이트 또는 복수의 논리 게이트의 기능과 같은 로직 부분으로 기능이 한정 될 수 있는 블록 체인 외부의 임의의 시스템 일 수 있다. 이러한 시스템은 일반적으로 하나 이상의 입력을 가지며 하나 이상의 출력을 생성하기 위해 입력에 대해 하나 이상의 작업을 수행한다.
본 발명의 실시예는 그러한 시스템의 컨트롤러가 시스템의 제어를 유지하고 시스템이 다른 개체(예를 들어, 해킹)에 강인함을 보장하는데 유용하다. 블록 체인의 관점에서, 본 발명의 적어도 소정의 실시예에 의해 해결되는 기술적인 문제는 외부 "오프 블록(off-block)"시스템을 제어하기 위한 블록 체인 시스템의 고유한 보안을 이용하는 방법이다. 외부 시스템의 관점에서 볼 때, 본 발명의 적어도 특정 실시예에 의해 해결되는 기술적인 문제는 제 3 자로부터의 해킹 공격에 강인하도록 외부 시스템의 보안을 향상시키는 방법이다.
본 발명이 적용될 수 있는 외부 시스템의 예시는 본 명세서에서 설명되며, 거래 플랫폼; 전자 자물쇠; 차량 제어 시스템; 센서; 조명 시스템; 가열 / 냉각 시스템; 경보 시스템; 산업 생산 시스템을 포함한다. 그러나, 이들은 포괄적인 목록은 아니며, 원칙적으로 블록 체인 시스템의 기능을 하나 또는 그 이상의 입력, 입력에 의한 동작; 하나 또는 그 이상의 출력으로 표현 될 수 있는 임의의 외부 시스템에 도입하기 위해 적용될 수 있음을 주목하는 것이 중요하다.
로직 부분은 로직 게이트 또는 복수의 로직 게이트의 기능을 구현하도록 배치 될 수 있다. 로직 게이트는 AND, NOT, OR, NOR, XOR, IMPLY, NAND, NONIMPLY 또는 XNOR 게이트 일 수 있다.
상기 방법은 상기 거래를 블록 체인에 제출하는 단계를 더 포함할 수 있다.
상기 서명된 입력은 잠금 해제 스크립트를 사용하여 상기 거래에 제공될 수 있다.
상기 적어도 하나의 입력은 상기 입력을 변경 불가능한 것으로서 렌더링 한 서명 해시 타입을 사용하여 서명될 수 있다. 상기 서명 해시 타입은 SIGHASH_NONE일 수 있다.
상기 거래는 적어도 하나의 서명되지 않은 입력을 더 포함할 수 있다.
상기 방법은 상기 거래를 블록 체인에 제출하는 단계를 더 포함할 수 있다.
상기 출력이 변경된 후에 상기 서명되지 않은 입력에 서명하는 단계를 더 포함할 수 있다.
상기 서명되지 않은 입력은 전체 거래의 변경을 방지하는 서명 해시 타입을 사용하여 서명될 수 있다. 상기 서명 해시 타입은 SIGHASH_ALL일 수 있다.
상기 값은, 상기 서명된 입력과 관련된 공개키에 삽입될 수 있다. 추가적으로, 이는 상기 공개키에서 추출되어 상기 로직 부분에 제공될 수 있다.
상기 방법은 프로토콜을 설정 및 / 또는 선택하고 상기 프로토콜을 사용하여 상기 값을 상기 공개키에 삽입하는 단계를 더 포함할 수 있다. 상기 공개키는 중간 블록 체인 거래에서 잠금 스크립트를 생성하는데 사용될 수 있다.
상기 방법은 중간 거래를 블록 체인에 제출하는 단계를 더 포함할 수 있다.
상기 값은 하기 수학식에 따라 새로운 공개키 (P ')를 생성함으로써 상기 공개키에 삽입될 수 있다.
P' = P + HASH(value
Figure pct00001
S) x G
(여기서, P는 기초 또는 초기 공개키이고, G는 타원 곡선 함수이고(예: secp256k1), x는 스칼라에 의한 타원 곡선 곱을 나타내고,
Figure pct00002
는 타원 곡선 합을 나타낸다)
상기 방법은 하기 수학식에 따라 상기 새로운 공개키에 대응하는 새로운 개인키(V')를 생성하는 단계를 더 포함할 수 있다.
V' = V + 해시 (값 + S)
상기 공개키에 삽입된 상기 값은 특정 값의 범위내에서 선택될 수 있다.
본 발명은 또한 대응하는 시스템을 제공한다. 시스템은 상술한 방법의 임의의 실시예를 구현하도록 구성 될 수 있다.
본 발명은 이전 청구항 중 임의의 단계(들)을 수행하도록 구성된 적어도 하나의 컴퓨터 - 기반 자원; 및 블록 체인 또는 기타 유형의 전자 장부를 포함하는 컴퓨터 구현 시스템을 제공할 수 있다. 전자 장부는 분산 장부일 수 있다.
본 발명의 하나의 양태 또는 실시예와 관련하여 설명된 임의의 특징은 또한 하나 이상의 다른 양태 / 실시예를 실시하는데 사용될 수 있다.
따라서, 본 발명에 따르면, 로직의 일부를 실행하는 컴퓨터 구현 방법이 제공 될 수 있다. 부가적 또는 대안적으로, 본 발명은 제어 방법으로 기술 될 수 있다. 하드웨어 및 / 또는 소프트웨어 자원의 작동을 제어할 수 있다. 이는 컴퓨터 구현 프로세스의 실행을 제어 할 수 있다. 부가적 또는 선택적으로,이 방법은 로직 일부의 실행 또는 실행 결과를 기록 또는 표현하기 위해 블록 체인을 사용하기 위한 기술적 메커니즘을 제공할 수 있다.
본 발명의 이러한 측면 및 다른 측면은 본 명세서에 기재된 실시예를 참조하여 명백하게 설명 될 것이다. 본 발명의 실시예는 첨부된 도면을 참조하여 예로서만 설명 될 것이다.
도1은 예시에 따른 거래 및 SIGHASH_ALL과 SIGHASH_NONE을 사용하여 해시된 부분을 나타낸다.
도 2a는 함수 컨트롤러가 각 입력 소스와 함께 공개키 프로토콜을 설정하는 방법을 나타낸다.
도 2b는 입력 소스가 통신하기 위한 값을 갖고 그 프로토콜(공개키 프로토콜)에 따라 값 - 포함 공개키(PubKey)를 계산하는 시나리오를 도시한다.
도 2c는 입력 소스가 값 포함 공개키를 사용하여 중간 거래의 출력들 중 하나에서 사용되는 잠금 스크립트를 생성하는 시나리오를 도시한다.
도 2d는 거래가 생성되는 시나리오를 도시한다; 컨트롤러의 서명되지 않은 입력과 각 입력이 추가된다.
도 2e는 모든 입력 소스가 서명 유형이 SIGHASH_NONE 인 거래에 대한 각각의 입력에 서명하는 시나리오를 도시한다.
도 2f는 컨트롤러가 거래의 각 입력 소스의 잠금 해제 스크립트에서 값 포함 공개키를 가져와 연관된 공개키 프로토콜을 기반으로 삽입된 값을 추출하는 시나리오를 도시한다.
도 2g는 컨트롤러가 추출된 값들에 함수를 적용하고 그 결과에 기초하여 거래 출력(들)을 수정하는 시나리오를 도시한다.
도 2h는 컨트롤러가 SIGHASH_ALL을 사용하여 입력을 서명하고 거래를 블록 체인에 제출하는 시나리오를 도시한다.
도 3 내지 8은 아래 제공된 사용 예시 1에 따라 사용된 블록 체인 거래를 나타낸다.
도 9 내지 14는 아래 제공된 사용 예시 2에 따라 사용된 블록 체인 거래를 나타낸다.
도 15 내지 20은 아래 제공된 사용 예시 3에 따라 사용된 블록 체인 거래를 나타낸다.
도 21a 내지도 25는 아래 제공된 사용 예시 4에 따라 사용된 블록 체인 거래를 나타낸다.
도 26a 내지 도 30은 아래에 제공된 사용 예시 5에 따라 사용된 블록 체인 거래를 나타낸다.
도 31 내지 도 35는 아래 제공된 사용 예시 6에 따라 사용된 블록 체인 거래를 나타낸다.
도 36a 내지 도 40은 아래 제공된 사용 예시 7에 따라 사용된 블록 체인 거래를 나타낸다.
도 41a 내지 도 45는 아래 제공된 사용 예시 8에 따라 사용된 블록 체인 거래를 나타낸다.
이제 본 발명의 예시적인 실시예를 제공한다. 이 실시예는 다음과 관련된 기술을 포함한다:
·공유 비밀의 설정과 새로운 암호 키 생성시 이를 사용;
·타원 곡선 공개키에 값을 안전하게 삽입하는 메커니즘;
·출력이 특정 서명 해시 조합을 사용하는 입력시 조건부인 블록 체인 관련 체계 또는 솔루션; 및
·외부적으로 평가된 함수(즉, 블록 체인의 외부)를 구성하기 위하여 새로운 메커니즘을 제공하는 이러한 기술의 조합.
본 발명은 기능을 구현하기 위해 블록 체인을 사용하기 위한 새롭고 유리한 해결책을 제공한다. 블록 체인은 함수의 실행 및 / 또는 이 실행 결과의 결과에 대한 기록을 제공하는 데 사용된다. 함수는 입력 집합에 적용되고 출력 집합을 반환하는 서브 루틴 또는 프로 시저(즉, 프로세스 또는 논리 부분) 일 수 있다. 바람직한 실시 예에서, 함수는 '오프 블록(off-block)'으로 실행되는데, 즉 그 성능은 블록 체인에 의존하지 않는다. 이 함수는 컴퓨터 기반 리소스에 의해 수행된다.
블록 체인(예: 비트코인) 거래는 전형적으로 이전 거래 출력을 새로운 거래 입력으로 참조하고 모든 입력값을 새로운 출력으로 전용하는(예: 비트코인) 값의 전송이다. 거래는 암호화되지 않으므로 수집된 모든 거래를 블록으로 찾아보고 볼 수 있다. 그러나 거래 출력(들)이 거래 입력(들)에 삽입된 정보에 조건부이거나 종속적인 함수로 작용하는 블록 체인 거래를 구성 할 수 있다는 것이 매우 유용할 것이다.
·본 발명의 중요한 측면은 다음과 같은 함수를 나타내는 블록 체인 거래를 생성하는 방법을 포함하지만 이에 국한되지는 않는다:
·함수 입력은 거래 입력의 잠금 해제 스크립트에서 사용된 공개키로 표현된다
·함수 출력은 거래 출력이 전송되는 주소로 표현된다
·함수 프로 시저가 블록 체인 거래 외부에서 평가된다.
·함수 로직을 적용하고 함수 출력을 업데이트하기 전에 함수 입력을 잠글 수 있다.
따라서, 본 발명은 다음을 포함한다:
·비밀값의 분배를 위한 기술; 이는 타원 곡선 계산을 사용하여 메시지를 개인 / 공개 키에 삽입시킬 수 있는 방법을 사용하여 수행될 수 있다; 또한, 보안되지 않은 네트워크에서 공유 비밀을 설정할 수 있다.
·타원 곡선 공개 / 개인 키에 값을 안전하게 삽입하는 기술. 본 발명은 값을 타원 곡선 공개 / 개인 암호키에 안전하게 삽입할 수 있는 비밀값 분포 기술을 포함한다. 이 값은 수신 측에서 선형 시간으로 추출할 수 있지만, 삽입 방법 설정을 위해 전달된 파라미터가 손상되더라도 공격자가 처리하기 어려운 상태로 남아 있다
·입력에 조건부인 비트코인 거래 출력
·SIGHASH_NONE(입력 잠금)을 제외한 거래의 모든 입력에 먼저 서명 한 다음 나머지 입력을 SIGHASH_ALL(입력 및 출력 잠금)로 서명하는 새롭고 창의적인 방법. 이 흐름을 통해 입력에 따라 출력을 조절할 수 있다.
본 발명은 블록 체인(예를 들어, 비트코인) 거래가 논리 게이트에 의해 제공되는 함수를 나타내기 위해 사용될 수 있는 아래에 제공된 사용 사례를 통해 설명 될 것이다.
본 발명은 메시지를 암호화(공개 / 비밀) 키에 삽입하기 위한 기술 및 공유된 비밀을 확립하기 위한 기술을 이용한다. 이들은 다음과 같이 설명된다.
메시지 삽입(Message Embedding)
아래가 주어진다:
·개인키 V(정수)
·공개키 P(타원 곡선 점)
·EC 생성기 G(타원 곡선 함수)
·메시지 M(정수로 나타낼 수 있는 값)
EC 산술에서 다음과 같이 알려져 있다:
P = V x G 스칼라에 의한 타원 곡선 곱셈
메시지 M이 삽입 된 경우:
V '= V + M 정수 덧셈
P '= P + M × G 타원 곡선 점 덧셈
V '와 P'는 메시지 M이 삽입된 개인 / 공개 키이다
공유된 비밀(Shared Secret)
아래가 주어진다:
·개인키 VA와 공개키 PA를 가진 파티A
·개인키 VB 및 공개 키 PB를 가진 파티 B
·EC 생성기 G (타원 곡선 함수)
EC 산술에서 다음과 같이 알려져있다.
PA = VA Х G
PB = VB Х G
양쪽 파티가 공개키를 게시하면 공유된 비밀을 안전하게 설정할 수 있다.
파티 A 공유 비밀 = VA × PB = VA × (VB × G)
파티 B 공유 비밀 = VB × PA = VB × (VA × G)
EC 산술은 가환성(commutative)이므로, 공유된 비밀은 양 당사자에 대해 동등하다.
타원 곡선 공개 / 개인키에 삽입되는 비밀값 (Secure Value Embedding in Elliptic Curve Public/private Keys)
메시지(값)를 EC 공개 / 개인키에 삽입하는 것이 가능하다. 이 개념을 두 파티간에 안전하게 통신하기 위한 방법으로 적용하기 위해서는 다음의 파라미터가 필요하다:
파라미터 세부사항
기초 공개키 P 모든 값 포함 키 P'이 파생되는 공개키
EC 생성기 G 비트코인에서 사용하는 secp256k1과 같은 타원 곡선 함수
공유된 비밀 S 위에 설명된 기술에 따름. 양 파티의 공개 키만 공유되어야 한다.
n 값의 범위 또는 집합 v_1, v_2, …, v_n 수신자가 삽입된 키 값을 확인할 필요가 있는 가능한 값을 제한함. 이는 삽입이 연산적으로 비용이 많이 드는 단방향 연산이기 때문에 필요함.
식 M에 삽입되는 값 값을 공개 키에 포함시키는 기본 타원 곡선 수식
값 삽입 방법(Embedding Value Method
발신자는 다음과 같은 보안 수식 M을 사용하여 값을 포함시킬 수 있다:
V' = V + HASH(value + S) 값(value)이 포함된 개인키
P' = P + HASH(value
Figure pct00003
S) x G 값(value)이 포함된 공개키
여기에서:
P는 기본 또는 초기 공개키이다.
G는 타원 곡선 함수이다(예 : secp256k1)
x는 스칼라에 의한 타원 곡선 곱셈을 나타낸다; 그리고,
Figure pct00004
는 타원 곡선 덧셈을 나타낸다.
이 방법의 보안은 다음 사항을 포함하고 구현한다:
·삽입된 공개키 값은 한 방향이며 역순으로 처리 할 수 있는 EC 산술을 사용한다
·해시 기능은 방향성이 있어 역방향으로 처리하기가 어렵다.
·공유된 비밀 S는 해시 솔트(salt)로 사용된다. 즉, 다른 모든 파라미터가 손상된 경우에도 공격자는 가능한 값을 반복하여 삽입된 값을 산출 할 수 없다. 개인키가 유출되지 않는 한 S는 보안이 보장된다.
값 추출 방법(Value Extracting Method)
공개키에 포함된 값의 수신자는 선형 시간상에서 값을 추출 할 수 있다. 이것은 매칭이 이루어 질 때까지 각 가능한 값에 대해 값이 포함된 공개키를 계산하여 수행된다. 이것은 다음과 같이 수행 할 수 있다:
For each v in range v_0 to v_n // 이 특정 스크립트에서 v_0, v_1, ..., v_n은 범위가 아니라 집합이다
v' = M(v, P, S, G) // M은 v를 삽입하기 위하여 EC 산술을 사용하는 수식이다
If v' equals P'
Exit loop // v는 삽입된 값이다
입력에 조건부인 블록 출력 거래 출력( Blockchain Transaction Outputs Conditional on Inputs)
이 절에서는 출력이 입력에 조건부인 블록 체인 거래를 생성하는 방법에 대해 설명한다. 이는 공용 도메인에서 사용할 수 있는 서명 유형 SIGHASH_ALL 및 SIGHASH_NONE 사용에 대한 지식을 기반으로 한다: https://bitcoin.org/en/developer-guide#signature-hash-types
서명 유형(Signature Types)
비트코인 서명은 거래의 선택 부분의 해시이다. 선택한 부분은 서명 해시 유형에 의해 결정된다. 임의의 변경은 다른 서명을 만들어 변조를 나타내기 때문에 서명은 해쉬된 부분을 보호한다. 도 1은 거래 예시와 SIGHASH_ALL 및 SIGHASH_NONE을 사용하여 해시된 부분을 보여준다. 입력에 서명할 때 다른 모든 입력의 scriptSigLen & scriptSig는 빈 스크립트로 대체됨을 유의하여야 한다.
거래 생성 방법(Transaction Construction Method)
1. 블록 체인 거래가 생성되고 모든 개체에 의해 입력이 추가된다.
2. 소유자와는 다른 모든 개체는 SIGHASH_NONE을 사용하여 그들의 입력을 서명한다(이는 입력을 잠그기 때문에 수정할 수 없다)
3. 소유자가 출력을 결정하고 거래를 업데이트한다
4. 소유자가 SIGHASH_ALL을 사용하여 이 입력을 서명하면 거래가 완료된다(이는 입력과 출력을 모두 잠근다)
블록 체인 거래로 외부 평가 함수 구현하기(Implementing an Externally Evaluated function as a blockchain Transaction)
본 발명은 전술한 모든 개념 / 방법을 조합할 수 있다.
주요 측면은 다음과 같다.:
· 함수에 대한 입력값은 거래 입력으로 전달되는 공개키에 삽입될 수 있다
· 함수 소유자(즉, 함수 실행을 담당하는 리소스)는 함수를 구현하기 위해 블록 체인에 게시하기 전에 거래를 조사할 수 있다
· 함수 소유자만 함수의 출력을 나타내기 위해 완료전에 거래의 출력 주소를 수정할 수 있다
주요 용어(Key Terms)
명확성을 위해, 이하의 용어는 본 발명의 구현 및 사용 사례를 정의하기 위해 전반적으로 사용될 것이다.
명칭 유형
컨트롤러 함수를 나타내는 거래의 소유자. 이것은 입력이 서명된 후에도 거래의 출력을 갱신할 수 있는 유일한 개체이다
입력 소스 값 포함 공개키가 포함된 입력을 거래에 추가하는 개체 중 하나
값 포함 공개키 이것은 타원 곡선 산술 연산으로 값이 삽입된 (Bitcoin) 공개키이다
공개키 프로토콜 프로토콜은 다음과 같다:
· 송신자와 수신자는 타원 곡선 공개키 / 개인키의 보안값 삽입과 관련된 절에서 설명한대로 파라미터 집합과 삽입 + 추출 방법에 동의한다
· 발신자는 수신자 거래에서 입력 잠금 해제 스크립트 중 하나를 통해 값 포함 공개키를 전달한다 (발신자는 수신자가 어떤 키에 값이 삽입되어 있는지 알려야 함)
구현(Implementation)
1. 컨트롤러는 도 2a와 같이 각 입력 소스에 공개키 프로토콜을 설정한다.
2. 입력 소스는 통신 할 값을 가지며 도 2b와 같이 공개키 프로토콜에 따라 값 포함 공개키를 계산한다
3. 입력 소스는 값 포함 공개키를 사용하여 중간 거래(입력 소스에 의하여 생성됨)의 출력 중 하나에서 사용되는 잠금 스크립트를 작성한다. 중간 거래가 블록 체인에 제출된다; 잠금 스크립트가 P2PKH 또는 P2SH인지는 중요하지 않다. 이것은 도 2c에 나와 있다.
4. 도 2d를 참조하면, 거래가 생성되고, 컨트롤러와 각 입력 소스의 서명되지 않은 입력이 추가된다.
a. 각 입력 소스 별 입력은 그들의 중간 거래, 특히 값 포함 공개키의 출력을 참조합니다.
b. 단계 이전에 이 거래에 모든 입력이 추가되는 한 이 거래 또는 중간 거래가 먼저 생성되는지(즉, 단계 2-3의 순서)는 중요하지 않다
c. 관련된 모든 파티가 이를 변경할 수 있는 한 누가 거래를 생성하는지는 중요하지 않다.
5. 모든 입력 소스는 서명 해시 유형 SIGHASH_NONE을 사용하여 거래에 대한 입력을 서명한다.
a. 이것은 입력을 잠그지만 출력의 변경을 자유롭게 한다
b. 모든 입력이 추가되었을 때, 각 입력 소스에 어떻게 전달되는지 / 확인되는지는 중요하지 않다
6. 도2f를 참조하면, 컨트롤러는 거래의 각 입력 소스의 잠금 해제 스크립트에서 값 포함 공개키를 가져 와서 연관된 공개키 프로토콜을 기반으로 삽입된 값을 추출한다.
a. 값 추출은 비트 코인 거래의 외부에서 수행된다
b. 입력 소스별 모든 입력이 서명되었을 때, 각 입력 소스에 어떻게 전달되는지 / 확인되는지는 중요하지 않다
7. 도2g를 참조하면, 컨트롤러는 추출된 값에 함수를 적용하고 결과를 기반으로 거래 출력을 변경한다.
a. 함수는 비트 코인 거래의 외부에 적용된다.
8. 도2h를 참조하면, 컨트롤러는 SIGHASH_ALL을 사용하여 입력을 서명하고 거래를 블록 체인에 제출한다.
사용 사례 예시 1: XOR 논리 게이트
이제 2 개의 입력 소스를 갖는 XOR 논리 게이트를 표현하기 위해 (비트코인)거래를 사용함으로써 본 발명을 구현하는 사용 사례를 설명하기 위한 예시를 제시한다. 다음 시나리오를 고려하기로 한다.
앨리스는 회사 XYZ 스톡 옵션을 거래하여 추가 수입을 올릴 수 있는 독학 트레이더이다. 그녀는 비트코인에서 지불을 수락하는 특정 온라인 증권 거래소에 계좌를 개설한다. 앨리스는 간단한 거래 봇(Trading Bot), 주가 봇(Share Prices Bot) 및 시장 지수 가치 봇(Market Index Value Bot)을 개발한다(각 "봇"은 자동화 된 작업 또는 프로세스를 수행하도록 구성된 컴퓨터 기반 리소스이다.)
주가 봇 및 시장 지수 가치 봇은 다음과 같이 설정된다:
· 두 봇 모두 주식 시장의 개방 값 범위를 기록한다
· 봇 중 하나가 하루 중 다른 범위로 값이 변경되면 양쪽 봇 모두 거래 봇과 통신한다
· 주가 봇의 스크랩:
o Price of Share XYZ - {P1, P2, ..., P10} *
· 시장 지수 가치 봇의 스크랩 :
o Market Index Value - {M1, M2, ..., M5} *
* 값의 범위를 오름차순으로 나타낸다. P1 <P2 <... <P10
거래 봇은 수신한 시장 데이터를 기반으로 콜옵션및 풋옵션을 구매한다:
입력(Price of Share XYZ) 입력(Market Index Value) 출력
p ∈ { P7, P8, P9, P10 } - 참 m ∈ { M1, M2 } - 참 거짓 - 풋옵션 구매 - 높은 가격이지만 약한 시장. 앨리스, 가격 하락 예상
p ∈ { P7, P8, P9, P10 } - 참 m ∈ { M1, M2 } - 거짓 참 - 콜옵션 구매 - 높은 가격이지만 강한 시장. 앨리스, 가격 상승 예상
p ∈ { P7, P8, P9, P10 } - 거짓 m ∈ { M1, M2 } - 참 참 - 콜옵션 구매 - 저렴한 가격과 약한 시장. 앨리스, 가격 상승 예상
p ∈ { P7, P8, P9, P10 } - 거짓 m ∈ { M1, M2 } - 거짓 거짓 - 풋 옵션 구매 - 저렴한 가격과 강한 시장. 앨리스, 가격 하락 예상
주가 봇 및 시장 지수 가치 봇은 시장 데이터를 보낼 뿐이며, 전략은 알지 못한다는 점에 유의해야 한다.
사용되는 설정
· 앨리스는 거래 봇에게 5BTC를 가지고 있는 개인 / 공개 키쌍 A를 주었다
· 앨리스는 주가 봇에게 1BTC를 가지고 있는 개인 / 공개 키 쌍 X 를 주었다
· 앨리스는 시장 지수 가치 봇에게 1BTC를 가지고 있는 개인 / 공개 키 쌍 Y를 주었다
·교환소는 공개키 E_PUT 및 E_CALL각각에서 풋옵션 및 콜옵션에 대한 지불을 수행한다
단계:
1. 앨리스는 3 개의 봇을 모두 처음으로 실행한다:
a. 거래 봇은 다음 파라미터를 사용하여 주가 봇과 공개키 프로토콜을 설정한다:
파라미터 세부사항
기초 공개키 공개키X
EC생성기 G secp256k1
공유된 비밀 S (개인키 A) x (개인키 X) x G거래봇 및 주가 봇은 서로의 공개키를 사용하여 이것을 계산한다
값의 범위 또는 집합 P1, P2, …, P10
값 포함 수식 X' = X + SHA256(value
Figure pct00005
S) x G
키 전달 방법 공개키 해시 지불 (Pay to Public Key Hash, P2PKH)
b. 거래 봇은 시장 지수 가치 봇으로 다음 파라미터를 사용하여 공개키 프로토콜을 설정한다:
파라미터 세부사항
기초 공개키 공개키 Y
EC생성기 G secp256k1
공유된 비밀 S (개인키 A) x (개인키 Y) x G거래봇 및 주식 시장 지수 가치 봇은 서로의 공개키를 사용하여 이것을 계산한다
값의 범위 또는 집합 M1, M2, …, M5
값 포함 수식 Y' = Y + SHA256(value
Figure pct00006
S) x G
키 전달 방법 공개키 해시 지불 (P2PKH)
2.주가 봇 및 시장 지수 가치 봇은 주식 시장의 개장 값의 범위를 각각 P5 및 M3로 각각 기록한다
3. 시장 지수 가치 봇은 M2에 대한 변화를 감지한다. 두 봇은 거래 봇에게 보내는 값 포함 공개키를 계산한다.
a. 주가 봇:
i. X' = X + SHA256(P5
Figure pct00007
S) x G
b. 시장 지수 가치 봇:
i. Y' = Y + SHA256(M2
Figure pct00008
S) x G
4. 두 봇은 값 포함 공개키를 포함한 P2PKH 잠금 해제 스크립트를 요구하는 출력과 함께 중간 거래를 생성하고 블록 체인에 제출한다;
주가 봇의 중간 거래는 도 3을 참조한다. 출력 1에는 값 포함 공개키 X '가 있는 잠금 해제 스크립트가 필요하다; 출력 2가 주가 봇으로 다시 변경된다
시장 지수 가치 봇의 중간 거래는 도 4를 참조한다. 출력 1에는 값 포함 공개키 Y '이 있는 잠금 해제 스크립트가 필요하다. 출력 2가 주가 봇으로 다시 변경된다
5. 두 봇은 각각의 값 포함 공개키가 포함된 서명되지 않은 거래 입력을 거래 봇에게 보낸다
주가 봇의 입력은 도 5a를 참조한다
시장 지수 가치 봇의 입력은 도 5b를 참조한다
6. 도 6을 참조한다: 거래 봇은 주가 봇 및 시장 지수 가치 봇으로부터 받은 거래 입력을 포함하는 XOR 게이트를 나타내는 거래를 생성한다
7. 도 7을 참조한다: 거래 봇이 주가 봇 및 시장 지수 가치 봇에게 거래의 저장 / 액세스의 세부 정보를 알려주고 그들의 입력에 서명하도록 요청한다
a. 두 봇 모두 SIGHASH_NONE으로 서명하고 입력을 잠근다.
8. 거래 봇은 잠금 해제 스크립트에서 <PubKey X '>를 가져와서, P5와 일치하는 공개키를 찾을 때까지 P1, P2, ..., P10에 대해 값 포함 공개키를 계산한다
9. 거래 봇은 잠금 해제 스크립트에서 <PubKey Y '>를 가져 와서 M2와 일치하는 공개키를 찾을 때까지 M1, M2, ..., M5에 대해 값 포함 공개키를 계산한다
10 거래 봇은 XOR 로직 게이트를 값에 적용하고 콜옵션을 구매해야 한다고 결정한다
a. P5 ∈ { P7, P8, P9, P10 } XOR M2 ∈ { M1, M2 }
b. 거짓 XOR 참
c. 참 - 콜옵션 구매
11. 도 8을 참조한다: 거래 봇이 5BTC를 E_PUT에 보내도록 출력을 업데이트 하고, SIGHASH_ALL을 사용하여 출력에 서명하고, 블록 체인에 제출한다
사용 사례 예시 2: AND 로직 게이트
비트코인 거래를 구현하여 두 개의 입력 소스가 있는 AND 로직 게이트를 나타낸다.
이중 제어(이중 시건장치)전자 결합 잠금 장치를 가지고 있는 금고를 포함하는 은행을 생각해 보기로 한다. 어떤 한 사람도 두 가지 조합을 부여받지 못했고 두 명의 은행 관리자가 동시에 문을 열어야 한다. 동시에 두 가지 조합( '1111'및 '2222')을 올바르게 입력하면 금고 도어가 잠금 해제되며, 그렇지 않으면 금고 경보가 활성화된다. 이것이 AND 게이트의 구현이다.
전체 시스템은 4 개의 개체로 구성된다: 조합 잠금 A, 조합 잠금 B, 제어기 및 금고
AND 로직 컨트롤러: 조합 A == ' 1111' AND 조합 B == '2222'
조합 잠금 A에서 컨트롤러로의 입력 신호 조합 잠금 B에서 컨트롤러로의 입력 신호 AND 로직 컨트롤러 컨트롤러로부터 금고로의 출력 신호
1111 2222 도어 잠금해제
1111 2222를 제외한 기타 모든 4자리 조합 거짓 알람 활성화
1111을 제외한 기타 모든 4자리 조합 2222 거짓 알람 활성화
1111을 제외한 기타 모든 4자리 조합 2222를 제외한 기타 모든 4자리 조합 거짓 알람 활성화
모든 로직 평가는 컨트롤러에 의해 수행된다는 점에 유의해야 한다. 조합 잠금은 단순히 4 자리 코드를 전송하지만 코드가 참 또는 거짓인지 평가하지는 않는다.
사용되는 설정
· 조합 잠금 A는 1BTC를 갖는 개인 / 공개 키 쌍 A를 소유한다
· 조합 잠금 B는 1BTC를 갖는 개인 / 공개 키 쌍 B를 소유한다
· 컨트롤러는 1BTC를 갖는 개인 / 공개 키 쌍 C를 소유한다.
· 금고는 개인 / 공개 키 쌍 V_DOOR 및 V_ALARM을 소유한다.
단계:
1. 시스템을 처음 설치하면, 컨트롤러는 Combination Lock A 및 Combination Lock B가 있는 공개키 프로토콜을 설정하여 신호의 보안 통신을 허용한다:
a. 컨트롤러 & 조합 잠금 A의 공개키 프로토콜 파라미터:
파라미타 세부사항
기초 공개키 공개키 A (조합 잠금A가 소유함)
EC 생성기 G secp256k1
공유된 비밀 S (개인키 A) x (개인키 C) x G컨트롤러 및 조합 잠금 A는 서로의 공개키를 사용하여 이것을 계산함
값의 범위 또는 집합 0000, 0001, …. , 9998, 9999
값 포함 수식 PubKey A' = PubKey A + SHA256(value
Figure pct00009
S) x G
키 전달 방법 공개키 해쉬 지불 (P2PKH)
b. 컨트롤러 및 조합 잠금 B의 공개키 프로토콜 파라미터:
파라미터 세부사항
기초 공개키 공개키 B (조합 잠금B가 소유함)
EC 생성기 G secp256k1
공유된 비밀 S (개인키 B) x (개인키 C) x G컨트롤러 및 조합 잠금 B는 서로의 공개 키를 사용하여 이것을 계산함
값의 범위 또는 집합 0000, 0001, …. , 9998, 9999
값 포함 수식 PubKey B' = PubKey B + SHA256(value
Figure pct00010
S) x G
키 전달 방법 공개키 해쉬 지불(P2PKH)
2. 은행 관리자는 각각 4 자리 코드(1111 및 2222)를 조합 잠금 A 및 조합 잠금 B에 동시에 입력한다. 각 조합 잠금은 4 자리 코드를 값 포함 공개키 (PubKey A' 및 PubKey B')에 삽입한다.
a. 조합 잠금 A:
i. PubKey A' = PubKey A + SHA256('1111'
Figure pct00011
S) x G
b.조합 잠금 B:
ii. PubKey B' = PubKey B + SHA256('2222'
Figure pct00012
S) x G
3. 두 조합 잠금은 각각의 값 포함 공개키에 대한 출력과 함께 비트코인 거래(중간 거래)를 생성하고 블록 체인에 제출한다
a. 조합 잠금 A의 중간 거래: 도 9 참조
출력 1 - 이 출력을 소비하는 입력은 PubKey A '를 컨트롤러에 전달한다
출력 2 - 다시 조합 잠금 A의 공개키 A로 변경
b. 조합 잠금 B의 중간 거래: 도 10 참조
출력 1 - 이 출력을 소비하는 입력은 PubKey B'를 컨트롤러에 전달한다
출력 2 - 다시 조합 잠금 B의 공개키 B로 변경
4. 도11을 참조하면, 두 조합 잠금은 각각의 중간 거래의 출력 1을 소비하는 서명되지 않은 비트코인 거래 입력을 생성한다. 두 조합 잠금은 이 서명되지 않은 비트코인 거래 입력을 컨트롤러로 전송한다
a.조합 잠금 A의 거래 입력 b.조합 잠금 B의 거래 입력:
5. 도12를 참조하면, 컨트롤러는 조합 잠금에서 비트코인 거래 입력을 사용하고 AND 게이트(AND 게이트 거래)를 나타내는 비트코인 거래를 생성한다. 이 거래에는 컨트롤러 자체의 입력이 포함되어 있어 단독으로 출력을 변경할 수 있다
6. 도13을 참조하면, 컨트롤러가 조합 잠금 A와 조합 잠금 B에게 SIGHASH_NONE을 사용하여 AND 게이트 거래에서 각각의 입력에 서명하도록 요청한다. 이것은 출력의 변경을 여전히 허용하는 반면에, 입력을 잠근다
7. 컨트롤러는 조합 잠금 A가 있는 공개키 프로토콜을 사용하여 공개키 A '와 일치하는 값을 찾을 때까지 0000, 0001, ..., 9998, 9999의 각 4 자리 조합에 대해 값 포함 공개키를 계산한다.
a. 컨트롤러는 '1111'이 공개키 A'와 동일한 값 포함 공개키를 생성한다는 것을 알게된다
8. 컨트롤러는 조합 잠금 B가 있는 공개키 프로토콜을 사용하여 공개키 B'와 일치하는 값을 찾을 때까지 0000, 0001, ..., 9998, 9999의 각 4 자리 조합에 대해 값 포함 공개키를 계산한다
a. 컨트롤러는 '2222'가 공개키 B'와 동일한 값 포함 공개키를 생성한다는 것을 알게된다
9. 컨트롤러는 AND 게이트 로직을 조합에 적용한다:
a.조합 A = '1111' AND 조합 B = '2222'
b.참 AND 거짓
c.참 -도어를 잠금 해제하기 위하여 신호를 V_DOOR에 전송
10. 도14를 참조하면, 컨트롤러는 AND 게이트 거래의 출력을 업데이트하여 V_DOOR로 신호를 전송하고, 변경 내용을 다시 원래 상태로 되돌린다. 그런 다음 SIGHASH_ALL을 사용하여 입력을 서명함으로써 모든 입력 및 출력을 잠그고, 이를 블록 체인에 제출한다:
11. V_DOOR에 대한 거래 출력을 볼 때 금고는 금고의 도어를 잠금 해제한다.
사용 사례 예시 3: IMPLY 로직 게이트
이 예시에서는 비트코인 거래를 구현하여 두 개의 입력 소스가 있는 IMPLY 로직 게이트를 나타낸다. 수동 모드를 켜고 끌 수 있는 스위치 A와 랜딩 기어 연장 시스템을 켜고 끄는 스위치 B가 있는 비행기를 고려해보기로 한다. 스위치 A가 꺼져 있으면(자동 랜딩) 랜딩 기어는 스위치 B와 관계없이 항상 확장된다. 스위치 A가 켜져 있으면(수동 모드) 랜딩 기어가 스위치 B를 기준으로 확장된다. 이것이 IMPLY 게이트의 구현이다. 전체 시스템은 스위치 A, 스위치 B, 컨트롤러 및 랜딩 기어의 4 가지 개체로 구성된다.
컨트롤러의 IMPLY 로직: 스위치 A == On IMPLY 스위치 B == On
스위치 A에서 컨트롤러로 입력되는 신호 스위치 B에서 컨트롤러로 입력되는 신호 컨트롤러 IMPLY로직 컨트롤러에서 랜딩 기어 연장 시스템으로의 출력 신호
Off Off 참(자동-모드, 상시 확장) 확장
Off On 참(자동-모드, 상시 확장) 확장
On Off 거짓(수동-모드, 스위치 B에 기초하여 확장) 수납
On On 참 (수동-모드,스위치 B에 기초하여 확장) 확장
모든 로직 평가는 컨트롤러에 의해 수행된다. 스위치는 단순히 상태를 전송한다.
사용되는 설정
· 스위치 A는 1BTC를 갖는 개인 / 공개 키 쌍 A를 소유한다
· 스위치 B는 1BTC를 갖는 개인 / 공개 키 쌍 B를 소유한다
· 컨트롤러는 1BTC를 갖는 개인 / 공개 키 쌍 C를 소유한다
· 랜딩 기어 확장 시스템이 개인 / 공개 키 쌍 L_EXTEND 및 L_RETRACT를 소유한다.
단계
1. 시스템을 처음 설치하면 컨트롤러는 스위치 A와 스위치 B가 있는 공개키 프로토콜을 설정하여 신호의 보안 통신을 허용한다:
a. 컨트롤러 및 스위치 A의 공개키 프로토콜 파라미터:
파라미터 세부 사항
기초 공개키 공개키 A (스위치 A가 소유함)
EC 생성기 G secp256k1
공유된 비밀 S (개인키 A) x (개인키 C) x G컨트롤러 및 스위치 A는 서로의 공개 키를 사용하여 이것을 계산함
값의 범위 또는 집합 On, Off
값 포함 수식 PubKey A' = PubKey A + SHA256(value
Figure pct00013
S) x G
키 전달 방법 공개키 해쉬 지불 (P2PKH)
b. 컨트롤러 및 스위치 B의 공개키 프로토콜 파라미터:
파라미터 세부사항
기초 공개키 공개키B (스위치 B가 소유함)
EC 생성기 G secp256k1
공유된 비밀 S (개인키 B) x (개인키 C) x G컨트롤러 및 스위치 B는 서로의 공개 키를 사용하여 이것을 계산함
값의 범위 또는 집합 On, Off
값 포함 수식 PubKey B' = PubKey B + SHA256(value
Figure pct00014
S) x G
키 전달 방법 공개키 해쉬 지불 (P2PKH)
2. 수동 모드가 현재 작동 중이며(스위치 A가 켜짐), 랜딩 기어가 수납되어 있다(스위치 B가 꺼짐).
3. 조종사는 착륙을 준비하고 스위치 A를 끈다(자동-착륙). 각 스위치는 자신의 상태를 값 포함 공개키(PubKey A' 및 PubKey B')에 삽입시킨다.
a. 스위치 A:
i. PubKey A' = PubKey A + SHA256(Off
Figure pct00015
S) x G
b. 스위치 B:
i. PubKey B' = PubKey B + SHA256(Off
Figure pct00016
S) x G
4. 두 스위치는 비트코인거래(중간 거래)를 생성하고, 블록 체인에 각각의 값 포함 공개키에 대한 출력과 함께 제출한다
a. 스위치 A의 중간 거래: 도 15 참조
출력 1 - 이 출력을 소비하는 입력은 공개키 A'를 컨트롤러에 전달한다
출력 2 - 스위치 A의 공개 키 A로 다시 변경
b. 스위치 B의 중간 거래: 도 16 참조
출력 1 - 이 출력을 소비하는 입력은 공개키 B'를 컨트롤러에 전달한다
출력 2 - 스위치 B의 공개 키 B로 다시 변경
5. 두 스위치는 각각 중간 거래의 출력 1을 소비하는 서명되지 않은 비트코인 거래 입력을 생성한다. 컨트롤러에 이 입력을 전송한다: 도 17 참조
a. 스위치 A의 거래 입력
b. 스위치 B의 거래 입력
6. 컨트롤러는 스위치의 비트코인 거래 입력을 사용하고 IMPLY 게이트(IMPLY 게이트 거래)를 나타내는 비트코인 거래를 생성한다. 도 18 을 참조하면, 이 거래에는 컨트롤러 자체의 입력이 포함되어 있어 단독으로 출력을 변경할 수 있다.
7. 컨트롤러는 스위치 A와 스위치 B에게 SIGHASH_NONE을 사용하여 IMPLY 게이트 거래에서 각각의 입력에 서명하도록 요청한다. 도19를 참조하면, 이것은 여전히 출력의 변경을 허용하는 반면에, 입력은 잠근다.
8. 컨트롤러는 공개키 A'의 매칭을 찾기 위하여, 스위치 A와 자체 공개키 프로토콜을 사용하여 On 및 Off 값 포함 공개키를 계산한다.
a. 컨트롤러는 Off가 공개키 A'와 동일한 값 포함 공개키를 생성하는 것을 발견한다.
9. 컨트롤러는 공개키 B'의 매칭을 찾기 위하여, 스위치 A와 자체 공개키 프로토콜을 사용하여 On 및 Off 값 포함 공개키를 계산한다.
a. 컨트롤러는 Off가 공개키 B'와 동일한 값 포함 공개키를 생성하는 것을 발견한다.
10. 컨트롤러는 IMPLY 게이트 로직을 적용한다:
a. 스위치 A == On IMPLY 스위치 B == On
b. Off == On IMPLY Off == On
c. 거짓 IMPLY 거짓
d. 참 -랜딩 기어를 확장하기 위한 신호를 L_EXTEND에 전송한다
11. 도20을 참조하면, 컨트롤러는 IMPLY Gate 거래의 출력을 업데이트하여 신호를 L_EXTEND로 보내고 변경 내용을 다시 원래 상태로 되돌린다. 그런 다음 SIGHASH_ALL을 사용하여 입력을 서명함으로써 모든 입력 및 출력을 잠그고, 블록 체인에 제출한다.
12. 랜딩 기어 확장 시스템은 L_EXTEND에 대한 거래 출력을 보고 턴온된다
사용 사례 예시 4: NAND 로직 게이트
이 예시에서는 비트코인 거래를 구현하여 두 개의 입력 소스를 가진 NAND 로직 게이트를 나타낸다. 자동차의 경우 각 도어에는 일반적으로 도어가 열렸을 때 열리는 스위치가 있으며, 하나 이상의 도어가 열리면 경고등이 켜져 운전자에게 경고한다. 이것이 NAND 게이트의 구현이다다. 전체 시스템은 스위치 A, 스위치 B, 컨트롤러 및 경고등의 4 가지 개체로 구성된다. 두 스위치 중 하나가 상태를 바꿀 때 컨트롤러에 신호를 보낸다.
컨트롤러의 NAND 로직: 스위치 A = 닫힘 NAND 스위치 B = 닫힘
스위치 A에서 컨트롤러로 입력되는 신호 스위치 B에서 컨트롤러로 입력되는 신호 컨트롤러 NAND로직 컨트롤러에서 경고등으로의 출력 신호
열림 열림 턴온
열림 닫힘 턴온
닫힘 열림 턴온
닫힘 닫힘 거짓 턴오프
모든 로직 평가는 컨트롤러에 의해 수행된다. 스위치는 단순히 열림 또는 닫힘 상태를 컨트롤러로 전송한다.
사용되는 설정
· 스위치 A는 1BTC를 갖는 개인 / 공개 키 쌍 A를 소유한다
· 스위치 B는 1BTC를 갖는 개인 / 공개 키 쌍 B를 소유한다
· 컨트롤러는 1BTC를 갖는 개인 / 공개 키 쌍 C를 소유한다
· 경고등이 개인 / 공개 키 쌍 TURNON 및 L_TURNOFF를 소유한다.
단계:
1. 시스템을 처음 설치하면 컨트롤러는 스위치 A와 스위치 B가 있는 공개키 프로토콜을 설정하여 신호의 보안 통신을 허용한다:
a. 컨트롤러 및 스위치 A의 공개키 프로토콜 파라미터:
파라미터 세부사항
기초 공개키 공개키 A (스위치 A가 소유함)
EC 생성기 G secp256k1
공유된 비밀 S (개인키 A) x (개인키 C) x G컨트롤러 및 스위치 A는 서로의 공개 키를 사용하여 이것을 계산함
값의 범위 또는 집합 On, Off
값 포함 수식 PubKey A' = PubKey A + SHA256(value
Figure pct00017
S) x G
키 전달 방법 공개키 해쉬 지불 (P2PKH)
b. 컨트롤러 및 스위치 B의 공개키 프로토콜 파라미터:
파라미터 세부사항
기초 공개키 공개키B (스위치 B가 소유함)
EC 생성기 G secp256k1
공유된 비밀 S (개인키 B) x (개인키 C) x G컨트롤러 및 스위치 B는 서로의 공개 키를 사용하여 이것을 계산함
값의 범위 또는 집합 On, Off
값 포함 수식 PubKey B' = PubKey B + SHA256(value
Figure pct00018
S) x G
키 전달 방법 공개키 해쉬 지불 (P2PKH)
2. 스위치 A는 도어가 닫힘 상태에서 열림 상태로 변한 것을 감지하고, 스위치 B는 도어가 닫힘 상태를 감지한다. 각 스위치는 그들의 각각의 상태(열림 및 닫힘)를 값 포함 공개키(PubKey A '및 PubKey B')에 삽입한다
a. 스위치 A:
i. PubKey A' = PubKey A + SHA256('열림'
Figure pct00019
S) x G
b. 스위치 B:
i. PubKey B' = PubKey B + SHA256('담힘'
Figure pct00020
S) x G
3. 도 21a 및 도 21b를 참조하면, 두 스위치는 비트코인 거래 (중간 거래)를 생성하고, 블록 체인에 각각의 값 포함 공개키에 대한 출력과 함께 제출한다
a. 스위치 A의 중간 거래: 도 21a 참조
출력 1 - 이 출력을 소비하는 입력은 공개키 A'를 컨트롤러에 전달한다
출력 2 - 스위치 A의 공개 키 A로 다시 변경
b. 스위치 B의 중간 거래: 도 21b 참조
출력 1 - 이 출력을 소비하는 입력은 공개키 B'를 컨트롤러에 전달한다
출력 2 - 스위치 B의 공개 키 B로 다시 변경
4. 도 22를 참조하면, 두 스위치는 각각 중간 거래의 출력 1을 소비하는 서명되지 않은 비트코인 거래 입력을 컨트롤러로 전송한다.
a.스위치 A의 거래 입력:
b.스위치 B의 거래 입력:
5. 컨트롤러는 스위치의 비트코인 거래 입력을 사용하고 NAND 게이트(NAND 게이트 거래)를 나타내는 비트코인 거래를 생성한다. 도 23 을 참조하면, 이 거래에는 컨트롤러 자체의 입력이 포함되어 있어 단독으로 출력을 변경할 수 있다.
6. 도24를 참조하면, 컨트롤러는 스위치 A와 스위치 B에게 SIGHASH_NONE을 사용하여 NAND 게이트 거래에서 각각의 입력에 서명하도록 요청한다. 이것은 여전히 출력의 변경을 허용하는 반면에, 입력은 잠근다.
7. 컨트롤러는 스위치 A와 자체 공개키 프로토콜을 사용하여 열림 및 닫힘 각 상태에 대해 값 포함 공개키를 계산한다.
a. 컨트롤러는 "열림"이 공개키 A'와 동일한 값 포함 공개키를 생성하는 것을 발견한다.
b. 컨트롤러는 스위치 B와 자체 공개키 프로토콜을 사용하여 열림 및 닫힘 각 상태에 대해 값 포함 공개키를 계산한다.
컨트롤러는 "닫힘"이 공개키 B'와 동일한 값 포함 공개키를 생성하는 것을 발견한다
8. 컨트롤러는 NAND 게이트 로직을 스위치 상태에 적용한다:
a. 스위치 A = 닫힘 NAND 스위치 B = 닫힘
b. 거짓 NAND 참
c. 참 - 경고등을 켜기 위한 신호를 L_TURNON에 전송한다
9. 도25를 참조하면, 컨트롤러는 NAND Gate 거래의 출력을 업데이트하여 신호를 L_TURNON로 보내고 변경 내용을 다시 원래 상태로 되돌린다. 그런 다음 SIGHASH_ALL을 사용하여 입력을 서명함으로써 모든 입력 및 출력을 잠그고, 블록 체인에 제출한다.
10. 경고등은 L_TURNON에 대한 거래 출력을 보고 턴온된다
사용 사례 예시 5: NONIMPLY 로직 게이트
이 예시에서는 비트코인 거래를 구현하여 두 개의 입력 소스가 있는 NONIMPLY 논리 게이트를 나타낸다. 자동차의 존재를 감지하는 센서 A와 수동 모드로만 온오프 할 수 있는 스위치 B가 있는 스마트 차도 조명(smart driveway lighting) 시스템을 고려해보기로 한다. 센서 A가 차량을 감지하지 못하면 차도 조명이 꺼진다. 센서 A가 자동차를 감지하면 스위치 B의 수동 모드가 꺼져 있으면 자동으로 차도 조명이 켜진다. 이것이 NONIMPLY 게이트의 구현이다. 전체 시스템은 센서 A, 스위치 B, 컨트롤러 및 차도 조명 4 개의 개체로 구성된다.
컨트롤러의 NONIMPLY 로직: 센서 A == ' 차' IMPLY 스위치 B == '수동 설정'
스위치 A에서 컨트롤러로 입력되는 신호 스위치 B에서 컨트롤러로 입력되는 신호 컨트롤러 NONIMPLY로직 컨트롤러에서 차도 조명으로의 출력 신호
차 없음 수동 꺼짐 거짓 차도 조명 꺼짐
차 없음 수동 켜짐 거짓 차도 조명 꺼짐
차 있음 수동 꺼짐 차도 조명 켜짐
차 있음 수동 켜짐 거짓 차도 조명 꺼짐
모든 로직 평가는 컨트롤러에 의해 수행된다. 센서와 스위치는 단순히 상태를 전송한다.
사용되는 설정:
· 센서 A는 1BTC를 갖는 개인 / 공개 키 쌍 A를 소유한다
· 스위치 B는 1BTC를 갖는 개인 / 공개 키 쌍 B를 소유한다
· 컨트롤러는 1BTC를 갖는 개인 / 공개 키 쌍 C를 소유한다
· 차도 조명이 개인 / 공개 키 쌍 L_ON 및 L_OFF를 소유한다.
단계:
1. 시스템이 처음 설치되면 컨트롤러는 센서 A와 스위치 B가 있는 공개키 프로토콜을 설정하여 신호의 보안 통신을 허용한다:
a. 컨트롤러 및 센서 A의 공개키 프로토콜 파라미터:
파라미터 세부사항
기초 공개키 공개키A (스위치 A가 소유함)
EC 생성기 G secp256k1
공유된 비밀 S (개인키 A) x (개인키 C) x G컨트롤러 및 센서 A는 서로의 공개 키를 사용하여 이것을 계산함
값의 범위 또는 집합 차 있음, 차 없음
값 포함 수식 PubKey A' = PubKey A + SHA256(value
Figure pct00021
S) x G
키 전달 방법 공개키 해쉬 지불(P2PKH)
b. 컨트롤러 및 스위치 B의 공개키 프로토콜 파라미터:
파라미터 세부사항
기초 공개키 공개키 B (스위치 B가 소유함)
EC 생성기 G secp256k1
공유된 비밀 S (개인키 B) x (개인키 C) x GController & Switch B calculates this by using each other's public key 컨트롤러 및 스위치 B는 서로의 공개 키를 사용하여 이것을 계산함
값의 범위 또는 집합 수동 켜짐, 수동 꺼짐
값 포함 수식 PubKey B' = PubKey B + SHA256(value
Figure pct00022
S) x G
키 전달 방법 공개키 해쉬 지불(P2PKH)
2. 센서 A는 현재 자동차를 감지하지 않았으며, 스위치 B는 수동 모드를 끄고 있다.
3. 센서 A가 차도에서 차량을 감지한다. 센서 및 스위치는 해당 상태를 값 포함 공개키(PubKey A '및 PubKey B')에 삽입한다.
a. 센서A:
i. PubKey A' = PubKey A + SHA256(Car
Figure pct00023
S) x G
b. 스위치 B:
i. PubKey B' = PubKey B + SHA256(Manual Off
Figure pct00024
S) x G
4. 두 스위치는 비트코인거래(중간 거래)를 생성하고, 블록 체인에 각각의 값 포함 공개키에 대한 출력과 함께 제출한다
a. 센서 A의 중간 거래: 도 26a 참조
출력 1 -이 출력을 소비하는 입력은 공개키 A'를 컨트롤러에 전달한다
출력 2 - 스위치 A의 공개 키 A로 다시 변경
b. 스위치 B의 중간 거래: 도 26b 참조
출력 1 - 이 출력을 소비하는 입력은 공개키 B'를 컨트롤러에 전달한다
출력 2 - 스위치 B의 공개 키 B로 다시 변경
5. 도 27을 참조하면, 센서 A 및 스위치 B는 각각 그들의 중간 거래의 출력 1을 소비하는 서명되지 않은 비트코인 거래 입력을 생성한다. 센서 A 및 스위치 B는 컨트롤러에 이 입력을 전송한다:
a. 센서A의 거래 입력
b. 스위치 B의 거래 입력
6. 컨트롤러는 센서 및 스위치의 비트코인 거래 입력을 사용하고 NONIMPLY 게이트(NONIMPLY 게이트 거래)를 나타내는 비트코인 거래를 생성한다. 도 28 을 참조하면, 이 거래에는 컨트롤러 자체의 입력이 포함되어 있어 단독으로 출력을 변경할 수 있다.
7. 도29를 참조하면, 컨트롤러는 센서 A와 스위치 B에게 SIGHASH_NONE을 사용하여 NONIMPLY 게이트 거래에서 각각의 입력에 서명하도록 요청한다. 이것은 여전히 출력의 변경을 허용하는 반면에, 입력은 잠근다.
8. 컨트롤러는 공개키 A'의 매칭을 찾기 위하여, 센서 A와 자체 공개키 프로토콜을 사용하여 차 있음 및 차 없음에 대한 값 포함 공개키를 계산한다.
a. 컨트롤러는 '차 있음'이 공개키 A'와 동일한 값 포함 공개키를 생성하는 것을 발견한다.
9. 컨트롤러는 공개키 B의 매칭을 찾기 위하여, 스위치 B'와 자체 공개키 프로토콜을 사용하여 수동 켜짐 및 수동 꺼짐에 대한 값 포함 공개키를 계산한다.
a. 컨트롤러는 '수동 꺼짐'이 공개키 B'와 동일한 값 포함 공개키를 생성하는 것을 발견한다.
10. 컨트롤러는 NONIMPLY 게이트 로직을 적용한다:
a. 센서A == '차 있음' NONIMPLY 스위치 B == '수동 켜짐'
b. '차 있음' == '차 있음' NONIMPLY '수동 꺼짐' == '수동 켜짐'
c. 참 IMPLY 거짓
d. 참 - 차도 조명을 켜기 위한 신호를 L_ON에 전송한다.
11. 도30을 참조하면, 컨트롤러는 NONIMPLY Gate 거래의 출력을 업데이트하여 신호를 L_ON으로 보내고 변경 내용을 다시 원래 상태로 되돌린다. 그런 다음 SIGHASH_ALL을 사용하여 입력을 서명함으로써 모든 입력 및 출력을 잠그고, 블록 체인에 제출한다.
12. 차도 조명은 L_ON에 대한 거래 출력을 보고 켜진다
사용 사례 예시6 : NOT 로직 게이트
이 예시에서는 비트코인 거래르 구현하여 하나의 입력 소스를 가진 NOT 로직 게이트를 나타 낸다. 런던 탑에 있는 크라운 보석이 매년 수백만 명의 방문자에게 전시되는 것을 고려하기로 한다. 임페리얼 스테이트 크라운(Imperial State Crown)이 정상상태에서 닫힌 압력 감지 스위치에 놓여 있다고 가정하기로 한다. 크라운을 스위치에 올려 놓아 알람을 준비시킨다. 스위치에서 크라운을 제거하면 알람이 활성화된다. 이것이 NOT 게이트의 구현이다. 전체 시스템은 컨트롤러, 스위치 및 경보로 구성된다. 스위치는 상태가 바뀔 때 컨트롤러에 신호를 전송한다.
컨트롤러의 NOT 로직: NOT 스위치 = 닫힘
스위치에서의 신호 컨트롤러 NOT로직 컨트롤러에서 알람으로의 출력신호
닫힘 거짓 알람 활성화
열림 알람 준비
사용되는 설정
· 스위치는 1BTC를 갖는 개인 / 공개 키 쌍 X를 소유한다
· 컨트롤러는 1BTC를 갖는 개인 / 공개 키 쌍 C를 소유한다.
· 알람은 개인 / 공개 키 쌍 A_Activate 및 A_Arm을 소유한다
단계:
1. 설치 중에 컨트롤러와 스위치는 다음 파라미터를 사용하여 공개키 프로토콜을 설정한다.
파라미터 세부사항
기초 공개키 공개키 X (스위치의 공개키 사용)
EC 생성기 G secp256k1
공유된 비밀 S (개인키 C) x (개인키 X) x G컨트롤러와 스위치는 서로의 공개 키를 사용하여 이것을 계산함
값의 범위 또는 집합 참, 거짓
값 포함 수식 PubKey X' = PubKey X + SHA256(value
Figure pct00025
S) x G
키 전달 방법 공개키 해쉬 지불(P2PKH)
2. 스위치는 초기에 닫힌 상태이다(크라운이 스위치상에 있음).
3. 스위치는 크라운이 제거되었을 때 변경을 감지한다. 스위치는 '거짓'신호를 값 포함 공개키 (PubKey X')에 삽입한다.
a. PubKey X' = PubKey X + SHA256('false'
Figure pct00026
S) x G
4. 도31을 참조하면, 스위치는 중간 거래를 생성하고, 값 포함 공개키에 대한 출력과 함께 블록 체인에 제출한다.
출력 1 - 이 출력을 소비하는 입력은 공개키 X'를 컨트롤러에 전달한다
출력 2 - 스위치 X의 공개 키 A로 다시 변경
5. 도32를 참조하면, 스위치는 중간 거래의 출력 1을 소비하는 서명되지 않은 비트코인 거래 입력을 컨트롤러로 전송한다.
6. 도33을 참조하면, 컨트롤러는 스위치로부터 수신한 비트코인 거래 입력을 포함하여 NOT 게이트(NOT게이트 거래)를 나타내는 비트코인 거래를 생성한다.
7. 컨트롤러는 스위치로 NOT 게이트 거래에서 입력에 서명하도록 요청하여 잠기도록 한다.
a. 도34를 참조하면, 스위치는 SIGHASH_NONE을 사용하여 서명함으로써 이의 변경을 방지한다
8. 컨트롤러는 '참'및 '거짓'에 대한 값 포함 공개키를 계산하고, 이를 잠금 해제 스크립트의 값 포함 공개키(PubKey X ')와 비교한다. 이는 '거짓'과 일치하는 것을 찾는다.
9. 컨트롤러는 NOT 게이트를 '거짓'값에 적용하고, 경보? 활성화(A_ACTIVATE)신호를 보내야 한다고 결정한다.
10. 도35를 참조하면, 컨트롤러는 NOT 게이트 거래의 출력을 업데이트하여 A_ACTIVATE에 신호를 보내고, 자신의 공개키 C로 다시 변경한다. 그런 다음 SIGHASH_ALL을 사용하여 입력을 서명하고 블록 체인에 제출한다.
출력 1 - 경보 활성화 신호
출력 2 - 컨트롤러의 공개 키 C로 다시 변경
11. 거래 출력이 A_ACTIVATE로 표시되면 경보가 발생하고 활성화된다.
사용 사례 예시 7: OR 로직 게이트
비트코인 거래를 구현하여 두 개의 입력 소스가 있는 OR 논리 게이트를 나타낸다. 내부 및 외부 온도 센서를 사용하는 자동화 된 기류 시스템이 있는 건물을 고려해보기로 한다. 온도 센서는 섭씨 온도 -30에서 50까지 감지한다. 내부 온도가 21 이상이거나 외부 온도가 25 이상이면 기류 시스템이 냉기를 배출한다. 그렇지 않으면 기류 시스템이 온기를 배출한다. 이것이 OR 게이트의 구현이다. 전체 시스템은 온도 센서 A, 온도 센서 B, 컨트롤러 및 기류 시스템의 4 개의 개체로 구성된다. 두 센서 중 어느 하나의 센서가 온도 변화를 감지하면 컨트롤러에 신호를 보낸다.
컨트롤러의 OR 로직: 온도 A > 21 OR 온도 B > 25
온도 센서 A에서 컨트롤러로 입력되는 신호 온도 센서 B에서 컨트롤러로 입력되는 신호 컨트롤러 OR로직 컨트롤러에서 기류 시스템으로의 출력 신호
21, 22, …, 49, 50 26, 27, …, 49, 50 냉기
21, 22, …, 49, 50 -30, -29, …, 24, 25 냉기
-30, -29, …, 19, 20 26, 27, …, 49, 50 냉기
-30, -29, …, 19, 20 -30, -29, …, 24, 25 거짓 온기
. 모든 로직 평가는 컨트롤러에 의해 수행된다. 온도 센서는 단순히 온도 판독 값을 전송하며 뜨거운지 차가운지 평가하지는 않는다.
사용되는 설정
· 온도 센서 A는 1BTC를 갖는 개인 / 공개 키 쌍 A를 소유한다
· 온도 센서 B는 1BTC를 갖는 개인 / 공개 키 쌍 B를 소유한다
· 컨트롤러는 1BTC를 갖는 개인 / 공개 키 쌍 C를 소유한다
· 기류 시스템은 개인 / 공개 키 쌍 S_COOL 및 S_WARM을 소유한다.
단계
1. 시스템이 처음 설치되면, 컨트롤러는 온도 센서 A 및 온도 센서 B가 있는 공개키 프로토콜을 설정하여 신호의 보안 통신을 허용한다:
a. 컨트롤러 및 온도 센서 A의 공개키 프로토콜 파라미터:
파라미터 세부사항
기초 공개키 공개키 A (온도 센서 A가 소유함)
EC 생성기 G secp256k1
공유된 비밀 S (개인키 A) x (개인키 C) x GController & Temp. Sensor A calculates this by using each other's public key 컨트롤러 및 온도. 센서 A는 서로의 공개키를 사용하여 이것을 계산함
값의 범위 또는 집합 -30, -29, …, 49, 50
값 포함 수식 PubKey A' = PubKey A + SHA256(value
Figure pct00027
S) x G
키 전달 방법 공개키 해쉬 지불 (P2PKH)
b.컨트롤러 및 온도 센서 B의 공개키 프로토콜 파라미터:
파라미터 세부사항
기초 공개키 공개키 B (온도 센서 B가 소유함)
EC 생성기 G secp256k1
공유된 비밀 S (개인키B) x (개인키 C) x GController & Temp. Sensor B calculates this by using each other's public key 컨트롤러 및 온도. 센서 B는 서로의 공개키를 사용하여 이것을 계산함
값의 범위 또는 집합 -30, -29, …, 49, 50
값 포함 수식 PubKey B' = PubKey B + SHA256(value
Figure pct00028
S) x G
키 전달 방법 공개키 해쉬 지불(P2PKH)
2. 온도 센서 A는 현재 온도 21을, 온도 센서 B는 현재 온도 27을 판독한다.
3. 온도 센서 A는 21에서 20까지의 온도 변화를 감지한다. 센서는 값 포함 공개키 (PubKey A'및 PubKey B')에 그들의 판독값을 삽입한다.
a. 온도 센서A:
i. PubKey A' = PubKey A + SHA256(20
Figure pct00029
S) x G
b. 온도 센서 B:
i. PubKey B' = PubKey B + SHA256(27
Figure pct00030
S) x G
4. 두 온도 센서는 비트코인 거래 (중간 거래)를 생성하고, 블록 체인에 각각 그들의 값 포함 공개키에 대한 출력과 함께 제출한다
a. 온도 센서 A의 중간 거래: 도 36a 참조
출력 1 - 이 출력을 소비하는 입력은 공개키 A'를 컨트롤러에 전달한다
출력 2 - 온도 센서 A의 공개 키 A로 다시 변경
b. 스위치 B의 중간 거래: 도 36b 참조
출력 1 - 이 출력을 소비하는 입력은 공개키 B'를 컨트롤러에 전달한다
출력 2 - 온도 센서 B의 공개 키 B로 다시 변경
5. 도 37을 참조하면, 두 온도 센서는 각각 중간 거래의 출력 1을 소비하는 서명되지 않은 비트코인 거래 입력을 생성하고, 컨트롤러로 전송한다.
a.온도 센서 A의 거래 입력
b.온도 센서 B의 거래 입력
6. 도38을 참조하면, 컨트롤러는 온도 센서의 비트코인 거래 입력을 사용하고 OR 게이트(OR 게이트 거래)를 나타내는 비트코인 거래를 생성한다. 이 거래에는 컨트롤러 자체의 입력이 포함되어 있어 단독으로 출력을 변경할 수 있다.
7. 도39를 참조하면, 컨트롤러는 온도 센서 A와 온도 센서 B에게 SIGHASH_NONE을 사용하여 OR 게이트 거래에서 그들 각각의 입력에 서명하도록 요청한다. 이것은 여전히 출력의 변경을 허용하는 반면에, 입력은 잠근다.
8. 컨트롤러는 공개키 A'에 일치하는 것을 찾을 때까지, 온도 센서 A와 자체 공개키 프로토콜을 사용하여 -30, -29, …, 49, 50등 각 온도에 대하여 값 포함 공개키를 계산한다.
a. 컨트롤러는 20이 공개키 A'와 동일한 값 포함 공개키를 생성하는 것을 발견한다.
9. 컨트롤러는 공개키 B'에 일치하는 것을 찾을 때까지, 온도 센서 B와 자체 공개키 프로토콜을 사용하여 -30, -29, …, 49, 50등 각 온도에 대하여 값 포함 공개키를 계산한다.
a. 컨트롤러는 27이 공개키 B'와 동일한 값 포함 공개키를 생성하는 것을 발견한다.
10. 컨트롤러는 OR 게이트 로직을 온도 판독에 적용한다:
a. 온도 센서 A > 21 OR 온도 센서 B > 25
b. 20 > 21 OR 27 > 25
c. 거짓 OR 거짓
d. 참 -냉기를 배출하기 위한 신호를 S_COOL로 전송한다
11.도40을 참조하면, 컨트롤러는 OR Gate 거래의 출력을 업데이트하여 신호를 S_COOL로 보내고 변경 내용을 다시 원래 상태로 되돌린다. 그런 다음 SIGHASH_ALL을 사용하여 입력을 서명함으로써 모든 입력 및 출력을 잠그고, 블록 체인에 제출한다
12. 기류 시스템은 S_COOL에 대한 거래 출력을 보고 냉기를 배출한다.
사용사례 예시 8: XNOR 로직 게이트
이 예시에서는 비트코인 거래를 구현하여 두 개의 입력 소스를 가진 XNOR 로직 게이트를 나타낸다. 크리켓 공과 크리켓 공 코르크를 생산하는 생산 시스템을 고려해보기로 한다. 두 항목 모두 두 개의 스캐너 A와 B가 있는 동일한 품질 컨트롤을 통과한다. 스캐너 A는 공이 빨간색인지 0, 5, 10, ..., 95, 100 %에서 판독되는 신뢰도를 제공한다. 스캐너 B는 볼에 스티치가 있는지 여부를 0, 5, 10, ..., 95, 100 %로 판독되는 신뢰도를 제공한다. 공에 두 가지 특징이 모두 있는 경우 정상적인 공으로 허용된다. 공에 모든 특징이 없으면 이것 역시 코르크로 허용된다. 공이 특징 중 하나만 가지고 있다면 결함이기 때문에 거부된다. 이것이 XNOR 게이트의 구현이다.
전체 시스템은 스캐너 A, 스캐너 B, 컨트롤러 및 생산 시스템의 4 가지 개체로 구성된다. 두 스캐너는 어느 한 스캐너가 변경을 감지하면 컨트롤러에 신뢰도를 보낸다.
컨트롤러의XNOR 로직: 스캐너 신뢰도 A > 90% XNOR 스캐너 신뢰도 B > 60%
스티치 감지는 빨간색 감지보다 정확하지 않으므로, 스캐너 B에 허용되는 값의 범위가 더 넓어진다.
스캐너 A에서 컨트롤러로 입력되는 신호 스캐너 B에서 컨트롤러로 입력되는 신호 컨트롤러 XNOR로직 컨트롤러에서 생산 시스템으로의 출력 신호
0, 5, …, 75, 90% 0, 5, …, 55, 60% 허용
0, 5, …, 75, 90% 65, 70, …, 95, 100% 거짓 불허
95, 100% 0, 5, …, 55, 60% 거짓 불허
95, 100% 65, 70, …, 95, 100% 허용
모든 로직 평가는 컨트롤러에 의해 수행된다. 스캐너는 단순히 자신의 신뢰도 판독 결과를 보낼뿐이며, 화재가 있다고 가정할만큼 충분히 높은지 평가하지는 않는다.
사용되는 설정
· 스캐너 A는 1BTC를 갖는 개인 / 공개 키 쌍 A를 소유한다
· 스캐너 B는 1BTC를 갖는 개인 / 공개 키 쌍 B를 소유한다
· 컨트롤러는 1BTC를 갖는 개인 / 공개 키 쌍 C를 소유한다
· 생산 시스템은 개인 / 공개 키 쌍 S_ACCEPT 및 S_REJECT를 소유한다.
단계:
1. 시스템을 처음 설치하면, 컨트롤러는 스캐너 A와 스캐너 B가 있는 공개키 프로토콜을 설정하여 신호의 보안 통신을 허용한다.
a. 컨트롤러 및 스캐너 A의 공개키 프로토콜 파라미터:
파라미터 세부사항
기초 공개키 공개키 A (스캐너 A가 소유함)
EC 생성기 G secp256k1
공유된 비밀 S (개인키 A) x (개인키 C) x G컨트롤러 및 스캐너 A는 서로의 공개 키를 사용하여 이것을 계산함
값의 범위 또는 집합 0, 5, …, 95, 100%
값 포함 수식 PubKey A' = PubKey A + SHA256(value
Figure pct00031
S) x G
키 전달 방법 공개키 해쉬 지불 (P2PKH)
b. 컨트롤러 및 스캐너 B의 공개키 프로토콜 파라미터:
파라미터 세부사항
기초 공개키 공개키 B (스캐너 B가 소유함)
EC 생성기 G secp256k1
공유된 비밀 S (개인키 B) x (개인키 C) x G컨트롤러 및 스캐너 B는 서로의 공개 키를 사용하여 이것을 계산함
값의 범위 또는 집합 0, 5, …, 95, 100%
값 포함 수식 PubKey B' = PubKey B + SHA256(value
Figure pct00032
S) x G
키 전달 방법 공개키 해쉬 지불(P2PKH)
2. 공이 스캐너를 통과한다. 스캐너 A는 100 % 일치를 판독한다. 스캐너 B는 75 % 일치를 판독한다.
3. 각 스캐너는 값 포함 공개키(PubKey A '및 PubKey B')에 해당 판독값을 삽입한다.
a. 스캐너 A:
i. PubKey A' = PubKey A + SHA256(100%
Figure pct00033
S) x G
b. 스캐너 B:
i. PubKey B' = PubKey B + SHA256(75%
Figure pct00034
S) x G
4. 두 스캐너는 비트코인 거래 (중간 거래)를 생성하고, 블록 체인에 각각 그들의 값 포함 공개키에 대한 출력과 함께 제출한다
d. 스캐너 A의 중간 거래: 도 41a 참조
출력 1 - 이 출력을 소비하는 입력은 공개키 A'를 컨트롤러에 전달한다
출력 2 - 스캐너 A의 공개 키 A로 다시 변경
e. 스캐너 B의 중간 거래: 도 41b 참조
출력 1 - 이 출력을 소비하는 입력은 공개키 B'를 컨트롤러에 전달한다
출력 2 - 스캐너 B의 공개 키 B로 다시 변경
5. 도 42를 참조하면, 두 스캐너는 그들 각각의 중간 거래의 출력 1을 소비하는 서명되지 않은 비트코인 거래 입력을 생성하고, 컨트롤러로 전송한다.
a.스캐너 A의 거래 입력
b.스캐너 A의 거래 입력
6. 도43을 참조하면, 컨트롤러는 스캐너의 비트코인 거래 입력을 사용하고 XNOR 게이트(XNOR 게이트 거래)를 나타내는 비트코인 거래를 생성한다. 이 거래에는 컨트롤러 자체의 입력이 포함되어 있어 단독으로 출력을 변경할 수 있다.
7. 도44를 참조하면, 컨트롤러는 스캐너 A와 스캐너 B에게 SIGHASH_NONE을 사용하여 XNOR 게이트 거래에서 그들 각각의 입력에 서명하도록 요청한다. 이것은 여전히 출력의 변경을 허용하는 반면에, 입력은 잠근다
8. 컨트롤러는 공개키 A'에 일치하는 것을 찾을 때까지, 스캐너 A와 자체 공개키 프로토콜을 사용하여 0, 5, …, 95, 100%등 각 신뢰도에 대하여 값 포함 공개키를 계산한다.
a. 컨트롤러는 100%가 공개키 A'와 동일한 값 포함 공개키를 생성하는 것을 발견한다.
9. 컨트롤러는 공개키 B'에 일치하는 것을 찾을 때까지, 스캐너 B와 자체 공개키 프로토콜을 사용하여 0, 5, …, 95, 100%등 각 신뢰도에 대하여 값 포함 공개키를 계산한다.
a. 컨트롤러는 75%가 공개키 B'와 동일한 값 포함 공개키를 생성하는 것을 발견한다.
10. 컨트롤러는 NOR 게이트 로직을 온도 판독에 적용한다:
a. 스캐너 신뢰도A > 90% XNOR 스캐너 신뢰도 B > 60%
b. 100 > 60 XNOR 75 > 60
c. 참 OR 참
d. 참 - 공을 허용하는 신호를 S_ACCEPT로 전송한다.
11.도45를 참조하면, 컨트롤러는 XNOR Gate 거래의 출력을 업데이트하여 신호를 S_ACCEPT로 보내고 변경 내용을 다시 원래 상태로 되돌린다. 그런 다음 SIGHASH_ALL을 사용하여 입력을 서명함으로써 모든 입력 및 출력을 잠그고, 블록 체인에 제출한다
12. 시스템은 S_ACCEPT에 대한 거래 출력을 보고 공의 패키징 작업이 계속되는 것을 허용한다.
전술한 실시예들은 본 발명을 제한하는 것이 아닌 예시임을 알아야하며, 당업자는 첨부된 청구 범위에 의해 정의된 본 발명의 범위를 벗어나지 않고 많은 대안적인 실시 예를 설계 할 수 있음을 알아야 한다. 청구 범위에서, 괄호안의 임의의 참조 부호는 청구 범위를 제한하는 것으로 해석되어서는 안된다. 용어 "포함하는" 및 "포함한다" 등은 청구 범위 또는 명세서 전체에 열거된 요소 또는 단계 이외의 요소의 존재를 배제하지 않는다. 본 명세서에서, "포함한다"는 "포함하거나 구성된다"를 의미하고 "포함하는"은 "포함하거나 구성되는"을 의미한다. 요소의 단일 참조는 이러한 요소의 복수 참조를 배제하지 않으며, 그 반대도 마찬가지이다. 본 발명은 몇몇 별개의 요소들을 포함하는 하드웨어에 의해, 그리고 적합하게 프로그래밍 된 컴퓨터에 의해 구현 될 수 있다. 여러 수단들을 열거하는 장치 청구항에서, 이들 수단들 중 몇몇은 하나의 동일한 하드웨어 아이템에 의해 구현 될 수 있다. 특정 측정 값이 서로 다른 종속 항에서 인용된다는 단순한 사실만으로 이 측정 값의 조합을 활용할 수 없다는 것을 의미하지는 않는다.

Claims (22)

  1. 로직 부분을 실행하는 컴퓨터 구현 방법으로서, 상기 방법은,
    값을 포함하는 적어도 하나의 서명된 입력; 및 적어도 하나의 변경 가능한 출력;을 포함하는 블록 체인 거래를 생성하는 단계;
    상기 서명된 입력으로부터 상기 값을 추출하고 로직 부분에 제공하여 결과를 획득하는 단계; 및
    상기 거래가 상기 결과를 나타내도록 상기 결과를 사용하여 상기 거래의 출력을 변경하는 단계를 포함하는 방법.
  2. 제 1 항에 있어서, 상기 로직 부분은 상기 거래 및 상기 블록 체인 중 하나 또는 모두에 대해 외부에 있는 방법.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 거래 및 상기 블록 체인 중 하나 또는 둘 모두의 외부에 있는 컨트롤러는 상기 결과를 얻기 위해 상기 추출된 값에 상기 로직 부분을 적용하고, 상기 결과에 기초하여 상기 거래의 출력을 변경하기 위해 상기 거래와 통신하는 방법.
  4. 이전 청구항 중 어느 한 항에있어서, 상기 로직 부분은 상기 거래 및 상기 블록 체인 중 하나 또는 둘 모두의 외부에 있는 시스템을 나타내고, 상기 방법은 상기 거래의 상기 변경된 출력에 기초하여 상기 외부 시스템의 상태를 변경하는 단계를 더 포함하는 방법.
  5. 이전 청구항 중 어느 한 항에 있어서, 상기 로직 부분은 로직 게이트의 기능을 구현하도록 구성되는 방법.
  6. 제 5 항에 있어서, 상기 논리 게이트는 AND, NOT, OR, NOR, XOR, IMPLY, NAND, NONIMPLY 또는 XNOR 게이트인 방법.
  7. 이전 청구항 중 어느 한 항에 있어서, 상기 거래를 블록 체인에 제출하는 단계를 더 포함하는 방법.
  8. 이전 청구항 중 어느 한 항에 있어서, 상기 서명된 입력은 잠금 해제 스크립트를 사용하여 상기 거래에 제공되는 방법.
  9. 이전 청구항 중 어느 한 항에 있어서, 상기 적어도 하나의 입력은 상기 입력을 변경 불가능한 것으로서 렌더링 한 서명 해시 타입을 사용하여 서명되는 방법.
  10. 제 9 항에 있어서, 상기 서명 해시 타입은 SIGHASH_NONE인 방법.
  11. 이전 청구항 중 어느 한 항에 있어서, 상기 거래는 적어도 하나의 서명되지 않은 입력을 더 포함하는 방법.
  12. 제 11 항에 있어서, 상기 출력이 변경된 후에 상기 서명되지 않은 입력에 서명하는 단계를 더 포함하는 방법.
  13. 제 12 항에 있어서, 상기 서명되지 않은 입력은 전체 거래의 변경을 방지하는 서명 해시 타입을 사용하여 서명되는 방법.
  14. 제 13 항에 있어서, 상기 서명 해시 타입은 SIGHASH_ALL인 방법.
  15. 이전 청구항 중 어느 한 항에있어서, 상기 값은,
    상기 서명된 입력과 관련된 공개키에 삽입되며; 그리고,
    상기 공개키에서 추출되어 상기 로직 부분에 제공되는 방법.
  16. 제 15 항에 있어서, 프로토콜을 설정 및 / 또는 선택하고 상기 프로토콜을 사용하여 상기 값을 상기 공개키에 삽입하는 단계를 더 포함하는 방법.
  17. 제 15 항 또는 제 16 항에 있어서, 상기 공개키는 중간 블록 체인 거래에서 잠금 스크립트를 생성하는데 사용되는 방법.
  18. 제 17 항에 있어서, 중간 거래를 블록 체인에 제출하는 단계를 더 포함하는 방법.
  19. 제 15 항 내지 제 18 항 중 어느 한 항에 있어서, 상기 값은 하기 수학식에 따라 새로운 공개키 (P ')를 생성함으로써 상기 공개키에 삽입되는 방법.
    P' = P + HASH(value
    Figure pct00035
    S) x G
    (여기서, P는 기초 또는 초기 공개 키이고, G는 타원 곡선 함수이고(예: secp256k1), x는 스칼라에 의한 타원 곡선 곱을 나타내고,
    Figure pct00036
    는 타원 곡선 합을 나타낸다)
  20. 제 15 항 내지 제 19 항 중 어느 한 항에 있어서, 하기 수학식에 따라 상기 새로운 공개키에 대응하는 새로운 개인키(V')를 생성하는 단계를 더 포함하는 방법.
    V' = V + 해시 (값 + S)
  21. 제 15 항 제20항 중 어느 한 항에 있어서, 상기 공개키에 삽입된 상기 값은 특정 값의 범위내에서 선택되는 방법.
  22. 컴퓨터 구현 시스템에 있어서,
    이전 청구항 중 임의의 단계(들)을 수행하도록 구성된 적어도 하나의 컴퓨터 - 기반 자원; 및
    블록 체인을 포함하는 시스템.
KR1020197002687A 2016-07-05 2017-06-30 외부 프로세스 또는 시스템을 제어하기 위한 블록 체인-구현 제어 방법 및 시스템 KR102467625B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1611698.0 2016-07-05
GBGB1611698.0A GB201611698D0 (en) 2016-07-05 2016-07-05 Blockchain-implemented control method and system
PCT/IB2017/053957 WO2018007916A1 (en) 2016-07-05 2017-06-30 A blockchain-implemented control method and system for controlling an external process or system

Publications (2)

Publication Number Publication Date
KR20190025942A true KR20190025942A (ko) 2019-03-12
KR102467625B1 KR102467625B1 (ko) 2022-11-16

Family

ID=56891040

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197002687A KR102467625B1 (ko) 2016-07-05 2017-06-30 외부 프로세스 또는 시스템을 제어하기 위한 블록 체인-구현 제어 방법 및 시스템

Country Status (9)

Country Link
US (2) US11463260B2 (ko)
EP (1) EP3482365A1 (ko)
JP (3) JP7096774B2 (ko)
KR (1) KR102467625B1 (ko)
CN (1) CN109478278B (ko)
GB (1) GB201611698D0 (ko)
SG (2) SG10202112767PA (ko)
WO (1) WO2018007916A1 (ko)
ZA (1) ZA201900510B (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102464299B1 (ko) * 2016-07-29 2022-11-07 엔체인 홀딩스 리미티드 블록체인 구현 방법 및 시스템
CN106980649B (zh) 2017-02-28 2020-07-10 创新先进技术有限公司 写入区块链业务数据的方法和装置及业务子集合确定方法
EP3525498B1 (en) * 2018-02-08 2022-04-20 Sony Group Corporation Electronic devices, systems and methods for vehicular communication
US10693637B2 (en) * 2018-03-23 2020-06-23 Belavadi Nagarajaswamy Ramesh System and method for composite-key based blockchain device control
JP7372938B2 (ja) 2018-05-14 2023-11-01 エヌチェーン ライセンシング アーゲー ブロックチェーンを使って原子的スワップを実行するためのコンピュータ実装されるシステムおよび方法
CN108830463B (zh) * 2018-05-29 2021-03-19 厦门哈希科技有限公司 一种评价记录的存储方法、装置、存储介质及系统
WO2019227457A1 (en) * 2018-06-01 2019-12-05 Nokia Technologies Oy Method and apparatus for decentralized trust evaluation in a distributed network
US11227282B2 (en) 2018-08-20 2022-01-18 Probloch LLC Time-bounded activity chains with multiple authenticated agent participation bound by distributed single-source-of-truth networks that can enforce automated value transfer
KR102218884B1 (ko) * 2018-11-28 2021-02-24 주식회사 이와이엘 블록체인 기반의 양자 엔트로피 소스를 이용한 사용자 인증 방법 및 시스템
US11455846B2 (en) 2019-01-03 2022-09-27 International Business Machines Corporation Consensus vehicular collision properties determination
US20210092127A1 (en) * 2019-09-19 2021-03-25 Microsoft Technology Licensing, Llc Writing role-backed access control to chain
GB2614077A (en) * 2021-12-21 2023-06-28 Nchain Licensing Ag Signature-based atomic swap

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006311477A (ja) * 2005-04-29 2006-11-09 Microsoft Corp 同種写像ベースの署名の生成および検証のためのシステムおよび方法
US20150379510A1 (en) * 2012-07-10 2015-12-31 Stanley Benjamin Smith Method and system to use a block chain infrastructure and Smart Contracts to monetize data transactions involving changes to data included into a data supply chain.
US20160085955A1 (en) * 2013-06-10 2016-03-24 Doosra, Inc. Secure Storing and Offline Transferring of Digitally Transferable Assets

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5511121A (en) 1994-02-23 1996-04-23 Bell Communications Research, Inc. Efficient electronic money
FR2744309B1 (fr) * 1996-01-26 1998-03-06 Bull Cp8 Procede de communicatin cryptographique asymetrique, et objet portatif associe
KR101061906B1 (ko) 2004-02-19 2011-09-02 삼성전자주식회사 전력분석공격에 안전한 기본 연산 장치 및 방법
US8256010B2 (en) * 2009-04-01 2012-08-28 Microsoft Corporation Providing access to a data item using access graphs
US8484723B2 (en) * 2009-06-05 2013-07-09 Signix, Inc. Method and system for signing and authenticating electronic documents via a signature authority which may act in concert with software controlled by the signer
US8452969B2 (en) * 2009-09-16 2013-05-28 GM Global Technology Operations LLC Flexible broadcast authentication in resource-constrained systems: providing a tradeoff between communication and computational overheads
US8509426B1 (en) 2010-12-01 2013-08-13 King Fahd University Of Petroleum And Minerals XZ-elliptic curve cryptography system and method
CN102629403B (zh) * 2012-03-14 2014-07-16 深圳市紫金支点技术股份有限公司 一种基于atm设备的u盘授权方法及系统
US9876775B2 (en) 2012-11-09 2018-01-23 Ent Technologies, Inc. Generalized entity network translation (GENT)
US20150206106A1 (en) 2014-01-13 2015-07-23 Yaron Edan Yago Method for creating, issuing and redeeming payment assured contracts based on mathemematically and objectively verifiable criteria
US20150213433A1 (en) * 2014-01-28 2015-07-30 Apple Inc. Secure provisioning of credentials on an electronic device using elliptic curve cryptography
US9331856B1 (en) * 2014-02-10 2016-05-03 Symantec Corporation Systems and methods for validating digital signatures
CA3004250C (en) * 2014-03-18 2019-10-29 nChain Holdings Limited Virtual currency system
US11195154B2 (en) 2014-03-27 2021-12-07 Nokia Technologies Oy Method and apparatus for automatic inter-device authorisation
US9705683B2 (en) 2014-04-04 2017-07-11 Etas Embedded Systems Canada Inc. Verifiable implicit certificates
CA2985040A1 (en) * 2014-05-06 2015-12-03 Case Wallet, Inc. Cryptocurrency virtual wallet system and method
JP6813477B2 (ja) 2014-05-09 2021-01-13 ヴェリタセウム アイエヌシー. 信頼度が低い、または信頼度が皆無の当事者間での価値転送を円滑化する装置、システム、または方法
US20150356523A1 (en) * 2014-06-07 2015-12-10 ChainID LLC Decentralized identity verification systems and methods
US10148441B2 (en) 2014-09-12 2018-12-04 Verisign, Inc. Systems, devices, and methods for detecting double signing in a one-time use signature scheme
US9705501B2 (en) * 2014-10-01 2017-07-11 Maxim Integrated Products, Inc. Systems and methods for enhancing confidentiality via logic gate encryption
EP3013014A1 (en) * 2014-10-21 2016-04-27 Gemalto Sa Method for accessing a service, corresponding first device, second device and system
US10409827B2 (en) * 2014-10-31 2019-09-10 21, Inc. Digital currency mining circuitry having shared processing logic
CN104463001A (zh) * 2014-12-19 2015-03-25 比特卡国际有限公司 一种独立生成和保存加密数字货币私钥的方法及承载加密数字货币私钥的装置
EP3278287A4 (en) 2015-03-31 2018-08-22 Nasdaq, Inc. Systems and methods of blockchain transaction recordation
US20170091756A1 (en) * 2015-07-14 2017-03-30 Fmr Llc Point-to-Point Transaction Guidance Apparatuses, Methods and Systems
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
KR102464299B1 (ko) * 2016-07-29 2022-11-07 엔체인 홀딩스 리미티드 블록체인 구현 방법 및 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006311477A (ja) * 2005-04-29 2006-11-09 Microsoft Corp 同種写像ベースの署名の生成および検証のためのシステムおよび方法
US20150379510A1 (en) * 2012-07-10 2015-12-31 Stanley Benjamin Smith Method and system to use a block chain infrastructure and Smart Contracts to monetize data transactions involving changes to data included into a data supply chain.
US20160085955A1 (en) * 2013-06-10 2016-03-24 Doosra, Inc. Secure Storing and Offline Transferring of Digitally Transferable Assets

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
‘White Paper’, GitHub(2016.04.14. 게재)* *

Also Published As

Publication number Publication date
ZA201900510B (en) 2023-07-26
JP2023162388A (ja) 2023-11-08
WO2018007916A1 (en) 2018-01-11
US11463260B2 (en) 2022-10-04
GB201611698D0 (en) 2016-08-17
CN109478278A (zh) 2019-03-15
SG11201811008RA (en) 2019-01-30
CN109478278B (zh) 2024-03-08
KR102467625B1 (ko) 2022-11-16
SG10202112767PA (en) 2021-12-30
EP3482365A1 (en) 2019-05-15
JP2019526192A (ja) 2019-09-12
JP7344350B2 (ja) 2023-09-13
US20210194697A1 (en) 2021-06-24
JP2022126806A (ja) 2022-08-30
US20230144153A1 (en) 2023-05-11
JP7096774B2 (ja) 2022-07-06

Similar Documents

Publication Publication Date Title
KR102467625B1 (ko) 외부 프로세스 또는 시스템을 제어하기 위한 블록 체인-구현 제어 방법 및 시스템
CN109478280B (zh) 区块链实现的方法和系统
KR102416506B1 (ko) 블록체인을 이용한 논리 게이트 기능 구현
KR102568506B1 (ko) 블록체인 아키텍처와 물리적 마킹에 기반한 가상화폐 시스템
CN102959559B (zh) 用于产生证书的方法
US20190130086A1 (en) Systems and methods for securing access to storage and retrieval systems
TW201837805A (zh) 基於未判定資料保證區塊鏈交易的安全
CN111295655B (zh) 用于一个或多个进程的分布式隐私保护共享执行的计算机系统和方法
US20230103038A1 (en) Method for directly transferring electronic coin data sets between terminals, payment system, currency system and monitoring unit
AU2021201672B2 (en) Computer system and method for distributed privacy-preserving shared execution of one or more processes
US20080313088A1 (en) Identification verification system
CN109564536A (zh) 伪造品防止
CN116235460A (zh) 认证系统和方法
CN116324772A (zh) 验证系统和方法
JP2002502925A (ja) 電子キーと電子ロック間におけるアクセス制御のプロトコル
Buldin et al. Next generation industrial blockchain-based wireless sensor networks
CN116057554A (zh) 管理交易数据组的方法、参与者单元、交易登记册和支付系统
US20240127233A1 (en) Blockchain locking mechanism using paper share certificate
CN117296295A (zh) 钱包应用程序实例化、用于使用puf设备对区块链事务进行签名的密钥导出
Kavya Survey on encryption approaches using information fusion with biometrics
EVANGELISTA Security Target SOMA-c003 Electronic Passport Basic

Legal Events

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