Skip to main content

Ланцужок доказаў

Дамены рэгіструюцца пакетна. Час чакання кожнай партыі складае ~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})

Сканер ніколі не блакуе стварэнне доказаў. Дэман праверкі апытвае запісы ў чаканні і можа працаваць на асобным абсталяванні.