Ana içeriğe geç

Kanıt Zinciri

Alan adları toplu olarak kaydedilir. Her toplu iş bekleme zaman aşımı ~10 dakikadır. Her parti bir kanıt üretir. Bu kanıtlar, doğuştan itibaren bir durum geçişleri zinciri oluşturur:

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)

Her kanıtın old_root değeri önceki kanıtın new_root değerine eşit olmalıdır. İlk kanıtın old_root değeri bilinen oluşum köküne (boş bir Seyrek Merkle Ağacı) eşit olmalıdır.

Zincirin Doğrulanması

Doğrulayıcı, tüm kayıt geçmişini beş adımda kontrol eder:

  1. SP1 doğrulama anahtarını alın - konuk programın ikili dosyasından deterministik olarak türetilir
  2. API'den tüm kanıtları alın
  3. Doğrulama anahtarını kullanarak her SP1 kanıtını doğrulayın
  4. Zinciri kontrol edin -- genesis == P1.old_root, P1.new_root == P2.old_root, ..., PN.new_root == current_root
  5. Zincir üzerinde nokta kontrolü -- PIVX düğümünde taahhüt edilmiş herhangi bir txid arayın ve notu, değeri ve blok eşleşmesini onaylayın

Tüm kontroller başarılı olursa kayıt geçmişinin tamamı doğrudur; indeksleyiciye güvenmeniz gerekmez.

Kanıt Boru Hattı

Tarayıcı ve kanıtlayıcı bağımsız olarak çalışır:

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})

Tarayıcı, kanıt oluşturma işlemini hiçbir zaman engellemez. Prover arka plan programı, bekleyen kayıtları yoklar ve ayrı bir donanım üzerinde çalışabilir.