Apa itu skema komitmen:
Skema komitmen adalah fungsi yang memungkinkan pemain dan platform untuk berkomitmen secara aman pada nilai rahasia yang dipilih sambil tetap menyembunyikannya dari pihak lain.
Nilai-nilai ini dapat diungkapkan setelahnya agar pihak ketiga dapat memeriksa bahwa komitmen tersebut sesuai dengan nilai yang diungkapkan. Skema komitmen memastikan bahwa kasino dapat diverifikasi.
Skema komitmen memiliki dua fase, yaitu fase Commit dan Reveal.
Fase Commit:
Tujuan fase commit adalah untuk mengikat/mengunci nilai tertentu yang dibuat oleh pemain dan operator untuk menghasilkan hasil permainan.
Dalam penjelasan sederhana, nilai 3 dikomitkan dan digunakan untuk menghasilkan output permainan. Setelah nilai dikomitkan, nilainya tidak dapat diubah hingga fase reveal. Selama proses komitmen, hashing dilakukan untuk mencegah manipulasi.
Seed Klien Aktif
Seed Server Aktif (Tidak Di-hash)
Nonce
Output = Commit(Active_Client_Seed, Active_Server_Seed, Nonce)
Seed Klien Aktif: tidak di-hash, dan merupakan nilai yang ditentukan oleh pemain.
Seed Server Aktif (tidak di-hash): dirahasiakan dan dibuat oleh server. Nilai rahasia ini di-hash. Hanya nilai yang telah di-hash yang ditampilkan kepada operator dan pemain.
Nonce awalnya ditetapkan ke 0, karena belum ada permainan yang dimainkan. Nilainya akan meningkat setiap kali permainan dimainkan.
Kombinasi dari 3 variabel ini memastikan bahwa output commit selalu berbeda
Fase Reveal:
Dalam fase reveal, tujuannya adalah mengungkapkan seed server yang belum di-hash. Dengan seed yang belum di-hash dan nonce yang diketahui, pengguna kemudian dapat memverifikasi hasilnya.
Jika pemain ingin memverifikasi hasilnya, pemain harus terlebih dahulu merotasi pasangan seed server dan seed kliennya.
Setelah ini dilakukan, platform akan membatalkan hash dan menampilkan seed server yang sebelumnya aktif. Kini, pemain, operator, dan pihak ketiga mana pun akan mengetahui seluruh 3 informasi, yaitu seed klien, seed server, dan nonce.
Dengan memasukkan seed Klien, Seed Server, dan Nonce putaran yang diketahui, kami akan selalu dapat membuktikan hasil/output permainan dan putaran tertentu.
Seed Server
Seed server dibuat oleh sistem Anda sebagai string heksadesimal acak sepanjang 64 karakter. Seed ini menjalani proses hashing SHA-256. Nilai yang telah di-hash akan ditampilkan. Hashing memiliki dua tujuan:
Mencegah kecurangan: Secara komputasional, pengguna tidak mungkin menemukan seed server asli yang belum di-hash dari hash tersebut (ketahanan pre-image pertama), sehingga mencegah pemain melakukan kecurangan.
Mencegah manipulasi: Secara komputasional, tidak mungkin menemukan dua input belum di-hash yang sama dan menghasilkan output hash yang sama, mengingat sifat ketahanan terhadap collision dari SHA-256, sehingga mencegah operator melakukan kecurangan terhadap pemain.
Hanya ketika permainan selesai dan pengguna merotasi seed klien, kasino akan membatalkan hash seed server untuk verifikasi.
Seed Klien
Seed klien adalah milik Anda sebagai pemain untuk memastikan bahwa Anda memengaruhi keacakan hasil setiap permainan.
Pada awalnya, seed klien dibuat secara acak untuk Anda oleh browser Anda. Namun, Anda dianjurkan untuk mengubah seed klien menjadi nilai sesuai preferensi Anda. Hal ini memastikan bahwa Anda sebagai pemain memiliki pengaruh terhadap hasil permainan.
Nonce
Dalam kriptografi, Nonce mengacu pada “number once”. Ini adalah angka yang nilainya meningkat setiap kali taruhan baru dipasang menggunakan kumpulan seed Server dan Klien yang sama.
Hal ini memastikan bahwa kombinasi seed server, seed klien, dan nonce berbeda di setiap permainan, serta output skema komitmen juga berbeda.
Baca selengkapnya tentang bagaimana nilai-nilai ini diimplementasikan dalam kode.


