KR20200096248A - 암호 자료를 안전하게 공유하기 위한 시스템 및 방법 - Google Patents
암호 자료를 안전하게 공유하기 위한 시스템 및 방법 Download PDFInfo
- Publication number
- KR20200096248A KR20200096248A KR1020207017958A KR20207017958A KR20200096248A KR 20200096248 A KR20200096248 A KR 20200096248A KR 1020207017958 A KR1020207017958 A KR 1020207017958A KR 20207017958 A KR20207017958 A KR 20207017958A KR 20200096248 A KR20200096248 A KR 20200096248A
- Authority
- KR
- South Korea
- Prior art keywords
- computer
- participants
- computing entity
- points
- implementation method
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 87
- 230000006870 function Effects 0.000 claims description 17
- 238000004891 communication Methods 0.000 claims description 10
- 238000013507 mapping Methods 0.000 claims description 4
- 238000012795 verification Methods 0.000 description 31
- 230000008569 process Effects 0.000 description 21
- 238000011156 evaluation Methods 0.000 description 15
- 238000004590 computer program Methods 0.000 description 11
- 238000013515 script Methods 0.000 description 8
- 238000012546 transfer Methods 0.000 description 7
- 230000014509 gene expression Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 239000000872 buffer Substances 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000001052 transient effect Effects 0.000 description 3
- RTZKZFJDLAIYFH-UHFFFAOYSA-N Diethyl ether Chemical compound CCOCC RTZKZFJDLAIYFH-UHFFFAOYSA-N 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 102100021733 NUAK family SNF1-like kinase 2 Human genes 0.000 description 1
- 101710151812 NUAK family SNF1-like kinase 2 Proteins 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/17—Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
- G06F7/724—Finite field arithmetic
- G06F7/725—Finite field arithmetic over elliptic curves
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/3026—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters details relating to polynomials generation, e.g. generation of irreducible polynomials
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3093—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3218—Cryptographic 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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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/3239—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
-
- H04L2209/38—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
- H04L9/0841—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Storage Device Security (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
본원에 설명된 시스템 및 방법은 다수의 당사자 각각이, 공유된 시크릿을 노출시키지 않고서, 공유된 시크릿에 기초하는 수량(예를 들어, 공유된 시크릿의 파워)을 생성 및 교환하는 기술에 관한 것이다. 프로토콜에 따라, 둘 이상의 당사자는, 공유된 시크릿의 파워를 결정하기 위해, 둘 이상의 당사자에 의해, 사용될 수 있는 다항식에 대해 생성된 타원 곡선 포인트의 세트를 교환할 수 있다. 프로토콜은, 블록체인 네트워크(예를 들어, 비트코인)에 브로드캐스팅된 스마트 계약에 대한 파라미터를 결정하는 것의 부분으로서 활용될 수 있다. 프로토콜에 기초하여, 부가적인 당사자(예를 들어, 둘 이상의 당사자와 상이한 제 3 당사자)는 스마트 계약의 실행과 같은 계산적 작업을 수행할 수 있다.
Description
본 발명은 일반적으로 컴퓨터 보안 및 검증에 관한 것이며, 더 구체적으로, 다수(예를 들어, 둘 이상)의 당사자가 그룹의 요소를 공유하도록 허용하는 기술에 관한 것이며, 그의 지수 또는 곱셈 계수는 공유된 시크릿의 파워(power)에 의존한다. 다수의 당사자가 공유된 시크릿을 노출시키지 않고서, 공유된 시크릿에 기초하는 수량(quantity)(예를 들어, 공유된 시크릿의 파워)을 교환하도록 수량이 공유될 수 있다. 본 발명은 스마트 계약(smart contract)에서의 사용에 특히 적합하지만, 이에 제한되지는 않고, 여기서 다수의 당사자는 스마트 계약에 대한 파라미터에 합의하는 스마트 계약의 개개의 당사자일 수 있다. 본 발명은 보안 관련 장점을 위해 수량을 공유하는 암호 및 수학 기술을 활용할 수 있다.
블록체인은, 결국에는, 트랜잭션(transaction) 및 다른 정보로 구성될 수도 있는, 블록으로 구성되는 컴퓨터 기반의 탈집중화된(decentralised) 분산 시스템으로서 구현되는 피어 투 피어(peer-to-peer) 전자 원장을 지칭할 수 있다. 몇몇 예에서, "블록체인 트랜잭션"은 데이터 및 조건의 세트를 포함하는 필드 값의 구조화된 콜렉션(collection)을 인코딩하는 입력 메시지를 지칭하는데, 필드의 세트가 블록체인 데이터 구조에 기록되기 위해서는, 조건의 세트의 이행이 필수이다. 예를 들면, 비트코인에서, 각각의 트랜잭션은, 블록체인 시스템에서의 참가자 사이에서 디지털 자산의 제어의 양도를 인코딩하는 데이터 구조이며, 적어도 하나의 입력 및 적어도 하나의 출력을 포함한다. 몇몇 실시형태에서, "디지털 자산"은 사용할 권리와 관련되는 이진 데이터를 지칭한다. 디지털 자산의 예는, 비트코인(Bitcoin), 이더(ether), 및 라이트코인(Litecoin)을 포함한다. 몇몇 구현예에서, 디지털 자산의 제어를 양도하는 것은, 디지털 자산의 적어도 일부를 제 1 엔티티로부터 제 2 엔티티로 재관련시키는 것에 의해 수행될 수 있다. 블록체인의 각각의 블록은, 블록체인의 시작 이후 블록체인에 기록된 모든 트랜잭션의 영구적이고 불변인 레코드를 생성하게끔 블록이 함께 체인화되도록, 이전 블록의 해시를 포함할 수 있다. 트랜잭션은, 트랜잭션 출력이 어떻게 그리고 누구에 의해 액세스될 수 있지를 명시하는, 그들의 입력 및 출력에 임베딩되는 스크립트로 알려진 작은 프로그램을 포함한다. 비트코인 플랫폼 상에서, 이들 스크립트는 스택 기반의 스크립팅 언어를 사용하여 작성된다.
비록 블록체인 기술이 암호 화폐 구현의 사용을 위해 가장 널리 알려져 있지만, 디지털 기업가는, 비트코인이 기반으로 하는 암호화 보안 시스템 및 새로운 시스템을 구현하기 위해 블록체인에 저장될 수 있는 데이터 둘 모두의 사용을 탐구하기 시작하였다. 블록체인이, 암호 화폐의 영역으로 제한되지 않는 자동화된 태스크 및 프로세스를 위해 사용될 수 있다면, 그것은 고도로 유리할 것이다. 그러한 해결책은, 그들의 애플리케이션에서 더욱 다재 다능하면서, 블록체인의 이점(예를 들면, 이벤트의 영구적이고 무단 변경 방지 기록, 분산 프로세싱, 등등)을 이용할 수 있을 것이다.
본 개시는 하나 이상의 블록체인 기반의 컴퓨터 프로그램의 기술적 양태를 설명한다. 블록체인 기반의 컴퓨터 프로그램은 블록체인 트랜잭션에서 기록되는 머신 판독 가능하고 실행 가능한 프로그램일 수 있다. 블록체인 기반의 컴퓨터 프로그램은 결과를 생성하기 위해 입력을 프로세싱할 수 있는 규칙을 포함할 수 있는데, 그 결과는, 그 다음, 액션으로 하여금 그들 결과에 의존하여 수행되게 할 수 있다. 현재의 연구의 한 영역은 "스마트 계약(smart contract)"을 구현하기 위한 블록체인 기반의 컴퓨터 프로그램의 사용이다. 자연어로 작성될 전통적인 계약과는 달리, 스마트 계약은, 머신 판독 가능 계약 또는 합의의 관점에서 실행을 자동화하도록 설계되는 컴퓨터 프로그램일 수도 있다.
따라서, 둘 이상의 당사자 사이의 공유된 시크릿의 파워를 결정하는데 사용될 수 있는 수량을 교환함으로써 블록체인 상의 다수-당사자 검증 키 기록을 위한 프로토콜을 제공하는 것이 바람직하다. 다양한 실시형태에서, 스마트 계약의 둘 이상의 당사자가 검증 키 및 평가 키를 포함하는 공통 기준 스트링(common reference string)을 결정하는데 사용 가능한 수량을 교환하는 것이 바람직할 수 있다. 다양한 실시형태에서, 본원에 설명된 기술은 암호화와 같은 암호 기술을 사용하지 않고서 둘 이상의 당사자가 공유된 시크릿의 파워를 교환하도록 허용하고, 또한 통신 채널을 통해 교환되는 데이터의 암호화 방식으로 검증 가능한 보장 기밀성(assurances confidentiality)을 요구하는 통신 채널을 확립하도록 참가자에게 요구하지 않는다. 따라서, 본 발명은 개선된 보안 및 검증 해결책을 제공한다.
이러한 개선된 해결책이 이제 고안되었다.
따라서, 본 발명에 따라, 첨부된 청구 범위에 정의된 바와 같은 시스템 및 방법이 제공된다.
본 발명에 따라, 블록체인 네트워크의 노드를 위한 컴퓨터 구현 방법이 제공될 수 있고, 컴퓨터 구현 방법은 유한 필드 요소를 맵핑하기 위해 사용 가능한 함수를 복수의 참가자 중 한 명의 참가자에서 결정하는 단계와, 참가자의 수에 기초하여, 포인트의 세트에서 평가되는 다항식을 생성하는 단계와, 복수의 참가자 중 대응하는 참가자에 상기 다항식을 분배하는 단계와, 복수의 참가자 중 각각의 참가자의 다항식의 합을 결정하는 단계 ― 합은 시크릿의 파워에 대응함 ― 와, 복수의 참가자 중에서 그리고 시크릿에 기초하여, 블록체인 트랜잭션을 일괄적으로 생성하는 단계를 포함한다.
바람직하게는, 포인트의 세트는 타원 곡선 포인트의 세트이다.
바람직하게는, 다항식의 합의 결정은 라그랑주 보간(Lagrange interpolation)에 기초한다.
본원에 설명된 방법은, 시크릿의 파워에 적어도 부분적으로 기초하여, 복수의 참가자에 의해 결정 가능한 공통 기준 스트링을 결정하는 단계를 더 포함할 수 있다.
본원에 설명된 방법은, 복수의 참가자 중 각각의 참가자로부터 대응하는 다항식의 값을 수신하는 단계를 더 포함할 수 있다.
바람직하게는, 오프-체인 통신은 대응하는 참가자로의 다항식의 값의 분배에서 활용된다. 오프-체인 통신은 블록체인 네트워크에 브로드캐스팅되지 않고 그리고/또는 블록체인 네트워크에 의해 검증 불가한 데이터 통신을 지칭할 수 있다.
바람직하게는, 유한 필드 요소를 맵핑하기 위해 사용 가능한 함수는 그룹의 생성기의 계수(coefficient) 또는 지수(exponent)의 역할을 한다.
바람직하게는, 복수의 참가자는 정확히 2명의 참가자이다.
시크릿은 특정 포인트, 가령, 특정 타원 곡선 포인트에서 평가된 다항식의 합에 기초하여 결정될 수 있다.
특정 포인트는 교차 포인트일 수 있고, 가령, 각각의 참가자의 다항식의 합은 (마스터) 다항식을 구성하고, 다항식의 y-축과의 교차는 시크릿이다.
포인트의 세트는 교차 포인트를 배제할 수 있고, 다시 말해서, 교차 포인트는, 적어도 일부 경우에서, 포인트의 세트의 멤버가 아니다.
포인트의 세트에서 평가된 다항식은 적어도 2차일 수 있다.
바람직하게는, 포인트의 세트 중 각각의 포인트는, 포인트의 세트에서 중복되는 포인트가 없도록 상이한 포인트이다.
프로세서와, 실행 가능 명령어를 포함하는 메모리를 포함하는 시스템을 제공하는 것이 또한 바람직한데, 실행 가능 명령어는, 프로세서에 의한 실행의 결과로서, 시스템으로 하여금, 청구되는 바와 같은 방법 중 임의의 것을 수행하게 한다.
또한, 실행 가능 명령어를 저장한 비일시적 컴퓨터 판독 가능 저장 매체를 제공하는 것이 또한 바람직한데, 실행 가능 명령어는, 컴퓨터 시스템의 하나 이상의 프로세서에 의한 실행의 결과로서, 컴퓨터 시스템으로 하여금, 청구되는 바와 같은 방법 중 임의의 것을 적어도 수행하게 한다.
본 발명의 이들 및 다른 양태는 본원에서 설명되는 실시형태로부터 명백해질 것이고 그 실시형태를 참조하여 설명될 것이다. 이제, 본 발명의 실시형태가, 단지 예로서, 그리고 첨부된 도면을 참조하여, 설명될 것인데, 첨부된 도면에서:
도 1은, 스마트 계약의 다수의 당사자가 스마트 계약을 실행하기 위해 제 3 자와 계약하는 컴퓨팅 환경을 도시한다.
도 2는 제 1 컴퓨팅 엔티티 및 제 2 컴퓨팅 엔티티가 둘 이상의 당사자 사이의 공유된 시크릿의 파워를 결정하는데 사용될 수 있는 수량을 교환하는 컴퓨팅 환경을 도시한다.
도 3은 제 1 컴퓨팅 엔티티 및 제 2 컴퓨팅 엔티티가 영지식(zero-knowledge)을 렌더링하는 파라미터의 세트를 교환하는 컴퓨팅 환경을 도시한다.
도 4는 2-당사자 CRS(two-party common reference string) 및 대응하는 POC(proof-of-correctness) 또는 정확한 실행의 증거에 기초한 프로토콜의 다이어그램을 도시한다.
도 5는 일 실시형태에 따라, 검증 키 및 평가 키를 포함하는 2-당사자 공통 기준 스트링을 생성하기 위한 프로세스를 도시한다.
도 6은 적어도 하나의 실시형태에 따라, 다수의 당사자 간에 공유된 시크릿의 파워를 공유하기 위한 프로세스를 도시한다.
도 7은 본 개시의 적어도 하나의 실시형태를 실시하는데 사용될 수 있는 컴퓨팅 장치의 간략한 블록도를 도시한다.
도 1은, 스마트 계약의 다수의 당사자가 스마트 계약을 실행하기 위해 제 3 자와 계약하는 컴퓨팅 환경을 도시한다.
도 2는 제 1 컴퓨팅 엔티티 및 제 2 컴퓨팅 엔티티가 둘 이상의 당사자 사이의 공유된 시크릿의 파워를 결정하는데 사용될 수 있는 수량을 교환하는 컴퓨팅 환경을 도시한다.
도 3은 제 1 컴퓨팅 엔티티 및 제 2 컴퓨팅 엔티티가 영지식(zero-knowledge)을 렌더링하는 파라미터의 세트를 교환하는 컴퓨팅 환경을 도시한다.
도 4는 2-당사자 CRS(two-party common reference string) 및 대응하는 POC(proof-of-correctness) 또는 정확한 실행의 증거에 기초한 프로토콜의 다이어그램을 도시한다.
도 5는 일 실시형태에 따라, 검증 키 및 평가 키를 포함하는 2-당사자 공통 기준 스트링을 생성하기 위한 프로세스를 도시한다.
도 6은 적어도 하나의 실시형태에 따라, 다수의 당사자 간에 공유된 시크릿의 파워를 공유하기 위한 프로세스를 도시한다.
도 7은 본 개시의 적어도 하나의 실시형태를 실시하는데 사용될 수 있는 컴퓨팅 장치의 간략한 블록도를 도시한다.
도 1은 다양한 실시형태가 구현될 수 있는 블록체인 환경을 도시한다.
본 개시는, 다수의 당사자가 그룹의 요소를 안전하게 공유하도록 허용하는 시스템 및 방법을 구현하는데 활용될 수 있는 기술을 설명하며, 그의 지수 또는 곱셈 계수는 공유된 시크릿의 파워에 의존한다. 다수의 당사자가 공유된 시크릿을 노출시키지 않고서, 공유된 시크릿에 기초하는 수량(예를 들어, 공유된 시크릿의 파워)을 교환하도록 수량이 공유될 수 있다. 따라서, 다양한 실시형태에서, 복수의 n명의 참가자는 공유된 시크릿의 파워의 표현(예를 들어, 곱셈 경우에서 )을 확립한다.
일 실시형태에서, 본원에 설명된 기술 및 방법을 이용하는 프로토콜은, 시크릿 자체를 공유하지 않고서 그리고 다른 컴퓨팅 엔티티(예를 들어, 스마트 계약에 대한 당사자가 아닌 컴퓨팅 엔티티)가 시크릿을 결정하도록 허용할 정보를 드러내지 않고서, 공유된 시크릿의 파워를 결정하기 위해 당사자에 의해 사용될 수 있는 수량을 공유하기 위해 스마트 계약의 2명의 당사자에 의해 사용된다. 일 실시형태에서, 프로토콜은 스마트 계약의 제 2 당사자에게 전송되는 제 1 파라미터의 세트를 계산하는 스마트 계약의 제 1 당사자를 포함하고, 제 2 당사자는 제 2 파라미터의 세트를 계산하고 이러한 파라미터를 제 1 당사자에게 제출하고, 여기서, 전술된 바와 같은 파라미터의 교환 시에, 양자의 당사자는 검증 키를 포함하는 동일한 공통 기준 스트링을 계산할 수 있다. 그 다음, 당사자는, 어드레스(예를 들어, 블록체인 네트워크의 작업자 노드(worker node)의 어드레스)에 잠겨 있고 잠금 해제(예를 들어, 소비)될 수 있는, 스마트 계약에 대한 디지털 자산에 당사자가 비례적으로 기여하는 트랜잭션에 합의할 수 있다. 일 실시형태에서, 스마트 계약 당사자 간의 오프-체인 통신은 공통 기준 스트링을 생성하는데 사용되는 파라미터의 교환으로 제한되며, 반면에 보안의 보장이 유지된다(예를 들어, 시크릿 값은, 스마트 계약에 대한 당사자가 아닌 상대방(adversary) 또는 다른 컴퓨팅 엔티티에 의해 교환된 파라미터에 기초하여 누설되거나 달리 결정될 수 없음). 일 실시형태에서, 2명의 당사자(또는 더 일반적인 경우에 둘 이상의 당사자)는, 가령, 예를 들어, 도 1-7과 관련하여 본 문서의 다른 곳에 설명된 방식으로 공유된 시크릿의 파워를 공유하는 기술을 활용한다.
본 개시의 다양한 실시형태가 실시될 수 있는 예시적인 컴퓨팅 환경(100)을 도시하는 도 1에 대해 참조가 이루어질 수 있다. 본원에 설명된 시스템 및 방법은, 제 1 및 제 2 컴퓨팅 엔티티가 동일한 공통 기준 스트링을 계산하기 위해 사용할 수 있는 수량을 스마트 계약 당사자가 교환하기 위한 프로토콜에 관한 것일 수 있다. 도 1은, 제 1 컴퓨팅 엔티티 및 제 2 컴퓨팅 엔티티 양자가 공통 기준 스트링(108)을 결정하도록 허용하는 파라미터의 세트를 교환하는 제 1 컴퓨팅 엔티티(102) 및 제 2 컴퓨팅 엔티티(104)를 포함하는 컴퓨팅 환경(100)을 도시한다. 공통 기준 스트링은, 컴퓨팅 엔티티 중 어느 하나 또는 둘 모두가 트랜잭션 입력으로서 기여하는 디지털 자산을 잠그는 스마트 계약(110)을 생성하기 위해 당사자에 의해 활용될 수 있다. 공통 기준 스트링은 평가 키(112) 및 검증 키(112)를 포함할 수 있다. 스마트 계약(110)은 도 1에 도시된 블록체인(118)과 같은 블록체인에 공개될 수 있다. 스마트 계약(110)은 스마트 계약(106)에 대한 당사자가 아닌 제 3 컴퓨팅 엔티티(106)에 의해 실행될 수 있다. 스마트 계약 실행의 일부로서 또는 그와 연관하여, 제 3 컴퓨팅 엔티티(예를 들어, 작업자(worker))는 공통 기준 스트링의 평가 키에 적어도 부분적으로 기초하여 스마트 계약의 정확한 실행의 증거(proof)(116)를 생성할 수 있다. 정확한 실행의 증거(116)는 임의의 적합한 컴퓨팅 시스템(예를 들어, 스마트 계약의 당사자 또는 검증자 노드(verifier node)로서 작동하는 블록체인 네트워크의 노드)에 의해 계산적으로 검증 가능할 수 있다. 일 실시형태에서, 검증 키(114)는, 블록체인 네트워크(118)에 공개된 증거가 정확한지를 검증하기 위해 제 4 컴퓨팅 엔티티(예를 들어, 검증자 컴퓨터 시스템)에 의해 활용된다.
적어도 하나의 실시형태에 따라, 제 1 컴퓨팅 엔티티(102) 및 제 2 컴퓨팅 엔티티(104)는 스마트 계약에 대한 당사자인 컴퓨터 시스템이다. 스마트 계약의 당사자는, (예를 들어, 관련 사용자 입력 장치를 통해 제공된 사용자 입력에 따라) 스마트 계약의 실행 조건에 합의한 2개 이상의 컴퓨팅 엔티티를 지칭할 수 있다. 제 1 컴퓨팅 엔티티(102) 및 제 2 컴퓨팅 엔티티(104) 둘 모두는 스마트 계약에 합의하고, 스마트 계약의 각각의 트랜잭션 입력이 스마트 계약의 정확한 실행의 증거를 작업자 노드가 제공하는 것의 결과로서 잠금 해제(예를 들어, 소비)될 수 있는 잠금 스크립트(locking script)에 의해 방해를 받도록, 스마트 계약에 트랜잭션 입력을 제공할 수 있다. 본원에 설명된 시스템 및 방법은, 잠금 스크립트가 변경으로부터 검증 키()를 보호하는 것을 가능하게 하고, 증거()의 유효성을 확인하고, 이로써 트랜잭션 검증 동안 블록체인 상에서 영지식 프로토콜(zero-knowledge protocol)의 실행을 허용하는 것에 관한 것이다.
다양한 실시형태에서, 제 1 컴퓨팅 엔티티(102) 및 제 2 컴퓨팅 엔티티(104)는, 스마트 계약의 실행을 제어하는 데 사용되는 스마트 계약에 대한 파라미터, 가령, 날짜, 시간, 조건 및 액션(예를 들어, 디지털 자산의 제어 이전)을 인코딩하는 메시지의 세트를 교환함으로써, 실시형태에서, 스마트 계약에 합의할 수 있다. 예를 들어, 스마트 계약(예를 들어, 실행 가능 프로그램)은 특정 비행의 지연에 대해 당사자를 보장할 수 있으며, 프로그램의 실행은 특정 날짜 상의 특정 상업 비행의 비행 정보와 같은 외부 데이터를 사용하여 특정 비행이 지연되었는지 여부를 결정하는 것을 포함할 수 있다. 비행이 지연된 경우, 프로그램의 당사자는 자산의 이전(예를 들어, 지연에 대한 여행 보험을 제공하는 스마트 계약)을 수신할 수 있다.
일 실시형태에서, 스마트 계약(110)은 C, C ++ 또는 Java와 같은 소스 코드로서 고급 프로그래밍 언어로 인코딩된다. 이들은 단지 예시적인 예이며, 스마트 계약은 다른 적절한 프로그래밍 언어를 사용하여 인코딩될 수 있다. 일 실시형태에서, 컴파일러, 인터프리터 및/또는 어셈블러와 같은 소프트웨어는 스마트 계약(110)을 연산 회로로 변환하는데 활용될 수 있고, 연산 회로는 필드(F)로부터 값을 전달하고 덧셈 및 곱셈 게이트에 연결하는 "와이어"로 구성된다. 연산 회로는, 물리적 와이어에 의해 연결된 일련의 물리적 게이트(예를 들어, 7400-시리즈 게이트, 플립-플롭, 버퍼, 디코더, 멀티플렉서 등과 같은 TTL(transistor-transistor logic) 집적 회로를 사용함)를 포함하는 물리적 회로에 의해 구현될 수 있는 논리 회로를 지칭할 수 있음이 유의되어야 한다. 스마트 계약(110)의 실행이 도 1의 맥락에서 그리고 다른 곳에서 설명되지만, 스마트 계약의 사용은 연산 회로로 변환될 수 있는 소스 코드의 단지 비제한적인 예이다. 일 실시형태에서, 클라이언트(예를 들어, 단독으로 또는 제 2 컴퓨팅 엔티티(104)와 연동하여, 제 1 컴퓨팅 엔티티(102))는 한 세트의 동작에 의해 정의된 작업을 수행하기 위한 소스 코드를 결정하고, 여기서 작업의 실행은 제 3 컴퓨팅 엔티티(106)(작업자 또는 증명자(prover)로 지칭됨)에 위임된다. 일반적으로, 검증자는, 가령, 증명자에 의해 생성된 정확한 실행의 증거(116)의 유효성을 검증함으로써, 증명자가 작업을 정확히 실행했다고 결정하는 것과 연관된 작업을 수행할 수 있다.
검증 가능한 계산은 계산의 증거를 생성할 수 있는 기술이다. 일 실시형태에서, 이러한 기술은, 본원에서 증명자로 지칭되는 다른 컴퓨팅 엔티티에, 입력(x)에 대한 함수(f)의 평가를 아웃소싱(outsource)하기 위해 클라이언트에 의해 활용된다. 일부 경우에서, 클라이언트는, 클라이언트가 함수의 평가를 수행하는 것이 실현 불가하도록(예를 들어, 클라이언트가 사용할 수 있는 컴퓨팅 자원을 사용한 계산의 예상된 런타임이 최대 수용 가능한 임계치를 초과함) 계산적으로 제한되지만, 반드시 그럴 필요는 없으며, 클라이언트는, 일반적으로 말하자면, 계산적 런타임, 계산적 비용(예를 들어, 함수의 평가를 수행하기 위한 컴퓨팅 자원을 할당하는 재정적 비용) 등과 같은 임의의 적절한 기준에 기초하여 입력(x)에 대한 함수(f)의 평가를 위임할 수 있다. 일 실시형태에서, 증명자는, 본 개시의 다른 곳에서 더 상세하게 설명되는 바와 같이, 블록체인 노드와 같은 임의의 적절한 컴퓨팅 엔티티이다. 일 실시형태에서, 증명자(예를 들어, 블록체인 노드)는 입력(x)에 대한 함수(f)를 평가하고, 출력(y) 및 전술된 클라이언트와 같은 다른 컴퓨팅 엔티티 및/또는 블록체인 네트워크의 다른 노드에 의해 검증될 수 있는 출력(y)의 정확성 증거(π)를 생성한다. 논거(argument)로 또한 지칭될 수 있는 증거는 실제 계산하는 것보다 더 빠르게 검증될 수 있고, 따라서 전술된 증명자에 의해 생성된 출력의 정확성을 결정하기 위해 입력(x)에 대해 함수(f)를 재계산하는 것 대신에, 증거의 정확성을 검증함으로써 계산적 오버헤드가 감소될 수 있다(예를 들어, 전력 오버 헤드 및 컴퓨팅 자원의 전력 공급 및 실행과 연관된 비용의 감소). 영지식 검증 가능한 계산에서, 증명자는, 증명자가 특정 속성을 가진 입력을 알고 있다는 증명(attestation)을 클라이언트에 제공한다.
지식의 영지식 증거의 효율적인 변형예는 zk_SNARK(Succinct Non-interactive ARgument of Knowledge)이다. 일 실시형태에서, 모든 페어링 기반의 zk SNARK는, 증명자가 일반적인 그룹 연산을 사용하여 다수의 그룹 요소를 계산하고 검증자가 다수의 페어링 곱 방정식(pairing product equation)을 사용하여 증거를 확인하는 프로세스를 포함한다. 일 실시형태에서, 선형 대화형 증거(linear interactive proof)는 유한 필드에 대해 작동하고, 증명자 및 검증자의 메시지는 필드 요소의 벡터를 결정하기 위해 사용 가능한 정보를 포함, 인코딩, 참조 또는 그렇지 않다면 포함한다.
일 실시형태에서, 제 1 컴퓨팅 엔티티 및/또는 제 2 컴퓨팅 엔티티는, 조건이 충족되는 것에 기초하여, 스마트 계약 및 수행할 동작의 세트를 실행할지 여부 그리고/또는 어떻게 실행할지를 결정하는 조건의 세트를 인코딩하는 하나 이상의 불 연산식(Boolean expression)과 같은, 스마트 계약의 실행을 위해 제안된 파라미터를 인코딩하는 메시지의 세트를 교환함으로써 스마트 계약의 실행 조건에 합의한다. 일 실시형태에서, 하나의 컴퓨팅 엔티티는 프로토콜의 일부로서 제 2 컴퓨팅 엔티티에 파라미터의 세트를 전송하고, 제 2 컴퓨팅 엔티티는 파라미터가 스마트 계약에 대해 수용 가능한지 여부를 결정한다. 파라미터가 수용되지 않으면, 제 2 컴퓨팅 엔티티는 스마트 계약의 실행을 위해 제 2 제안된 파라미터의 세트로서 상이한 파라미터의 세트를 제 1 컴퓨팅 엔티티에 제공할 수 있다. 제 2 컴퓨팅 엔티티는 또한 제 1 파라미터의 세트가 수용 가능하지 않다는 신호를 제공할 수 있고, 제 1 컴퓨팅 엔티티는 제공할 제 2 파라미터의 세트를 결정한다. 어느 경우에나, 일단 모든 당사자가 파라미터에 대한 합의를 시그널링하였다면, 일 실시형태에서, 어느 하나의 컴퓨팅 엔티티는 잠금 트랜잭션 ― 여기서 출력 중 하나가 프로그램(예를 들어, 스마트 계약 스크립트)에 의해 잠금됨 ― 을 생성하고, 이를 스마트 계약의 상대방(counterparty)에 전송할 수 있다. 잠금 트랜잭션은 잠금 해제 트랜잭션이 검증될 수 있는 제약을 초기화하는 트랜잭션을 지칭할 수 있다. 몇몇 예에서, "잠금 해제 트랜잭션"은, 이전 트랜잭션의 UTXO로 표시된 디지털 자산의 적어도 일부와, 블록체인 어드레스와 연관된 엔티티를 재연관(예를 들어, 소유권 또는 제어권의 이전)시키는 블록체인 트랜잭션을 지칭한다.
일 실시형태에서, 제 1 컴퓨팅 엔티티는 잠금 트랜잭션을 생성하고, 작업자 수수료의 일부를 커버하는 트랜잭션 입력을 추가한다. 이 지점에서, 트랜잭션 입력 값이 잠금 트랜잭션의 트랜잭션 출력 값과 동일하지 않기 때문에, 잠금 트랜잭션이 아직 유효하지 않다는 것이 유의되어야 한다. 예를 계속하여, 제 2 컴퓨팅 엔티티가 잠금 트랜잭션을 수신할 때, 제 2 컴퓨팅 엔티티는 스마트 계약을 검증(예를 들어, 스마트 계약을 실행하기 위한 공통 기준 스트링 및 파라미터를 검증)하고, 잠금 트랜잭션에 입력을 추가하고, 디지털 자산 및 또한 프로그램(예를 들어, 스마트 계약)의 실행을 위해 작업자에게 지불되어야 하는 수수료 및 작업자에 대한 수수료의 값을 갖는 출력에 합의한 발행자에게 이전하기 위해 UTXO를 잠금 해제한다. 제 1 컴퓨팅 엔티티 및 제 2 컴퓨팅 엔티티가 둘 모두가 트랜잭션 입력을 스마트 계약에 기여하는 경우에, 스마트 계약은 양자의 당사자에 의해 공동 소유될 수 있고, 스마트 계약의 이전(예를 들어, 교환 또는 판매)은 양자의 당사자로부터의 증명을 요구할 수 있다.
스마트 계약(110)은 블록체인 네트워크의 노드와 같은 제 3 컴퓨팅 엔티티(106)에 의해 실행될 수 있다. 제 3 컴퓨팅 엔티티(106)는 작업자 또는 증명자로 지칭될 수 있다. 일 실시형태에서, 작업자는, 입력에 대한 함수의 계산을 수반하는 계산 작업을 적어도 수행함으로써 스마트 계약을 실행한다. 일 실시형태에서, 작업자는, 스마트 계약의 소유자(들)가 계산 작업을 위임할 수 있는 임의의 적절한 컴퓨터 시스템이다. 일 실시형태에서, 입력은, 작업자와 연관된 개인 키를 사용하여 생성된 디지털 서명(digital signature)과 같은 작업자의 아이덴티티를 증명하는 정보를 포함한다. 일 실시형태에서, 작업자는, 제 1 및 제 2 컴퓨팅 엔티티가 계산적 작업을 성공적으로 완료한 것에 대한 답으로 디지털 자산의 이전 합의하는 컴퓨터 시스템이다. 스마트 계약의 소유자(들)는, 일 실시형태에서, 입력(x) 및 평가 키()(112)를 증명자에 제공하고, 증명자는 출력(y)(즉, y=f(x) 여기서 입력은 x이고, 함수는 f임)을 계산하는 루틴을 계산하기 위해 평가 모듈을 사용하고, 정확한 실행의 증거(116)를 생성하기 위해 평가 키()를 사용하며, 이는 또한 본 개시의 다른 곳에서 정확함의 증거(proof-of-correctness)로 지칭될 수 있다. 일 실시형태에서, 작업자는, 컴퓨터 시스템의 하나 이상의 프로세서에 의해 실행될 경우, 컴퓨터 시스템으로 하여금 QAP의 내부 회로 와이어의 값을 평가하게 하고 QAP의 출력(y)을 생성하게 하는 명령어를 포함하는 하드웨어 및/또는 소프트웨어를 포함하는 컴퓨터 시스템이다.
실시형태에서, 출력(y), 내부 회로 와이어의 값(또는 그의 서브세트), 및 평가 키()는 정확함의 증거를 생성하는데 사용된다. 증거(π)는, 블록체인에 저장되고, 다수의 당사자와 개별적으로 상호작용하도록 작업자에게 요구하지 않고서 다수의 당사자에 의해 검증될 수 있다. 이러한 방식으로, 제 4 컴퓨팅 엔티티(예를 들어, 검증자 컴퓨터 시스템)는 공개 검증 키()(114) 및 증거(π)를 사용하여 브로드캐스팅된 트랜잭션을 인증하고, 이로써 스마트 계약을 인증할 수 있다. 몇몇 경우에서, 스마트 계약의 소유자(들)는, 검증이 실패하면, 브로드캐스팅된 트랜잭션에 의해 방해받는 디지털 자산을 회수(reclaim)할 수 있다. 몇몇 경우에서, 스마트 계약의 소유자(들)는 증거의 검증을 수행할 수 있다.
일 실시형태에서, 검증 키(114) 및 대응하는 증거(116)는 전술 및/또는 후술되는 기술에 따라 생성된다. 따라서, 다음과 같은 검증 키() 및 증거(π)가 검증자에게 제공되어,
검증자가 복수의 타원 곡선 곱셈(예를 들어, 하나는 각각의 공개 입력 변수에 대한 것임) 및 5개의 페어 체크를 계산하고, 그 중 하나는 부가적인 페어링 곱셈을 포함한다.
t(x)가 p(x) 및 따라서 를 나누는지를 검증하기 위해 검증 키(), 증거(π) 및 가 주어지면, 검증자는 다음과 같이 진행한다. 먼저 검증자는 다음과 같이 3개의 α 항 모두를 확인한다.
따라서, 전술된 섹션 및 본 개시에서 설명된 예로부터의 표기법을 고려할 때, 검증은 일 실시형태에 따라 다음 요소의 페어 체크의 세트를 포함한다.
도 2는, 제 1 컴퓨팅 엔티티(202) 및 제 2 컴퓨팅 엔티티(204)가 둘 이상의 당사자 사이에서 공유된 시크릿의 파워를 결정하는데 사용될 수 있는 수량을 교환하는 컴퓨팅 환경(200)을 도시한다. 제 1 컴퓨팅 엔티티(202) 및 제 2 컴퓨팅 엔티티(204)는, 동일한 공통 기준 스트링을 계산하는데 사용되는 (도 2에 도시된 수평 화살표 아래에 도시된 바와 같은) 수량을 교환할 수 있다. 일 실시형태에서, 제 1 컴퓨팅 엔티티 및 제 2 컴퓨팅 엔티티는 도 1과 관련하여 설명된 것에 따르는 블록체인 네트워크의 노드이다. 적어도 하나의 실시형태에 따라, 를 필드에 대한의 함수로 하고, 를 대응하는 연산 회로로 하고, 를 크기(m) 및 정도(d)의 대응하는 QAP(quadratic arithmetic program)로 한다. 또한 를 이중 선형 맵핑(bilinear mapping)으로 하고, G를 의 생성기로 한다. 일 실시형태에서, (지수적 표현과 대조적으로) 덧셈 표현(additive representation)이 선택된다. 일 실시형태에서, 평가 키 및 검증 키는 랜덤 를 선택하고 , (일반적으로: ) 및 대응하여 를 설정함으로써 선택되어, 다음과 같이 키를 구성한다.
여기서 , 즉, 입력 및 출력의 수이다. 비대칭 페어링이 고려되는 실시형태에서, 페어링 맵핑은 다음과 같이 정의될 것이고, 및 이고, 는 의 생성기이다. 이 경우에, CRS는 약간 변할 것이고, VK는 다음과 같을 것이다.
표시된 바와 같이, 회로는 다항식(v, w)에 의해 설명되며, 이는, 결국, 시크릿(s)에서 평가되고, 시크릿(s)은 회로 및 대응하는 QAP를 소유/생성하는 당사자(예를 들어, 스마트 계약의 소유자)에게만 알려진다.
더 정확하게는, 전술된 바와 같이, 클라이언트가 다음과 같은 요소를 생성한다.
제안된 해결책의 보안이 파라미터(s)에 의존하는 반면, 몇몇 실시형태에서, 남아있는 ()를 노출시키는 것은, 시스템 영지식을 렌더링하지 않고 그리고/또는 다른 엔티티가 아는 것을 클라이언트가 원하지 않는 정보를 드러낼 수 있다.
일 실시형태에서, 작업자가 정확함의 증거를 제공하도록 요구되는 해결책의 경우, 검증 키에 대한 정확함의 증거를 검증하기 위한 OP_code(또는 등가물)가 존재할 수 있다.
달리 언급되지 않는 한, 본 개시 전반에 걸쳐, 본 문서의 다항식은 필드( )에 대해 정의된다는 것이 유의되어야 한다. 따라서, 를 필드로 한다. 따라서 에 대한 다항식에는 다음과 같은 가 주어지고,
일 실시형태에서, 공통 기준 스트링은 시크릿(s)에서 평가된 다항식(v(x), w(x))에 의해 다음과 같은 형태로 표현된다.
일 실시형태에서, 본원에 설명된 기술은 (예를 들어, 타원 곡선 포인트의) 연관된 그룹의 생성기(G)에 대해 다음과 같은 형태 의 타원 곡선 포인트를 결정하고 공유하는데 활용된다. 따라서, 일 실시형태에서, 본원에 기재된 시스템 및 방법은 임의의 정수 파워(r)에 대해 를 결정 및 분배하는데 활용된다.
적어도 하나의 실시형태에 따라, 를 공유 및 분배하기 위한 기술이 도 2에 도시된다. 예로서, n=2인 경우는 도 2와 관련하여 아래에서 더 상세히 설명되며, 스마트 계약의 당사자 간에 시크릿의 파워를 공유하는 비제한적인 예로 간주되어야 한다. 또한, 본원에 설명된 다양한 실시형태에서, 임계치의 등가물이 선험적으로 주어지고, 필요한 참가자의 수가 먼저 합의된다고 가정된다는 것이 유의된다.
도 2는 적어도 하나의 실시형태에 따라, 2명의 참가자의 경우에 공유된 시크릿의 파워를 공유 및 분배하기 위한 기술을 도시한다. 도 2에 도시된 바와 같이 그리고 적어도 하나의 실시형태에 따라, 정확히 2명의 당사자는 공유된 시크릿의 파워를 공유하는 참가자이다(즉, n=2인 경우). 제 1 및 제 2 컴퓨팅 엔티티는 A 및 B로 각각 지칭될 수 있다. 일 실시형태에서, A 및 B는 다음 정보를 교환할 수 있고: A는 를 B에 전송하고, 그에 대한 답으로 , ()를 수신한다. 이런 식으로, 둘 모두는 다음을 계산할 수 있다.
그리고, 에 의해 로 확장된다(WP0559 참조). 참가자는 p(x)를 재구성할 수 없지만, 참가자는 교환된 포인트()에 의해 (그리고 특히 )를 재구성할 수 있다. 이것은 의 더 높은 파워에 대해서도 물론 사실이다. 다항식(다항식 정리, n.d.)의 결과로서, 다음과 같다.
m=2에 대해, 이것은 다음과 같이 된다.
이는 결국 다음과 같은 항의 "타워"를 산출한다(여기서 i=1,2).
도 3은, 제 1 컴퓨팅 엔티티(302) 및 제 2 컴퓨팅 엔티티(304)가 프로토콜 ― 가령, 도 1과 관련하여 설명된 프로토콜 ― 영지식을 렌더링하는 파라미터의 세트를 교환하는 컴퓨팅 환경(300)을 도시한다. 다양한 실시형태에 따라, 공개 검증 키는 다음과 같은 형태를 취할 수 있다.
제안된 해결책의 보안이 파라미터(s)에 의존하는 반면, 몇몇 실시형태에서, 남아있는 ()를 노출시키는 것은, 시스템 영지식을 렌더링하지 않고 그리고/또는 다른 엔티티가 아는 것을 클라이언트가 원하지 않는 정보를 드러낼 수 있다. 따라서, 일 실시형태에서, 검증 키(306)를 생성하는데 사용된 남아있는 파라미터의 일부 또는 전부는 도 3과 관련하여 설명된 기술을 사용하여 공유된다.
일 실시형태에서, 다항식은, 도 1, 2 및 4와 관련하여 논의된 기술과 같은 본 개시의 다른 곳에 설명된 기술에 따라, 제 1 컴퓨팅 엔티티(302)와 제 2 컴퓨팅 엔티티(304)(각각 A 및 B로 지칭될 수 있음) 사이에서 교환된다. 따라서, 일 실시형태에서, 제 1 컴퓨팅 엔티티(302)는 타원 곡선 포인트의 세트()를 계산하고 제 2 컴퓨팅 엔티티(304)와 공유하고, 제 2 컴퓨팅 엔티티(304)는 타원 곡선 포인트의 세트()를 계산하고 제 1 컴퓨팅 엔티티(302)와 공유한다. 부가적으로, 검증 키(306)를 생성하는데 사용되는 다른 파라미터는 통신 채널을 통해 평문(plaintext) 포맷으로 드러나지 않고 대신에 후술되는 기술을 사용하여 전송될 수 있다.
일 실시형태에 따라, 를 의 생성기로 하고 에 대해 이다. 또한, 일 실시형태에서, 가 공유되고, 다른 파라미터는 파라미터의 기밀성(예를 들어, 암호화 또는 다른 은닉(concealment) 기술)을 보장하는 방식으로 전파된다. 반대로, 참가자 중 어느 하나는 파라미터()를 생성하고 이를 오프- 또는 온라인(예를 들어, 온-체인)으로 다른 참가자에 전송할 수 있음이 유의된다. 전자(former), 즉, 다른 파라미터의 기밀성의 보장에 관하여, 다양한 기술이 활용될 수 있다. 예를 들어, 요소 (그리고 구현/프로토콜에 따라 가능하게는 )를 공유하기 위해 샤미르(Shamir)의 시크릿 공유 스킴(4S)을 사용하고 그리고/또는 에 대해 디피-헬먼(Diffie-Hellman)형 시크릿 생성을 사용함으로써, 다른 파라미터의 기밀성이 보장된다.
일 실시형태에서, 요소 또는 그의 일부 조합은 의 형태이다. s의 경우에서와 같이, 각각의 참가자(i)는 다항식()을 생성하고 에서 이를 평가하고 대응하는 를 참가자(j)와 공유한다. 따라서, 각각의 참가자는 , 그리고 특히 를 결정할 수 있고, 여기서 q(0)은 또는 이들의 일부 조합일 수 있고, 이들의 특정 조합은 zk_SNARKs 프로토콜과 같은 프로토콜/협약에 기초할 수 있다.
일 실시형태에서, α-파라미터는 타원 곡선 포인트에 의해 공유되는 반면에, 다른 파라미터는 스칼라 값에 의해 공유될 수 있다. 이러한 값에 대해, 적어도 하나의 실시형태에 따라, 디피-헬먼 스킴은, 파라미터 자체를 공유하지 않고서, 2개의 컴퓨팅 엔티티 사이에서 스칼라 파라미터를 공유하는데 사용된다. 따라서, 일 실시형태에서, 를 N 개의 파라미터의 세트로 한다. 일 실시형태에서, A 및 B는 모듈러스(modulus)(μ) 및 생성기()를 갖는 곱셈 그룹(Γ)을 사용하기로 합의한 것으로 가정되고, 참가자(A 및 B)는 다음의 단계들을 따라 진행하고(지수적 표현은 본원에서 예시적인 예로서 사용되고 다른 적절한 표현이 활용될 수 있음): 각각의 에 대해, 제 1 및 제 2 컴퓨팅 엔티티는 (개인) 난수()를 각각 생성하고, 그리고 양자는 (공개) 요소: 및 )를 도출한다는 것이 가정된다. 그 다음, 컴퓨팅 엔티티는 및 를 교환하고 및 (=)를 각각 계산한다. 따라서, 파라미터는 로 설정된다.
따라서, 위의 기술은, 제 1 컴퓨팅 엔티티 및 제 2 컴퓨팅 엔티티 양자가, 대신에, 및 를 교환함으로써 파라미터를 교환하지 않고서 파라미터()를 공유한다는 것을 입증하였다. 적어도 하나의 실시형태에 따라, 참가자의 수는 적어도 하나의 파라미터가 전술된 방식으로 교환된 것의 결과로서 n=2로 제한된다는 것이 유의되어야 한다.
도 4는 CRS(two-party common reference string) 및 대응하는 POC(proof-of-correctness) 또는 정확한 실행의 증거에 기초한 프로토콜의 다이어그램(400)을 도시한다. 다이어그램(400)은 제 1 컴퓨팅 엔티티(402), 제 2 컴퓨팅 엔티티(404) 및 제 3 컴퓨팅 엔티티(106)를 도시하며, 여기서 제 1 컴퓨팅 엔티티(402) 및 제 2 컴퓨팅 엔티티(404)는, 스마트 계약 실행 시에 제 3 컴퓨팅 엔티티(406)에 의해 잠금 해제될 수 있는 스마트 계약에 공동으로 기여한다. 일 실시형태에서, 프로토콜은 블록체인 네트워크를 적어도 부분적으로 사용하여 구현된다.
본 개시에 따라, 그리고 (예를 들어, 도 4와 관련하여) 더 상세하게 설명되는 바와 같이, 2명의 참가자(A 및 B)에 대한 스킴 및 프로토콜은 공유된 시크릿 및 따라서 공유된 CRS(common reference string)를 생성하는데 활용될 수 있고, 이는 연관된 회로의 정확한 실행을 검증하는데 사용될 수 있다. 일 실시형태에서, 스킴은 먼저 A와 B 사이, 그리고 두 번째로 A+B(또는 어느 하나)와, A 또는 B 중 적어도 하나를 대신하여 계산 작업을 수행하는 작업자(C) 사이의 오프-체인 데이터 교환을 가정한다. 작업자(C)가 계산 작업(예를 들어, 스마트 계약의 실행)을 수행하게 하기 위해, A 및 B 둘 모두는 트랜잭션(P2SH-유형 상환 스크립트(redeem script)를 포함하거나 포함하지 않을 수 있음)을 서명하며, 이는, 자금의 잠금을 해제하기 위해 정확함의 증거를 제공하고, 정확한 검증 키(VK)의 소유를 증명하도록 작업자(C)에게 요구한다.
본 개시에 제시된 바와 같은 프로토콜을 구현하기 위한 기술은, 몇몇 실시형태에서, 기존 블록체인 네트워크에 대한 임의의 프로토콜 변화를 요구하지 않는다(예를 들어, 이미 지원된 기존 커맨드를 사용하여 비트코인 기반의 블록체인 네트워크 상에서 구현될 수 있음). 몇몇 실시형태에서, 비트코인 프로토콜에 의해 지원되는 기존 커맨드의 세트에 대한 확장이 또한 본원에서 논의되고, 확장은, 스마트 계약의 실행 효율을 개선하는 것, 스마트 계약의 크기를 감소시키는 것(이는 블록체인 네트워크의 노드가 적절히 동작하는 데 필요한 저장 공간의 양을 감소시킬 수 있음) 등과 같은 다양한 이점을 가질 수 있는 새로운 커맨드(예를 들어, 새로운 OP 코드)를 포함할 수 있다. 몇몇 실시형태에서, 블록체인에 대한 스마트 트랜잭션을 확인하는 비용은 스마트 계약의 크기에 적어도 부분적으로 기초한다.
일 실시형태에서, 타원 곡선 포인트 및 공통 기준 스트링과 관련된 다른 데이터의 교환 및 전송은 오프-체인으로 전송된다. 일 실시형태에서, 검증 키는 결국, 작업자(C)와 그들의 스마트 계약을 평가하기 원하는 2명의 당사자(A 및 B)에 의해 수행되는 작업(예를 들어, 스마트 계약의 실행)을 위한 디지털 자산의 교환을 통해 온-체인으로 브로드캐스팅되거나 그렇지 않다면 이용 가능하게 된다. 본원에 설명된 바와 같이, 몇몇의 스킴이 가능하다. 예를 들어, A 및 B 둘 모두는, 잠금 트랜잭션을 준비할 때 VK 또는 VK의 해시를 제공할 수 있거나 제공하지 않을 수 있다. 다시 말해서, 일 실시형태에서, 용량 집약적인 워크로드(capacity-intensive workload)의 대부분은 오프-체인(off-chain)으로 수행된다.
일 실시형태에서, 프로토콜은, 도 4에 도시된 점선으로 표시된 바와 같이, 오프-체인 및 온-체인 구성요소 둘 모두를 포함한다. 오프-체인 구성요소는, 데이터를 블록체인 원장에 저장하지 않고서 발생할 수 있는 데이터 및 정보의 통신 및 교환을 포함할 수 있다. 예를 들어, 프로토콜의 오프-체인 구성요소는 소스와 목적지 사이의 IP 패킷의 교환을 포함할 수 있다(예를 들어, 제 1 컴퓨팅 엔티티(402)는 제 1 파라미터의 세트를 목적지인 제 2 컴퓨팅 엔티티(404)로 전송하는 소스임). 예를 들어, 프로토콜의 온-체인 구성요소는, 블록체인 네트워크의 노드에 이용 가능하게 된 블록체인 원장에 데이터를 브로드캐스팅하는 것을 포함할 수 있다.
일 실시형태에서, 제 1 컴퓨팅 엔티티(402)는 제 1 다항식에 적어도 부분적으로 기초하여 타원 곡선 포인트의 세트()를 계산한다. 제 1 컴퓨팅 엔티티(402)는 타원 곡선 포인트의 세트 중 적어도 일부를 포함하는 데이터를 제 2 컴퓨팅 엔티티(404)에 전송할 수 있다. 예를 들어, 제 1 컴퓨팅 엔티티(402)는 타원 곡선 포인트의 전체 세트를 전송할 수 있다. 제 2 예로서, 제 1 컴퓨팅 엔티티(402)는 타원 곡선 포인트의 서브세트()를 전송할 수 있다.
몇몇 실시형태에서, 공유된 시크릿(s)의 시크릿(secrecy)을 유지하는데 요구되지 않지만, 시스템을 영지식으로 렌더링하는데 필요할 수 있는 부가적인 데이터가 전송된다. 예를 들어, , (I=v, w, y) 또는 이들의 일부 조합은 또한, 공통 기준 스트링을 결정하는 것의 일부로 사용될 수 있는 부가적인 파라미터 값을 생성하기 위해 (도 3과 관련하여 전술된 바와 같이) 계산될 수 있다. 일 실시형태에서, 은 스칼라 값의 세트이다. 일 실시형태에서, (I=v, w, y)는 타원 곡선 포인트의 세트를 지칭한다.
일 실시형태에서, 제 2 컴퓨팅 엔티티(404)는 마찬가지로, 제 1 컴퓨팅 엔티티(402)에 의해 사용된 다항식과 상이할 수 있는 다항식에 기초하여, 타원 곡선 포인트의 세트()를 계산한다. 제 2 컴퓨팅 엔티티(404)는 전술된 바와 유사한 동작을 수행할 수 있다. 예를 들어, 제 2 컴퓨팅 엔티티(404)는 생성된 타원 곡선 포인트의 서브세트()를 제 1 컴퓨팅 엔티티(402)로 전송할 수 있다. 부가적으로, 일 실시형태에서, , (I=v, w, y)와 같은 선택적 파라미터, 또는 이들의 일부 조합이 교환될 수 있으며, 이는 공유된 시크릿의 시크릿을 유지할 필요는 없지만, 프로토콜이 영지식임을 보장하는데 활용될 수 있다.
일 실시형태에서, 교환된 수량은, 동일한 공통 기준 스트링을 계산하기 위해 제 1 컴퓨팅 엔티티(402) 및 제 2 컴퓨팅 엔티티(404) 둘 모두에 의해 활용될 수 있다. 이들은, 제 3 컴퓨팅 엔티티(406)가 나중에 정확한 검증 키의 소유를 증명해야 하기 때문에, 제 3 컴퓨팅 엔티티(예를 들어, 작업자)에 공통 기준 스트링을 제공할 수 있거나 제공하지 않을 수 있다. 제 1 컴퓨팅 엔티티 및 제 2 컴퓨팅 엔티티 둘 모두에 의한 동일한 공통 기준 스트링의 결정은 오프-체인으로 수행될 수 있다.
일 실시형태에 따라, 프로토콜에 계속하여, 제 1 및 제 2 컴퓨팅 엔티티는 그들이 스마트 계약의 실행에 비례하여 기여하는 트랜잭션에 합의한다. 일 실시형태에서, 제 1 및 제 2 컴퓨팅 엔티티는 일정 비율의 기여에 합의하고, 이들 각각은, 스마트 계약에 방해받고 스마트 계약의 실행 시에 제 3 컴퓨팅 엔티티에 의해 잠금 해제될 수 있는 트랜잭션 입력을 제공한다. 이는 자금을 동일한 어드레스(C의 어드레스)에 이체하는 P2SH(pay-to-script-hash) 유형의 합의일 수 있거나 아닐 수 있다. P2SH 유형 스크립트는 검증 키의 요소 또는 검증 키의 해시 값, 즉, 를 포함할 수 있거나 포함하지 않을 수 있다. 일 실시형태에서, 키는 청크(chunk)로 분할되었다. 스마트 계약은, 제 1 및 제 2 컴퓨팅 엔티티에 의해 합의된 비율로 지불되는 작업자 수수료의 역할을 하는, 제 1 컴퓨팅 엔티티(402)에 의해 기여되는 제 1 트랜잭션 입력 및 제 2 컴퓨팅 엔티티(404)에 의해 기여되는 제 2 트랜잭션 입력을 갖는 도 4에 도시된 제 1 트랜잭션(410)으로서 블록체인에 브로드캐스팅될 수 있다.
일 실시형태에서, 제 3 컴퓨팅 엔티티(406)(작업자로 또한 지칭됨)는 영국 특허 출원 제719998.5호 및/또는 영국 특허 출원 제1720768.9호의 프로토콜에 따라 제 2 트랜잭션(410)에서 자금을 잠금 해제하고, 제 3 컴퓨팅 엔티티(406)는 작업(회로의 정확한 실행)을 위한 자금을 잠금 해제하고, 그렇게 함으로써 제 3 컴퓨팅 엔티티(406)가 (a) 정확한 검증 키 및 (b) 유효한 정확함의 증거를 소유하고 있음을 증명한다. 검증은 다른 컴퓨터 시스템(예를 들어, 검증자인 블록체인의 노드) 또는 스마트 계약에 대한 당사자인 컴퓨팅 엔티티 중 어느 하나 또는 둘 모두에 의해 수행될 수 있다.
도 5는 일 실시형태에 따른, 검증 키 및 평가 키를 포함하는 2-당사자 공통 기준 스트링을 생성하기 위한 프로세스(500)의 예시적인 예를 도시한다. 프로세스(500)(또는 본원에 설명된 임의의 다른 프로세스, 또는 이들의 변형 및/또는 조합)의 일부 또는 전부는 컴퓨터 실행 가능 명령어로 구성된 하나 이상의 컴퓨터 시스템의 제어 하에 수행될 수 있고, 하드웨어, 소프트웨어 또는 이들의 조합에 의해 하나 이상의 프로세서 상에서 일괄적으로 실행되는 코드(예를 들어, 컴퓨터 실행 가능 명령어, 하나 이상의 컴퓨터 프로그램 또는 하나 이상의 애플리케이션)로서 구현될 수 있다. 코드는, 예를 들면, 하나 이상의 프로세서에 의해 실행 가능한 복수의 컴퓨터-판독 가능 명령어를 포함하는 컴퓨터 프로그램 형태로, 컴퓨터 판독 가능 저장 매체 상에 저장될 수 있다. 컴퓨터 판독 가능 저장 매체는 비일시적 컴퓨터 판독 가능 매체일 수 있다. 몇몇 실시형태에서, 프로세스(500)를 수행하기 위해 사용 가능한 컴퓨터 판독 가능 명령어 중 적어도 일부는 일시적 신호(예를 들어, 전파 과도 전기 또는 전자기 전송)만을 사용하여 저장되지 않는다. 비일시적 컴퓨터 판독 가능 매체는 일시적 신호의 트랜시버 내에 비일시적 데이터 저장 회로(예를 들어, 버퍼, 캐시 및 큐)를 포함할 수 있다.
일 실시형태에서, 프로세스(500)를 수행하는 시스템은, 시스템에 의해 사용될 수 있는 정보를 적어도 확립하기 위한 프로세스를 수행하는 스마트 계약에 대한 당사자 및 동일한 공통 기준 스트링을 계산하기 위한 스마트 계약의 다른 당사자인 컴퓨팅 엔티티이다. 프로세스(500)와 관련하여 설명된 공통 기준 스트링은, 예를 들어, 도 1-4와 관련하여 논의된 것에 따를 수 있다. 일 실시형태에서, 공통 기준 스트링은 다음 형식의 시크릿(s)에서 평가된 다항식(v(x), w(x))에 의해 표현된다.
일 실시형태에서, 제 1 컴퓨팅 엔티티는 제 1 타원 곡선 값의 세트를 생성하기 위해 제 1 다항식을 결정한다(502). 일 실시형태에서, 시스템은 (예를 들어, 타원 곡선 포인트의) 연관된 그룹의 일부 생성기(G)에 대해, 형태의 타원 곡선 포인트를 생성한다. 달리 언급되지 않는 한, 이 프로세스(500)의 다항식은 필드()에 대해 정의된다. 따라서, 를 필드로 한다. 그 다음, 에 대한 다항식에 및 가 주어지고, 여기서 이다. 타원 곡선 포인트의 세트는 로 표현될 수 있다.
제 1 컴퓨팅 엔티티는 타원 곡선 포인트의 세트가 제 2 컴퓨팅 엔티티에 이용 가능하게 한다(504). 일 실시형태에서, 시스템은 타원 곡선 포인트의 전체 세트가 제 2 컴퓨팅 엔티티에 이용 가능하게 할 필요는 없고, 오히려 실시형태에서, 시스템은 타원 곡선 포인트의 서브세트()를 전송한다.
예를 들어, 적어도 하나의 실시형태에 따라, n=2인 경우에, 제 1 컴퓨팅 엔티티는 를 계산하고, 제 2 컴퓨팅 엔티티와 를 공유한다. 남아있는 수량()은 공통 기준 스트링을 계산하기 위해 제 1 컴퓨팅 엔티티에 의해 활용될 수 있다.
또한 스마트 계약에 대한 당사자인 제 2 컴퓨팅 엔티티는 동일한 입력 포인트에 대한 타원 곡선 포인트의 세트를 개별적으로 생성(예를 들어, 타원 곡선 포인트()를 생성)하고, 생성된 포인트 중 일부 또는 전부를 제 1 컴퓨팅 엔터티에 제공한다. 제 1 컴퓨팅 엔티티는, 제 2 컴퓨팅 엔티티에 의해 생성된 타원 곡선 포인트의 일부 또는 전부에 대응하는 타원 곡선 포인트의 제 2 세트를 제 2 컴퓨팅 엔티티로부터 수신할 수 있고(506), 여기서 서브세트는 (예를 들어, 도 2 및 6과 관련하여) 본 개시의 다른 곳에 설명된 기술에 기초하여 결정될 수 있다.
일 실시형태에서, 시스템은 타원 곡선 포인트의 제 1 및 제 2 세트의 적어도 일부에 기초하여 동일한 공통 기준 스트링을 결정한다(508). 예를 들어, 타원 곡선 포인트들의 교환 후에, 및 에 관하여 p를 표현하기 위해 라그랑주 보간이 활용될 수 있다. 일 실시형태에서, 스마트 계약의 양자의 당사자는 교환된 포인트()에 의해 파워()(그리고 특히 )을 재구성할 수 있다. 파워()에 대해, 전술된 바와 같은 다음의 다항식이 활용될 수 있다.
예를 들어, m=2에 대해, 이것은 다음과 같이 된다.
일 실시형태에서, 부가적인 파라미터(예를 들어, 스칼라 값 및/또는 타원 곡선 포인트)는, 이를테면, 도 3과 관련하여 설명된 방식으로, 제 1 및 제 2 컴퓨팅 엔티티 사이에서 교환되고, 공유된 시크릿()의 파워과 관련하여 파라미터는 검증 키 및/또는 평가 키를 계산하는데 활용된다. 일 실시형태에서, 파라미터는, 암호화 방식으로 검증 가능한 기밀성의 보장을 제공하는 암호화 및/또는 통신 채널에 의존하지 않고서 교환된다.
일 실시형태에서, 제 1 컴퓨팅 엔티티 및 제 2 컴퓨팅 엔티티는 트랜잭션에 합의하고, 이들 각각은 스마트 계약을 정확하게 실행하는 제 3 컴퓨팅 엔티티(예를 들어, 작업자)에 의해 잠금 해제될 수 있는 스마트 계약의 각각의 트랜잭션 입력에 기여한다(510). 일 실시형태에서, 컴퓨팅 엔티티 중 어느 하나는 비례적인 작업자 수수료를 제공한다. 둘 모두가 동일한 어드레스(예를 들어, 작업자에 대한 어드레스)에 기여하는 P2SH 유형의 합의가 존재할 수 있거나 존재하지 않을 수 있다. 일 실시형태에서, P2SH 스크립트는 검증 키의 요소 또는 검증 키의 해시 값을 포함한다. 작업자(예를 들어, 제 3 컴퓨팅 엔티티)는, 예를 들어, 영국 특허 출원 제1719998.5호 및/또는 영국 특허 출원 제1720768.9호에 관련하여 설명된 기술을 사용함으로써, 작업자가 정확한 검증을 갖고, 정확함의 유효한 증거를 제공한다는 계산적으로 검증 가능한 증거를 제공함으로써 기여를 잠금 해제(예를 들어, 잠금 해제)할 수 있다.
도 6은 적어도 하나의 실시형태에 따라, n명의 당사자(예를 들어, n> 2) 간에 공유된 시크릿의 파워를 공유하기 위한 프로세스(600)의 예시적인 예를 도시한다. 프로세스(600)(또는 본원에 설명된 임의의 다른 프로세스, 또는 이들의 변형 및/또는 조합)의 일부 또는 전부는 컴퓨터 실행 가능 명령어로 구성된 하나 이상의 컴퓨터 시스템의 제어 하에 수행될 수 있고, 하드웨어, 소프트웨어 또는 이들의 조합에 의해 하나 이상의 프로세서 상에서 일괄적으로 실행되는 코드(예를 들어, 컴퓨터 실행 가능 명령어, 하나 이상의 컴퓨터 프로그램 또는 하나 이상의 애플리케이션)로서 구현될 수 있다. 코드는, 예를 들면, 하나 이상의 프로세서에 의해 실행 가능한 복수의 컴퓨터-판독 가능 명령어를 포함하는 컴퓨터 프로그램 형태로, 컴퓨터 판독 가능 저장 매체 상에 저장될 수 있다. 컴퓨터 판독 가능 저장 매체는 비일시적 컴퓨터 판독 가능 매체일 수 있다. 몇몇 실시형태에서, 프로세스(600)를 수행하기 위해 사용 가능한 컴퓨터 판독 가능 명령어 중 적어도 일부는 일시적 신호(예를 들어, 전파 과도 전기 또는 전자기 전송)만을 사용하여 저장되지 않는다. 비일시적 컴퓨터 판독 가능 매체는 일시적 신호의 트랜시버 내에 비일시적 데이터 저장 회로(예를 들어, 버퍼, 캐시 및 큐)를 포함할 수 있다. 일 실시형태에서, 임계치의 등가물에 선험적으로 주어지고, 필요한 참가자의 수가 먼저 합의된다고 가정된다. 이것은 샤미르의 시크릿 공유 스킴(4S)에 설명된 기술과 같은 기존의 다양한 기술과 상이하고, 여기서 시크릿의 공유는 주어진 임계치가 도달된다는 제한 하에서만 작동한다.
다양한 실시형태에 따라, 시크릿 공유는 임의의 수의 당사자에 대해 유효하다. 일 실시형태에서, 본 개시에서 설명된 형식주의(formalism)의 대부분은 다중-당사자(n>2) 시나리오에 적용될 수 있다. 몇몇 실시형태에서, 다중-당사자 시스템(n>2)은 특정 다른 파라미터(예를 들어, 다음의 비타원 곡선(예를 들어, 스칼라) 파라미터: 중 일부 또는 전부)를 은닉하도록 요구되지 않는다. 그러나, 이러한 파라미터가 프로토콜에 따라 비공개로 유지되어야 하면, 와 같은 파라미터를 은닉하기 위해 도 3과 관련하여 설명된 접근법과 같은 상이한 접근법이 활용될 수 있다.
일 실시형태에서, 모든 참가자는, 유한 필드 요소를 다른 유한 필드 요소에 맵핑하는 함수()에 합의하고 그리고/또는 이에 액세스할 수 있다. 일 실시형태에서, 함수는 그룹 생성기의 계수/지수의 역할을 한다. 예시 목적으로, 이하에서 설명되는 실시형태는, 우리가 관심을 갖는 함수가 테일러 급수(Taylor series)의 일반화에 의해 다항식으로 표현될 수 있기 때문에, 다항식에 초점을 둔다. 특히, 다양한 실시형태에서, 관련된 당사자는 함수를 동일한 값으로 그리고 서로 그 값을 돌리지 않고서 평가한다. 예를 들어, 1차의 다항식의 경우에, 이는 샤미르의 시크릿 공유 스킴을 활용하는 정도이다. 높은 차수(n>1)에 대해, 당사자는 다음의 형태의 표현을 처리한다.
따라서, 본원에 설명된 기술은, 모든 참가자가 동일한 를 갖는 것을 보장하는데 활용될 수 있다. 예를 들어, 적어도 하나의 실시형태에 따라 설명된 프로토콜에서, 동일한 EQ_FSG는, 이기 때문에, 임의의 정수 파워(r)에 대해 의 형태로 포인트를 공개적으로 분배함으로써 둘 이상의 참가자(즉, n>1) 사이에서 공유될 수 있고, 여기서 G는 해당(예를 들어, 타원 곡선 포인트의) 그룹의 생성기이다.
일 실시형태에서, 각각의 참가자는 604 개의 다항식을 생성할 수 있으며, 이는 의 경우 포인트의 세트에서 평가되고, 포인트는 모든 당사자에게 알려질 수 있다. 일 실시형태에서, 각각의 참가자의 다항식의 합은 (마스터) 다항식을 구성하며, 다항식의 y 축과의 교차점은 시크릿, 즉, 다음과 같은 시크릿이고,
s를 확립하기 위해, 각각의 참가자는 상이한 포인트()에서 평가된 대응하는 다항식을 공유한다(606). 더 구체적으로, 참가자(i)는 에 대해 를 생성/계산하고,를 j에 전송한다. 일단 이들 수량이 공유되면, 각각의 참가자는 공유된 시크릿의 파워를 계산하거나 그렇지 않으면 결정할 수 있다(608).
생성기의 파워가 일반적으로 정의되지 않기 때문에, 의 파워를 계산하는 것은 불가능할 수 있다. 그러나 모든 참가자가 교환된 에 의해 를 추론할 수 있기 때문에, 라그랑주 보간 다항식 L(x)의 파워를 심사함으로써 시작하는 것이 가능하다(마스터 다항식은 일반적으로 라그랑주 보간(라그랑주 다항식, n.d.)에 의해 구성될 수 있기 때문에). 라그랑주 보간은 다음과 같이 작성될 수 있다.
여기서
그리고 따라서:
여기서
계산하여,
이는 결국 (다항식 확장을 사용하여) 다음과 같이 다시 작성할 수 있다.
적어도 하나의 실시형태에 따라, 참가자가 타원 곡선을 사용하고 여기서 G가 대응하는(곱셈) 표현의 생성기인 예가 고려된다. 2명의 참가자(A 및 B)의 경우에: A는 를 B에 전송하고, 그에 대한 답으로 를 수신한다. 따라서, 참가자(A)는 다음을 계산할 수 있고,
마찬가지로, 참가자(B)는 다음을 계산할 수 있다.
m=2에 대해, 이것은 다음과 같이 된다.
프로세스(600)에 따른 프로토콜이 이하에서 설명된다. 각각의 참가자가 형태의 표현을 획득할 수 있을 필요가 있기 때문에, 포인트 교환 시에 정렬이 필요할 수 있다. 여기서, 우리는 이러한 해결책 중 하나를 예시한다.
일반성의 손실 없이, 적어도 하나의 실시형태에 따라, 참가자(1)가 제 1 타원 곡선 포인트를 제출하는 참가자인 것으로 가정될 수 있다. 일 실시형태에서, 프로토콜은 다음의 단계들을 따른다.
4. ...(각각의 참가자에 대해 이러한 식이다)
시퀀스에서 번째 참가자는 에 대해 , 및 에 대해 를 모든 명의 참가자에 분배한다. 마지막 참가자(m)가 자신의 포인트를 분배할 때, 모든 참가자는 를 계산하는 데 필요한 구성요소를 갖는다.
일 실시형태에서, 프로세스(600)는 형태의 포인트의 세트를 교환하는 복수의 m명의 참가자(예를 들어, 2명 초과의 참가자)를 포함하고, 여기서 포인트는 를 계산하기 위해 각각의 참가자에 의해 사용된다. 그 다음, 참가자는 그리고 특히, 를 획득하기 위해, 라그랑주 보간과 함께 를 사용할 수 있다. 일 실시형태에서, 포인트는 타원 곡선 포인트이며, 여기서 이다.
따라서, 명세서 및 도면은 제한적인 의미가 아니라 예시적인 의미에서 고려되어야 한다. 그러나, 청구범위에서 기술되는 바와 같은 본 발명의 범위를 벗어나지 않으면서 다양한 수정 및 변경이 이루어질 수도 있다는 것이 명백할 것이다. 마찬가지로, 다른 변형예도 본 개시의 범위 내에 있다. 따라서, 개시된 기술이 다양한 수정 및 대안적인 구성을 허용하지만, 그것의 소정의 예시된 실시형태가 도면에 도시되고 상기에서 상세하게 설명되었다. 그러나, 본 발명을 개시되는 특정한 형태 또는 형태들로 제한하려는 의도가 있는 것이 아니라, 반대로, 본 발명은, 첨부된 청구범위에서 정의되는 바와 같은 본 발명의 범위 내에 속하는 모든 수정예, 대안적인 구성예 및 등가예를 포괄할 것이다는 것이 이해되어야 한다.
달리 언급되거나 또는 문맥에 의해 부정되지 않는 한, 용어 "세트"(예를 들면, "아이템의 세트") 또는 "서브세트"의 사용은, 하나 이상의 멤버를 포함하는 비어 있지 않은 집합으로서 해석되어야 한다. 또한, 달리 언급되거나 또는 문맥에 의해 부정되지 않는 한, 대응하는 세트의 "서브세트"라는 용어는 대응하는 세트의 적절한 서브세트를 반드시 나타내는 것은 아니며, 서브세트 및 대응하는 세트는 동일할 수도 있다.
"A, B, 및 C 중 적어도 하나", 또는 "A, B 및 C 중 적어도 하나"의 형태의 어구와 같은 접속 언어는, 달리 명시적으로 언급되지 않는 한 또는 문맥에 의해 달리 명백하게 부정되지 않는 한, 다르게는, 아이템, 용어, 등등이 A 또는 B 또는 C일 수도 있거나, 또는 A 및 B 및 C의 세트의 임의의 비어 있지 않은 서브세트일 수도 있다는 것을 제시하기 위해 일반적으로 사용되는 바와 같은 맥락에서 이해된다. 예를 들면, 세 개의 멤버를 갖는 세트의 예시적인 예에서, 접속 어구 "A, B, 및 C 중 적어도 하나" 및 "A, B 및 C 중 적어도 하나"는 다음의 세트 {A}, {B}, {C}, {A, B}, {A, C}, {B, C}, {A, B, C} 중 임의의 것을 지칭한다. 따라서, 그러한 접속 언어는, 일반적으로, 소정의 실시형태가 A 중 적어도 하나, B 중 적어도 하나 및 C 중 적어도 하나 각각이 존재할 필요가 있음을 암시하도록 의도되지 않는다. 또한, 문맥으로부터 달리 언급되거나 달리 명확하지 않다면, 어구 "에 기초하는"은 "에 단독으로 기초하는"이 아니라 "에 적어도 부분적으로 기초하는"을 의미한다.
설명되는 프로세스의 동작은 달리 지시되지 않는 한 또는 문맥에 의해 달리 명확하게 부정되지 않는 한, 임의의 적절한 순서로 수행될 수 있다. 설명되는 프로세스(또는 그 변형 및/또는 조합)는, 실행 가능 명령어를 가지고 구성되는 하나 이상의 컴퓨터 시스템의 제어 하에서 수행될 수 있고, 하드웨어 또는 그 조합에 의해, 하나 이상의 프로세서 상에서 일괄적으로(collectively) 실행되는 코드(예를 들면, 실행 가능 명령어, 하나 이상의 컴퓨터 프로그램 또는 하나 이상의 애플리케이션)로서 구현될 수 있다. 몇몇 실시형태에서, 코드는, 예를 들면, 하나 이상의 프로세서에 의해 실행 가능한 복수의 명령어를 포함하는 컴퓨터 프로그램 형태로, 컴퓨터 판독 가능 저장 매체 상에 저장될 수 있다. 몇몇 실시형태에서, 컴퓨터 판독 가능 저장 매체는 비일시적이다.
제공되는 예, 또는 예시적인 언어(예를 들면, "예를 들어") 중 임의의 것 또는 모두의 사용은, 단지 본 발명의 실시형태를 더욱 잘 조명하도록 의도되는 것에 불과하며, 달리 청구되지 않는 한, 본 발명의 범위에 대해 제한을 부과하지는 않는다. 본 명세서에서의 어떤 언어도, 임의의 청구되지 않은 엘리먼트를 본 발명의 실시에 필수적인 것으로 나타내는 것으로 해석되지 않아야 한다.
본 발명을 수행하기 위한 본 발명자에게 알려진 최상의 모드를 비롯한, 본 개시의 실시형태가 설명된다. 그들 실시형태의 변형예는, 전술한 설명의 판독시, 기술 분야에서 통상의 지식을 가진 자에게 명백하게 될 것이다. 본 발명자는, 숙련된 기술자가, 그러한 변형예를 적절히 활용하기를 기대하고, 본 발명자는, 본 개시의 실시형태가 구체적으로 설명된 것과는 달리 실시되는 것을 의도한다. 따라서, 본 개시의 범위는, 적용 가능한 법률에 의해 허용되는 바와 같은 본원에 첨부되는 청구범위에서 열거되는 주제의 모든 수정예 및 등가예를 포함한다. 더욱이, 그 모든 가능한 변형예에서 상기 설명된 엘리먼트의 임의의 조합은, 달리 지시되지 않는 한 또는 문맥에 의해 달리 명백하게 부정되지 않는 한, 본 개시의 범위에 의해 포괄된다.
인용되는 출판물, 특허 출원, 및 특허를 비롯한, 모든 참고 문헌은, 마치 각각의 참고 문헌이 참조에 의해 개별적으로 그리고 구체적으로 통합된 것으로 나타내어지고 그 전체가 기술되는 것과 동일한 정도로 참조에 의해 본원에 통합된다.
상기 언급된 실시형태는 본 발명을 제한하기 보다는 예시하는 것이며, 기술 분야의 숙련된 자는, 첨부된 청구범위에 의해 정의된 바와 같은 본 발명의 범위를 벗어나지 않으면서, 많은 대안적인 실시형태를 설계할 수도 있을 것이다는 것을 유의해야 한다. 소정의 조치가 상이한 종속 청구항에서 인용된다는 단순한 사실은, 이들 조치의 조합이 유리하게 사용될 수 없다는 것을 나타내지는 않는다.
Claims (15)
- 컴퓨터 구현 방법으로서,
유한 필드 요소(finite field element)를 맵핑하기 위해 사용 가능한 함수를 복수의 참가자 중 한 명의 참가자에서 결정하는 단계와,
참가자의 수에 기초하여, 포인트의 세트에서 평가되는 다항식을 생성하는 단계와,
상기 복수의 참가자 중 대응하는 참가자에 상기 다항식을 분배하는 단계와,
상기 복수의 참가자 중 각각의 참가자의 다항식의 합(sum)을 결정하는 단계 ― 상기 합은 시크릿의 파워(power)에 대응함 ― 와,
상기 복수의 참가자 중에서 그리고 상기 시크릿에 기초하여, 블록체인 트랜잭션(blockchain transaction)을 일괄적으로 생성하는 단계를 포함하는
컴퓨터 구현 방법.
- 제 1 항에 있어서,
상기 포인트의 세트는 타원 곡선 포인트(elliptic curve point)의 세트인
컴퓨터 구현 방법.
- 제 1 항 또는 제 2 항에 있어서,
상기 다항식의 합을 결정하는 단계는 라그랑주 보간(Lagrange interpolation)에 기초하는
컴퓨터 구현 방법.
- 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
상기 시크릿의 파워에 적어도 부분적으로 기초하여, 상기 복수의 참가자에 의해 결정 가능한 공통 기준 스트링(common reference string)을 결정하는 단계를 더 포함하는
컴퓨터 구현 방법.
- 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
상기 복수의 참가자 중 각각의 참가자로부터 대응하는 다항식의 값을 수신하는 단계를 더 포함하는
컴퓨터 구현 방법.
- 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
오프-체인(off-chain) 통신은 대응하는 참가자로의 상기 다항식의 값의 분배에서 활용되는
컴퓨터 구현 방법.
- 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
상기 유한 필드 요소를 맵핑하기 위해 사용 가능한 상기 함수는 그룹의 생성기의 계수(coefficient) 또는 지수(exponent)의 역할을 하는
컴퓨터 구현 방법.
- 제 1 항 내지 제 7 항 중 어느 한 항에 있어서,
상기 복수의 참가자는 정확히 2명의 참가자인
컴퓨터 구현 방법.
- 제 1 항 내지 제 8 항 중 어느 한 항에 있어서,
상기 시크릿은 특정 포인트에서 평가된 상기 다항식의 합에 기초하여 결정되는
컴퓨터 구현 방법.
- 제 9 항에 있어서,
상기 특정 포인트는 교차 포인트(intersection point)인
컴퓨터 구현 방법.
- 제 1 항 내지 제 10 항 중 어느 한 항에 있어서,
상기 포인트의 세트는 상기 교차 포인트를 배제하는
컴퓨터 구현 방법.
- 제 1 항 내지 제 11 항 중 어느 한 항에 있어서,
상기 포인트의 세트에서 평가된 상기 다항식은 적어도 2차인
컴퓨터 구현 방법.
- 제 1 항 내지 제 12 항 중 어느 한 항에 있어서,
상기 포인트의 세트의 각각의 포인트는 상이한 포인트인
컴퓨터 구현 방법.
- 시스템으로서,
프로세서와,
실행 가능 명령어를 포함하는 메모리를 포함하고,
상기 실행 가능 명령어는, 상기 프로세서에 의한 실행의 결과로서, 상기 시스템으로 하여금 제 1 항 내지 제 13 항 중 어느 한 항에 따른 컴퓨터 구현 방법을 수행하게 하는
시스템.
- 실행 가능 명령어를 저장한 비일시적인 컴퓨터 판독 가능 저장 매체로서,
상기 실행 가능 명령어는, 컴퓨터 시스템의 프로세서에 의해 실행된 결과로서, 상기 컴퓨터 시스템으로 하여금 제 1 항 내지 제 13 항 중 어느 한 항에 따른 컴퓨터 구현 방법을 적어도 수행하게 하는
비일시적인 컴퓨터 판독 가능 저장 매체.
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB1720768.9A GB201720768D0 (en) | 2017-12-13 | 2017-12-13 | Computer-implemented system and method |
GB1720768.9 | 2017-12-13 | ||
GBGB1813772.9A GB201813772D0 (en) | 2018-08-23 | 2018-08-23 | Computer-Implemented system and method |
GB1813770.3 | 2018-08-23 | ||
GB1813772.9 | 2018-08-23 | ||
GBGB1813770.3A GB201813770D0 (en) | 2018-08-23 | 2018-08-23 | Computer-Implemented system and method |
PCT/IB2018/059770 WO2019116187A1 (en) | 2017-12-13 | 2018-12-07 | System and method for securely sharing cryptographic material |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20200096248A true KR20200096248A (ko) | 2020-08-11 |
Family
ID=65013743
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020207017958A KR20200096248A (ko) | 2017-12-13 | 2018-12-07 | 암호 자료를 안전하게 공유하기 위한 시스템 및 방법 |
KR1020207017961A KR20200094173A (ko) | 2017-12-13 | 2018-12-12 | 블록체인 기반 스마트 계약의 다중-당사지 생성을 위한 시스템 및 방법 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020207017961A KR20200094173A (ko) | 2017-12-13 | 2018-12-12 | 블록체인 기반 스마트 계약의 다중-당사지 생성을 위한 시스템 및 방법 |
Country Status (9)
Country | Link |
---|---|
US (6) | US11683164B2 (ko) |
EP (3) | EP3725028A1 (ko) |
JP (4) | JP7453911B2 (ko) |
KR (2) | KR20200096248A (ko) |
CN (4) | CN118449685A (ko) |
SG (2) | SG11202005567QA (ko) |
TW (1) | TWI794366B (ko) |
WO (2) | WO2019116187A1 (ko) |
ZA (2) | ZA202004255B (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102346880B1 (ko) | 2020-09-01 | 2022-01-03 | 김바올 | 블록체인에 기반한 성인인증정보 관리 방법 및 장치 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6981472B2 (ja) * | 2017-08-22 | 2021-12-15 | 日本電信電話株式会社 | 合意システム、合意装置、プログラム、および記録媒体 |
GB201805633D0 (en) * | 2018-04-05 | 2018-05-23 | Nchain Holdings Ltd | Computer implemented method and system |
WO2021013813A1 (en) * | 2019-07-24 | 2021-01-28 | Koninklijke Philips N.V. | Summarizing a genomic data entry |
CN110535916B (zh) * | 2019-08-09 | 2022-04-15 | 江苏科技大学 | 一种基于区块链的供应保障管理方法 |
CN111427958A (zh) * | 2020-03-26 | 2020-07-17 | 北京链化未来科技有限公司 | 基于区块链的去中心化数据数据共享方法 |
TWI790450B (zh) * | 2020-06-15 | 2023-01-21 | 台灣灣谷科技股份有限公司 | 智能合約上鏈方法及其系統 |
WO2022006361A1 (en) * | 2020-06-30 | 2022-01-06 | Interdigital Patent Holdings, Inc. | Methods, architectures, apparatuses and systems directed to messaging through blockchain networks |
US11991284B1 (en) * | 2020-07-02 | 2024-05-21 | Steven Ali Ghabel | Blockchain-based authentication system and method |
CN112653550A (zh) * | 2020-10-11 | 2021-04-13 | 黑龙江头雁科技有限公司 | 一种基于BlockChain的多项密钥管理方法 |
JP2022158677A (ja) | 2021-04-02 | 2022-10-17 | 株式会社野村総合研究所 | マルチパーティ計算で行われるゼロ知識証明のための装置およびシステム |
US20220337424A1 (en) * | 2021-04-16 | 2022-10-20 | Portable Data Corp | Apparatuses And Methods For Facilitating Cryptographically Mediated Organizations And Tokens And Related Interactions |
WO2023055582A1 (en) * | 2021-09-30 | 2023-04-06 | Visa International Service Association | Round optimal oblivious transfers from isogenies |
KR20230077838A (ko) | 2021-11-26 | 2023-06-02 | (주) 이노트리 | 다자간 계약의 개인정보 보호를 위한 온라인 전자 계약 플랫폼 시스템 |
US12086630B2 (en) * | 2022-04-07 | 2024-09-10 | Piamond Corp. | Method and system for generating and managing smart contract |
GB2627757A (en) * | 2023-02-28 | 2024-09-04 | Nchain Licensing Ag | Verification of scalar multiplication of elliptic curve points in script |
GB2627758A (en) * | 2023-02-28 | 2024-09-04 | Nchain Licensing Ag | Verification of scalar multiplication of elliptic curve points in script |
Family Cites Families (138)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4667290A (en) | 1984-09-10 | 1987-05-19 | 501 Philon, Inc. | Compilers using a universal intermediate language |
JPH03126133A (ja) | 1989-10-11 | 1991-05-29 | Matsushita Electric Ind Co Ltd | コンパイラ処理方法 |
US5499191A (en) | 1992-06-15 | 1996-03-12 | Minc Incorporated | Multi-level logic optimization in programmable logic devices |
US5297150A (en) | 1992-06-17 | 1994-03-22 | International Business Machines Corporation | Rule-based method for testing of programming segments |
US6064928A (en) | 1997-04-24 | 2000-05-16 | Automation Systems Laboratory, Inc. | Mechanical sensor diagnostic method and system |
US5920830A (en) | 1997-07-09 | 1999-07-06 | General Electric Company | Methods and apparatus for generating test vectors and validating ASIC designs |
US6161180A (en) | 1997-08-29 | 2000-12-12 | International Business Machines Corporation | Authentication for secure devices with limited cryptography |
US6519754B1 (en) | 1999-05-17 | 2003-02-11 | Synplicity, Inc. | Methods and apparatuses for designing integrated circuits |
US7181017B1 (en) * | 2001-03-23 | 2007-02-20 | David Felsher | System and method for secure three-party communications |
EP1283422A1 (en) | 2001-08-07 | 2003-02-12 | Lucent Technologies Inc. | Testbench for the validation of a device under test |
US7209555B2 (en) | 2001-10-25 | 2007-04-24 | Matsushita Electric Industrial Co., Ltd. | Elliptic curve converting device, elliptic curve converting method, elliptic curve utilization device and elliptic curve generating device |
US7085701B2 (en) | 2002-01-02 | 2006-08-01 | International Business Machines Corporation | Size reduction techniques for vital compliant VHDL simulation models |
AU2003252817A1 (en) * | 2002-03-13 | 2003-09-22 | Koninklijke Philips Electronics N.V. | Polynomial-based multi-user key generation and authentication method and system |
US7281017B2 (en) | 2002-06-21 | 2007-10-09 | Sumisho Computer Systems Corporation | Views for software atomization |
CN1679271A (zh) * | 2002-08-28 | 2005-10-05 | 美国多科摩通讯研究所股份有限公司 | 基于认证的加密和公共密钥基础结构 |
US6983456B2 (en) | 2002-10-31 | 2006-01-03 | Src Computers, Inc. | Process for converting programs in high-level programming languages to a unified executable for hybrid computing platforms |
US20050004899A1 (en) | 2003-04-29 | 2005-01-06 | Adrian Baldwin | Auditing method and service |
US20060149962A1 (en) * | 2003-07-11 | 2006-07-06 | Ingrian Networks, Inc. | Network attached encryption |
US7059517B2 (en) * | 2003-12-31 | 2006-06-13 | Hewlett-Packard Development Company, L.P. | On-line PIN verification using polynomials |
US7664957B2 (en) * | 2004-05-20 | 2010-02-16 | Ntt Docomo, Inc. | Digital signatures including identity-based aggregate signatures |
US7590236B1 (en) * | 2004-06-04 | 2009-09-15 | Voltage Security, Inc. | Identity-based-encryption system |
US8200700B2 (en) | 2005-02-01 | 2012-06-12 | Newsilike Media Group, Inc | Systems and methods for use of structured and unstructured distributed data |
US20160004820A1 (en) | 2005-02-01 | 2016-01-07 | Newsilike Media Group, Inc. | Security facility for maintaining health care data pools |
US8874477B2 (en) * | 2005-10-04 | 2014-10-28 | Steven Mark Hoffberg | Multifactorial optimization system and method |
TW200725415A (en) | 2005-12-30 | 2007-07-01 | Tatung Co Ltd | Method for automatically translating high level programming language into hardware description language |
US8850411B2 (en) | 2006-06-21 | 2014-09-30 | Element Cxi, Llc | Compiler system, method and software for a resilient integrated circuit architecture |
US7926040B2 (en) | 2006-09-06 | 2011-04-12 | International Business Machines Corporation | Method and system for timing code execution in a korn shell script |
WO2008053650A1 (en) * | 2006-10-30 | 2008-05-08 | Nec Corporation | Common key block encrypting device, its method, its program, and recording medium |
FR2918525A1 (fr) * | 2007-07-06 | 2009-01-09 | France Telecom | Procede asymetrique de chiffrement ou de verification de signature. |
US8543885B2 (en) | 2007-11-18 | 2013-09-24 | Lg Electronics Inc. | Methods of joint coding in mobile communication system |
US8923510B2 (en) * | 2007-12-28 | 2014-12-30 | Intel Corporation | Method and apparatus for efficiently implementing the advanced encryption standard |
JP2010096787A (ja) * | 2008-10-14 | 2010-04-30 | Tokyo Metropolitan Univ | 秘密情報分散装置、秘密情報分散プログラム、秘密情報分散方法、秘密情報復元装置、秘密情報復元プログラム、秘密情報復元方法、及び秘密情報分散復元システム |
US8336036B2 (en) | 2008-11-21 | 2012-12-18 | Korea University Industrial & Academic Collaboration Foundation | System and method for translating high programming level languages code into hardware description language code |
WO2010069063A1 (en) * | 2008-12-16 | 2010-06-24 | Certicom Corp. | Acceleration of key agreement protocols |
US8165287B2 (en) * | 2008-12-30 | 2012-04-24 | King Fahd University Of Petroleum & Minerals | Cryptographic hash functions using elliptic polynomial cryptography |
US8189771B2 (en) * | 2009-01-12 | 2012-05-29 | King Fahd University Of Petroleum & Minerals | Hash functions with elliptic polynomial hopping |
FR2947404B1 (fr) | 2009-06-30 | 2011-12-16 | Sagem Securite | Cryptographie par parametrisation sur une courbe elliptique |
JP5159752B2 (ja) | 2009-12-03 | 2013-03-13 | セイコープレシジョン株式会社 | 通信データの検証装置及びそのコンピュータプログラム |
US8189775B2 (en) * | 2010-02-18 | 2012-05-29 | King Fahd University Of Petroleum & Minerals | Method of performing cipher block chaining using elliptic polynomial cryptography |
RU2527207C2 (ru) * | 2010-04-27 | 2014-08-27 | Нек Корпорейшн | Устройство кодирования, способ конфигурирования кода с исправлением ошибок и программа для них |
US10515567B2 (en) * | 2010-06-01 | 2019-12-24 | Ternarylogic Llc | Cryptographic machines with N-state lab-transformed switching devices |
US20120002811A1 (en) * | 2010-06-30 | 2012-01-05 | The University Of Bristol | Secure outsourced computation |
US8972746B2 (en) * | 2010-12-17 | 2015-03-03 | Intel Corporation | Technique for supporting multiple secure enclaves |
WO2012126086A1 (en) * | 2011-03-18 | 2012-09-27 | Certicom Corp. | Secure financial transactions |
US9569771B2 (en) * | 2011-04-29 | 2017-02-14 | Stephen Lesavich | Method and system for storage and retrieval of blockchain blocks using galois fields |
WO2012151251A2 (en) | 2011-05-03 | 2012-11-08 | Panther Payments, LLC | Method and system for facilitating person-to person payments |
US8607129B2 (en) * | 2011-07-01 | 2013-12-10 | Intel Corporation | Efficient and scalable cyclic redundancy check circuit using Galois-field arithmetic |
JP5697153B2 (ja) | 2011-08-04 | 2015-04-08 | キヤノンマーケティングジャパン株式会社 | 情報処理システム、携帯端末、制御方法、及びプログラム |
US8745376B2 (en) | 2011-10-14 | 2014-06-03 | Certicom Corp. | Verifying implicit certificates and digital signatures |
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. |
CN104854814A (zh) * | 2012-12-21 | 2015-08-19 | 皇家飞利浦有限公司 | 密钥共享网络设备及其配置 |
US8683193B1 (en) | 2013-03-01 | 2014-03-25 | Robert Hansen | Strict communications transport security |
EP2989742B1 (en) * | 2013-04-24 | 2018-08-29 | NEC Corporation | Method and system for enforcing access control policies on data |
US20140321644A1 (en) | 2013-04-29 | 2014-10-30 | Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of National Defence | Method and system for calculations on encrypted data |
US11127001B2 (en) | 2013-05-09 | 2021-09-21 | Wayne Fueling Systems Llc | Systems and methods for secure communication |
US9553982B2 (en) | 2013-07-06 | 2017-01-24 | Newvoicemedia, Ltd. | System and methods for tamper proof interaction recording and timestamping |
EP2860905A1 (en) * | 2013-10-09 | 2015-04-15 | Thomson Licensing | Method for ciphering a message via a keyed homomorphic encryption function, corresponding electronic device and computer program product |
US9026978B1 (en) | 2013-10-24 | 2015-05-05 | Cadence Design Systems, Inc. | Reverse interface logic model for optimizing physical hierarchy under full chip constraint |
JP6095584B2 (ja) * | 2014-01-15 | 2017-03-15 | 日本電信電話株式会社 | マルチパーティ計算システム、秘匿計算装置、マルチパーティ計算方法及びプログラム |
FR3018378A1 (fr) | 2014-03-12 | 2015-09-11 | Enrico Maim | Systeme et procede transactionnels a architecture repartie fondees sur des transactions de transferts d'unites de compte entre adresses |
US10320781B2 (en) | 2016-12-08 | 2019-06-11 | Sensoriant, Inc. | System and methods for sharing and trading user data and preferences between computer programs and other entities while preserving user privacy |
US9645794B2 (en) | 2014-09-23 | 2017-05-09 | Texas Instruments Incorporated | Homogeneous atomic pattern for double, add, and subtract operations for digital authentication using elliptic curve cryptography |
US10025926B2 (en) | 2014-11-19 | 2018-07-17 | The Mitre Corporation | Side-channel leakage evaluator and analysis kit |
US20160162897A1 (en) | 2014-12-03 | 2016-06-09 | The Filing Cabinet, LLC | System and method for user authentication using crypto-currency transactions as access tokens |
CN104580240A (zh) | 2015-01-22 | 2015-04-29 | 杭州安存网络科技有限公司 | 聊天证据固定方法及装置 |
PT3259871T (pt) | 2015-02-20 | 2020-11-10 | Ericsson Telefon Ab L M | Método para proporcionar um valor de dispersão para uma parte de dados, dispositivo eletrónico e programa de computador |
SI3073670T1 (sl) | 2015-03-27 | 2021-07-30 | Black Gold Coin, Inc. | Sistem in postopek za osebno identifikacijo in verifikacijo |
WO2016155804A1 (en) | 2015-03-31 | 2016-10-06 | Nec Europe Ltd. | Method for verifying information |
JP2017004044A (ja) | 2015-06-04 | 2017-01-05 | 富士通株式会社 | ライセンス管理プログラム、ライセンス管理方法、およびライセンス管理システム |
CN106293892B (zh) | 2015-06-26 | 2019-03-19 | 阿里巴巴集团控股有限公司 | 分布式流计算系统、方法和装置 |
WO2017008829A1 (en) * | 2015-07-10 | 2017-01-19 | Nec Europe Ltd. | A method and a system for reliable computation of a program |
US10339523B2 (en) * | 2015-07-14 | 2019-07-02 | Fmr Llc | Point-to-point transaction guidance apparatuses, methods and systems |
US11488147B2 (en) * | 2015-07-14 | 2022-11-01 | Fmr Llc | Computationally efficient transfer processing and auditing apparatuses, methods and systems |
US20170048209A1 (en) * | 2015-07-14 | 2017-02-16 | Fmr Llc | Crypto Key Recovery and Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems |
US20170091756A1 (en) * | 2015-07-14 | 2017-03-30 | Fmr Llc | Point-to-Point Transaction Guidance Apparatuses, Methods and Systems |
US10366204B2 (en) | 2015-08-03 | 2019-07-30 | Change Healthcare Holdings, Llc | System and method for decentralized autonomous healthcare economy platform |
DE102015114215A1 (de) | 2015-08-27 | 2017-03-02 | Rwe Ag | Versorgungssystem und verfahren zum betreiben eines versorgungssystems |
US20180331832A1 (en) | 2015-11-05 | 2018-11-15 | Allen Pulsifer | Cryptographic Transactions System |
US10269012B2 (en) * | 2015-11-06 | 2019-04-23 | Swfl, Inc. | Systems and methods for secure and private communications |
US10048952B2 (en) | 2015-11-11 | 2018-08-14 | Oracle International Corporation | Compiler optimized data model evaluation |
FR3043811B1 (fr) | 2015-11-16 | 2017-11-10 | Morpho | Procede d'identification d'une entite |
US20170140408A1 (en) | 2015-11-16 | 2017-05-18 | Bank Of America Corporation | Transparent self-managing rewards program using blockchain and smart contracts |
KR102632493B1 (ko) * | 2015-11-16 | 2024-02-02 | 코르보 유에스, 인크. | Esd 보호를 위한 자연 폐쇄 mems 스위치 |
US9992028B2 (en) * | 2015-11-26 | 2018-06-05 | International Business Machines Corporation | System, method, and computer program product for privacy-preserving transaction validation mechanisms for smart contracts that are included in a ledger |
US11423498B2 (en) | 2015-12-16 | 2022-08-23 | International Business Machines Corporation | Multimedia content player with digital rights management while maintaining privacy of users |
JP2017111591A (ja) | 2015-12-16 | 2017-06-22 | 株式会社ソシオネクスト | 設計方法、設計プログラム及び設計装置 |
US9715373B2 (en) | 2015-12-18 | 2017-07-25 | International Business Machines Corporation | Dynamic recompilation techniques for machine learning programs |
US10044696B2 (en) | 2015-12-22 | 2018-08-07 | Mcafee, Llc | Simplified sensor integrity |
US9483596B1 (en) | 2016-01-08 | 2016-11-01 | International Business Machines Corporation | Multi power synthesis in digital circuit design |
US9960920B2 (en) | 2016-01-26 | 2018-05-01 | Stampery Inc. | Systems and methods for certification of data units and/or certification verification |
US10108812B2 (en) * | 2016-01-28 | 2018-10-23 | Nasdaq, Inc. | Systems and methods for securing and disseminating time sensitive information using a blockchain |
GB2561729A (en) * | 2016-02-23 | 2018-10-24 | Nchain Holdings Ltd | Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system |
US10387988B2 (en) | 2016-02-26 | 2019-08-20 | Google Llc | Compiler techniques for mapping program code to a high performance, power efficient, programmable image processing hardware platform |
US11170371B2 (en) | 2016-03-03 | 2021-11-09 | Nec Corporation | Method for managing data in a network of nodes |
US20200327498A1 (en) * | 2016-03-21 | 2020-10-15 | National Ict Australia Limited | Business Process Execution on a Blockchain Platform |
US11017387B2 (en) | 2016-03-24 | 2021-05-25 | International Business Machines Corporation | Cryptographically assured zero-knowledge cloud services for elemental transactions |
US11017388B2 (en) | 2016-03-25 | 2021-05-25 | International Business Machines Corporation | Cryptographically assured zero-knowledge cloud service for composable atomic transactions |
US10839096B2 (en) | 2016-03-28 | 2020-11-17 | International Business Machines Corporation | Cryptographically provable zero-knowledge content distribution network |
US20170287090A1 (en) | 2016-03-31 | 2017-10-05 | Clause, Inc. | System and method for creating and executing data-driven legal contracts |
US10545739B2 (en) | 2016-04-05 | 2020-01-28 | International Business Machines Corporation | LLVM-based system C compiler for architecture synthesis |
PT3440823T (pt) | 2016-04-05 | 2020-12-04 | Zamna Tech Limited | Método e sistema para gestão de informações pessoais dentro de sistemas informáticos independentes e redes digitais |
US11455630B2 (en) | 2016-04-11 | 2022-09-27 | nChain Holdings Limited | Method for secure peer-to-peer communication on a blockchain |
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 |
US10046228B2 (en) | 2016-05-02 | 2018-08-14 | Bao Tran | Smart device |
EP3452929B1 (en) | 2016-05-06 | 2020-04-01 | Innogy Innovation GmbH | System for evaluating telemetry data |
US20170337319A1 (en) | 2016-05-20 | 2017-11-23 | Ecole polytechnique fédérale de Lausanne (EPFL) | System and Method for Optimization of Digital Circuits with Timing and Behavior Co-Designed by Introduction and Exploitation of False Paths |
US9774578B1 (en) * | 2016-05-23 | 2017-09-26 | Accenture Global Solutions Limited | Distributed key secret for rewritable blockchain |
US20170344988A1 (en) * | 2016-05-24 | 2017-11-30 | Ubs Ag | System and method for facilitating blockchain-based validation |
CN107438002B (zh) | 2016-05-27 | 2022-02-11 | 索尼公司 | 基于区块链的系统以及系统中的电子设备和方法 |
FR3052286B1 (fr) | 2016-06-06 | 2018-06-15 | Morpho | Procede de verification d'un droit d'acces d'un individu |
US10447478B2 (en) | 2016-06-06 | 2019-10-15 | Microsoft Technology Licensing, Llc | Cryptographic applications for a blockchain system |
US20180018738A1 (en) | 2016-07-14 | 2018-01-18 | Digital Asset Holdings | Digital asset platform |
KR101795696B1 (ko) | 2016-07-14 | 2017-11-09 | 주식회사 코인플러그 | 메신저 서비스를 통하여 송수신되는 데이터에 대한 기록 및 검증 서비스를 제공하는 방법, 및 이를 이용한 서버 |
US10417217B2 (en) | 2016-08-05 | 2019-09-17 | Chicago Mercantile Exchange Inc. | Systems and methods for blockchain rule synchronization |
US20180089760A1 (en) * | 2016-09-26 | 2018-03-29 | Shapeshift Ag | System and method of providing a multi-asset rebalancing mechanism |
CN106506146A (zh) | 2016-10-26 | 2017-03-15 | 北京瑞卓喜投科技发展有限公司 | 基于区块链技术的交易信息校验方法、装置及系统 |
CN106534317B (zh) | 2016-11-17 | 2019-09-03 | 杭州云象网络技术有限公司 | 一种基于区块链技术的灾备云存储系统构建方法 |
CN106559211B (zh) * | 2016-11-22 | 2019-12-13 | 中国电子科技集团公司第三十研究所 | 一种区块链中隐私保护智能合约方法 |
EP3566389B1 (en) | 2017-01-06 | 2021-08-18 | Koninklijke Philips N.V. | Distributed privacy-preserving verifiable computation |
EP3566384B1 (en) | 2017-01-06 | 2021-02-17 | Koninklijke Philips N.V. | Pinocchio / trinocchio on authenticated data |
CN106846666B (zh) * | 2017-01-18 | 2019-05-07 | 北京云知科技有限公司 | 一种基于区块链的存取款方法 |
CN110945549A (zh) | 2017-03-15 | 2020-03-31 | 努Id公司 | 用于对用于跨机构数字认证的用户拥有的凭证的通用存储和访问的方法和系统 |
KR101882802B1 (ko) | 2017-04-17 | 2018-07-27 | 주식회사 코인플러그 | Utxo 기반 프로토콜을 이용한 블록체인 기반의 문서 관리 방법 및 이를 이용한 문서 관리 서버 |
US10419209B1 (en) * | 2017-04-26 | 2019-09-17 | Wells Fargo Bank, N.A. | Parallel assurance of blockchain signatures |
CN107274184A (zh) | 2017-05-11 | 2017-10-20 | 上海点融信息科技有限责任公司 | 基于零知识证明的区块链数据处理 |
CN107179932A (zh) | 2017-05-26 | 2017-09-19 | 福建师范大学 | 基于fpga高层次综合指令的优化方法及其系统 |
CN107040545B (zh) | 2017-05-26 | 2019-05-31 | 中国人民解放军信息工程大学 | 工程文件全生命周期安全保护方法 |
CN107425967B (zh) * | 2017-06-15 | 2019-08-27 | 武汉理工大学 | 一种理论安全的灵活多秘密共享方法 |
CN107426234A (zh) | 2017-08-08 | 2017-12-01 | 武汉协鑫新能源电力设计有限公司 | 一种基于区块链技术的绿色电力认证机制 |
WO2019033074A1 (en) | 2017-08-11 | 2019-02-14 | Dragonchain, Inc. | SYSTEMS AND METHODS OF INTERACTION WITH DISTRIBUTED REGISTERS |
US10268829B2 (en) | 2017-08-11 | 2019-04-23 | Dragonchain, Inc. | Security systems and methods based on cryptographic utility token inventory tenure |
US10333710B2 (en) | 2017-09-12 | 2019-06-25 | Qed-It Systems Ltd. | Method and system for determining desired size of private randomness using Tsallis entropy |
US10521616B2 (en) | 2017-11-08 | 2019-12-31 | Analog Devices, Inc. | Remote re-enrollment of physical unclonable functions |
CN108009441B (zh) * | 2017-11-23 | 2023-05-30 | 创新先进技术有限公司 | 资源转移和资金转移的方法和装置 |
US10949511B2 (en) * | 2017-11-30 | 2021-03-16 | Bank Of America Corporation | Multicomputer processing for data authentication using a blockchain approach |
US20190180276A1 (en) * | 2017-12-07 | 2019-06-13 | Bank Of America Corporation | Automated Event Processing Computing Platform for Handling and Enriching Blockchain Data |
FR3075534B1 (fr) | 2017-12-14 | 2020-01-10 | CopSonic | Dispositif de stockage de cles numeriques pour signer des transactions sur une chaine de blocs |
FR3098947B1 (fr) * | 2019-07-19 | 2021-09-10 | Idemia Identity & Security France | Procédé de traitement d’une transaction émise depuis une entité de preuve |
-
2018
- 2018-12-07 CN CN202410473675.1A patent/CN118449685A/zh active Pending
- 2018-12-07 EP EP18833516.0A patent/EP3725028A1/en active Pending
- 2018-12-07 CN CN201880080950.6A patent/CN111466095B/zh active Active
- 2018-12-07 JP JP2020531060A patent/JP7453911B2/ja active Active
- 2018-12-07 WO PCT/IB2018/059770 patent/WO2019116187A1/en unknown
- 2018-12-07 SG SG11202005567QA patent/SG11202005567QA/en unknown
- 2018-12-07 KR KR1020207017958A patent/KR20200096248A/ko not_active Application Discontinuation
- 2018-12-07 US US16/772,132 patent/US11683164B2/en active Active
- 2018-12-12 EP EP21202086.1A patent/EP4009577A1/en active Pending
- 2018-12-12 CN CN202311311745.5A patent/CN117478315A/zh active Pending
- 2018-12-12 CN CN201880081012.8A patent/CN111466100B/zh active Active
- 2018-12-12 JP JP2020531061A patent/JP7252233B2/ja active Active
- 2018-12-12 KR KR1020207017961A patent/KR20200094173A/ko unknown
- 2018-12-12 SG SG11202005564WA patent/SG11202005564WA/en unknown
- 2018-12-12 US US16/772,136 patent/US11271729B2/en active Active
- 2018-12-12 TW TW107144802A patent/TWI794366B/zh active
- 2018-12-12 WO PCT/IB2018/059918 patent/WO2019116246A1/en unknown
- 2018-12-12 EP EP18834035.0A patent/EP3725032B1/en active Active
-
2020
- 2020-07-10 ZA ZA2020/04255A patent/ZA202004255B/en unknown
- 2020-07-10 ZA ZA2020/04256A patent/ZA202004256B/en unknown
-
2022
- 2022-02-23 US US17/678,926 patent/US11888976B2/en active Active
-
2023
- 2023-03-23 JP JP2023046632A patent/JP2023068139A/ja active Pending
- 2023-05-18 US US18/199,320 patent/US20230370253A1/en active Pending
- 2023-12-13 US US18/539,095 patent/US20240195611A1/en active Pending
-
2024
- 2024-03-08 JP JP2024035452A patent/JP2024063228A/ja active Pending
- 2024-03-19 US US18/610,175 patent/US20240348429A1/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102346880B1 (ko) | 2020-09-01 | 2022-01-03 | 김바올 | 블록체인에 기반한 성인인증정보 관리 방법 및 장치 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7453911B2 (ja) | 暗号材料を安全に共有するためのシステム及び方法 | |
KR102687781B1 (ko) | 증명 검증에 기초하여 오프-체인 데이터를 인증하기 위한 시스템 및 방법 | |
EP3707872B1 (en) | Systems and methods for ensuring correct execution of computer program using a mediator computer system | |
US20210377041A1 (en) | System for recording verification keys on a blockchain | |
Scala et al. | Zero-knowledge multi-transfer based on range proofs and homomorphic encryption |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal |