Обычно под «доказательством с нулевым разглашением» имеется в виду, что кто-то построил очень специфичную схему для очень конкретной задачи. Доказать, что баланс выше числа. Доказать, что голос был посчитан правильно. Одна узкая работа, одна пользовательская схема, сделанная только под неё. И если вы хотите доказать что-то другое, вам по сути нужно начинать заново.

Система споров Ньютона не работает так, и мне потребовалась минута, чтобы понять почему. Вместо того чтобы собирать новую схему для каждой политики, которую кто-то пишет, они взяли весь движок Rego — реальный интерпретатор, который выполняет правила соответствия, — и скомпилировали всё это в универсальную zkvm общего назначения. Поэтому любая политика, написанная на Rego, проверка санкций, ограничение скорости, какое угодно многошаговое правило на пригодность — что бы это ни было — автоматически становится доказуемым. Не нужно заново разрабатывать схемы под каждую политику. Доказуемым сделали сам движок, а не каждое отдельное правило.

Это работает только потому, что в Rego есть кое-что почти скучное. Он детерминирован. Одна и та же политика, одни и те же входные данные, один и тот же результат — каждый раз, без побочных эффектов и без того, чтобы где-то незаметно проникала случайность. Именно эта детерминированность и является, по сути, всей причиной того, что этот подход держится вместе. Если бы язык политики допускал любое внешнее состояние или любую случайность, вы не смогли бы скомпилировать его в схему и ожидать, что доказательство будет иметь хоть какой-то согласованный смысл.

Вот что это на самом деле вам дает. Когда кто-то оспаривает аттестацию — подписанный результат оператора по результату оценки политики — они не просят кого-то просто поверить в чью-то версию того, что должно было произойти. Они сами прогоняют ту же политику через zkvm и получают реальное математическое доказательство, а не мнение и не разную интерпретацию — доказательство того, что исходный результат был неверным. Смарт-контракт проверяет это доказательство, проверяет окно для оспаривания и принимает решение. Никакого голосования. Никакого комитета. Никто не взвешивает, кто более заслуживает доверия. Просто контракт проверяет математику и штрафует операторов, которые ошиблись, если доказательство подтверждает это.

Это возвращает нас к общей идее Ньютона: выдавать подписанную аттестацию pass/fail до того, как транзакция будет завершена. Тот факт, что эта аттестация неверна, — это не просто отчет об ошибке, который потом будут обсуждать. Это то, что можно математически опровергнуть любым, кто потрудится проверить — это совершенно другая гарантия, чем у большинства систем.

Я застреваю в том, как это выглядит в реальной сложности. Пример в whitepaper — довольно простая проверка санкций: несколько правил, чистые входные данные, и, конечно, это легко доказывается через zkvm. Но реальная логика комплаенса быстро становится гораздо более запутанной. Несколько источников данных перекрестно ссылаются друг на друга, условия вложены, политики могут опираться сразу на несколько разных потоков данных и комбинировать их способами, которые не так чисты, как одно прямолинейное правило. Я пока не знаю, будет ли время генерации доказательств оставаться приемлемым, когда политики перестают выглядеть как примеры на три строки и начинают выглядеть как настоящая логика санкций и соответствия требованиям, которую захотели бы запускать реальные институты.

Magic Labs — команда, стоящая за всем этим; та же группа, которая создала инфраструктуру кошелька, работающую, например, с Polymarket, так что со стороны выполнения явно понимают, что делают, на масштабе. Переносится ли эта уверенность дальше, когда политики становятся по-настоящему сложными: времена доказательств, размер схемы и все остальное — это вопрос, который я пока нигде не видел рассмотренным.

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

@NewtonProtocol $NEWT #Newt

#BOKWarnsSingleStockLeveragedETFRisks

$LAB $VANRY