İspat zinciri
Alan adları toplu hâlde kaydedilir. Her toplu iş yaklaşık 10 dakika bekler. Her toplu iş bir ispat üretir. Bu ispatlar, başlangıç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 ispatın old_root değeri, bir önceki ispatın new_root değerine eşit olmalıdır. İlk ispatın old_root değeri ise bilinen başlangıç köküne (boş bir seyrek Merkle ağacına) eşit olmalıdır.
Zinciri doğrulama
Bir doğrulayıcı, tüm kayıt geçmişini beş adımda denetler:
- SP1 doğrulama anahtarını alın — misafir program ikilisinden deterministik biçimde türetilir
- API'den tüm ispatları indirin
- Bu doğrulama anahtarıyla her SP1 ispatını doğrulayın
- Zinciri denetleyin —
genesis == P1.old_root,P1.new_root == P2.old_root, ...,PN.new_root == current_root - Zincirde örnekleme yapın — taahhüt edilmiş herhangi bir
txiddeğerini bir PIVX düğümünde arayın ve memo, tutar ile bloğun eşleştiğini doğrulayın
Tüm denetimler geçerse tüm kayıt geçmişi doğrudur — indeksleyiciye güvenmek gerekmez.
İspat hattı
Tarayıcı ve ispat üreticisi birbirinden bağımsız ç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ı, ispat üretimini beklerken hiçbir zaman tıkanmaz. Üretici arka plan süreci, bekleyen kayıtları kendisi yoklar ve ayrı bir donanımda çalışabilir.