Строить блокчейн как единый монолитный стек проще объяснить и проще выпустить в прод. Консенсус, выполнение и расчёты живут в одном и том же пути кода, и любое изменение в одной части затрагивает всё. Network Dusk выбрала более сложный путь: отделила DuskDS — слой консенсуса и расчётов — от сред, которые фактически выполняют смарт‑контракты.
DuskDS отвечает за Сжатые аттестации, финальность, доступность данных и транзакционные модели Moonlight и Phoenix. Сам по себе он не выполняет прикладную логику. Эту работу выполняет DuskVM — среда на базе Wasmtime для контрактов на Rust и WASM с прямым доступом к нативным инструментам конфиденциальности Dusk — или DuskEVM: среда исполнения OP Stack для Solidity‑приложений, которая производит расчёты обратно через DuskDS с DUSK как газом. Rusk, реализация ноды, связывает всё воедино и предоставляет интерфейсы, которыми на самом деле пользуются кошельки и индексеры.
Зачем идти на эти сложности? Потому что гарантии расчётов и опыт разработчика меняются с совершенно разной скоростью. Институтам, выпускающим токенизированные ценные бумаги, нужны правила финальности и механизмы контроля доступа, которые должны оставаться стабильными годами. Разработчикам, создающим приложения, нужны инструменты, которые постоянно улучшаются: новые SDK, лучшая совместимость с EVM, более быстрые итерации. Если объединить эти два набора потребностей в один слой, вы либо «заморозите» инновации ради защиты стабильности, либо сломаете стабильность, гоняясь за удобством для разработчиков. Разделение позволяет DuskDS оставаться «скучным» и надёжным, пока снизу, или сверху — в зависимости от того, как на это смотреть — эволюционируют DuskVM и DuskEVM.
Это решение, которое обменивает простоту в краткосрочной перспективе на гибкость в долгосрочной, и спустя шесть лет работы над проектом я думаю, что этот обмен начинает окупаться — даже если из-за него раннюю архитектуру оказалось сложнее объяснить новичкам. То, что я ещё хочу увидеть проверенным, — это стоимость координации, когда сам DuskDS нуждается в изменениях, потому что расчётный слой, общий для двух сред исполнения, не может развиваться так же свободно, как каждая из них могла бы развиваться самостоятельно, и это ограничение становится всё заметнее по мере того, как обе среды несут всё больше реальной ценности#dusk $DUSK @Dusk
DuskDS отвечает за Сжатые аттестации, финальность, доступность данных и транзакционные модели Moonlight и Phoenix. Сам по себе он не выполняет прикладную логику. Эту работу выполняет DuskVM — среда на базе Wasmtime для контрактов на Rust и WASM с прямым доступом к нативным инструментам конфиденциальности Dusk — или DuskEVM: среда исполнения OP Stack для Solidity‑приложений, которая производит расчёты обратно через DuskDS с DUSK как газом. Rusk, реализация ноды, связывает всё воедино и предоставляет интерфейсы, которыми на самом деле пользуются кошельки и индексеры.
Зачем идти на эти сложности? Потому что гарантии расчётов и опыт разработчика меняются с совершенно разной скоростью. Институтам, выпускающим токенизированные ценные бумаги, нужны правила финальности и механизмы контроля доступа, которые должны оставаться стабильными годами. Разработчикам, создающим приложения, нужны инструменты, которые постоянно улучшаются: новые SDK, лучшая совместимость с EVM, более быстрые итерации. Если объединить эти два набора потребностей в один слой, вы либо «заморозите» инновации ради защиты стабильности, либо сломаете стабильность, гоняясь за удобством для разработчиков. Разделение позволяет DuskDS оставаться «скучным» и надёжным, пока снизу, или сверху — в зависимости от того, как на это смотреть — эволюционируют DuskVM и DuskEVM.
Это решение, которое обменивает простоту в краткосрочной перспективе на гибкость в долгосрочной, и спустя шесть лет работы над проектом я думаю, что этот обмен начинает окупаться — даже если из-за него раннюю архитектуру оказалось сложнее объяснить новичкам. То, что я ещё хочу увидеть проверенным, — это стоимость координации, когда сам DuskDS нуждается в изменениях, потому что расчётный слой, общий для двух сред исполнения, не может развиваться так же свободно, как каждая из них могла бы развиваться самостоятельно, и это ограничение становится всё заметнее по мере того, как обе среды несут всё больше реальной ценности#dusk $DUSK @Dusk