La actualización de Zcash bloqueará las monedas Sprout en el bloque 3,543,405, incluso con las claves correctas
Puntos clave
- •La activación de NU7 en el bloque 3,543,405 pondrá fin a los gastos de Sprout, ya que ninguno de los formatos de transacción que seguirán siendo válidos después —versiones 5 y 6— admite el pool.
- •Los poseedores de Sprout deberán depender de herramientas de recuperación de terceros como la aplicación Argos de Sovright, porque el deprecado zcashd fue el último software mantenido capaz de construir transacciones Sprout.
- •La velocidad de recuperación depende del respaldo: los archivos de cartera que almacenan datos de notas gastables pueden barrerse en segundos, mientras que las claves solas requieren escaneos de toda la cadena de unos 26 GB que duran horas.
- •Los fondos de Sprout que queden atrás no se queman y permanecen dentro de la oferta emitida de Zcash, y ZIP 2003 establece que el gasto de Sprout podría no regresar nunca.
- •La confirmación de cualquier transferencia Sprout debe provenir de software de nodo listo para NU7 como Zebra 7.0.0, porque los nodos desactualizados pueden permanecer en línea y seguir una cadena pre-NU7.

Alrededor de 12,226 ZEC permanecían en el pool blindado Sprout de Zcash la mañana del jueves, frente a los aproximadamente 22,263 de una semana antes, según cifras de ZecStats citadas en el informe de CoinDesk. La mayor parte de esa salida ocurrió el domingo, cuando unos 9,094 ZEC abandonaron el pool. Al precio de 1,300 dólares por moneda que utilizó CoinDesk, lo que queda vale unos 16 millones de dólares.
El corte es el bloque 3,543,405: la altura de activación en Mainnet establecida en ZIP 259, la especificación de despliegue de la actualización de red NU7, y repetida en el aviso de lanzamiento de Zebra 7.0.0 de la Zcash Foundation. CoinDesk informó que Blockchair mostraba la cadena en el bloque 3,542,391 a las 05:24 UTC del jueves, lo que, con el objetivo actual de bloques de 75 segundos, situaba la activación cerca de las 02:30 UTC del viernes. Los mineros marcan el ritmo real, por lo que esa estimación puede variar en cualquier dirección. La fecha es, por tanto, un límite de validez de consenso y no un plazo de servicio garantizado: el evento decisivo es la minería del bloque, mientras que las carteras y los custodios pueden aplicar sus propios cortes operativos.
Dos fallos que se ven igual en una cartera
La regla detrás del plazo es más amplia que Sprout. ZIP 2003 prohíbe todas las transacciones de versión 4 a partir de NU7, y ZIP 259 indica que esto incluye pagos transparentes y de Sapling. Sprout queda atrapado porque ninguno de los formatos que sobreviven lo admite: la versión 5, introducida con NU5, y la versión 6, introducida con NU6.3.
Por lo tanto, una cartera que se niega a enviar puede estar enfrentando uno de dos problemas, y solo uno de ellos sobrevive a la activación:
Monedas aún en Sprout. Qué se rompe: el único formato de transacción capaz de gastarlas deja de ser válido. Después del bloque: no existe un formato de reemplazo admitido. La ventana se cierra en el bloque 3,543,405.
ZEC transparente o de Sapling en una cartera desactualizada. Qué se rompe: el software construye pagos de versión 4 que la red rechaza. Después del bloque: el saldo sigue siendo gastable, y un software que construya versiones 5 o 6 puede recrear el pago; re-firmar el anterior no funciona. La ventana permanece abierta con software actualizado.
Los pagos preparados con antelación requieren su propia verificación. ZIP 259 advierte que las transacciones de versión 5 y 6 tampoco son automáticamente válidas a través de la activación, porque sus firmas se comprometen con un ID de rama de consenso. Un pago guardado o firmado fuera de línea antes de la actualización puede fallar si llega a un bloque posterior al corte, sea cual sea su formato.
Los saldos bajo custodia están con la plataforma que los posee. El aviso de la Zcash Foundation dirige la regla de versión 4 directamente a carteras, exchanges y otros servicios, que construyen transacciones en nombre de sus usuarios.
El material de recuperación marca el reloj
Para los poseedores de Sprout, el problema más difícil es encontrar software que aún pueda construir la transferencia. ZIP 2003 señala que la deprecación de zcashd, poco antes de NU6.3, eliminó el único software mantenido que todavía ofrecía funcionalidad de cartera Sprout. Las reglas de consenso aceptan gastos de Sprout hasta la activación, pero los poseedores quedan dependiendo de herramientas de recuperación de terceros para crearlos.
Identificar las monedas es lo primero. La documentación de direcciones de Zcash enumera direcciones blindadas Sprout con el prefijo zc y direcciones Sapling con zs. El prefijo muestra a qué pool pertenece una dirección, no si queda algún saldo en ella.
El respaldo decide más que la dirección. Las instrucciones de respaldo de Zcash tratan las claves blindadas heredadas por separado de la semilla detrás de las direcciones Sapling. El desarrollador de la aplicación de recuperación Argos añade dos detalles en su documentación: la semilla de una ZecWallet Lite no puede reconstruir las claves Sprout que esa cartera generó de forma independiente, y un wallet.dat de zcashd no tiene ninguna semilla maestra, porque sus claves se almacenan una por una; solo las claves dentro del archivo pueden recuperarse de él.
Lo que contiene el respaldo también determina cuánto toma un rescate. Según las notas de lanzamiento de Argos 1.2.0, un archivo de cartera que ya almacene datos de notas Sprout gastables puede barrerse sin escaneo, en segundos. Las claves sin esos datos de notas, como claves de gasto independientes o claves importadas a zcashd sin un re-escaneo, requieren un escaneo que intenta descifrar cada transacción blindada en el historial de la cadena, porque no existe un índice de direcciones Sprout. El sitio del desarrollador estima un escaneo Sprout de clave sola en unos 26 GB de transferencia en Mainnet y advierte que los escaneos duran horas. Con el corte medido en horas, esa brecha puede decidir si una transferencia es posible o no.
El destino también está fijado. El valor de Sprout solo puede moverse al pool de Sapling, por lo que las notas de lanzamiento exigen una dirección zs1 o una Dirección Unificada con un receptor Sapling. Mover los fondos a Orchard es una transacción separada que el poseedor realiza después.
Evaluar una herramienta de rescate bajo presión de tiempo
Argos es una aplicación de escritorio de terceros de Sovright, construida después de que ZecWallet Lite dejara de mantenerse. El sitio del desarrollador dice que la aplicación fue auditada de forma independiente por Least Authority, maneja semillas y claves localmente, y se conecta a internet solo para leer datos públicos de bloques y enviar el barrido final. Para saldos grandes, el desarrollador recomienda una computadora completamente nueva, porque un restablecimiento de fábrica no elimina malware a nivel de firmware de una máquina con largo uso.
Antes de pulsar sweep:
- La descarga. Las versiones para macOS y Windows están firmadas con código. Cada lanzamiento de GitHub incluye un archivo SHA256SUMS y una atestación de compilación, verificables con
gh attestation verify <file> --repo sovright/argos. - La división. La revisión del barrido incluye una donación opcional a Sovright que por defecto es del 10%. Ambos montos aparecen antes de la confirmación, así que fije esa cifra deliberadamente.
- El canal. El desarrollador dice que su soporte nunca pedirá una semilla, archivo de cartera, frase de contraseña o clave. Una solicitud de cualquiera de ellos, en cualquier plataforma, es una estafa.
Una vez que un barrido se confirma, el desarrollador aconseja retirar el material de recuperación antiguo, ya que un malware en la máquina de recuperación pudo haberlo capturado. El archivo de cartera original debe conservarse hasta que cada pool que cubre haya sido vaciado.
Solo un nodo actualizado puede confirmar el movimiento
Una transferencia Sprout firmada y transmitida cuenta solo cuando se incluye en un bloque antes de la altura de activación. Dónde se lee esa confirmación también importa. ZIP 259 exime el requisito habitual de que el software de nodo antiguo expire antes de una actualización y advierte que los nodos sin soporte pueden permanecer en línea y seguir una rama pre-NU7. El aviso de la Zcash Foundation dice que los nodos que no hayan actualizado seguirán una cadena diferente. Un poseedor que consulte un nodo desactualizado podría ver una transferencia que la red actualizada no reconoce, así que la confirmación debe provenir de software listo para NU7 como Zebra 7.0.0, la primera versión estable de Zebra con soporte de NU7 en Mainnet.
La salida también es pública. La sección de privacidad de ZIP 2003 señala que el valor que sale de Sprout cambia el saldo visible del pool, y que un período de salida corto hace que los tiempos y los montos distintivos sean más fáciles de vincular a poseedores particulares. Con solo unos 40 ZEC moviéndose el miércoles, un retiro tardío tiene poco tráfico circundante en el que mezclarse.
Las monedas que quedan atrás siguen en los libros
ZIP 2003, escrito por Daira-Emma Hopwood, no des-emite ni quema los fondos de Sprout. El saldo del pool en la activación permanece dentro de la oferta emitida de Zcash, incluso para los cálculos del Mecanismo de Sostenibilidad de Red en ZIP 237. Por lo tanto, la contabilidad de oferta de Zcash sigue contando monedas que actualmente no pueden moverse.
La propuesta deja una ruta teórica de regreso: reactivar las transacciones de versión 4 o añadir otra facilidad de recuperación si la comunidad lo considera valioso. También establece que el gasto de Sprout podría no regresar nunca.
El argumento para aceptar ese costo se basa en la seguridad de los nodos. ZIP 2003 señala que Sprout comparte el sistema de prueba Groth16 de Sapling y las curvas BLS12-381 desde la actualización Sapling. Su circuito JoinSplit y su manejo de nullifiers y compromisos de notas aún cargan el código que acepta nuevas transacciones, incluso como superficie de denegación de servicio. Como Sprout casi no se usa, las implementaciones de nodos tienen poco motivo para optimizar ese camino. Cómo se definió el alcance de la actualización se cubre en el informe de Coindoo sobre la votación de los poseedores de monedas de NU7.
El costo recae sobre un grupo reducido: poseedores cuyas claves Sprout están en respaldos que no han revisado o que han perdido. El saldo público del pool no puede distinguir entre ambos. La cifra que define la historia es el valor del pool Sprout en los datos de ZecStats una vez que el bloque 3,543,405 sea minado, que mostrará cuánto ZEC dejó atrás la actualización. Un ZIP posterior que proponga una facilidad de recuperación sería la única señal de que el acceso podría regresar.
Fuente: Coindoo