Самая сложная часть политики — согласовать реальность
Читая белую книгу Ньютона, я думал, что труднее всего будет написать саму политику.
«Блокируйте транзакцию, если APY ниже 5%» звучит просто.
Но затем я заметил более глубокую проблему: что если пять операторов проверяют один и тот же рынок в один и тот же момент и видят пять слегка разных APY?
Один видит 5.12%. Другой видит 5.04%. Третий видит 4.98%.
Теперь политика уже не самая сложная часть. Сложность — в реальности.
Это важно, потому что операторы Ньютона должны подписать один и тот же результат, прежде чем можно будет создать агрегированную подпись BLS. Если каждый оператор оценивает разные значения данных, они могут все правильно следовать политике и при этом не договориться.
Ответ Ньютона — двухфазный процесс консенсуса.
Сначала, в фазе Prepare, операторы независимо получают внешние данные через изолированные sandboxed WASM-провайдеры. Это могут быть цены оракулов, ленты санкций, скоринговые показатели риска или рыночные данные. Затем Gateway вычисляет канонический набор данных, используя консенсус на основе медианы для числовых полей.
Во-вторых, в фазе Evaluate каждый оператор запускает ту же Rego-политику на тех же канонических данных, подписывает результат, а Aggregator завершает работу, когда достигнут требуемый порог кворума с учетом доли (stake-weighted quorum).
Эта конструкция изменила то, как я думаю о системах политик.
Правило можно идеально написать и при этом получить бесполезные результаты, если сеть не может договориться о входных данных.
Для DeFi-«сейфов» (vaults) это различие критично. Лимит плеча, порог APY или правило «здоровья оракула» можно реально применять только если операторы делят согласованное видение рынка до того, как капитал начнет перемещаться.
Настоящая инновация — не просто «политика как код».
Это превращение грязных, чувствительных ко времени внешних данных в одно проверяемое решение, которому может доверять смарт-контракт.
Самая сложная часть политики — не принять решение о правиле.
Самая сложная часть — договориться о том, что истинно прямо сейчас.
@NewtonProtocol $NEWT #Newt