Ideas clave
Una prueba de conocimiento cero permite que una parte demuestre a otra parte que una afirmación es verdadera sin revelar ningún dato subyacente.
Los zk-SNARKs son un tipo de protocolo de prueba de conocimiento cero usado en cripto para verificar información, como saldos de cuentas, sin exponer detalles privados.
Binance utiliza zk-SNARKs combinados con árboles de Merkle para permitir que los usuarios verifiquen que sus saldos están incluidos en la Prueba de Reservas total sin divulgar datos de cuentas individuales.
Más allá de las reservas del exchange, las pruebas ZK se están usando cada vez más en ZK-rollups, verificación de identidad y sistemas de votación en todo el ecosistema blockchain.
Introducción
Los usuarios de blockchain valoran tanto la transparencia como la privacidad. En muchas situaciones, estos dos objetivos parecen entrar en conflicto: demostrar que algo es verdadero a menudo requiere revelar los detalles que hay detrás. Las pruebas de conocimiento cero ofrecen una forma de resolver esa tensión.
Al usar protocolos de pruebas de conocimiento cero como zk-SNARKs junto con estructuras de datos criptográficas como los árboles de Merkle, es posible demostrar la validez de la información sin divulgar la información en sí. Este artículo explica cómo funcionan esas herramientas y cómo Binance las aplica a la Prueba de Reservas.
¿Qué es una prueba de conocimiento cero?
Una prueba de conocimiento cero permite que una parte (el probador) convenza a otra parte (el verificador) de que una afirmación es verdadera, sin compartir ninguna información sobre el contenido de esa afirmación. El concepto apareció por primera vez en un artículo académico de 1985 y desde entonces se ha convertido en un elemento fundamental de la criptografía aplicada.
Una analogía sencilla: imagina que conoces la combinación de una caja fuerte cerrada. Puedes demostrarlo a un amigo abriendo la caja fuerte y leyendo la nota que dejó dentro, y luego volviéndola a cerrar. Tu amigo ahora está convencido de que sabes la combinación sin que tú nunca digas cuál es.
Para una explicación técnica más profunda, consulta el artículo de la Academia sobre ¿Qué es una prueba de conocimiento cero y cómo impacta en blockchain?
¿Por qué son útiles las pruebas de conocimiento cero?
Las pruebas ZK son útiles en cualquier situación en la que necesites probar una afirmación sin exponer datos sensibles. En sistemas tradicionales, demostrar que posees un activo o que tienes ciertas credenciales a menudo requiere compartir la información subyacente, lo que crea riesgos de privacidad y seguridad.
En cripto, los casos de uso comunes incluyen:
Demostrar la propiedad de una clave privada sin revelarla.
Permitir que un exchange verifique sus reservas totales de usuarios sin divulgar los saldos de cuentas individuales.
Habilitar transacciones de blockchain escalables mediante ZK-rollups sin publicar cada transacción en cadena.
Estas pruebas usan algoritmos que toman datos como entrada y devuelven verdadero o falso, sin filtrar ningún detalle sobre la propia entrada.
Propiedades técnicas de las pruebas de conocimiento cero
Una prueba de conocimiento cero válida debe cumplir tres propiedades:
Completitud. Si la afirmación es verdadera, un verificador honesto se convencerá con la prueba.
Solidez. Si la afirmación es falsa, ningún probador puede convencer al verificador de que es verdadera.
Conocimiento cero. Si la afirmación es verdadera, el verificador no aprende nada más allá del hecho de que es verdadera.
¿Qué es un zk-SNARK?
Un zk-SNARK (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) es un tipo de protocolo de prueba de conocimiento cero. Está diseñado para ser conciso (tamaño de prueba pequeño), no interactivo (sin ida y vuelta entre probador y verificador) y criptográficamente sólido.
Con un zk-SNARK, un probador puede demostrar el conocimiento de un valor oculto, o que una computación se realizó correctamente, sin revelar nada sobre las entradas. En el contexto de un intercambio de criptomonedas, esto significa demostrar que la suma de todos los saldos de los usuarios coincide con las reservas reclamadas, sin mostrar ningún saldo individual.
El paso de verificación es extremadamente rápido en comparación con el tiempo necesario para generar la prueba. Esto hace que los zk-SNARKs sean prácticos para aplicaciones a gran escala como la auditoría de exchanges o la escalabilidad de blockchain.
¿Qué es un árbol de Merkle?
Un árbol de Merkle es una estructura de datos criptográfica que organiza grandes cantidades de datos de manera eficiente. Cada dato se convierte en un hash y esos hashes se combinan en pares hasta producir un único hash raíz. Cualquier cambio en cualquier valor de entrada cambia el hash raíz, lo que hace que la manipulación sea fácil de detectar.
Funciones hash
Los árboles de Merkle dependen de funciones hash para funcionar. El hash calcula una salida de longitud fija a partir de una entrada de cualquier longitud. La misma entrada siempre produce la misma salida. Incluso un cambio mínimo en la entrada produce una salida completamente distinta.
Por ejemplo, ejecutar 100 libros a través de la función hash SHA-256 produce una cadena única de 64 caracteres. Cambia un solo carácter en esos libros y la salida cambia por completo. Esta propiedad facilita verificar la integridad de los datos sin comparar todo el contenido original.
Árboles de Merkle en criptomonedas
En blockchain, cada transacción se hashea para producir un nodo hoja único. Los pares de nodos hoja se combinan y se hashean nuevamente para formar nodos rama. Este proceso continúa hasta que se produce una única raíz de Merkle. Esa raíz resume criptográficamente todas las transacciones en un bloque.
Para los exchanges, los árboles de Merkle proporcionan una forma de organizar los saldos de los clientes para que puedan auditarse sin exponer cada cuenta individual.
Las limitaciones de usar árboles de Merkle solo
Un exchange de criptomonedas podría construir un árbol de Merkle a partir de todos los saldos de las cuentas de los clientes para respaldar una Prueba de Reservas (PoR). Sin embargo, sin protecciones adicionales, este enfoque tiene debilidades.
Sin una capa ZK, un exchange podría excluir potencialmente algunas cuentas del árbol o insertar cuentas falsas con saldos negativos para reducir la responsabilidad total aparente. Un usuario que revisa únicamente su propio nodo hoja no tendría forma de detectarlo sin ver todas las demás cuentas.
Usar un auditor tercero de confianza es una posible solución, pero requiere confiar tanto en el auditor como en los datos a los que tuvo acceso.
Cómo funcionan juntos los zk-SNARKs y los árboles de Merkle
Combinar zk-SNARKs con árboles de Merkle elimina la necesidad de confiar en un tercero. El exchange construye un árbol de Merkle con todos los saldos de los usuarios y luego genera una prueba zk-SNARK que garantiza matemáticamente:
Cada saldo de usuario está incluido en el árbol de Merkle (sin omitir cuentas).
Ningún usuario tiene un saldo neto negativo (sin datos falsificados).
La raíz de Merkle es válida y no cambia.
Los usuarios pueden verificar que su propio saldo contribuyó a la raíz de Merkle. También pueden verificar la prueba zk-SNARK para confirmar que el árbol se construyó correctamente, sin ver el saldo de nadie más.
Cómo Binance aplica este sistema
Binance define las restricciones de lo que quiere probar como un circuito programable. Para cada nodo hoja de saldo de un usuario en el árbol de Merkle, el circuito comprueba tres condiciones:
Los activos del usuario se incluyen en el cálculo del saldo neto total.
El saldo neto total del usuario es mayor o igual que cero.
La raíz de Merkle es válida después de incorporar los datos de ese usuario.
Luego, Binance genera una prueba zk-SNARK para todo el árbol de Merkle. En cada publicación de una Prueba de Reservas, Binance publica la prueba de Merkle para cada usuario y la prueba zk-SNARK junto con sus entradas públicas. Cualquiera puede verificar ambas cosas por separado usando código de código abierto disponible públicamente.
Este enfoque proporciona una garantía matemática en lugar de depender únicamente de la confianza del auditor.
Aplicaciones más amplias más allá de la Prueba de Reservas
La tecnología de pruebas ZK se ha expandido mucho más allá de la auditoría de exchanges. Los ZK-rollups son ahora uno de los enfoques líderes de escalado de Capa 2 en Ethereum: procesan transacciones fuera de la cadena y envían pruebas ZK a la cadena principal para confirmar la validez. Esto puede aumentar el rendimiento manteniendo la seguridad.
Más allá de la escalabilidad, se están explorando pruebas ZK para verificación de identidad (probar que cumples una edad o requisito de jurisdicción sin revelar tu identidad completa), sistemas de votación privada y la ejecución confidencial de contratos inteligentes. La tecnología aún está madurando, pero su potencial de aplicaciones en finanzas, gobernanza e identidad digital es significativo.
Preguntas frecuentes
¿Qué es una prueba de conocimiento cero en términos sencillos?
Una prueba de conocimiento cero te permite demostrar que sabes algo, o que una afirmación es verdadera, sin revelar la información subyacente. Es como demostrar que sabes la combinación de una caja fuerte abriéndola, sin decir nunca cuál es la combinación.
¿Por qué Binance usa zk-SNARKs para la Prueba de Reservas?
Binance usa zk-SNARKs para demostrar que los saldos de los clientes están respaldados completamente sin exponer detalles de cuentas individuales. La prueba ZK ofrece verificación matemática de que todas las cuentas están incluidas y que no existen saldos negativos, sin exigir que los usuarios confíen en un auditor.
¿Cuál es la diferencia entre zk-SNARKs y ZK-rollups?
Los zk-SNARKs son un tipo de protocolo de prueba de conocimiento cero. Los ZK-rollups son una solución de escalado de Capa 2 que utiliza zk-SNARKs (o pruebas similares) para agrupar muchas transacciones y enviar una única prueba de validez a la cadena principal. Los zk-SNARKs son la herramienta criptográfica subyacente; los ZK-rollups son una aplicación de esa herramienta.
¿Pueden los usuarios verificar de forma independiente la Prueba de Reservas de Binance?
Sí. Binance publica la prueba de Merkle para cada usuario y la prueba zk-SNARK junto con sus entradas públicas. Los usuarios pueden verificar que su saldo se incluyó en el árbol de Merkle y que la prueba zk-SNARK confirma que el árbol se construyó correctamente, usando el código de código abierto publicado públicamente por Binance.
¿Las pruebas de conocimiento cero solo se usan para reservas de exchange?
No. Las pruebas ZK tienen un amplio rango de aplicaciones. En blockchain, se usan en ZK-rollups para escalado de transacciones, sistemas de identidad y ejecución confidencial de contratos. Fuera de las criptomonedas, se están investigando para votación preservadora de la privacidad, verificación de edad y validación de credenciales sin divulgación de datos.
Reflexiones finales
Al combinar zk-SNARKs con árboles de Merkle, los exchanges pueden ofrecer evidencia criptográfica de las reservas sin comprometer los datos del usuario. Más allá de la auditoría de reservas, la tecnología ZK está encontrando su lugar en la escalabilidad de blockchain, los sistemas de identidad y la gobernanza descentralizada.
Lecturas adicionales
¿Qué es una prueba de conocimiento cero y cómo impacta en blockchain?
zk-SNARKs y zk-STARKs, explicados
¿Qué son los ZK-Rollups?
¿Qué es Proof of Reserves (PoR) y cómo funciona en Binance?
Árboles de Merkle y raíces de Merkle, explicados
Aviso: Este contenido se te presenta en un formato “tal cual” solo para información general y fines educativos, sin representación ni garantía de ningún tipo. No debe interpretarse como asesoramiento financiero, legal u otro tipo de asesoramiento profesional, ni pretende recomendar la compra de ningún producto o servicio específico. Debes buscar tu propia asesoría con asesores profesionales adecuados. Si el contenido es aportado por un tercero, ten en cuenta que las opiniones expresadas pertenecen al contribuidor tercero y no necesariamente reflejan las de Binance Academy. Los precios de los activos digitales pueden ser volátiles. El valor de tu inversión puede subir o bajar y es posible que no recuperes el importe invertido. Tú eres el único responsable de tus decisiones de inversión y Binance Academy no es responsable de ninguna pérdida en la que puedas incurrir. Para obtener más información, consulta nuestros Términos de uso, la Advertencia de riesgo y los Términos de Binance Academy.
