Repolode
iden3

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. 1

    Node.js(최신 LTS 버전, v18 이상)를 설치합니다

  2. 2

    npm으로 snarkjs를 전역 설치합니다

    npm install -g snarkjs@latest
  3. 3

    공식 설치 가이드에 따라 circom을 설치합니다

  4. 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 통계는 매일 갱신됩니다.

관련 프로젝트

NaCl에서 포크한, 암호화·복호화·디지털 서명·안전한 비밀번호 해싱을 제공하는 이식성 높고 사용하기 쉬운 C 암호화 라이브러리입니다.

보안#cryptography#encryption#digital-signatures
1.4만+14 이번 주1.9천COther활발히 관리됨업데이트 7일 전