Добавление поддержки EVM обычно подается как выигрыш в совместимости: больше кошельков, больше инструментов, больше Solidity-разработчиков. Но за этим скрывается более важный архитектурный вопрос — должны ли привычные для разработчиков технологии определять то, где именно «оседает» финансовая система?
Текущий стек Dusk разносит эти решения. DuskEVM обеспечивает выполнение, совместимое с EVM, которое рассчитывается через DuskDS, тогда как DuskVM запускает контракты Rust/WASM напрямую в L1. DuskDS по-прежнему остается основой расчетов и доступности данных. Поэтому совместимость с EVM — это скорее вариант исполнения, а не определение базового уровня.
Следствие оказывается более интересным, чем «Dusk поддерживает две ВМ». Регулируемое приложение может выбирать привычные инструменты EVM, не заставляя при этом сам уровень расчетов становиться «похожим на EVM».
Параллельно рабочие процессы, которым нужен прямой доступ к моделям транзакций Dusk в L1, а также функции приватности или возможностей, связанных с нулевыми знаниями, могут оставаться нативными.
Компромисс заключается в координации. Два пути исполнения не делают их возможности идентичными, и разработчикам все равно приходится решать, какие гарантии относятся к исполнению, а какие нужно закреплять на уровне расчетов.
Поэтому реальный тест модульности — не в том, сколько сред поддерживает Dusk. В том, может ли исполнение меняться, не разрывая при этом лежащие под ним допущения расчетного слоя.
@Dusk $DUSK #dusk $BTW $ROBO
Текущий стек Dusk разносит эти решения. DuskEVM обеспечивает выполнение, совместимое с EVM, которое рассчитывается через DuskDS, тогда как DuskVM запускает контракты Rust/WASM напрямую в L1. DuskDS по-прежнему остается основой расчетов и доступности данных. Поэтому совместимость с EVM — это скорее вариант исполнения, а не определение базового уровня.
Следствие оказывается более интересным, чем «Dusk поддерживает две ВМ». Регулируемое приложение может выбирать привычные инструменты EVM, не заставляя при этом сам уровень расчетов становиться «похожим на EVM».
Параллельно рабочие процессы, которым нужен прямой доступ к моделям транзакций Dusk в L1, а также функции приватности или возможностей, связанных с нулевыми знаниями, могут оставаться нативными.
Компромисс заключается в координации. Два пути исполнения не делают их возможности идентичными, и разработчикам все равно приходится решать, какие гарантии относятся к исполнению, а какие нужно закреплять на уровне расчетов.
Поэтому реальный тест модульности — не в том, сколько сред поддерживает Dusk. В том, может ли исполнение меняться, не разрывая при этом лежащие под ним допущения расчетного слоя.
@Dusk $DUSK #dusk $BTW $ROBO