Cardano에서 영지식 증명으로 투표자의 소속을 확인하고 투표는 익명으로 유지하는 개인정보 보호형 온체인 투표 앱입니다.
iden3/snarkjs
circom 회로에 사용하는 Groth16, PLONK, FFLONK zkSNARK 증명을 생성하고 검증하는 JavaScript 및 WebAssembly 라이브러리입니다.
- 스타
- 2,042
- 포크
- 489
- 열린 이슈
- 135
- 마지막 커밋
- 지난달
어떤 프로젝트인가요?
snarkjs는 JavaScript와 WebAssembly로 구현된 영지식 증명 툴킷입니다. Groth16, PLONK, FFLONK 증명 시스템을 지원하며, circom 컴파일러로 컴파일한 회로와 함께 사용할 수 있습니다.
증명 생성과 검증 외에도 신뢰 설정 다자간 세레모니를 위한 도구를 제공합니다. 범용 powers of tau 파일을 만들고 기여하거나, 회로별 phase 2 기여를 진행하고, 무작위 비콘을 적용한 뒤 결과 트랜스크립트를 검증할 수 있습니다. Ptau 형식은 다른 세레모니 구현과 호환된다고 명시되어 있습니다.
Node.js에서는 CLI와 API로 실행할 수 있고, 브라우저에서는 번들 빌드로 사용할 수 있습니다. ES module로 배포되며, 암호화 핵심 기능은 병렬 연산을 위한 worker thread를 사용하는 WASM에서 실행됩니다.
핵심 기능
- 01Groth16, PLONK, FFLONK zkSNARK 증명을 생성하고 검증합니다.
- 02CLI와 API를 통해 Node.js에서, 또는 브라우저에서 실행할 수 있습니다.
- 03powers of tau 및 phase 2 신뢰 설정 세레모니를 위한 도구를 제공합니다.
- 04검증 키와 Solidity 검증자 컨트랙트를 내보냅니다.
- 05circom WASM 출력에서 witness를 계산하고 R1CS 파일과 대조해 검증합니다.
활용 사례
- 입력을 공개하지 않고도 명제를 증명하는 프라이버시 보호 애플리케이션을 구축합니다.
- circom 회로를 위한 신뢰 설정 세레모니를 진행합니다.
- zk 증명 검증자를 Ethereum 스마트 컨트랙트로 배포합니다.
- 웹 페이지에서 영지식 증명을 생성해 클라이언트 측에서 검증합니다.
빠른 시작
- 1
Node.js(최신 LTS 버전, v18 이상)를 설치합니다
- 2
npm으로 snarkjs를 전역 설치합니다
npm install -g snarkjs@latest - 3
공식 설치 가이드에 따라 circom을 설치합니다
- 4
snarkjs 명령어 목록을 표시합니다
snarkjs --help
사용 전 알아둘 점
- 카피레프트 라이선스인 GPL-3.0에 따라 라이선스가 부여되므로, 독점 코드에서의 사용이 제한될 수 있습니다.
- 별도의 circom 컴파일러로 컴파일한 회로에서 작동하므로 circom도 설치해야 합니다.
토픽
자주 묻는 질문
- snarkjs은(는) 무엇인가요?
- circom 회로에 사용하는 Groth16, PLONK, FFLONK zkSNARK 증명을 생성하고 검증하는 JavaScript 및 WebAssembly 라이브러리입니다. snarkjs는 JavaScript와 WebAssembly로 구현된 영지식 증명 툴킷입니다. Groth16, PLONK, FFLONK 증명 시스템을 지원하며, circom 컴파일러로 컴파일한 회로와 함께 사용할 수 있습니다.
- snarkjs은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- snarkjs은(는) GPL-3.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- snarkjs은(는) 아직 유지보수되고 있나요?
- 6개월 이내 업데이트. snarkjs의 마지막 커밋은 2026년 10월 1일입니다.
- snarkjs은(는) 어디에 사용할 수 있나요?
- 입력을 공개하지 않고도 명제를 증명하는 프라이버시 보호 애플리케이션을 구축합니다. circom 회로를 위한 신뢰 설정 세레모니를 진행합니다. zk 증명 검증자를 Ethereum 스마트 컨트랙트로 배포합니다. 웹 페이지에서 영지식 증명을 생성해 클라이언트 측에서 검증합니다.
- snarkjs는 어떻게 설치하나요?
- Node.js(최신 LTS 버전, v18 이상)를 설치합니다 npm으로 snarkjs를 전역 설치합니다: npm install -g snarkjs@latest 공식 설치 가이드에 따라 circom을 설치합니다 snarkjs 명령어 목록을 표시합니다: snarkjs --help
- snarkjs은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/iden3/snarkjs
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
영지식 애플리케이션을 위한 Aleo 네트워크를 구동하는 탈중앙화 운영체제 및 노드 소프트웨어입니다.
Rust 및 기타 LLVM 컴파일 언어로 작성된 프로그램의 올바른 실행을 증명하는 영지식 가상 머신입니다.
M31 필드에서 Circle STARK를 증명하고 검증하는 Rust 구현으로, no_std 검증기와 SIMD 증명 백엔드를 제공합니다.
브라우저, Node 또는 Mina Protocol용으로 증명과 검증을 수행하는 영지식 회로 및 zkApps 개발용 TypeScript 프레임워크입니다.
NaCl에서 포크한, 암호화·복호화·디지털 서명·안전한 비밀번호 해싱을 제공하는 이식성 높고 사용하기 쉬운 C 암호화 라이브러리입니다.