Перейти к основному содержимому

Почему доказательства?

Индексатор сканирует блокчейн PIVX и создает реестр имен. Но почему кто-то должен этому доверять? Что, если это:

  • Фальсифицирует регистрацию, которой никогда не было в сети?
  • Взимает неправильную плату?
  • Регистрирует имя дважды?
  • Вмешивается состояние реестра?

Доказательства ЗК снимают эти вопросы. Каждое доказательство представляет собой криптографический сертификат о том, что регистрация прошла правильно. Любой желающий может проверить это доказательство самостоятельно.

Что подтверждает каждое доказательство

PIVX Prover использует SP1 — виртуальную машину RISC-V с нулевым разглашением. Для каждой транзакции с доменом проверяющий выполняет следующие проверки внутри zkVM:

  1. Действительность имени – 1–64 символа, строчные буквы и цифры + дефисы.
  2. Достаточная комиссия – за транзакцию было выплачено достаточно PIVX длины имени.
  3. Целостность команды протокола — транзакция заплатила достаточно PIVX за длину имени.
  4. Подпись Ed25519 — подпись над memo command действительна.
  5. Вставка дерева Меркла – имя еще не существовало, и новый корень состояния правильный.

Если какая-либо проверка не удалась, доказательство не может быть создано.

Публичные выходы

Каждое доказательство фиксирует 3 значения, которые навсегда с ним связаны:

ВыходОписание
old_rootКорень дерева Меркла до этой регистрации
new_rootКорень дерева Меркла после этой регистрации
end_block_heightПоследний блок PIVX регистрационного пакета

block_height закрепляет доказательство за конкретным блоком PIVX (например, контрольной точкой). Любой может найти транзакции на узле PIVX и подтвердить совпадение примечаний и значений.