이 가이드는 영지식 증명을 처음 접하는 분들을 위해 Circom과 SnarkJS 라이브러리를 사용하여 zk-SNARKs의 전체 과정을 직접 체험해볼 수 있도록 구성되었습니다. 1. 개발 환경 설정 먼저 영지식 증명 회로를 작성하고 증명을 생성하는 데 필요한 도구들을 설치해야 합니다. 컴퓨터에 Node.js (v16 이상 권장)와 npm이 설치되어 있어야 합니다. Circom & SnarkJS 설치 터미널(Windows의 경우 PowerShell 또는 cmd, macOS의 경우 Terminal)을 열고 아래 명령어를 실행하여 circom과 snarkjs를 전역으로 설치합니다. npm install -g circom snarkjs 설치가 잘 되었는지 확인하기 위해 각 라이브러리의 버전을 확인합니다. circom --version snarkjs --version 버전 정보가 정상적으로 출력되면 개발 환경 설정이 완료된 것입니다. 2. 회로(Circuit) 작성 및 컴파일 영지식 증명에서는 증명하려는 계산 과정을 '회로'라는 형태로 표현합니다. 우리는 "어떤 수 x를 제곱하면 y가 된다"는 관계를 증명하는 회로를 작성해 보겠습니다. 1) 회로 파일 생성 multiplier.circom이라는 이름의 파일을 만들고 아래 코드를 작성하세요. pragma circom 2.0.0; /* 이 회로는 입력 신호 'x'를 제곱한 결과가 출력 신호 'y'와 같은지 검증합니다. 증명자는 'x'를 알고 있음을 증명하고, 검증자는 'y' 값만으로 이를 확인할 수 있습니다. */ template Multiplier() { // 증명자만 알고 있는 비공개 입력(private input) signal input x; // 모두에게 공개되는 공개 입력(public input) signal output y; // x *...