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

2024-10-29 02:11

Aviso legal: es posible que los productos y los 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 TON a las 23:59 (UTC) de esa fecha como la secuencia ganadora.

Por ejemplo:

Si el último hash de bloque de la blockchain TON en el día del cálculo de recompensas es: 0hVwGb09xU6rhZhs9JMHU29KuqYATsVwd+96R8X6wF4=

  • Binance eliminará las letras para obtener: 009692996864
  • A continuación, tomaremos los últimos 9 dígitos como la secuencia ganadora: 692996864

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

Binance utilizará una fórmula hash multiplicativa (similar al hashCode() de Java) «h = 31 x h + valor[i]» para determinar la dirección de la billetera del usuario o usuarios ganadores.

Cálculo:

1. Convierte la cadena «0x22eEC85ba6a5cD97eAd4728eA1c69e1D9c6fa778» a minúsculas para obtener «0x22eec85ba6a5cd97ead4728ea1c69e1d9c6fa778» y, a continuación, calcula el código 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 x h + 48
  • h = 31 x 0 + 48
  • h = 48

5. Procesa el segundo carácter «x»:

  • h = 31 x h + 120
  • h = 31 x 48 + 120
  • h = 1608

6. Procesa el tercer carácter «2»:

  • h = 31 x h + 50
  • h = 31 x 1608 + 50
  • h = 49 898

7. Procesa el cuarto carácter «2»:

  • h = 31 x h + 50
  • h = 31 x 49 898 + 50
  • h = 1 546 888

8. Procesa el quinto carácter «e»:

  • h = 31 x h + 101
  • h = 31 x 1 546 888 + 101
  • h = 47 953 629

9. Procesa el sexto carácter «e»:

  • h = 31 x h + 101
  • h = 31 x 47 953 629 + 101
  • h = 1 486 562 610

10. Procesa el séptimo carácter «c»:

  • h = 31 x h + 99
  • h = 31 x 1 486 562 610 + 99
  • h = 46 083 441 008

11. Procesamiento simplificado de los caracteres restantes  

Continúa procesando los caracteres restantes siguiendo los pasos descritos anteriormente, hasta que se procesen todos los caracteres. El valor hash final, h, será un número entero.  

12. Para garantizar que el valor hash no sea negativo, aplicamos un bitwise y con «0x7fffffff»: «h & 0x7fffffff».  

13. Usando este algoritmo, el valor hash de la dirección TON será un número entre 0 y 2 147 483 647. 

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 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 determinado número de secuencias como ganadoras en función de las reglas de la campaña. 

En caso de empate (p. ej., 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, más alto se clasificará.

  • En el caso de las direcciones con un hash igual o superior a 10 dígitos, se elimina el 10.º dígito.
  • Si el hash tiene menos de 10 dígitos, no se realizan cambios.

A continuación, se calcula la diferencia absoluta entre el hash de dirección de los usuarios y la secuencia ganadora. Binance ordenará la secuencia de lotería de cada usuario en orden ascendente, y la secuencia o secuencias de lotería más bajas ganarán.

Por ejemplo:

  • El hash de la dirección del usuario A tiene 10 dígitos (1023456780). Después de eliminar el dígito 10, su secuencia de lotería es 102345678.
  • El hash de la dirección del usuario B tiene 9 dígitos (201154321). No se necesitan cambios para ajustar su secuencia de lotería.

Cómo determinar el ganador:

  • Secuencia ganadora = 692996864
  • Resultado de lotería del usuario A = |692996864 − 102345678| = 590651186
  • Resultado de la lotería del usuario B = |692996864 − 201154321| = 491842543

Como 491842543 es menor, gana el usuario B.

Regístrate ahora y consigue una devolución de la comisión de trading de hasta 100 USDT (para usuarios verificados)