Я тестировал действие куратора на тестовом хранилище — обычный вызов reallocatе, ничего драматичного. VaultKit отклонил его.

Отклонение было не из‑за какой-то «плохой» причины. Отклонили потому, что подтверждение (approval) не соответствовало точному действию.

Я предположил, что это была несовпадение nonce. Классическая проблема кошелька: отправь заново и идём дальше.

Но это оказалось не то. Я повторно отправил идентичное намерение — та же сумма, тот же рынок — и на второй попытке оно прошло. То есть код был правильным в оба раза. Истекло именно approval.

И тогда я реально разобрался, как VaultKit связывает подтверждения: каждое из них криптографически «привязано» к точной инструкции, к точному хранилищу и к точной сумме. Не «одобрено это типа действия». Не «одобрено что-то похожее». Один approval — одна точная транзакция. Если сдвинуть хоть что-то чуть-чуть, нужна новая авторизация.

Проверка ≠ Доверие. Мой первый reallocate был проверен как *действительное* действие. Просто он уже не был проверен как *именно то конкретное* действие, потому что прошли миллисекунды и рыночные данные, на которых строится политика, обновились.

Цепочка выглядит так: куратоp отправляет → политика оценивается по данным в реальном времени → approval привязывается к точным параметрам → переадресуется в хранилище → исполняется или «умирает». Ничего не переносится между попытками. Каждый ретрай запускает всю проверку заново.

Зависимость, мимо которой люди часто проходят, — это чувствительность ко времени в самом канале данных. Если цена RedStone обновится между вашей первой попыткой и повторной, условия политики технически изменятся «под вами», даже если вы ничего не меняли.

Я всё ещё не уверен, насколько узким на практике является это окно. В тестах ощущается совсем маленьким, но сегодня я прогнал это всего несколько раз — не под реальной нагрузкой.

Что происходит со связыванием approval, когда куратоp выполняет высокочастотные reallocations по нескольким хранилищам в нестабильный час, и каждое действие требует собственного свежего, неистёкшего доказательства?

#newt $NEWT