AmericanFortress, un equipo con sede en Wyoming dedicado a la criptografía poscuántica de carteras, publica una nueva investigación que permite a un puente entre cadenas o a un servicio de intercambio comprobar, antes de pagar, si la cartera que recibe los fondos en una cadena está controlada por el mismo secreto oculto que la cartera que los envió en otra. El documento, expuesto en el documento, amplía un sistema de pruebas que los mismos autores denominan ZKPoSP (pruebas de conocimiento cero de procedencia de la semilla), pasando de certificar una única dirección derivada a certificar relaciones entre varias direcciones a la vez, incluidas direcciones construidas sobre curvas criptográficas totalmente distintas.
La prueba en sí no revela nada más allá del hecho que se comprueba. Un verificador descubre que dos direcciones comparten un origen oculto, pero no cuál es ese origen, ni la ruta de derivación utilizada para llegar a cada dirección, ni ninguna otra dirección que controle la misma cartera. Además de los puentes, el documento desarrolla la misma maquinaria para la custodia institucional de claves y para recuperar la identidad de confianza de una cartera después de rotar una clave. AmericanFortress afirma que la construcción está diseñada para resistir a los ordenadores cuánticos, y la técnica es objeto de una solicitud de patente pendiente propiedad de la empresa.
Comprobar que la cartera de pago pertenece al depositante
El mecanismo que el documento desarrolla con más detalle es lo que denomina procedencia entre esquemas: un usuario deriva una dirección de Bitcoin y una dirección de Solana, en secp256k1 y Ed25519 respectivamente, a partir de un único secreto oculto compartido. Para mover fondos de Bitcoin a Solana a través de un puente, el usuario envía ambas direcciones junto con una prueba de que se remontan al mismo secreto. Si un atacante, o un malware situado entre el usuario y el puente, sustituye una dirección de Solana que no controla, esa dirección no puede producir una prueba válida contra el depósito de Bitcoin, y la propiedad de seguridad declarada en el documento es que el puente debería retener entonces el pago. La misma comprobación se extiende a una dirección de reembolso utilizando una maquinaria de pruebas idéntica, de modo que una dirección de origen, de destino y de reembolso pueden certificarse todas como pertenecientes a un único propietario sin ninguna criptografía nueva.
El documento desarrolla esto frente a una hipotética API de intercambio instantáneo que denomina Swapper X, construida para parecerse a cómo estos servicios suelen exponer los endpoints de depósito, estado y pago. AmericanFortress es explícito en que se trata de un ejemplo de diseño elaborado en lugar de una integración real: ningún puente ni exchange ha implementado la comprobación, y Swapper X no está modelado a partir de ningún proveedor existente concreto. Lo que establece el ejemplo es dónde se situaría el paso de verificación adicional dentro del flujo existente de un puente, justo después de que se confirme un depósito y antes del pago, no cómo lo adoptaría realmente un puente concreto.
El calendario coincide con un año costoso para la infraestructura entre cadenas. El puente rsETH de Kelp DAO basado en LayerZero perdió aproximadamente 292 millones de dólares el 18 de abril después de que un mensaje entre cadenas falsificado convenciera al puente de que se había producido un depósito cuando no había sido así, lo que llevó a Aave a congelar los mercados de rsETH mientras evaluaba una posible deuda incobrable. Ese fallo concreto se situó aguas arriba de lo que abordaría una comprobación de mismo propietario entre las carteras de depósito y de pago, ya que el depósito en sí fue fabricado, en lugar de que los fondos genuinos se redirigieran al destinatario equivocado, un recordatorio de que esta prueba se dirige a un modo de fallo específico, la sustitución de dirección contra un depósito real, en lugar de a la seguridad del puente en términos generales.
Un segundo uso: demostrar quién envió un pago sin exponer el historial completo de una cartera
El documento aplica una versión relacionada de la misma maquinaria al próximo producto de AmericanFortress, descrito en el documento como SafeSend. Allí, los pagos van a direcciones sigilosas nuevas y de un solo uso que solo el destinatario previsto puede reconocer, construidas a partir de una clave de visualización y una clave de gasto que el destinatario publica con antelación. Cuando un remitente paga, adjunta una prueba que vincula el pago a una identidad registrada y a esa transacción específica, y luego cifra su nombre para que solo el destinatario, utilizando un valor que ambas partes pueden derivar de forma independiente del secreto compartido del pago, pueda leerlo. Un observador de la blockchain ve una dirección nueva y una prueba; solo el destinatario descubre quién le pagó.
La misma construcción permite a un destinatario demostrar más tarde la procedencia a un auditor para un conjunto elegido de pagos, mostrando qué remitente registrado envió cada uno, sin revelar la clave de visualización que expondría todos los pagos que ha recibido o recibirá jamás. AmericanFortress plantea esto como una respuesta de cumplimiento normativo más que de puente: demostrar el origen de fondos concretos a petición, sin la exposición de toda la cartera que exige actualmente entregar las claves a un auditor.
Lo que muestran y no muestran las cifras de las pruebas de rendimiento
AmericanFortress informa de que una única prueba de derivación sobre una ruta completa, tres pasos endurecidos y dos no endurecidos, tarda unos 6.65 segundos en generarse y 475 milisegundos en verificarse, en un sistema de pruebas construido con Plonky3, con tamaños de prueba cercanos a 9.7 megabytes. Una prueba más corta que parte de un ancla endurecida ya establecida tarda unos 3.1 segundos. La empresa lo describe como una gran mejora respecto a un trabajo previo no especificado que, según afirma, tardaba más de 30 minutos por prueba, aunque esa comparación, y su fuente, no aparecen en la propia sección de pruebas de rendimiento del documento.
Esas cifras describen una prueba para un valor, no la comprobación entre cadenas en sí. El documento afirma directamente que no ha evaluado por separado las pruebas de múltiples valores que realmente necesita una transferencia a través de un puente. Los aproximadamente 13.3 segundos para demostrar y 950 milisegundos para verificar que se dan para una transferencia entre dos cadenas se obtienen multiplicando las cifras de una sola prueba, antes de añadir la prueba separada necesaria para vincular ambas, un paso que el documento afirma no haber medido.