Я все время думаю о чем-то, что кажется почти очевидным — вероятно, поэтому я так долго это упускал из виду. Каждый раз, когда взламывают DeFi-протокол, все спешат спросить, был ли код проверен аудитом. Почти никто не спрашивает, заслуживало ли само решение доверия. Сначала для меня эти вопросы звучали одинаково. В последнее время — нет. И, возможно, именно там я смотрел на эти системы не с той стороны.
Аудит кода говорит нам, ведет ли программное обеспечение так, как оно было написано. Но он не особенно помогает понять, должно ли вообще выполняемое действие происходить в первую очередь. Это разные проблемы, хотя криптосообщество годами пыталось убедить, что это одно и то же. Чем дольше я думаю об этом различии, тем труднее мне его игнорировать.
Протокол Newton снова затягивает меня в эту мысль. Не потому, что он обещает более безопасные контракты или лучшую безопасность. Слишком много проектов делают такие заявления. Более интересным кажется другое: возможно, сама по себе возможность исполнения перестаёт быть единственным, что стоит проверять. Может быть, решение, ведущее к исполнению, тоже становится частью инфраструктуры.
Это звучит абстрактно, пока не задумаешься о том, как на самом деле происходят большинство финансовых ошибок.
Очень немногие теряют деньги потому, что функция технически не сработала. Чаще кто-то одобрил не тот кошелёк, подписал транзакцию, не понимая её, слишком широко делегировал полномочия или взаимодействовал с чем-то, что считал легитимным. Код выполнился идеально. А вот человеческое суждение — нет.
Это неприятное различие, потому что оно переносит ответственность туда, где мы никогда по-настоящему ничего не мерили. Мы инспектируем код построчно, но цепочка рассуждений до подписи остаётся удивительно невидимой.
Возможно, причина в том, что рассуждение всегда относили к чему-то частному. Крипто-записи фиксируют результаты. Они редко фиксируют то, почему.
Ньютон, похоже, подталкивает нас к тому, чтобы не принимать это допущение. Если политики авторизации станут программируемыми, а не импровизированными, то одобрение — это уже не просто клик. Оно начинает нести контекст. Не обязательно личные мысли, но структурированные условия, объясняющие, почему действие считалось приемлемым до того, как оно было выполнено.
Если подумать внимательно, это меняет то, где накапливается доверие.
Сегодня доверие обычно живёт внутри аудитированного кода. Завтра оно может начать жить внутри аудитированных решений.
Я пока не до конца убеждён. В этом сдвиге есть что-то слегка неуютное.
Как только решения становятся структурированными, они тоже становятся инфраструктурой. У инфраструктуры есть привычка становиться стандартизированной. Стандартизация создаёт эффективность, но она же создаёт слепые зоны. Когда достаточно много людей наследуют одни и те же шаблоны авторизации, они могут перестать задавать вопросы вовсе. Мы видели нечто подобное с мультисигами. Сначала они означали аккуратное управление. Потом для многих команд они превратились в ещё одну галочку.
Может быть, политики могли бы пойти тем же путём.
Но всё же я не думаю, что это самый интересный риск.
Больше всего меня беспокоит то, сколько скрытой работы существует до каждого транзакционного события. Мы склонны представлять блокчейны как системы исполнения. Но большая часть реальной активности происходит ещё до того, как исполнение вообще приходит. Кто-то проверяет права. Кто-то сравнивает кошельки. Кто-то проверяет личность. Кто-то решает, должен ли существовать исключительный случай. Обычно ничего из этого не появляется в ончейне.
Так что когда люди говорят о децентрализации, я иногда думаю: а не измеряют ли они вообще не тот слой?
Исполнение, возможно, уже может быть децентрализовано, тогда как авторизация остаётся глубоко централизованной внутри человеческих организаций.
Если это правда, то перенос политики ближе к протоколу — это не просто очередное улучшение эффективности. Это меняет то, какая часть финансовой системы становится видимой.
Наблюдаемость имеет странные экономические эффекты.
Как только что-то становится измеримым, рынки начинают оптимизировать это. Ликвидность оптимизируют. Задержки оптимизируют. Репутацию оптимизируют. Если качество авторизации становится наблюдаемым, я подозреваю, что люди в конечном счёте начнут оптимизировать и его тоже.
Хотя честно… это может привести к некоторым неожиданным эффектам.
Представьте, что протоколы конкурируют не о том, насколько "безопасны" их политики авторизации на самом деле, а о том, насколько они выглядят безопасными. Аудиты решений могут стать ещё одним показателем маркетинга. Дэшборды могут поощрять сложность, потому что сложность выглядит строгой. В итоге проекты могут начать писать логику авторизации для аудиторов — а не для реальности.
Это было бы не очень отличимо от сегодняшней культуры аудитов, где прохождение ревью иногда важнее, чем понимание операционных рисков.
Так что, возможно, проблема не в том, можно ли аудитировать решения.
Может быть, самый сложный вопрос в том, сможет ли качество решений оставаться подлинным, когда его начинают вознаграждать.
Я снова и снова возвращаюсь к стимулам, потому что крипто обычно тяготеет к тому, что становится измеримым. Если история политик начнёт влиять на репутацию, интеграции или даже распределение капитала, то сама политика станет активом. Активы притягивают оптимизацию. Оптимизация часто создаёт показательное поведение ещё до реального улучшения.
Вот где всё начинает усложняться.
У протокола может быть безупречная авторизация, когда записи просто потому, что он никогда не позволяет значимой гибкости. Другой может выглядеть рискованнее именно потому, что он адаптируется к грязным, реальным обстоятельствам. Кому больше доверия? Честно говоря, не уверен, что систему скоринга можно сделать так, чтобы она отвечала на это аккуратно.
И есть ещё один слой, который я никак не могу до конца разложить по полочкам.
Если аудиты решений станут распространёнными, разработчики могут постепенно проектировать приложения вокруг предсказуемого человеческого поведения, а не вокруг непредсказуемого человеческого суждения. Звучит эффективно. Но финансы всегда опирались на исключения. Любая жёсткая система рано или поздно сталкивается с ситуацией, которую она не была рассчитана распознавать.
Так что, возможно, реальная эволюция — не замена аудитов кода аудитами решений. Возможно, это осознание того, что они отвечают на совершенно разные вопросы.
Один вопрос — корректно ли ведёт себя программное обеспечение.
Другой вопрос — научили ли люди изначально программное обеспечение нужному поведению.
Звучит достаточно похоже, чтобы их перепутать. Но разрыв между ними может в итоге стать одним из самых важных элементов инфраструктуры, который мы пока так и не научились измерять. Смогут ли протоколы показать этот разрыв, не тихо создавая другой… Я всё ещё не уверен.

