Cuando los ingenieros de Dusk Network tuvieron que decidir cómo se ejecutarían realmente los contratos, no recurrieron al atajo evidente. La mayoría de las nuevas Layer-1 lanzadas en los últimos años salieron compatibles con EVM desde el primer día, apostando a que la familiaridad con Solidity superaría cualquier costo técnico. Dusk Network construyó primero su propia máquina virtual: Piecrust, un runtime basado en WASM con soporte nativo para operaciones de conocimiento cero como la verificación de PLONK y Groth16, además de un modelo de estado basado en deltas que solo persiste lo que realmente cambió en lugar de reescribir el estado completo en cada bloque.
Ese camino es más difícil y lento. También es el único camino que permitió que los contratos de Dusk Network fueran nativos de conocimiento cero, en lugar de ser simplemente compatibles con conocimiento cero (zero-knowledge-adjacent), ya que los entornos estándar de EVM no fueron diseñados con la verificación de pruebas confidenciales como una operación de primera clase. El costo fue la familiaridad del desarrollador: la mayoría de los ingenieros conoce Solidity; muchos menos conocen Rust y las macros de contratos de Dusk Network, y ese es un costo real que el equipo aceptó de manera consciente.
Lo interesante es que Dusk Network no se quedó casada con ese intercambio para siempre. DuskEVM llegó como un segundo entorno de ejecución, totalmente equivalente a EVM, liquidando en la misma capa subyacente DuskDS que usan los contratos basados en Piecrust, con un puente nativo sin confianza y herramientas estándar que los desarrolladores ya conocen. En lugar de elegir 1 modelo de ejecución y forzar todos los casos de uso a pasar por él, Dusk Network separó por completo la liquidación de la ejecución, permitiendo que las aplicaciones nativas de privacidad vivan en Piecrust y que los equipos nativos de Ethereum vivan en DuskEVM, ambas heredando las mismas garantías de consenso y finalidad subyacentes.
Creo que esa secuenciación fue la decisión correcta: construir primero la parte más difícil y diferenciada, y luego incorporar el acceso familiar cuando la base ya existe. Si 2 entornos de ejecución fragmentan la liquidez y la atención en lugar de añadir flexibilidad, sigue siendo una pregunta abierta de diseño que nadie fuera de Dusk Network puede responder completamente todavía.
#dusk $DUSK @Dusk
Ese camino es más difícil y lento. También es el único camino que permitió que los contratos de Dusk Network fueran nativos de conocimiento cero, en lugar de ser simplemente compatibles con conocimiento cero (zero-knowledge-adjacent), ya que los entornos estándar de EVM no fueron diseñados con la verificación de pruebas confidenciales como una operación de primera clase. El costo fue la familiaridad del desarrollador: la mayoría de los ingenieros conoce Solidity; muchos menos conocen Rust y las macros de contratos de Dusk Network, y ese es un costo real que el equipo aceptó de manera consciente.
Lo interesante es que Dusk Network no se quedó casada con ese intercambio para siempre. DuskEVM llegó como un segundo entorno de ejecución, totalmente equivalente a EVM, liquidando en la misma capa subyacente DuskDS que usan los contratos basados en Piecrust, con un puente nativo sin confianza y herramientas estándar que los desarrolladores ya conocen. En lugar de elegir 1 modelo de ejecución y forzar todos los casos de uso a pasar por él, Dusk Network separó por completo la liquidación de la ejecución, permitiendo que las aplicaciones nativas de privacidad vivan en Piecrust y que los equipos nativos de Ethereum vivan en DuskEVM, ambas heredando las mismas garantías de consenso y finalidad subyacentes.
Creo que esa secuenciación fue la decisión correcta: construir primero la parte más difícil y diferenciada, y luego incorporar el acceso familiar cuando la base ya existe. Si 2 entornos de ejecución fragmentan la liquidez y la atención en lugar de añadir flexibilidad, sigue siendo una pregunta abierta de diseño que nadie fuera de Dusk Network puede responder completamente todavía.
#dusk $DUSK @Dusk
