Цепочка доказательств
Домены регистрируются пакетно. Таймаут ожидания каждого пакета составляет ~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 первого доказательства должен равняться известному корню происхождения (пустому разреженному дереву Меркла).
Проверка цепочки
Верификатор проверяет всю историю регистрации в пять шагов:
- Получите ключ проверки SP1 — детерминированно полученный из двоичного файла гостевой программы.
- Получите все доказательства из API.
- Проверьте каждое доказательство SP1 с помощью ключа проверки.
- Проверьте цепочку --
genesis == P1.old_root,P1.new_root == P2.old_root, ...,PN.new_root == current_root - Выборочная проверка в цепочке – найдите любой зафиксированный
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})
Сканер никогда не блокирует создание доказательства. Демон проверки опрашивает ожидающие записи и может работать на отдельном оборудовании.