본문으로 건너뛰기

증명 체인

도메인은 배치 단위로 등록됩니다. 각 배치는 약 10분을 기다립니다. 각 배치는 증명 하나를 만들어 냅니다. 이 증명들은 제네시스부터 이어지는 상태 전이의 사슬을 이룹니다:

genesis_root (empty tree -- known constant)
| +-- "richard.pivx" registered at block 100,
| +-- "john.pivx" registered at block 110,
| ... (could be more registration/update commands)
| ! Proof 1 is generated
| old_root = genesis_root --> new_root_1
| +-- "richard.pivx" put his name on marketplace at block 200,
| +-- "sam.pivx" registered at block 250,
| ... (could be more registration/update commands)
| ! Proof 2 is generated
| old_root = new_root_1 --> new_root_2 (= current root)

각 증명의 old_root는 직전 증명의 new_root와 같아야 합니다. 그리고 첫 증명의 old_root는 알려진 제네시스 루트(빈 희소 머클 트리)와 같아야 합니다.

체인 검증

검증기는 다섯 단계로 등록 이력 전체를 확인합니다:

  1. SP1 검증 키를 얻습니다 — 게스트 프로그램 바이너리에서 결정론적으로 도출됩니다
  2. API에서 모든 증명을 내려받습니다
  3. 그 검증 키로 각 SP1 증명을 검증합니다
  4. 체인을 확인합니다genesis == P1.old_root, P1.new_root == P2.old_root, ..., PN.new_root == current_root
  5. 온체인 표본 확인 — 커밋된 아무 txid나 PIVX 노드에서 찾아 메모, 금액, 블록이 일치하는지 확인합니다

모든 확인을 통과하면 등록 이력 전체가 올바른 것입니다 — 인덱서를 신뢰할 필요가 없습니다.

증명 파이프라인

스캐너와 증명 생성기는 서로 독립적으로 동작합니다:

PIVX Blockchain
|
PiNS Registrar Scanner (validates, captures SMT state)
|
Database (status: "pending")
|
SP1 Prover (generates ZK proof, verifies it)
|
Database (status: "proved")
|
New checkpoint published
|
Indexer syncs to the checkpoint
|
API Server (GET /v1.0/resolve/{name})

스캐너는 증명 생성을 기다리며 멈추는 일이 없습니다. 생성기 데몬은 대기 중인 레코드를 스스로 조회하며, 별도의 하드웨어에서 실행할 수 있습니다.