Un Merkle Tree es una estructura de datos binaria, similar a un árbol hash (hash tree). En un árbol binario, un nodo puede tener un máximo de dos nodos child: un nodo izquierdo y un nodo derecho. Cada nodo de hoja del Merkle Tree almacena el valor hash de un elemento de datos. Cuando conocemos los datos del nodo izquierdo y el nodo derecho, podemos calcular la información completa del nodo principal. Esta información completa consta de dos secciones: equilibrar datos de la dirección de la billetera y datos hash.
- Balance de datos: según la estructura de datos del árbol binario, los datos de equilibrio del nodo principal solo pueden estar compuestos de los datos de equilibrio de los nodos izquierdo y derecho debajo de él.
- Datos hash: cada nodo incluye datos de equilibrio, datos jerárquicos del árbol binario (línea punteada en la figura) y datos hash de nodos infantiles (datos del nodo izquierdo y nodo derecho se almacenan debajo de cada nodo).
El Merkle Tree se verifica mediante cálculos, como las partes verdes (B y D) calculadas en la imagen de arriba, y mediante los siguientes dos criterios:
1. Verificar si el saldo cumple con el principio de fraccionamiento.
2. Verifica si el hash es legal.
El Merkle Tree utiliza una función hash, que permite a los usuarios verificar si forman parte del árbol completo sin conocer la información de los nodos morados. Las pruebas de Merkel son exclusivas para usuarios individuales. En el caso de un Merkle Tree con 24 niveles, los usuarios necesitan una matriz de saldo con una longitud de 24 elementos para verificar la información de su saldo, y esta matriz solo se usa para verificar el saldo del usuario.
Siempre que los datos obtenidos por los usuarios no superen el 50% del total de datos de usuario en el Merkle Tree, los usuarios no pueden reconstruir la estructura de datos completa en función de su propia información fragmentada. Por lo tanto, para la empresa, el Merkle Tree garantiza que la información general de los activos de la empresa no se filtre y que la privacidad de la cuenta de los usuarios esté protegida.
Bybit proporciona dos métodos de verificación de la siguiente manera:
Verificación a través de la Plataforma Bybit
Puedes visitar esta página para ingresar a la página Verificar mi cuenta y ver tu ruta Merkle. Mostramos gráficamente el proceso de derivación de nodos de la verificación del Merkle Tree para que te resulte más fácil ver los saldos de tus activos.
Nota: Realizamos auditorías regularmente para demostrar que Bybit mantiene reservas adecuadas. Si creó su cuenta después de que se ejecutara una auditoría o no posee tokens auditados, no habrá ningún registro de auditoría correspondiente para su cuenta.
A través de la herramienta de autovalidación: código fuente abierto
Bybit ha lanzado su código fuente de generación de árboles Merkle y su código de verificación en GitHub para ayudar a los usuarios en su propio proceso de verificación de saldo. El proceso de cálculo del Merkle Tree implica el cálculo de datos de usuarios masivos, que generalmente se implementa mediante big data y Java. La codificación de Java está completamente abierta para que los usuarios la inspeccionen.
Cómo proceder
1. Crea tu archivo ejecutable
Descarga los últimos archivos de código fuente y asegúrate de que JDK (versión 1.8 y más reciente) y Maven se hayan instalado en tu estación de trabajo o computadora portátil.
- Resolver dependencias, compilar y empaquetar.
- Verifica el paquete jar compilado, de la siguiente manera, en la carpeta actual del proyecto.
2. Realiza tu verificación
- Puedes pegar el archivo de prueba copiado del sitio web de Bybit en un nuevo archivo en la carpeta actual y nombrar el archivo como myproof.json. Luego, ejecuta el siguiente comando:
- A continuación, puedes ejecutar el programa verificado y observar sus datos de salida.