Sübutlar zənciri
Domenlər paketlərlə qeydiyyatdan keçirilir. Hər paket təxminən 10 dəqiqə gözləyir. Hər paket bir sübut yaradır. Bu sübutlar başlanğıcdan etibarən vəziyyət keçidləri zənciri təşkil edir:
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)
Hər sübutun old_root dəyəri əvvəlki sübutun new_root dəyəri ilə üst-üstə düşməlidir. Ən birinci sübutun old_root dəyəri isə məlum başlanğıc kökü (boş seyrək Merkle ağacı) ilə üst-üstə düşməlidir.
Zəncirin yoxlanması
Doğrulayıcı bütün qeydiyyat tarixçəsini beş addımda yoxlayır:
- SP1 doğrulama açarını alın — o, qonaq proqramın ikili faylından determinik şəkildə çıxarılır
- API-dən bütün sübutları yükləyin
- Bu doğrulama açarı ilə hər SP1 sübutunu yoxlayın
- Zənciri yoxlayın —
genesis == P1.old_root,P1.new_root == P2.old_root, ...,PN.new_root == current_root - Zəncirdə seçmə yoxlama aparın — istənilən öhdəlik götürülmüş
txiddəyərini PIVX qovşağında tapın və memo, məbləğ və blokun uyğun gəldiyini təsdiqləyin
Bütün yoxlamalar keçirsə, bütün qeydiyyat tarixçəsi düzgündür — indeksləyiciyə etibar etmək lazım deyil.
Sübut konveyeri
Skaner və sübut generatoru bir-birindən asılı olmadan işləyir:
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})
Skaner sübutun yaradılmasını gözləyərək heç vaxt dayanmır. Generator-demon gözləyən qeydləri özü sorğulayır və ayrıca avadanlıqda işləyə bilər.