Saltar al contenido principal
Chile Stake Po [CHIL]

Blog

SecondFi: el rescate con ZK, de la idea al despliegue

Redacción CardumenRedacción CardumenEducación

Diorama LEGO del rescate de SecondFi: minifiguras celebrando reciben monedas doradas de ADA en un mostrador, con un escudo de prueba de conocimiento-cero flotando encima, en azul y dorado.

# SecondFi: el rescate con ZK, de la idea al despliegue

El 20 de octubre, SecondFi (la wallet antes conocida como Yoroi) anunció que desde el lanzamiento de su herramienta de recuperación —el 7 de octubre— ya devolvió más de 100 millones de ADA y 22 millones de NIGHT a las direcciones de destino de las solicitudes verificadas. Phil UPLC (@phil_uplc), CEO y fundador de Anastasia Labs, lo resumió con una frase ambiciosa: “hasta donde sé, esta es la mayor remediación de un exploit descentralizado en todo el espacio”.

Nosotros fuimos a verificarlo. Y lo que encontramos es más interesante que el titular: el tamaño del rescate no es lo notable. Lo notable es cómo se hizo — con una pieza de ingeniería que hasta hace poco solo existía como idea en un paper académico.

Primero, lo verificable: los fondos sí volvieron

No repetimos el titular, lo contrastamos contra la cadena. Consultamos la blockchain de Cardano con nuestro nodo dbsync y encontramos que la cifra es creíble, incluso se queda corta:

  • Las billeteras del rescate hoy están vacías. Los fondos asegurados en junio salieron a destino: el fondo de recuperación de EMURGO y las wallets de rescate quedaron con saldos de 1 a 155 ADA.
  • El fondo de recuperación distribuyó 116,66M ADA en octubre, con el pico clavado entre el 7 y el 9 de octubre — exactamente cuando se lanzó la herramienta. Hubo tramos de 15,9M ADA y decenas de reembolsos individuales de 60-115 ADA a víctimas.
  • El token NIGHT también se movió (la policy 0691b2fe…, con un suministro de 24.000 millones, identificable sin ambigüedad).

O sea: SecondFi dice “100M+ devueltos”, y la cadena confirma que salieron 116,66M ADA del fondo en esa ventana.

¿Es entonces “la mayor remediación del espacio”, como dijo Phil? En dólares, no. Poly Network devolvió ~$611M en 2021 y Euler Finance ~$197M en 2023; los ~129M ADA de SecondFi (≈ $20M al precio de junio) quedan 30× y 10× abajo. Pero en el ecosistema Cardano —cuya red principal nunca fue comprometida— SecondFi sí es la mayor remediación de su historia.

Un dato de contexto antes de seguir: Phil no es un observador neutral. Es el CEO de Anastasia Labs —la firma detrás de Midgard, el primer optimistic rollup de Cardano— que, según el campo “company” del contribuidor principal del repositorio del proof-tool, probablemente construyó la herramienta de recuperación. Su “mayor remediación del espacio” es, en parte, orgullo de autor, no una evaluación independiente. Por eso no la tomamos al pie de la letra: la contrastamos contra la cadena y contra la historia.

El titular real está en otra parte.

El problema que el ZK resolvió

Para entender qué hizo SecondFi, hay que entender el problema. El exploit de junio de 2026 fue por un bug de nonce determinístico en la firma Ed25519: un componente de la wallet (el SDK @stashers.io/trantor) reemplazó la librería auditada y generaba firmas con un valor reutilizado. La consecuencia es brutal y poco intuitiva:

Firmar = exponer tu clave privada. Cada firma hecha con la wallet afectada le regala al atacante la información necesaria para derivar la clave.

Entonces, en un rescate normal, probar que sos el dueño de una wallet es fácil: firmás un mensaje con tu clave privada. Pero acá, firmar era justamente lo que no se podía hacer, porque el propio acto de autenticarte te volvía a exponer. Los métodos tradicionales quedaban descartados:

  • Firma (challenge-response) → filtra la clave con el nonce roto.
  • KYC manual → no escala a miles de usuarios y no prueba control de la clave.
  • Snapshot del custodio → centralizado y no distingue al dueño legítimo del atacante.

SecondFi necesitaba una forma de probar “yo controlo esta wallet” sin firmar nada.

La solución: probar ownership sin firmar, con ZK

La herramienta de recuperación usa pruebas de conocimiento-cero (zero-knowledge proofs). Un circuito ZK (Groth16, sobre la librería gnark) prueba que el usuario conoce la master extended private key que deriva su credencial m/1852’/1815’/account’/role/index (el estándar CIP-1852 de Cardano), con la clave pública como único dato público.

La clave del asunto: la prueba corre por un camino computacional distinto y nunca invoca la función de firma Ed25519 comprometida. En lugar de firmar (que filtra la clave), generás una prueba matemática de que podés derivar esa dirección. Y un matiz que importa: la frase de recuperación se usa localmente en tu navegador para generar la prueba; no se almacena ni se transmite — solo se envía la prueba, con la dirección de destino fijada dentro de ella.

Todo esto fue auditado de forma independiente por zkSecurity: los dos hallazgos graves estaban en la librería de terceros (gnark) y ya fueron corregidos y re-verificados; los dos restantes, en el repositorio propio, no son explotables en la práctica.

Lo que de verdad es nuevo: no la criptografía, el despliegue

Y acá está el punto que le da aire fresco a esta historia, y que conviene decir con honestidad:

La idea no era nueva. Probar que una clave deriva de una semilla sin revelarla ya estaba publicado: AmericanFortress describió exactamente esto en dos papers de 2026 (ZKPoSP, IACR ePrint 2026/1508, y Provenance Proofs, 2026/2204), con una aclaración reveladora: “aún no se ha desplegado en producción”. a16z también publicó ZK para reclamos de airdrops, y Tornado Cash ya probaba pertenencia sin revelar cuál nota.

Lo nuevo es que SecondFi lo desplegó. Correr Groth16 en un navegador no es trivial — la proving key pesa ~1,2 GiB. SecondFi escribió siete parches propios a gnark/gnark-crypto para que una víctima pudiera generar la prueba en su propio navegador en ~15 minutos, sin infraestructura pesada. Tomaron una idea que estaba en un paper, y la convirtieron en un sistema en producción que hoy está devolviendo fondos reales a víctimas reales.

Esa es la diferencia entre una idea y un despliegue. Y es lo que hace único el mecanismo de SecondFi: hasta donde pudimos verificar, es la primera aplicación de ZK en producción para recuperar fondos de una wallet con clave comprometida.

Las preguntas que siguen abiertas

La cadena confirma la devolución, pero no todo está cerrado:

  1. ¿Cuánto falta exactamente? El fondo movió 116,66M ADA; SecondFi reporta 100M+ a víctimas. La diferencia (consolidaciones internas vs. reembolsos netos) merece un desglose fino.
  2. La narrativa del “rescate preventivo” tiene una contraparte. El análisis de Fetch lo lee como que el equipo + white-hats aseguraron los ~129M antes del atacante; el de Bitquery, como que un hub del atacante barrió ~135M y los envió a una bóveda que quedó inactiva. No está probado cuál lectura es la correcta, y hay que decirlo.
  3. La automatización (fulfilment vía smart contract) era “próximos días” al 20 de octubre.

Protégete: solo canales oficiales

Con la distribución en marcha, crecieron los intentos de estafa contra usuarios afectados. Las reglas oficiales de SecondFi: nunca compartas tu frase de recuperación, clave privada ni contraseña con nadie; SecondFi nunca te escribe primero; no envíes fondos a una “wallet de recuperación” ni pagues una tarifa para desbloquear tu reclamo; y ante la duda, entrá directo a secondfi.io y verificá los enlaces vos mismo.


Fuentes: anuncio oficial de SecondFi (20-oct-2026, @secondfiapp) · análisis on-chain de Fetch (14-jul-2026) · análisis on-chain de Bitquery (24-jun-2026) · auditoría de zkSecurity del proof-tool · AmericanFortress, IACR ePrint 2026/1508 y 2026/2204 · a16z crypto (ZK airdrops) · verificación propia en dbsync (snapshot 21-oct-2026). Enlaces completos en la versión publicada.

Etiquetas: , , ,