Preguntas frecuentes
Inicio
Centro de soporte
Preguntas frecuentes
Términos de uso
Términos de Uso en Binance
Reglas de selección de premios basadas en el valor de hash de la blockchain de TON

Reglas de selección de premios basadas en el valor de hash de la blockchain de TON

2024-10-29 02:11
Aviso legal: Es posible que los productos y servicios aquí mencionados no estén disponibles en tu región.

1. ¿Cómo se determina la secuencia ganadora?

Binance seleccionará una fecha específica durante el evento y utilizará los últimos 9 dígitos del último hash de bloque de la blockchain de TON a las 23:59 (UTC) en esa fecha como la secuencia ganadora.
Por ejemplo:
Si el último hash del bloque de la blockchain de TON en el día de cálculo de la recompensa es: 0hVwGb09xU6rhZhs9JMHU29KuqYATsVwd+96R8X6wF4=
  • Binance eliminará las letras para obtener: 009692996864
  • Después de eso, tomaremos los últimos 9 dígitos como secuencia ganadora: 692996864

2. ¿Cómo se aplica el hash multiplicativo a la dirección de un usuario?

Binance utilizará la fórmula de hash multiplicativo (similar al `hashCode()` de Java) "h = 31 * h + value[i]" para determinar la dirección de billetera del usuario o usuarios ganadores.
Cálculo:
1. Convierte la cadena “0x22eEC85ba6a5cD97eAd4728eA1c69e1D9c6fa778” a minúsculas para obtener “0x22eec85ba6a5cd97ead4728ea1c69e1d9c6fa778”, y luego calcular el código de hash.
2. El valor de cada carácter viene determinado por su código ASCII:
  • "0" tiene un valor de 48;
  • "x" tiene un valor de 120;
  • "2" tiene un valor de 50;
  • "e" tiene un valor de 101;
  • "c" tiene un valor de 99;
  • "8" tiene un valor de 56;
  • "5" tiene un valor de 53;
  • "b" tiene un valor de 98;
  • "a" tiene un valor de 97;
  • "6" tiene un valor de 54;
  • "d" tiene un valor de 100;
  • "9" tiene un valor de 57;
  • "7" tiene un valor de 55.
3. Inicializa el valor hash: h = 0
4. Procesa el primer carácter "0":
  • h = 31 * h + 48
  • h = 31 * 0 + 48
  • h = 48
5. Procesa el segundo carácter "x":
  • h = 31 * h + 120
  • h = 31 * 48 + 120
  • h = 1608
6. Procesa el tercer carácter "2":
  • h = 31 * h + 50
  • h = 31 * 1608 + 50
  • h = 49898
7. Procesa el cuarto carácter "2":
  • h = 31 * h + 50
  • h = 31 * 49898 + 50
  • h = 1546888
8. Procesa el quinto carácter "e":
  • h = 31 * h + 101
  • h = 31 * 1546888 + 101
  • h = 47953629
9. Procesa el sexto carácter "e":
  • h = 31 * h + 101
  • h = 31 * 47953629 + 101
  • h = 1486562610
10. Procesa el séptimo carácter "c":
  • h = 31 * h + 99
  • h = 31 * 1486562610 + 99
  • h = 46083441008
11. Procesamiento simplificado del resto de caracteres  
Continúa procesando los caracteres restantes siguiendo los pasos descritos anteriormente, hasta que se procesen todos los caracteres. El valor de hash final, h, será un número entero.  
12. Para garantizar que el valor hash no sea negativo, aplicamos una operación a nivel de bits y con "0x7fffffff": "h & 0x7ffffffff".  
13. Con este algoritmo, el valor hash de la dirección de TON será un número entre 0 y 2147483647. 

3. ¿Cómo puedo generar la secuencia de lotería de un usuario?

La dirección de la billetera de cada usuario se convierte en un valor de hash para calcular su secuencia de lotería:
[Secuencia ganadora - Hash de dirección] = Secuencia de lotería del usuario

4. ¿Cómo se determinan los ganadores?  

Binance ordenará la secuencia de lotería de cada usuario en orden ascendente y seleccionará un número determinado de secuencias como ganadoras en función de las reglas de la campaña. 
En caso de empate (por ejemplo, dos o más usuarios tienen la misma secuencia de lotería), Binance utilizará el tiempo de finalización de la tarea para determinar la clasificación de los usuarios. Cuanto antes complete un usuario la tarea, mayor será su clasificación.
  • Para direcciones con un hash igual o superior a 10 dígitos, se elimina el décimo dígito.
  • Si el hash es de menos de 10 dígitos, no se realizan cambios.
A continuación, se calcula la diferencia absoluta entre el hash de la dirección de los usuarios y la secuencia ganadora. Binance ordenará la secuencia de lotería de cada usuario en orden ascendente y ganará la secuencia o secuencias de lotería más pequeñas.
Por ejemplo:
  • El hash de la dirección del usuario A tiene 10 dígitos (1023456780). Después de eliminar el décimo dígito, su secuencia de lotería es 102345678.
  • El hash de la dirección del usuario B tiene 9 dígitos (201154321). No es necesario hacer ningún cambio para ajustar su secuencia de lotería.
Cómo determinar el ganador:
  • Secuencia ganadora = 692996864
  • Resultado de la lotería del usuario A = |692996864 − 102345678| = 590651186
  • Resultado de la lotería del usuario B = |692996864 − 201154321| = 491842543
Como 491842543 es más pequeño, el usuario B gana.