US 11,870,905 B1
Method for providing user identity based on zero-knowledge proof over blockchain network by using user certificate and blockchain system using the same
Sanghyeon Park, Daegu (KR); Jeonghyuk Lee, Seongnam-si (KR); Seung Hwa Lee, Seoul (KR); and Joonsun Uhr, Seongnam-si (KR)
Assigned to CPLABS, INC., Seongnam-si (KR)
Filed by CPLABS, INC., Seongnam-si (KR)
Filed on Jul. 17, 2023, as Appl. No. 18/222,896.
Claims priority of application No. 10-2023-0052311 (KR), filed on Apr. 20, 2023.
Int. Cl. H04L 9/40 (2022.01); H04L 9/32 (2006.01); H04L 9/00 (2022.01)
CPC H04L 9/3218 (2013.01) [H04L 9/3268 (2013.01); H04L 9/40 (2022.05); H04L 9/50 (2022.05)] 22 Claims
OG exemplary drawing
 
1. A method for providing a user identity based on zero-knowledge proof over a blockchain network by using a user certificate, comprising steps of:
(a) in response to receiving from a user terminal a user identity generating request for generating a user identity to be used on a blockchain network, an address abstraction smart contract, operating at a virtual machine of the blockchain network, providing a user identity generating interface to the user terminal and thus instructing the user terminal (i) to generate the user identity corresponding to a user certificate issued from a certification authority and (ii) to generate a user identity proof by using user identity verifying parameters made public based on a zero-knowledge proof protocol, the user identity, the user certificate and a certification authority public key corresponding to the certification authority, wherein the user identity proof is used for proving that the user identity has been generated from the user certificate and that the user certificate has been issued by the certification authority; and
(b) in response to receiving a user identity registering request, including the user identity verifying parameters, the user identity, the certification authority public key and the user identity proof, from the user terminal, the address abstraction smart contract (i) verifying the user identity proof by performing zero-knowledge-proof-based verification on the user identity verifying parameters, the user identity, the certification authority public key and the user identity proof and (ii) if the user identity proof is verified, registering the user identity as a valid identity of a user corresponding to the user terminal.