Я снова читал архитектуру Dusk и застрял на том, почему поселение (settlement) рассматривается как отдельная задача от выполнения.

DuskDS — это уровень поселения и доступности данных L1. Он занимается консенсусом и финальностью, тогда как DuskVM выполняет контракты Rust/WASM напрямую в L1. DuskEVM выбирает другой путь: предоставляет инструментарий Solidity и EVM, но при этом использует DuskDS для поселения и доступности данных.

Такое разделение становится более логичным, когда перестаёшь думать о выполнении как о всей транзакции целиком.

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

Это особенно актуально для финансовой инфраструктуры. Приложению может понадобиться привычное выполнение в стиле EVM, но лежащий под ним уровень поселения всё равно должен обеспечивать консенсус и финальность, на которые опирается рабочий процесс. DuskEVM может менять среду выполнения, не меняя того, откуда берётся поселение.

Однако есть часть, с которой я всё ещё не до конца согласен. С точки зрения архитектуры разделение звучит аккуратно, но путь выполнения и DuskDS всё равно должны двигаться как единая система. Бóльшая модульность не означает меньшую координацию.

И я пока недостаточно вижу публичных данных по бенчмаркам, чтобы уверенно сказать, где практическое ограничение проявится первым при длительной нагрузке.

Я бы хотел измерить одну вещь, прежде чем делать более громкие заявления: когда выполнение DuskEVM начинают сильно «толкать», как именно эта нагрузка влияет на задержки поселения и финальности в DuskDS?

#dusk $DUSK @Dusk $PORTAL $GPS
⚙️ Execution
⛓️ Settlement
🔄 Coordination
📊 Need benchmarks
13 ч. осталось