zk-PUNK-nft

zk-PUNK-nft 

발행 방법

zk-SNARK 기술을 사용하여 zk-PUNK-nft를 발행하기 위해서는 zk-SNARK 회로를 작성하고, 해당 회로를 사용하여 zk-SNARK 증명을 생성하고, zk-SNARK 증명을 포함한 zk-PUNK-nft를 생성합니다.

zk-PUNK-nft를 발행하기 위한 Process

  1. zk-SNARK 회로 작성 Prover가 zk-PUNK-nft에 대한 정보를 증명하기 위해 필요한 Private inputs를 식별하도록 작성
  2. zk-SNARK 증명 생성
  3. zk-PUNK-nft 생성해당 zk-SNARK 증명을 사용하여 Prover가 증명한 Private inputs를 포함하고 있음
  4. zk-PUNK-nft검증 유효성 검증을 위해서는 해당 zk-SNARK 회로와 Public inputs를 사용하여 Verifier가 zk-SNARK 증명의 유효성을 검증
  5. zk-PUNK-nft 전송 Mina Protocol의 zk-SNARK 기술을 사용하기 때문에, 블록체인 네트워크 상에서도 Prover가 증명한 Private inputs를 노출하지 않고 전송할 수 있음

zkApp의 구조

  1. 스마트 계약 생성
  2. zk-SNARK를 사용하여 증명 생성
  3. zk-PUNK-nft  생성 스마트 계약을 사용하여 zk-PUNK-nft 는 블록체인에서 발행하여 생성하는데,  NFT에는 생성된 증명에 대한 메타데이터가 포함되어 있음
  4. zk-PUNK-nft 확인

zk-PUNK-nft 회로

zk-PUNK-nft 의 회로는 크게 두 부분으로 나뉩니다. 첫 번째 부분은 개인 정보의 암호화 및 ZKP 생성, 두 번째 부분은 NFT의 발행 및 검증 과정입니다.

첫 번째 부분에서는 개인 정보(나이, 성별 등)를 암호화하여 ZKP 프로토콜로 증명할 수 있는 형태로 변환합니다. 이 과정에서, 해당 개인 정보를 입력받아 암호화를 수행하는 회로와, 암호화된 정보로부터 ZKP를 생성하는 회로로 구성됩니다.

두 번째 부분에서는 NFT의 발행과 검증에 필요한 회로가 구성됩니다. 이 과정에서, NFT를 발행하기 위한 입력값으로는 ZKP 및 암호화된 개인 정보가 필요합니다. 따라서, 이 입력값을 검증하여 유효한 NFT를 발행할 수 있습니다.

...