Bagaimana roda tetap adil

Setiap putaran ditentukan oleh pembangkit bilangan acak kriptografis di browsermu sebelum roda mulai bergerak. Apa pun yang kamu ketik tidak dikirim ke kami. Halaman ini menjelaskan metodenya dan menampilkan audit otomatis terbaru.

Bagaimana pemenang dipilih

Pemenang diundi dengan crypto.getRandomValues, pembangkit yang aman secara kriptografis dan juga dipakai browser untuk membuat kunci enkripsi.

Bilangan acak 32-bit diubah menjadi posisi di roda dengan rejection sampling: bilangan yang akan membuat sebagian entri sedikit lebih mungkin terpilih dibanding yang lain dibuang lalu diundi ulang. Cara ini menghilangkan bias kecil yang muncul jika hanya mengambil sisa pembagian.

Pemenang dipilih lebih dulu. Animasi lalu memutar roda sehingga berhenti di dalam segmen pemenang, di titik acak yang jauh dari tepinya.

Bobot

Entri yang ditulis sebagai Pizza*3 tiga kali lebih mungkin menang dibanding entri dengan bobot 1, dan segmennya tiga kali lebih lebar. Bobot bisa berupa bilangan bulat atau desimal dari 0,001 sampai 1.000.000.

Undian terverifikasi

Untuk giveaway dan undian, undian yang bisa diverifikasi memungkinkan siapa pun memeriksa setelahnya bahwa hasilnya tidak diubah.

  1. Sebelum memutar, halaman membuat seed rahasia dan menampilkan hash SHA-256 dari seed, entri, dan waktunya. Umumkan hash tersebut, misalnya di kolom obrolan siaranmu, sebelum kamu memutar.
  2. Putaran menggunakan pembangkit yang dibuat dari seed rahasia, sehingga seed dan entri sepenuhnya menentukan pemenangnya.
  3. Setelah putaran, halaman mengungkap seed dalam bukti undian. Siapa pun bisa menempelkan bukti tersebut ke halaman verifikasi, yang akan memeriksa hash dan menghitung ulang pemenangnya.

Metode lengkapnya

Hash-nya adalah SHA-256 dari teks UTF-8 ini: satu baris judul, waktu penguncian, seed, lalu satu baris per entri berisi bobotnya, sebuah tab, dan labelnya.

weeks-and-random-draw v1
committed_at: 2026-10-16T14:05:09.123Z
seed: 64 hexadecimal characters
3	Pizza
1.5	Sushi
  1. Seed berupa 32 byte acak dari crypto.getRandomValues, ditulis sebagai 64 karakter heksadesimal huruf kecil.
  2. Pembangkit menghasilkan bilangan 32-bit dari SHA-256(byte seed diikuti penghitung 4 byte big-endian), untuk penghitung 0, 1, 2, dan seterusnya, dengan membaca setiap hash 32 byte sebagai delapan bilangan big-endian.
  3. Jika setiap bobot adalah bilangan bulat dan total bobot paling banyak 2^32, undian mengambil bilangan 32-bit berikutnya, melewatinya selama nilainya paling sedikit 2^32 − (2^32 mod total), dan memakai sisa pembagiannya dengan total.
  4. Jika tidak, undian mengambil dua bilangan 32-bit berikutnya, a dan b, lalu menghitung ((a >> 5) × 2^26 + (b >> 6)) ÷ 2^53, yaitu bilangan dari 0 sampai kurang dari 1, kemudian mengalikannya dengan total bobot.
  5. Pemenangnya adalah entri pertama yang jumlah kumulatif bobotnya lebih besar dari bilangan tersebut.

Undian terverifikasi membuktikan bahwa entri dan hasilnya tidak diubah setelah hash diumumkan. Undian ini tidak bisa mencegah penyelenggara membuat beberapa hash diam-diam lalu hanya mengumumkan satu yang ia sukai, jadi umumkan hash sebelum pendaftaran ditutup dan buat hanya satu.

Verifikasi bukti undian

Audit terbaru

Sistem build kami menjalankan pengujian ini setiap kali situs diubah. Terakhir dijalankan: 19 Oktober 2026 18.31.

Semua pengujian lolos.

Uji chi-kuadrat: sebuah uji dinyatakan lolos jika nilai p-nya di atas 0,01.
Skenario Putaran Chi-kuadrat Derajat kebebasan Nilai p Hasil
2 entri setara 1.000.000 0,86 1 0,3544 Lolos
7 entri setara 1.000.000 3,42 6 0,7549 Lolos
100 entri setara 1.000.000 125,45 99 0,0375 Lolos
1.000 entri setara 1.000.000 1081,73 999 0,0346 Lolos
Mode hapus pemenang, 7 entri, setiap posisi 999.999 41,72 36 0,2360 Lolos
Mode tanpa pengulangan, 7 entri, setiap posisi 999.999 39,90 36 0,3007 Lolos
Entri berbobot: porsi kemenangan setiap entri harus tetap dalam selisih 0,5 poin persentase dari bobotnya.
Bobot Putaran Selisih terbesar Hasil
1, 2, 3, 4 1.000.000 0,030 poin persentase Lolos
0.5, 1.5, 3, 0.25 1.000.000 0,050 poin persentase Lolos

10.000 dari 10.000 putaran undian berhenti pada pemenang yang diumumkan.

10.000 dari 10.000 bukti undian acak berhasil dihitung ulang dengan benar, baik di browser maupun oleh implementasi independen.

Versi mesin roda: d828d1f5c0c3.

Usulkan terjemahan yang lebih baik

Menemukan terjemahan yang salah atau terasa janggal di halaman ini? Beri tahu kami seharusnya bagaimana. Setiap usulan diperiksa oleh manusia sebelum ada yang diubah.