Aturan Seleksi Pemenang berdasarkan Nilai Hash TON Blockchain

2024-10-29

Penafian: Produk dan layanan yang disebutkan di sini mungkin tidak tersedia di wilayah Anda.

1. Bagaimana cara menentukan urutan pemenang?

Binance akan memilih tanggal spesifik selama acara dan menggunakan 9 digit terakhir dari hash blok TON Blockchain terakhir pada pukul 06.59 WIB di tanggal tersebut sebagai urutan pemenang.

Contoh:

Jika hash blok TON Blockchain terakhir pada hari perhitungan reward adalah: 0hVwGb09xU6rhZhs9JMHU29KuqYATsVwd+96R8X6wF4=

  • Binance akan menghapus abjad untuk mendapatkan: 009692996864
  • Setelah itu, kami akan mengambil 9 digit terakhir sebagai urutan pemenang: 692996864

2. Bagaimana cara menerapkan hashing multiplikatif ke alamat pengguna?

Binance akan menggunakan rumus hash multiplikatif (mirip dengan `hashCode()` Java) “h = 31 * h + value[i]” untuk menentukan alamat dompet pengguna pemenang.

Perhitungan:

1. Ubah string “0x22eEC85ba6a5cD97eAd4728eA1c69e1D9c6fa778” menjadi huruf kecil untuk mendapatkan “0x22eec85ba6a5cd97ead4728ea1c69e1d9c6fa778”, lalu hitung kode hashnya.

2. Nilai setiap karakter ditentukan oleh kode ASCII-nya:

  • '0' memiliki nilai 48;
  • 'x' memiliki nilai 120;
  • '2' memiliki nilai 50;
  • 'e' memiliki nilai 101;
  • 'c' memiliki nilai 99;
  • '8' memiliki nilai 56;
  • '5' memiliki nilai 53;
  • 'b' memiliki nilai 98;
  • 'a' memiliki nilai 97;
  • '6' memiliki nilai 54;
  • 'd' memiliki nilai 100;
  • '9' memiliki nilai 57;
  • '7' memiliki nilai 55.

3. Inisialisasi nilai hash: h = 0

4. Proses karakter pertama '0':

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

5. Proses karakter kedua 'x':

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

6. Proses karakter ketiga '2':

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

7. Proses karakter keempat '2':

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

8. Proses karakter kelima 'e':

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

9. Proses karakter keenam 'e':

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

10. Proses karakter ketujuh 'c':

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

11. Penyederhanaan pemrosesan sisa karakter  

Lanjutkan pemrosesan sisa karakter dengan mengikuti langkah-langkah yang diuraikan di atas hingga semua karakter diproses. Nilai hash final, yaitu h, akan menjadi bilangan bulat.  

12. Untuk memastikan nilai hash non-negatif, kami menerapkan bitwise dan dengan "0x7fffffff": "h & 0x7fffffff".  

13. Dengan menggunakan algoritma ini, nilai hash alamat TON akan menjadi angka antara 0 dan 2147483647. 

3. Bagaimana cara membuat urutan lotre pengguna?

Alamat dompet setiap pengguna dikonversi menjadi nilai hash untuk menghitung urutan lotrenya:

[Urutan Pemenang - Hash Alamat] = Urutan Lotre Pengguna

4. Bagaimana cara menentukan pemenang?  

Binance akan mengurutkan urutan lotre setiap pengguna dalam urutan menaik dan memilih sejumlah urutan sebagai pemenang tergantung pada aturan kampanye. 

Jika terjadi seri (misalnya, dua atau lebih pengguna memiliki urutan undian yang sama), Binance akan menggunakan waktu penyelesaian tugas untuk menentukan peringkat pengguna. Makin awal pengguna menyelesaikan tugas, makin tinggi peringkatnya.

  • Untuk alamat dengan hash yang setara dengan atau lebih panjang dari 10 digit, digit ke-10 akan dihapus.
  • Jika hash di bawah 10 digit, perubahan tidak dilakukan.

Setelah itu, perbedaan mutlak antara hash alamat pengguna dan urutan pemenang dihitung. Binance akan mengurutkan urutan lotre setiap pengguna dalam urutan menaik, lalu urutan lotre yang lebih kecil akan menang.

Contoh:

  • Hash alamat Pengguna A memiliki 10 digit (1023456780). Setelah menghapus digit ke-10, urutan lotre mereka 102345678.
  • Hash alamat Pengguna B terdiri dari 9 digit (201154321). Perubahan tidak diperlukan untuk menyesuaikan urutan loterenya.

Cara menentukan pemenang:

  • Urutan pemenang = 692996864
  • Hasil lotre Pengguna A = |692996864 − 102345678| = 590651186
  • Hasil lotre Pengguna B = |692996864 − 201154321| = 491842543

Karena 491842543 lebih kecil, Pengguna B menang.

Daftar Sekarang - Dapatkan rabat biaya perdagangan senilai hingga 100 USDT (bagi pengguna terverifikasi)