Есть принцип в дизайне дорожных знаков, который я когда-то читал: лучший знак — не самый большой, а тот, который установлен в правильном месте, чтобы водитель замедлялся еще до того, как потребуется резкое торможение. Если приходится резко тормозить — значит, знак поставили не там, и правило действует медленнее, чем поступок.
И если подумать, финансовое комплаенс устроен так же. Система постфактум-ревью похожа на дорожный знак, установленный после поворота: предупреждение вроде бы есть, но когда его увидишь, машина уже проехала дальше.
@NewtonProtocol испытывает переместить тот самый знак ближе к повороту. Вместо того чтобы дать транзакции пройти, а потом посадить кого-то проверять, он добавляет слой policy, который запускается на compute прямо в момент, когда намерение создается, — отвечает на вопрос «можно ли существовать» до того, как появится что-то, перед чем придется резко тормозить. Теоретически это правильный дизайн: ранняя блокировка всегда дешевле, тише и устраняет последствия позже.
Но есть один момент, который легко упустить, когда говоришь о «ранней блокировке»: ранняя блокировка, которая остается невидимой, не похожа на раннюю блокировку с дорожным знаком. Знак, даже установленный на правильном месте, — это то, что водитель видит, понимает причину. Если слой policy блокирует транзакцию, а пользователь видит только «крутящийся экран», не понимает, какое правило только что сработало, и не знает, почему было отказано, — тогда быстрая реакция перестает быть преимуществом: она превращается в своего рода непрозрачность под видом эффективности.
$NEWT с ролью платы за каждую оценку policy, он делает одну вещь правильно: превращает действие «проверить, разрешено ли» в то, у чего есть понятная и измеримая стоимость. Но измерить стоимость проверки — это не то же самое, что измерить прозрачность причины проверки. Эти вещи легко смешать в одну, хотя на самом деле они совершенно разные.
То, что я хочу видеть в Newton — это не то, как далеко поставлен знак заранее. А вот что: если этот знак по ошибке блокирует автомобиль, который едет в правильной полосе, видит ли водитель этот знак, может ли он прочитать причину, и есть ли кто-то, кто берет на себя исправление знака, когда он стоит не на том месте.
