Pravidla volby odměny na základě hodnoty hashe v blockchainu TON

2024-10-29 02:11

Upozornění: Ve vašem regionu nemusí být zde zmíněné produkty a služby dostupné.

1. Jak se určí výherní sekvence?

Platforma Binance během akce zvolí konkrétní datum a jako výherní sekvenci použije posledních 9 číslic posledního hashe bloku v blockchainu TON ve 23:59 (UTC) v daný den.

Příklad:

Pokud poslední hash bloku v blockchainu TON v den výpočtu odměny bude: 0hVwGb09xU6rhZhs9JMHU29KuqYATsVwd+96R8X6wF4=

  • Platforma Binance odstraní písmena abecedy, čímž získá: 009692996864
  • Poté jako výherní sekvenci vezmeme posledních 9 číslic: 692996864

2. Jak se na adresu uživatele použije násobící hashování?

Platforma Binance k určení adresy peněženky vyhrávajícího uživatele či uživatelů použije vzorec s násobením hashe (podobající se vzorci „hashCode()“) v jazyce Java „h = 31 × h + hodnota[i]“.

Výpočet:

1. Převeďte řetězec „0x22eEC85ba6a5cD97eAd4728eA1c69e1D9c6fa778“ na malá písmena, abyste získali „0x22eec85ba6a5cd97ead4728ea1c69e1d9c6fa778“, a poté vypočítejte hashovací kód.

2. Hodnotu každého znaku určuje jeho kód ASCII:

  • „0“ má hodnotu 48.
  • „x“ má hodnotu 120.
  • „2“ má hodnotu 50.
  • „e“ má hodnotu 101.
  • „c“ má hodnotu 99.
  • „8“ má hodnotu 56.
  • „5“ má hodnotu 53.
  • „b“ má hodnotu 98.
  • „a“ má hodnotu 97.
  • „6“ má hodnotu 54.
  • „d“ má hodnotu 100.
  • „9“ má hodnotu 57.
  • „7“ má hodnotu 55.

3. Inicializujte hodnotu hashe: h = 0

4. Zpracujte první znak „0“:

  • h = 31 × h + 48
  • h = 31 × 0 + 48
  • h = 48

5. Zpracujte druhý znak „x“:

  • h = 31 × h + 120
  • h = 31 × 48 + 120
  • h = 1 608

6. Zpracujte třetí znak „2“:

  • h = 31 × h + 50
  • h = 31 × 1 608 + 50
  • h = 49 898

7. Zpracujte čtvrtý znak „2“:

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

8. Zpracujte pátý znak „e“:

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

9. Zpracujte šestý znak „e“:

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

10. Zpracujte sedmý znak „c“:

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

11. Zjednodušené zpracování zbývajících znaků  

Pokračujte ve zpracovávání zbývajících znaků podle výše uvedených kroků, dokud nezpracujete všechny znaky. Výsledná hodnota hashe h bude celé číslo.  

12. Abychom zajistili, že hodnota hashe nebude záporná, použijeme bitovou operaci a s „0x7fffffff“: „h & 0x7fffffff„.  

13. Při použití tohoto algoritmu bude hodnota hashe adresy v síti TON číslo mezi 0 a 2 147 483 647. 

3. Jak se generuje loterijní sekvence uživatele?

Adresa peněženky každého uživatele se převede na hodnotu hashe, aby se vypočítala jeho loterijní sekvence:

[Výherní sekvence − hash adresy] = loterijní sekvence uživatele

4. Jak se určí výherci?  

Platforma Binance seřadí loterijní sekvence jednotlivých uživatelů vzestupně a v závislosti na pravidlech kampaně zvolí určitý počet sekvencí jako výherce. 

V případě remízy (např. dva nebo více uživatelů mající stejnou loterijní sekvenci) využije platforma Binance k určení pořadí uživatelů čas splnění úkolu. Čím dříve uživatel úlohu splnil, tím vyšší bude jeho pořadí.

  • U adres s hashem rovným nebo delším než 10 číslic se 10. číslice odebere.
  • Pokud má hash méně než 10 číslic, neprovedou se žádné změny.

Poté se vypočítá absolutní rozdíl mezi hashem adresy uživatele a výherní sekvencí. Platforma Binance seřadí loterijní sekvence každého uživatele vzestupně a menší loterijní sekvence vyhrají.

Příklad:

  • Hash adresy uživatele A má 10 číslic (1023456780). Po odstranění 10. číslice bude jeho loterijní sekvence 102345678.
  • Hash adresy uživatele B má 9 číslic (201154321). K úpravě jeho loterijní sekvence nejsou nutné žádné změny.

Jak se určí výherce?

  • Výherní sekvence = 692996864
  • Výsledek loterie uživatele A = |692996864 − 102345678| = 590651186
  • Výsledek loterie uživatele B = |692996864 − 201154321| = 491842543

Protože je 491842543 menší, vyhrává uživatel B.

Zaregistrujte se nyní – získejte slevu z poplatků za obchodování ve výši až 100 USDT (pro ověřené uživatele)