Αποδεδειγμένα Δίκαιο

Τι είναι το “Provably Fair”

Οι παίκτες πάντα φοβούνται ότι μπορεί να εξαπατηθούν σε online παιχνίδια.
Αυτό είναι απόλυτα κατανοητό, καθώς τεχνικά είναι πολύ εύκολο για έναν πάροχο online παιχνιδιών να σας κάνει να χάνετε. Στο Jemlit, έχουμε την λύση γι’ αυτό η οποία ονομάζεται Provably Fair (Αποδεδειγμένα Δίκαιο).
Το Provably Fair είναι ένα εργαλείο που σας επιτρέπει (ως παίκτης) να ελέγξετε το αποτέλεσμα κάθε ρίψης και να βεβαιωθείτε ότι δεν έχετε εξαπατηθεί!


Πώς λειτουργεί το Provably Fair?

Με αυτή τη μέθοδο, κάθε αποτέλεσμα ρίψης υπολογίζεται βάσει των εξής μεταβλητών:

  • Server Seed – Μια τυχαία συμβολοσειρά που παρέχουμε εμείς
  • Client Seed – Μια συμβολοσειρά που δημιουργεί το πρόγραμμα περιήγησής σας και μπορείτε να την αλλάξετε
  • Nonce ή Αριθμός Παιχνιδιών – Ένας αριθμός που αυξάνεται κάθε φορά που παίζετε

Θα λάβετε έναν κρυπτογραφημένο κατακερματισμό (hash) του Server Seed πριν ξεκινήσετε το παιχνίδι.
Αφού τον λάβετε εκ των προτέρων, δεν μπορούμε να τον αλλάξουμε εκ των υστέρων. Ωστόσο, επειδή είναι κρυπτογραφημένος, δεν μπορείτε να υπολογίσετε το αποτέλεσμα της ρίψης εκ των προτέρων (μόνο αφού λάβετε το αποκρυπτογραφημένο Server Seed). Ο κατακερματισμός γίνεται με τον αλγόριθμο SHA512.

Το πρόγραμμα περιήγησής σας θα δημιουργήσει τυχαία το Client Seed. Ωστόσο, μπορείτε και καλό είναι να το αλλάξετε πριν ξεκινήσετε. Έτσι διασφαλίζετε ότι η σελίδα δεν γνωρίζει το Client Seed σας εκ των προτέρων.

Όταν τοποθετείτε ένα στοίχημα, το Nonce ξεκινά από το 1. Μετά από κάθε στοίχημα, ο αριθμός nonce αυξάνεται κατά 1.


Υπολογισμός του αποτελέσματος της ρίψης

Τώρα μπαίνουμε στα geekικά! Υπάρχουν 3 βήματα που μας οδηγούν στον τελικό αριθμό ρίψης του παιχνιδιού.

Βήμα 1 – Κατακερματισμός των μεταβλητών

Σε αυτό το βήμα, υπολογίζουμε το HMAC χρησιμοποιώντας τον αλγόριθμο SHA512/256. Χρησιμοποιούμε το Server Seed ως κλειδί και το Client Seed και Nonce ως δεδομένα, ενωμένα με μια παύλα (-).

Μπορείτε να το υπολογίσετε μόνοι σας· μεταβείτε στο site και εκτελέστε τον παρακάτω κώδικα:
echo hash_hmac('sha512/256', 'your client seed-your nonce', 'server seed');
Το αποτέλεσμα θα είναι:
38611068f6936027c4657138536fb5bb8f82a6cb2d883f1acb47cb24013f9e93

Βήμα 2 – Μετατροπή του hash σε αριθμό

Παίρνουμε το αποτέλεσμα από το προηγούμενο βήμα και το μετατρέπουμε σε αριθμό. Μεταβείτε ξανά στο site και εκτελέστε τον εξής κώδικα:
echo number_format(hexdec('38611068f6936027c4657138536fb5bb8f82a6cb2d883f1acb47cb24013f9e93'), 0, ".", "");
Θα πάρετε τον εξής αριθμό:
25501016943689873370561741542489390377389678092728534236058081515070178721792

Βήμα 3 – Υπολογισμός της τελικής ρίψης

Επειδή θέλουμε η ρίψη να δώσει έναν δεκαδικό αριθμό μεταξύ 0 και 100, διαιρούμε τον αριθμό του προηγούμενου βήματος με τον μέγιστο δυνατό αριθμό, που είναι 1664 (δηλαδή επειδή το hashed string έχει μήκος 64 χαρακτήρες).
Ο υπολογισμός είναι ο εξής:
roll = 0 + divided number * 100
Στο παράδειγμά μας, το αποτέλεσμα είναι:
22.0231


Πώς επιλέγεται το έπαθλο?

Όταν επισκέπτεστε τη σελίδα ενός eBox, μπορείτε να ενεργοποιήσετε/απενεργοποιήσετε τις πιθανότητες κάνοντας κλικ στο Εμφάνιση πιθανοτήτων, και μπορείτε να δείτε τις ρίψεις (rolls) κάνοντας κλικ στο «Δείτε τις ρίψεις» στο κάτω μέρος της σελίδας.
Για κάθε αντικείμενο στο κουτί, θα βλέπετε τον αριθμό που πρέπει να τύχετε για να κερδίσετε αυτό το δώρο, π.χ. 95.54 έως 97.22. Αυτό σημαίνει ότι αν ρίξετε αριθμό μεγαλύτερο από 95.54 και μικρότερο ή ίσο με 97.22, θα κερδίσετε αυτό το έπαθλο.


Πώς μπορώ να επαληθεύσω ότι όλα είναι δίκαια?

Για να επαληθεύσετε ότι δεν υπάρχει εξαπάτηση, απλώς ακολουθήστε τα βήματα που περιγράψαμε παραπάνω.
Φυσικά, μπορείτε να πραγματοποιήσετε τον έλεγχο μόνο αφού αποκαλυφθεί το Server Seed.
Θα βρείτε το Server Seed, το Client Seed και το Nonce στο αναδυόμενο παράθυρο “Fairness” στην κορυφή της σελίδας (ή στο μενού επάνω αριστερά αν χρησιμοποιείτε το JemLit από κινητό).