Перейти до основного вмісту

Чому докази?

Індексатор сканує блокчейн ZCash і створює реєстр імен. Але чому хтось має цьому довіряти? Що якщо це:

  • Виготовляє реєстрацію, яка ніколи не відбувалася в мережі?
  • Стягує неправильну плату?
  • Реєструє ім'я двічі?
  • Втручається в стан реєстру?

ZK proof знімає ці питання. Кожне підтвердження є криптографічним сертифікатом того, що реєстрацію оброблено правильно. Будь-хто може перевірити доказ самостійно.

Що підтверджує кожен доказ

Проверник ZCash використовує SP1 — віртуальну машину RISC-V без знань. Для кожної транзакції з доменом перевірка виконує такі перевірки всередині zkVM:

  1. Дійсність назви - 1-64 символи, малі літери та цифри + дефіси
  2. Достатність комісії – трансакція сплатила достатньо ZEC для Довжина імені
  3. Цілісність команди протоколу - усі умови протоколу виконано
  4. Підпис Ed25519 -- підпис над memo command дійсний
  5. Вставка дерева Merkle -- назви ще не існувало, і корінь нового стану правильний

Якщо будь-яка перевірка не вдасться, доказ не буде створено.

Публічні виходи

Кожне доказ фіксує 3 значення, які постійно прив’язані до нього:

ВихідОпис
old_rootКорінь дерева Merkle до цієї реєстрації
new_rootКорінь дерева Merkle після цієї реєстрації
end_block_heightОстанній блок ZCash реєстраційного пакета

block_height прикріплює доказ до конкретного блоку ZCash (наприклад, контрольної точки). Будь-хто може шукати транзакції на вузлі ZCash і підтверджувати відповідність нотатки та значення.