Rust 및 기타 LLVM 컴파일 언어로 작성된 프로그램의 올바른 실행을 증명하는 영지식 가상 머신입니다.
aleo-labs-protocol/snarkOS
영지식 애플리케이션을 위한 Aleo 네트워크를 구동하는 탈중앙화 운영체제 및 노드 소프트웨어입니다.
- 스타
- 4,530
- 포크
- 2,697
- 열린 이슈
- 131
- 마지막 커밋
- 어제
어떤 프로젝트인가요?
snarkOS는 영지식 애플리케이션을 위한 블록체인인 Aleo 네트워크의 노드 구현체입니다. 트랜잭션을 검증하고 암호화된 애플리케이션 상태를 공개적으로 검증 가능한 방식으로 저장합니다. 소프트웨어는 세 가지 노드 역할로 실행됩니다. AleoBFT 합의에 참여하는 validator, 원장 사본을 보관하고 트랜잭션과 솔루션을 전달하는 client, 원장을 유지하지 않고 Aleo 퍼즐을 푸는 prover입니다.
이 프로젝트는 Rust로 작성되었으며 소스에서 cargo로 설치합니다. 노드 실행, Aleo 계정 생성 및 서명을 위한 snarkos CLI와 클라이언트를 위한 3030 포트 REST 서버를 제공합니다. Validator는 텔레메트리와 Prometheus 메트릭을 노출할 수 있으며, 스크립트로 로컬 devnet을 실행해 한 머신에서 여러 노드를 테스트할 수 있습니다.
노드를 운영하려면 상당한 하드웨어가 필요합니다. Validator의 권장 사양은 코어 64개 이상, RAM 256 GiB, NVMe 스토리지 수 테라바이트입니다. 저장소에는 RocksDB 체크포인트 기반의 로컬 백업 도구와 이전 스토리지 형식에서 마이그레이션하는 문서도 포함되어 있습니다.
핵심 기능
- 01Aleo 네트워크에서 validator, client, prover 노드 역할을 실행합니다.
- 02노드 실행과 Aleo 계정 관리를 위한 snarkos CLI를 제공합니다.
- 03클라이언트용 REST 서버와 validator 텔레메트리 엔드포인트를 노출합니다.
- 04한 머신에서 여러 노드를 실행할 수 있는 로컬 devnet 스크립트를 포함합니다.
- 05하드 링크를 사용해 공간을 절약하는 RocksDB 기반 로컬 백업 기능을 제공합니다.
활용 사례
- Aleo 네트워크에서 validator 또는 client 노드를 운영합니다.
- prover 노드로 증명 처리 능력을 제공합니다.
- 로컬 devnet에서 여러 노드의 Aleo 동작을 테스트합니다.
- 영지식 블록체인의 합의 및 네트워킹 코드를 살펴봅니다.
빠른 시작
- 1
Rust를 설치합니다(README의 Rust 설치 링크 참조).
- 2
저장소의 mainnet 브랜치를 클론합니다.
git clone --branch mainnet --single-branch https://github.com/ProvableHQ/snarkOS.git - 3
클론한 디렉터리에서 snarkOS를 설치합니다.
cargo install --locked --path . - 4
클라이언트 노드를 시작합니다(설치 후에는 어느 디렉터리에서든 실행 가능).
snarkos start --client --nodisplay --node 0.0.0.0:4130 --peers "core_client_ip_1:4130,core_client_ip_2:4130,core_client_ip3:4130,outer_client_ip_1:4130,..." --verbosity 1 --rest 0.0.0.0:3030
사용 전 알아둘 점
- 클라이언트 플랫폼은 Ubuntu, macOS, Windows만 지원하며, 검증자에는 Ubuntu 22.04가 필요합니다.
- 노드를 실행하려면 매우 높은 사양의 하드웨어가 필요합니다. 클라이언트도 예를 들어 128GiB 이상의 RAM과 수 테라바이트의 저장 공간이 필요합니다.
- CUDA prover 기능은 실험 단계이며 호환성을 깨는 변경이 있을 수 있습니다.
토픽
자주 묻는 질문
- snarkOS은(는) 무엇인가요?
- 영지식 애플리케이션을 위한 Aleo 네트워크를 구동하는 탈중앙화 운영체제 및 노드 소프트웨어입니다. snarkOS는 영지식 애플리케이션을 위한 블록체인인 Aleo 네트워크의 노드 구현체입니다. 트랜잭션을 검증하고 암호화된 애플리케이션 상태를 공개적으로 검증 가능한 방식으로 저장합니다. 소프트웨어는 세 가지 노드 역할로 실행됩니다. AleoBFT 합의에 참여하는 validator, 원장 사본을 보관하고 트랜잭션과 솔루션을 전달하는 client, 원장을 유지하지 않고 Aleo 퍼즐을 푸는 prover입니다.
- snarkOS은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- snarkOS은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- snarkOS은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. snarkOS의 마지막 커밋은 2026년 11월 6일입니다.
- snarkOS은(는) 어디에 사용할 수 있나요?
- Aleo 네트워크에서 validator 또는 client 노드를 운영합니다. prover 노드로 증명 처리 능력을 제공합니다. 로컬 devnet에서 여러 노드의 Aleo 동작을 테스트합니다. 영지식 블록체인의 합의 및 네트워킹 코드를 살펴봅니다.
- snarkOS는 어떻게 설치하나요?
- Rust를 설치합니다(README의 Rust 설치 링크 참조). 저장소의 mainnet 브랜치를 클론합니다.: git clone --branch mainnet --single-branch https://github.com/ProvableHQ/snarkOS.git 클론한 디렉터리에서 snarkOS를 설치합니다.: cargo install --locked --path . 클라이언트 노드를 시작합니다(설치 후에는 어느 디렉터리에서든 실행 가능).: snarkos start --client --nodisplay --node 0.0.0.0:4130 --peers "core_client_ip_1:4130,core_client_ip_2:4130,core_client_ip3:4130,outer_client_ip_1:4130,..." --verbosity 1 --rest 0.0.0.0:3030
- snarkOS은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/aleo-labs-protocol/snarkOS
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
Albatross 합의 알고리즘을 기반으로 한 Nimiq 지분 증명 블록체인 노드의 Rust 구현입니다.
브라우저, Node 또는 Mina Protocol용으로 증명과 검증을 수행하는 영지식 회로 및 zkApps 개발용 TypeScript 프레임워크입니다.
M31 필드에서 Circle STARK를 증명하고 검증하는 Rust 구현으로, no_std 검증기와 SIMD 증명 백엔드를 제공합니다.
circom 회로에 사용하는 Groth16, PLONK, FFLONK zkSNARK 증명을 생성하고 검증하는 JavaScript 및 WebAssembly 라이브러리입니다.
Cardano에서 영지식 증명으로 투표자의 소속을 확인하고 투표는 익명으로 유지하는 개인정보 보호형 온체인 투표 앱입니다.