Midnight lanza Ledger 9.1.0.0 para la próxima bifurcación dura de la red
La versión actualiza las bibliotecas usadas para generar y verificar pruebas de conocimiento cero e introduce cambios en los parámetros de costo de transacción. Algunos desarrolladores de contratos deberán regenerar claves de verificación.
By SongMarketCap
Updated:
Midnight ha lanzado Ledger 9.1.0.0, la primera versión completa del software del ledger destinada a la próxima bifurcación dura de la red. La actualización añade compatibilidad con firmas ECDSA e introduce cambios en la generación de pruebas, el procesamiento de transacciones y la validación de seguridad.
El equipo también publicó Proof Server 9.0.0, un servicio fuera de cadena que genera las pruebas de conocimiento cero usadas en las transacciones de Midnight. Las notas de la versión del ledger no especifican una fecha para la bifurcación dura.
Bibliotecas de pruebas actualizadas y compatibilidad con ECDSA
El software del ledger define la estructura de las transacciones y las reglas para actualizar el estado de la red. Ledger 9.1.0.0 sigue a una serie de candidatos de lanzamiento y fue promovido desde la versión 9.1.0.0-rc.7 tras la aprobación de control de calidad.
Su cambio principal es la migración a midnight-zk-stdlib v2 y midnight-circuits v7, bibliotecas usadas para generar y verificar pruebas de conocimiento cero. Estas pruebas permiten verificar información sin revelar los datos privados subyacentes. Las pruebas y las claves de verificación creadas con la anterior zk-stdlib v1 siguen siendo verificables con la nueva versión.
Ledger 9 también admite firmas ECDSA, un estándar de firma criptográfica usado por redes como Bitcoin y Ethereum. Además, el Proof Server admite zkir v3, una versión más reciente de la representación intermedia usada para circuitos criptográficos.
La versión introduce una transacción del sistema llamada UnlockToTreasury, que mueve fondos de un fondo bloqueado al tesoro. También marca la primera publicación de los paquetes de Rust de ledger 9 en crates.io, incluido el nuevo paquete midnight-ledger-v9.
Midnight actualiza los parámetros de costo de transacción
Ledger 9 introduce un piso de precio explícito regido por parámetros del ledger. También reemplaza un factor de costo computacional anterior con factores separados para la validación, la aplicación garantizada y la aplicación falible de las transacciones.
Las comisiones de transacción en Midnight se pagan usando DUST, un recurso de la red generado con el tiempo a partir de tokens NIGHT registrados. La versión cambia cómo se contabiliza el registro de DUST, usando el momento del bloque en lugar del momento declarado en la transacción.
Varias correcciones abordan fallos potenciales en el procesamiento del estado de la billetera y en el procesamiento de comisiones del puente. La versión también incorpora parches de seguridad entregados previamente a mainnet a través de Ledger 8.1.2 y 8.1.3, incluyendo una decodificación y una validación más estrictas de los datos usados en llamadas a contratos.
[NEWSBREAK]
Claves de verificación e incidencias conocidas para desarrolladores
Las bibliotecas de pruebas actualizadas cambian las claves de verificación para tipos específicos de circuitos. Según las notas de la versión, los contratos afectados son aquellos que usan circuitos zkir v2 con hash_to_curve o circuitos zkir v3 que codifican un escalar de Jubjub. Sus claves de verificación deben regenerarse; las claves v0 y v1 permanecen sin cambios.
Las herramientas que construyen o serializan parámetros del ledger deben incluir el nuevo piso de precio y los factores de costo. El código que construye manualmente sobres de firma también debe pasar al método de construcción compartido.
Las notas de la versión enumeran dos defectos conocidos. Una llamada a contrato que gasta una moneda blindada y devuelve cambio puede ser rechazada por exceder su presupuesto de gas en una cadena con un árbol de compromisos no vacío. Un problema distinto puede hacer que una llamada a contrato pagada con exactamente un gasto de DUST falle una comprobación de tiempo para descartar; las notas señalan que usar dos o más gastos de DUST es una forma de evitar ese problema.
Los paquetes de Ledger 9 se publican bajo el scope de npm @midnightntwrk. El scope anterior @midnight-ntwrk seguirá recibiendo lanzamientos por ahora.