В начале этого месяца Fireblocks объявила о реконфигурации механизма обработки транзакций: ключевая идея — убрать централизацию nonce-последовательности и установить «автоматический предохранитель», чтобы предотвратить то, что блокировка в начале единой очереди nonce затянет всю цепочку обработки для аккаунта. Это заставило меня вернуться и перечитать раздел 4.1 в белой книге @Dusk . Moonlight больше похож на систему последовательного, поштучного расчетного аккаунта: nonce там — не номер транзакции, допускающий параллельность, а принудительный порядковый клиринговый идентификатор. Главный вывод в том, что DUSK здесь одновременно выступает и в роли переводимого актива, и в роли аванса по контракту, и в роли расчетной топливной единицы — из‑за этого структура «риск—доходность» по природе своей оказывается асимметричной.

Транзакционные поля Moonlight включают value, nonce, deposit, gas_limit, gas_price и signature; в белой книге указано, что nonce должен строго равняться текущему значению плюс один, иначе транзакция будет отклонена и не будет зачислена. Если перевести на язык финансовых условий, это практически одноканальная клиринговая очередь: зависание любой транзакции замораживает дальнейшие инструкции, создавая фактическую «head-of-line blocking». Value — это сумма перевода, deposit — опциональный авансовый платеж, направляемый в контракт, а gas_limit×gas_price — это способ ценообразования топливных затрат, учитываемых как $DUSK . Все три компонента «из одного корня»: одновременно на баланс аккаунта ложатся три группы экспозиций — оплата, исполнение и тарифы. Стоит также присмотреться к условиям возврата: при откате исполнения контракта сумма возвращается по исходному маршруту, а неизрасходованный gas не возмещается; по сути, это условные расчетные условия, зависящие от корректности отката состояния виртуальной машины.

В названии есть парадокс: модель полностью прозрачного аккаунта называется «лунный свет», но сам «лунный свет» не проясняет картину, при этом ему приходится нести самую строгую поштучную сверку. Если сериализованная очередь окажется заблокирована из‑за одной «плохой» транзакции или из‑за резких колебаний комиссий, клиринговая способность аккаунта просто перестанет работать. А когда новые денежные потоки войдут и упадут ниже порогов поддержания или крупные адреса начнут массово выходить, конечной точкой, скорее всего, станет кредитное событие структурированного продукта. Разница лишь в том, что кредит подтверждается алгоритмом, но сам алгоритм не несет обязательств по погашению.#dusk

По операциям я не занимаю направленную позицию — выделяю только риск-бюджет. Любая единичная экспозиция ограничена уровнем потерь, который я могу выдержать; если в очереди nonce или в правилах возврата происходит отклонение, я выхожу в первую очередь — без ожидания разворота нарратива. Ежедневно отслеживать нужно немного ончейн‑метрик: тренд общего объема средств в блокировке, изменения в позициях крупных адресов, а также записи об изменениях полномочий администраторов контрактов. По этому проекту у меня нет «позиции» как таковой: всё, что я могу дать, — это число ожидаемой доходности после корректировки на риск. Остальное зависит от того, куда каждый предпочитает смещать свои приоритеты по риску.