Prueba de reservas de Gate US

Reservas totales de Gate US:

0

Última auditoría:

(UTC+0)

Ratio de reserva

0%

Algoritmo:

Merkle Tree + zk-SNARKs

Hash de raíz de Merkle:

Reservas totales de Gate US

0

Saldo neto de clientes:

0

Superávit de reservas:

0

+100,00%

No hay datos

¿Qué es la prueba de reservas?

Una plataforma de trading centralizada gestiona un libro de registro para anotar los activos de los usuarios en una base de datos. Por ello, estas plataformas se enfrentan al reto de demostrar que tienen la custodia completa de todos los activos de los usuarios en buen estado.

Gate US usa una estructura de árbol de Merkle para abordar este problema, almacenando el hash del saldo de la cuenta de cada usuario en los nodos hoja. Los usuarios pueden revisar los datos agrupados de activos registrados en el árbol de Merkle y confirmar que sus saldos están incluidos, con una verificación respaldada por una empresa de auditoría independiente.

Si el ratio de reserva registrado en el árbol de Merkle se verifica como igual o superior al 100 %, indica que los activos de los usuarios están completamente respaldados en la plataforma, lo que significa que la plataforma ofrece un 100 % de reservas para los activos de los usuarios.

¿Por qué es importante la prueba de reservas?

Con reservas suficientes

Demuestra capacidad financiera

Aumenta la confianza del usuario

Refuerza la protección de activos

Permite retiros durante periodos de alta demanda

Sin reservas suficientes

Riesgo de malversación de fondos

Posibles retrasos en el procesamiento de retiros

Un aumento de retiros podría provocar una crisis de liquidez

Mayor riesgo de quiebra que puede provocar pérdidas de activos

VS

¿Cómo mantenemos la transparencia de las reservas?

Si el número total de tokens que el exchange tiene on-chain iguala o supera el saldo total de todas las cuentas de los usuarios recopiladas en una instantánea, el informe de reservas indica que los saldos registrados de los usuarios se reflejan en las tenencias on-chain que el exchange ha revelado.

Ownership over the wallet - Gate.com

Verificación de propiedad de la billetera

Cuando se usan billeteras calientes o frías, la plataforma transfiere una cantidad aleatoria a las direcciones de la blockchain indicadas por la empresa auditora para demostrar que tiene el control de las billeteras en cuestión.

La empresa auditora suma los saldos de las direcciones correspondientes para calcular el total de activos implicados, incluyendo tanto los activos de los usuarios como los que pertenecen a la plataforma.

¿Cómo construimos el árbol de Merkle con los ID de usuario y los saldos de usuario cifrados?

Primero se exportan de la base de datos de Gate US los identificadores de usuario (UID) cifrados y los saldos correspondientes de los usuarios.
Cada par formado por un UID con hash y el saldo del usuario se somete a un proceso de hash por separado y luego se junta para formar el bloque de datos subyacente.
Para cada bloque de datos, se aplica la misma función hash para generar los nodos hoja del árbol de Merkle. Posteriormente, estos valores hash se combinan por pares y se vuelven a someter a la función hash para crear los nodos padres.
Este proceso se repite hasta que se genera un único valor hash, conocido como "raíz de Merkle".

Echa un vistazo al siguiente diagrama para ver cómo funciona. Una vez construido el árbol de Merkle, el auditor exporta los nodos hoja a un archivo de texto sin formato y los publica junto con el hash de la raíz de Merkle.

Merkle tree - Gate.com

En criptografía e informática, un árbol de hash o árbol de Merkle es un árbol en el que cada nodo hoja está etiquetado con el hash criptográfico de un bloque de datos. Cada nodo que no sea hoja está etiquetado con el hash de las etiquetas de sus nodos hijos. Los árboles de hash permiten verificar de forma eficiente y segura el contenido de grandes estructuras de datos.

¿Cómo usamos un árbol de Merkle para proporcionar una prueba de reservas?

1. Los zk-SNARK ayudan a verificar que los saldos totales de los activos de los usuarios se registran como nodos hoja en el árbol de Merkle (es decir, el saldo de la cuenta de cada usuario). Para cada nodo hoja, validamos lo siguiente:

a. La cantidad total de activos de la plataforma incluye todos los saldos de los usuarios.

b. El saldo neto de cada usuario es igual o superior a cero.

c. Cualquier cambio en el saldo de un usuario modificará la raíz hash de Merkle.

2. Verificación por parte del usuario: los usuarios pueden confirmar la exactitud de la prueba comprobando el hash de la raíz de Merkle con zk-SNARK. Este método nos permite auditar de forma eficiente las tenencias de activos al tiempo que protegemos la privacidad y los secretos comerciales, lo que fomenta la transparencia en las operaciones y genera confianza entre los usuarios.

zk-SNARK, que son las siglas de "Zero-Knowledge Succinct Non-Interactive Argument of Knowledge" (argumento de conocimiento sucinto y no interactivo de conocimiento cero), es una herramienta criptográfica avanzada. Mediante sofisticados algoritmos matemáticos, permite verificar los saldos de activos sin revelar los detalles de cada uno de ellos. zk-SNARK permite una validación eficiente, mitiga los riesgos para la privacidad y, gracias a su naturaleza no interactiva y a su escalabilidad, se usa ampliamente en ámbitos como la verificación de transacciones en blockchain, la protección de la privacidad de los datos y la autenticación de identidad.

Proceso de verificación

1. Instala el programa y descarga los datos:

a. Descarga el programa de verificación:

Primero, descarga el programa de verificación usando el enlace proporcionado o desde GitHub. Luego, cambia el nombre del archivo a "main".

b. Descarga los datos requeridos:

Ve a la página de auditoría y busca el lote que quieres verificar. Haz clic en [Descargar árbol de Merkle] y [Descargar configuración de usuario] para descargar los archivos de datos necesarios.

Descomprime el archivo zkmerkle_cex_xxx.tar.gz. Coloca el archivo del programa main en la carpeta extraída y mueve el archivo user_config.json a la carpeta config.

La estructura de carpetas del programa debería aparecer ahora de la siguiente manera:

zkmerkle_cex_xxx

Config

cex_config.json

user_config.json

proof.csv

zkpor864.vk.save

main

2. Verificación de activos:

Abre el Símbolo del sistema (cmd) o Terminal y usa el comando "cd" para ir a la carpeta descargada. Por ejemplo: cd ~/Downloads/zkmerkle_cex_xxx.

Antes de ejecutar el programa, puede que necesites ejecutar chmod 777 main para otorgar permisos de ejecución o configurar elementos de seguridad.

Ejecuta el siguiente comando para comenzar el proceso de verificación.

./main verify cex

Si se verifica correctamente, aparecerá un mensaje de confirmación.

All proofs verify passed!!!

Para obtener documentación técnica detallada e información sobre la metodología de verificación, consulta el proyecto de código abierto en GitHub.

Gate US PoR Implementation

Empresa de auditoría

HACKEN

Fecha/hora de la auditoría

January 3, 2024

Auditor

Luciano Ciattaglia, Sofiane Akermoun, Nino Lipartiia, Bartosz Barwikowski

Informe de la auditoría

Gate US PoR Implementation