1 |
1
발급자 단말(Issuer)에서 서명에 사용되는 개인키와 대응하는 공개키를 블록체인에 업로드하는 단계(S10);상기 발급자 단말이 사용자의 어드레스(Address)에 매핑이 된 정보를 포함하여 크리덴셜(Credential)을 발급하는 단계(S20);사용자 단말(Holder)이 자신이 증명하고자 하는 값과 동시에 발급자 단말로부터 만들어진 크리덴셜임을 증명하기 위해 내부적으로 생성된 증명(proof)과 결과(result)를 생성하여 스마트 컨트랙트를 호출하는 단계(S30); 및스마트 컨트랙트가 상기 블록체인에 업로드된 공개키를 토대로 사용자 단말이 생성한 증명(proof) 및 결과(result)를 검증하는 단계(S40)를 포함하는 영지식 증명 생성 및 검증 스마트 컨트랙트 생성 방법
|
2 |
2
제1항에 있어서,상기 스마트 컨트랙트를 호출하는 단계(S30)에서 사용자 단말(Holder)이 생성하는 증명(proof)과 결과(result)는 영지식 증명(Zero-knowledge proof)을 기반으로 생성되는 것을 특징으로 하는 영지식 증명 생성 및 검증 스마트 컨트랙트 생성 방법
|
3 |
3
제1항에 있어서,상기 스마트 컨트랙트를 호출하는 단계(S30)는스마트 컨트랙트에서의 영지식 증명(Zero-knowledge proof)을 사용하기 위해 검증 컨트랙트를 생성하여 블록체인에 배포하고,상기 블록체인의 온체인(on-chain)에서 검증을 수행하기 위해 제이슨(json, Javascript Object Notation) 데이터를 입력으로 받아 증명(proof)을 생성하는 것을 특징으로 하는 영지식 증명 생성 및 검증 스마트 컨트랙트 생성 방법
|
4 |
4
제1항에 있어서,상기 증명(proof) 및 결과(result)를 검증하는 단계(S40)는상기 발급자 단말에서 발급한 크리덴셜을 토대로 사용자 단말이 증명하고자 하는 값에 대한 해쉬(Hash) 값을 생성하는 단계(S41)와,상기 발급자 단말의 공개키를 통해 사용자의 서명을 검증하고, 검증된 서명의 해쉬(Hash) 값을 생성하는 단계(S42)와,상기 증명하고자 하는 값의 해쉬(Hash) 값과 서명의 해쉬(Hash) 값을 비교하여 증명(proof)을 검증하는 단계(S43)와,상기 증명하고자 하는 값의 해쉬(Hash) 값을 토대로 스마트 컨트랙트가 제시한 특정 조건을 만족하는지에 대해 검증하는 단계(S44) 및상기 (S43) 단계의 증명(proof) 검증 결과와, (S44) 단계의 특정 조건에 대한 검증 결과값을 리턴(return)하여 결과(result)를 검증하는 단계(S45)를 포함하는 영지식 증명 생성 및 검증 스마트 컨트랙트 생성 방법
|
5 |
5
블록체인(Blockchain);발급자 단말(Issuer)에게 크리덴셜(Credential)의 발급을 요청하고, 사용자가 증명하고자 하는 값과 동시에 발급자 단말로부터 만들어진 크리덴셜임을 증명하기 위해 내부적으로 생성된 증명(proof)과 결과(result)를 생성하여 스마트 컨트랙트를 호출하는 사용자 단말(Holder);서명에 사용되는 개인키와 대응하는 공개키를 상기 블록체인에 업로드하고, 상기 사용자 단말의 요청에 따라 사용자의 어드레스(Address)에 매핑이 된 정보를 포함하여 크리덴셜(Credential)을 발급하는 발급자 단말(Issuer); 및상기 블록체인(Blockchain) 상에서 크리덴셜(Credential)의 증명(Proof)과 결과(result)의 검증을 수행하는 스마트 컨트랙트(smart contract)를 포함하는 영지식 증명 생성 및 검증 스마트 컨트랙트 생성 시스템
|
6 |
6
제5항에 있어서,상기 사용자 단말은솔리디티(solidity)를 이용하여 인증서 타입(type)을 제공하며, 블록체인의 오프체인(off-chain)에서 크리덴셜(Credential) 값을 통해 증명(Proof)을 생성하고, 영지식 증명(Zero-knowledge proof)을 기반으로 검증 컨트랙트를 생성하는 것을 특징으로 하는 영지식 증명 생성 및 검증 스마트 컨트랙트 생성 시스템
|
7 |
7
제6항에 있어서,상기 사용자 단말은 블록체인의 온체인(on-chain)에서 검증을 수행하기 위해 제이슨(json, Javascript Object Notation) 데이터를 입력으로 받아 증명(proof)을 생성하는 것을 특징으로 하는 영지식 증명 생성 및 검증 스마트 컨트랙트 생성 시스템
|
8 |
8
제5항에 있어서,상기 사용자 단말은발급자 단말에서 발급한 크리덴셜을 토대로 사용자 단말이 증명하고자 하는 값에 대한 해쉬(Hash) 값을 생성하며, 상기 발급자 단말의 공개키를 통해 사용자의 서명을 검증하고, 검증된 서명의 해쉬(Hash) 값을 생성하는 것을 특징으로 하는 영지식 증명 생성 및 검증 스마트 컨트랙트 생성 시스템
|
9 |
9
제5항에 있어서,상기 스마트 컨트랙트는사용자가 증명하고자 하는 값의 해쉬(Hash) 값과 서명의 해쉬(Hash) 값을 비교하여 증명(proof)의 검증을 수행하고,상기 증명하고자 하는 값의 해쉬(Hash) 값을 토대로 스마트 컨트랙트가 제시한 특정 조건을 만족하는지에 대해 검증을 수행하며,상기 증명(proof)의 검증 수행 결과와, 특정 조건을 만족하는지에 대한 검증 수행 결과 값을 리턴(return)하여 결과(result)의 검증을 수행하는 것을 특징으로 하는 영지식 증명 생성 및 검증 스마트 컨트랙트 생성 시스템
|