Два типа нулевых знаний 1⃣ Интерактивные нулевые знания ▰ Проверяющий задает вопрос (вызов) ▰ Доказатель отвечает на вызов ▰ Много раундов обмена, проверяющий подтверждает, что доказательство действительно 2⃣ Неинтерактивные нулевые знания ▰ Доказатель просто создает файл (доказательство) ▰ Проверяющий получает его и может независимо проверить, не требуя обмена Три свойства ZK доказательства ▰ Полнота - Completeness Если утверждение истинно, доказательство обязательно пройдет проверку ▰ Надежность - Soundness Если утверждение ложно, никто не сможет создать ложное доказательство, которое пройдет проверку ▰ Нулевые знания - Zero Knowledge Проверяющий не может вывести секретный ввод из доказательства Из-за свойств блокчейна на практике в основном используются неинтерактивные нулевые знания. Неинтерактивные нулевые знания используют случайный вызов от доказателя для определения истинности доказательства. @brevis_zk Учебные заметки ~