Только что сбежал вниз за ночным перекусом: экран лифта заранее высветил «Прибытие», но дверь упорно не открывалась ещё две секунды. И тут же меня накрыло знакомое ощущение — как вчера вечером, когда я сидел в серверной и тюнил ноды, у меня снова вылезла та старая болячка. Чем дольше крутишься в этом круге, тем больше у тебя на уровне инстинкта включается настороженность к тому зелёному «Сделка успешно завершена» на фронтенде.

Эти дни, пока бегал скрипты, я снова перечитал whitepaper Dusk. И оказалось, что, помимо их основного движка приватности, самые «жёсткие» детали спрятаны в консенсусе Succinct Attestation — в той самой логике «скользящей финальности» (Rolling Finality).

Схема правда любопытная. На каждом раунде сначала детерминированной лотереей выбирают пропонента, а потом проходит ещё две стадии комитета — проверка и одобрение. Обе стороны должны набрать две трети валидных голосов, а их BLS-подписи агрегируются в итоговое удостоверение. Звучит как двойная печать в канцелярии, но что если тебя накрывает сетевое отставание в экстремальном виде? В одном и том же раунде вполне могут появиться кандидаты на блоки разных итераций — тогда нодам приходится включать локальный откат, руководствуясь именно этим удостоверением.

Поэтому, пожалуйста, не воспринимай фронтенд-подсказки как приговор. В нижнем state machine Dusk: Accepted означает лишь, что сеть уже приняла входящее; Attested — что получены первичные доказательства; а чтобы считать всё по-настоящему «прибитым» к цепи и неизменным, нужно дождаться, пока последующие блоки доведут состояние до Confirmed — причём и родительский блок должен быть окончательно Final. Только тогда этот счёт считается закрытым навсегда, и никто уже ничего не поменяет.

Вот почему я всегда ленился слушать, как какие-то блокчейны на каждом углу хвастают TPS. Если по-настоящему пытаться перенести на цепь реальные ценные бумаги на многие сотни миллионов евро, то учреждения прежде всего боятся не того, что приходится подождать лишние три-пять секунд. Их куда сильнее пугает спор по обе стороны: «действительно ли поставка/расчёт уже состоялся». Dusk нарезает эту неопределённость на чёткие коды состояний. Традиционный капитал может ориентироваться на конкретные низкоуровневые метки, решая, когда выпускать платёж и когда проводить переуступку, вместо того чтобы вслепую смотреть на какой-то хэш и праздновать.

Но моё правило «сначала выживание» нарушать нельзя. Как бы тщательно ни была прописана нижняя часть протокола, в итоге всё равно зависит от того, захотят ли эти лицензированные институции реально подключить свои ключевые бизнес-системы к этим RPC-интерфейсам. Техническая готовность — это лишь билет на вход: это не значит, что я автоматически возьму и стану держать на плечах $DUSK .

#dusk #BTC @Dusk $DUSK