El valor de Piecrust no es solo “compatibilidad con WASM”
Tratar “compatibilidad con WASM” como el valor total de Piecrust es un poco como entender un coche solo como “capaz de llevar ruedas”. Al revisar el Libro Blanco y artículos oficiales de arquitectura de Dusk, veo dos límites: los contratos deben ejecutarse en un entorno reproducible y aislado, y a la vez la criptografía pesada no puede depender únicamente de que el WASM estándar vaya calculando lentamente.
Piecrust está escrito en Rust y construido alrededor del runtime WASM Wasmer. Ofrece un entorno de ejecución de contratos ligero y modular. WASM aporta portabilidad, aislamiento tipo sandbox y extensibilidad modular; el crate piecrust se encarga de la VM, mientras que piecrust-uplink ayuda con la compilación, el despliegue, las pruebas y la gestión de contratos.
Pero la criptografía pesada no se delega completamente a WASM. El Libro Blanco pone Blake2b, Poseidon, verificación Plonk, verificación Groth16 BN254, y verificaciones de firmas Schnorr y BLS dentro de host functions; el manejo de estas funciones de alto costo corre por implementaciones nativas fuera de la VM. El contrato controla el flujo de ejecución, y las bibliotecas nativas manejan los cálculos costosos. Esto aporta ventajas en cuanto a rendimiento y límites de seguridad, pero exige que la interfaz, las entradas y salidas, el manejo de errores y la determinismo estén fijados estrictamente; de lo contrario, nodos distintos podrían obtener resultados diferentes.
@Dusk $DUSK #dusk
También hay que leer los datos con cuidado. En las comparaciones citadas por el Libro Blanco, en aplicaciones complejas la ejecución en WASM puede ser un 45%—255% más lenta que el código nativo. Esto no significa que todos los contratos WASM vayan a ser siempre tan más lentos, y mucho menos se puede convertir directamente en una mejora de rendimiento (throughput) en la red principal de Dusk; además, el Libro Blanco admite que en ese momento no se había cuantificado específicamente el ahorro energético aportado por las host functions.
Además, en la documentación oficial actual, el entorno para ejecutar directamente contratos Rust/WASM se denomina DuskVM y se describe como basado en Wasmtime; Piecrust corresponde más a la nomenclatura usada en el Libro Blanco y en materiales de arquitectura temprana. Tras llegar aquí, el valor de Piecrust no es una frase como “compatibilidad con WASM”, sino gestionar por separado la ejecución reproducible y el cálculo criptográfico de alto costo.
Tratar “compatibilidad con WASM” como el valor total de Piecrust es un poco como entender un coche solo como “capaz de llevar ruedas”. Al revisar el Libro Blanco y artículos oficiales de arquitectura de Dusk, veo dos límites: los contratos deben ejecutarse en un entorno reproducible y aislado, y a la vez la criptografía pesada no puede depender únicamente de que el WASM estándar vaya calculando lentamente.
Piecrust está escrito en Rust y construido alrededor del runtime WASM Wasmer. Ofrece un entorno de ejecución de contratos ligero y modular. WASM aporta portabilidad, aislamiento tipo sandbox y extensibilidad modular; el crate piecrust se encarga de la VM, mientras que piecrust-uplink ayuda con la compilación, el despliegue, las pruebas y la gestión de contratos.
Pero la criptografía pesada no se delega completamente a WASM. El Libro Blanco pone Blake2b, Poseidon, verificación Plonk, verificación Groth16 BN254, y verificaciones de firmas Schnorr y BLS dentro de host functions; el manejo de estas funciones de alto costo corre por implementaciones nativas fuera de la VM. El contrato controla el flujo de ejecución, y las bibliotecas nativas manejan los cálculos costosos. Esto aporta ventajas en cuanto a rendimiento y límites de seguridad, pero exige que la interfaz, las entradas y salidas, el manejo de errores y la determinismo estén fijados estrictamente; de lo contrario, nodos distintos podrían obtener resultados diferentes.
@Dusk $DUSK #dusk
También hay que leer los datos con cuidado. En las comparaciones citadas por el Libro Blanco, en aplicaciones complejas la ejecución en WASM puede ser un 45%—255% más lenta que el código nativo. Esto no significa que todos los contratos WASM vayan a ser siempre tan más lentos, y mucho menos se puede convertir directamente en una mejora de rendimiento (throughput) en la red principal de Dusk; además, el Libro Blanco admite que en ese momento no se había cuantificado específicamente el ahorro energético aportado por las host functions.
Además, en la documentación oficial actual, el entorno para ejecutar directamente contratos Rust/WASM se denomina DuskVM y se describe como basado en Wasmtime; Piecrust corresponde más a la nomenclatura usada en el Libro Blanco y en materiales de arquitectura temprana. Tras llegar aquí, el valor de Piecrust no es una frase como “compatibilidad con WASM”, sino gestionar por separado la ejecución reproducible y el cálculo criptográfico de alto costo.

