#dusk $DUSK @Dusk Если кто-то скажет вам, что платеж на Dusk «подтвержден», вы действительно выпустите товар, подпишете контракт или отправите перевод, основываясь на этом слове?
Я вернулся к стадиям окончательности после того, как понял, что относился к «подтверждено» и «сделано» как к взаимозаменяемым, хотя это на самом деле не так в этой цепочке.
Блок проходит через четыре отдельных состояния: Accepted (Принят), Confirmed (Подтвержден), Stable (Стабильный) и Final (Окончательный). Только Final детерминирован и криптографически гарантированно необратим. Stable — это состояние прямо перед ним, и оно явно вероятностное, а не абсолютное. Это значит, что блок «похоронен» достаточно глубоко, чтобы обратный ход был крайне маловероятен, но не то, что обращение математически невозможно.
Эта разница особенно важна, когда речь идет о реальных деньгах. Если вы принимаете транзакцию Stable, но еще не Final, как расчеты с выпуском актива, подтверждаете сделку, считаете средства «зачисленными», вы принимаете вероятность, а не гарантию — даже если разница неочевидна только из того, как выглядит статус на кошельке или в обозревателе. Количество блоков, нужное, чтобы действительно достигнуть статуса Final, тоже не фиксировано: Dusk перешел к модели «rolling finality», где число меняется от раунда к раунду в зависимости от условий сети. Поэтому нет единого правила «подожди X блоков, и ты в безопасности», на которое можно слепо полагаться.
@Dusk _Foundation Я не нашел четко опубликованного числа в худшем случае, сколько реально может растягиваться разрыв между Stable и Final при условиях реальной сети — только то, что он по дизайну является переменным.
Если вы используете Dusk для чего-то, связанного с реальными расчетами, вы на самом деле проверяете Final, прежде чем считать средства безопасными, или останавливаетесь на Stable, потому что слово звучит достаточно «завершенно»?