Reguli de selecție a premiilor pe baza valorii hash a TON Blockchain

2024-10-29 02:11

Declinarea răspunderii: este posibil ca produsele și serviciile menționate aici să nu fie disponibile în regiunea dvs.

1. Cum se determină secvența câștigătoare?

Binance va selecta o anumită dată în timpul evenimentului și va utiliza ultimele 9 cifre ale ultimului hash de bloc TON Blockchain la 23:59 (UTC) la acea dată ca secvență câștigătoare.

De exemplu:

Dacă ultimul hash de bloc TON Blockchian din ziua de calcul al recompensei este: 0hVwGb09xU6rhZhs9JMHU29KuqYATsVwd+96R8X6wF4=

  • Binance va elimina caracterele alfabetice pentru a obține: 009692996864
  • După aceea, vom lua ultimele 9 cifre ca secvență câștigătoare: 692996864

2. Cum se aplică hashingul multiplicativ adresei unui utilizator?

Binance va utiliza formula hash multiplicativ (similară cu „hashCode ()” Java) „h = 31 * h + value[i]” pentru a determina adresa portofelului utilizatorului (utilizatorilor) câștigător (câștigători).

Calcul:

1. Se va converti șirul „0x22eEC85ba6a5cD97eAd4728eA1c69e1D9c6fa778” în litere mici pentru a obține „0x22eec85ba6a5cd97ead4728ea1c69e1d9c6fa778”, apoi se va calcula codul hash.

2. Valoarea fiecărui caracter este determinată de codul său ASCII:

  • „0” are valoarea 48;
  • „x” are o valoare de 120;
  • „2” are valoarea 50;
  • „e” are o valoare de 101;
  • „c” are o valoare de 99;
  • „8” are valoarea de 56;
  • „5” are o valoare de 53;
  • „b” are o valoare de 98;
  • „a” are o valoare de 97;
  • „6” are o valoare de 54;
  • „d” are o valoare de 100;
  • „9” are o valoare de 57;
  • „7” are o valoare de 55.

3. Se va inițializa valoarea hash: h = 0

4. Se va procesa primul caracter „0”:

  • h = 31 * h + 48
  • h = 31 * 0 + 48
  • h = 48

5. Se va procesa al doilea caracter „x”:

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

6. Se va procesa al treilea caracter „2”:

  • h = 31 * h + 50
  • h = 31 * 1608 + 50
  • h = 49898

7. Se va procesa al patrulea caracter „2”:

  • h = 31 * h + 50
  • h = 31 * 49898 + 50
  • h = 1546888

8. Se va procesa al cincilea caracter „e”:

  • h = 31 * h + 101
  • h = 31 * 1546888 + 101
  • h = 47953629

9. Se va procesa al șaselea caracter „e”:

  • h = 31 * h + 101
  • h = 31 * 47953629 + 101
  • h = 1486562610

10. Se va procesa al șaptelea caracter „c”:

  • h = 31 * h + 99
  • h = 31 * 1486562610 + 99
  • h = 46083441008

11. Procesarea simplificată a caracterelor rămase  

Continuați procesarea caracterelor rămase urmând pașii descriși mai sus, până când toate caracterele sunt procesate. Valoarea hash finală, h, va fi un număr întreg.  

12. Pentru a ne asigura că valoarea hash nu este negativă, aplicăm un algoritm binar (bitwise) și cu „0x7fffff”: „h & 0x7fffff”.  

13. Folosind acest algoritm, valoarea hash a adresei TON va fi un număr între 0 și 2147483647. 

3. Cum se generează numărul de loterie al unui utilizator?

Adresa portofelului fiecărui utilizator este transformată într-o valoare hash pentru a-i calcula numărul de loterie:

[Secvența câștigătoare - Hash-ul adresei] = Numărul de loterie al utilizatorului

4. Cum se stabilesc câștigătorii?  

Binance va sorta numărul de loterie al fiecărui utilizator în ordine crescătoare și va selecta un anumit număr de secvențe drept câștigătoare, în funcție de regulile campaniei. 

În caz de egalitate (de exemplu, doi sau mai mulți utilizatori au același număr de loterie), Binance va folosi timpul de finalizare a sarcinii pentru a stabili clasamentul utilizatorilor. Cu cât un utilizator finalizează sarcina mai devreme, cu atât este mai bun locul său în clasament.

  • Pentru adresele cu un hash mai mare sau egal cu 10 cifre, a 10-a cifră este eliminată.
  • Dacă hash-ul are mai puțin de 10 cifre, nu se fac modificări.

După aceea, se calculează diferența absolută dintre hash-ul adresei utilizatorului și numărul câștigător. Binance va sorta secvența de loterie a fiecărui utilizator în ordine crescătoare, iar secvențele de loterie mai mici vor câștiga.

De exemplu:

  • Hash-ul adresei Utilizatorului A are 10 cifre (1023456780). După eliminarea celei de-a 10-a cifre, numărul său de loterie este 102345678.
  • Hash-ul adresei Utilizatorului B are 9 cifre (201154321). Nu sunt necesare modificări pentru a ajusta numărul său de loterie.

Cum se stabilește câștigătorul:

  • Secvența câștigătoare = 692996864
  • Rezultatul loteriei pentru Utilizatorul A = |692996864 − 102345678| = 590651186
  • Rezultatul loteriei pentru Utilizatorul B = |692996864 − 201154321| = 491842543

Deoarece 491842543 este mai mic, Utilizatorul B câștigă.

Înregistrați-vă acum - Obțineți o reducere de până la 100 USDT la comisioanele de tranzacționare (pentru utilizatorii verificați)