Antes creía que una buena blockchain debería hacerlo absolutamente todo.
¿Smart contracts?
Claro.
¿Privacidad?
Añádela.
¿EVM?
Obviamente.
¿Ejecución personalizada?
¿Por qué no.
Cuanto más larga la lista de funciones, más impresionante me parecía el proyecto.
He cambiado de opinión sobre eso.
Al ver Dusk, lo que me llamó la atención no fue otra característica.
Fue la decisión de no obligarlo todo a pasar por el mismo entorno de ejecución.
Dusk tiene DuskVM para contratos Rust/WASM que se ejecutan directamente en la L1, mientras que DuskEVM ofrece ejecución de Solidity y Vyper a través de un entorno compatible con EVM. Las dos rutas usan DuskDS por debajo para la liquidación y la disponibilidad de datos. (docs.dusk.network)
Al principio pensé:
“¿Por qué complicarlo así?
¿No sería más fácil un solo entorno?”
Luego empecé a pensar lo contrario.
Quizá forzar a que cada aplicación entre en un solo entorno es la opción complicada.
Un desarrollador que construye una aplicación normal en Solidity probablemente no quiera aprender un stack completamente distinto.
Alguien que crea un protocolo que necesita acceso directo a los modelos nativos de transacción de Dusk probablemente tampoco quiera que las abstracciones de EVM se interpongan.
Así que Dusk básicamente les da puertas distintas.
Eso no significa automáticamente que la arquitectura sea mejor.
Más componentes también implican más cosas que mantener.
Más interfaces.
Más suposiciones.
Más maneras de que algo se rompa.
Pero me gusta el razonamiento detrás de ello.
En lugar de decir:
“Este es nuestro único entorno de blockchain. Todos úsalo.”
Dusk parece estar diciendo:
“Cuéntennos primero qué estás construyendo.”
Esa es una diferencia sutil.
Y quizá me estoy complicando demasiado.
Pero después de ver tantas cadenas intentando convertirse en todo para todos, me resulta sorprendentemente refrescante la disposición de Dusk a mantener rutas de ejecución distintas.
A veces la flexibilidad no consiste en añadir más funciones.
A veces consiste en saber qué funciones no forzar a encajar juntas.
#dusk $DUSK @Dusk