Τι είναι αποδεδειγμένα δίκαιο και πώς να δοκιμάσετε την ακεραιότητα του παιχνιδιού
Τι είναι αποδεδειγμένα δίκαιο (ΣΤ)
Το Provely Fair είναι ένα πρωτόκολλο που σας επιτρέπει να επαληθεύσετε κρυπτογραφικά ότι το αποτέλεσμα του γύρου ήταν τυχαίο και δεν μπορούσε να αντικατασταθεί από τον χειριστή μετά το στοίχημα.
Η ιδέα: πρώτα δημοσιεύεται μια δέσμευση (hash του κρυμμένου σπόρου διακομιστή), στη συνέχεια, μετά το στοίχημα αποκαλύπτεται ένα revil (ο ίδιος ο σπόρος του διακομιστή), και ο καθένας μπορεί να ελέγξει το hash και να αναπαραγάγει το RNG, δεδομένου του σπόρου του πελάτη και των στρογγυλών αναγνωριστικών.
Βασικό πρωτόκολλο: δέσμευση → στοίχημα → αποκάλυψη
1. Δεσμεύστε: πριν από την έναρξη των γύρων, ο εξυπηρετητής δημιουργεί ένα τυχαίο 'server _ seed' και δημοσιεύει το hash του:
commit = SHA-256 (server_seed αλάτι )//ή Keccak-256
Το Commit μπορεί να εμφανιστεί στην ιστορία/blockchain/περιοδικό.
2. Στοίχημα: ο παίκτης επιλέγει ή επιβεβαιώνει τον «πελάτη _ σπόρο» του (από τον UI ή από τον ίδιο), στέλνει ένα στοίχημα με:
, roundId, nonce
3. Αποκάλυψη: μετά το κλείσιμο των στοιχημάτων, ο διακομιστής αποκαλύπτει 'server _ seed' (και 'sal if υπήρχε) έτσι ώστε ο καθένας να μπορεί να ελέγξει:
( αλάτι = = έλεγχος δέσμευσης//ακεραιότητας
4. RNG: ο αριθμός τυχαιότητας είναι καθοριστικός και αναπαραγώγιμος:
rng = HMAC-SHA256 (κλειδί = εξυπηρετητής _ σπόρος, msg = πελάτης _ σπόρος στρογγυλοποίηση Id nonce)
//ή rng = SHA-256 (server_seed client_seed στρογγυλοποίηση Id nonce)
5. Χαρτογράφηση στο αποτέλεσμα: μετατροπή 'rng' στο εύρος του παιχνιδιού χωρίς μετατόπιση (βλέπε παρακάτω).
Πώς να πάρετε έναν αριθμό χωρίς προκαταλήψεις
Είναι λάθος να παίρνουμε το 'rng% N' - αυτό δίνει μια αρθρωτή όφσετ αν το 2\k δεν είναι πολλαπλάσιο του N. Σωστά - δειγματοληψία απόρριψης:pseudo
// rng_bytes = 32 bytes hash → uint256 x = uint256 (rng_bytes)
όριο = δάπεδο (2 256/N) N ενώ x> = όριο:
= ( )//» μείγμα« πάλι προσδιοριστικά x = uint256 ( )
αποτέλεσμα = x% N
Έτσι έχουμε μια ομοιόμορφη κατανομή πάνω από Ν αποτελέσματα (κύτταρα ρουλέτας, σύμβολα τυμπάνων, κλπ.).
Mini Παράδειγμα (Επαλήθευση βήματος αναπαραγωγής)
Ας υποθέσουμε:
= "b2c6... e9 "//αποκαλύφθηκε μετά τον γύρο (hex/utf8)
= «σπόρος-πελάτης μου «//επέλεξα roundId = » «
nonce = 42 commit = "c9a1... f3 "/publ. εκ των προτέρων
1) Έλεγχος δέσμευσης
Μετρήστε το 'SHA-256 (server_seed)' και βεβαιωθείτε ότι ταιριάζει με 'δέσμευση'.
2) Προσδιοριστικό RNG
Αριθμός:
rng = HMAC-SHA256 (κλειδί = server _ seed, msg = client_seed ":" στρογγυλοποίηση Id ":" nonce)
3) Μετατροπή σε αποτέλεσμα
Για ρουλέτα (37 αριθμοί) → N = 37, εφαρμόστε δειγματοληψία απόρριψης και πάρτε το 'x% 37'.
Για μια υποδοχή, χρησιμοποιήστε πολλαπλά κομμάτια RNG για τον ορισμό των κυλίνδρων/συμβόλων σύμφωνα με τον πίνακα κατανομής.
4) Ελέγξτε με βάση το αποτέλεσμα στο ιστορικό
Ο ιστότοπος θα πρέπει να εμφανίζει τις ίδιες εισροές που χρησιμοποιήθηκαν στον υπολογισμό: 'server _ seed', 'client _ seed', 'roundId', 'nonce', 'hashAlgo', 'rngAlgo', 'mpassVersion'.
Εναλλακτική/Απόκτηση: VRF (Επαληθεύσιμη τυχαία συνάρτηση)
Αντί για δέσμευση, ο χειριστής μπορεί (ή προαιρετικά) να χρησιμοποιήσει VRF:1. Μια έξυπνη σύμβαση ή δημόσιο μητρώο ζητά από τον πάροχο «VRF (σπόροι προς σπορά)».
2. Δημοσιεύθηκε από το '(τυχαία, απόδειξη)'.
3. Ο καθένας μπορεί να ελέγξει το 'proof' από το ίδιο δημόσιο ζεύγος κλειδιών VRF.
4. Στη συνέχεια, η ίδια χαρτογράφηση RNG προχωρεί στο αποτέλεσμα.
Υπέρ: Λιγότερη εμπιστοσύνη στον χειριστή. Μειονεκτήματα: εξάρτηση από τον πάροχο/την αλυσίδα του VRF και πιθανό κόστος.
Πώς ένα καζίνο θα πρέπει να εφαρμόζει σωστά το PF
Σύμβαση (σύμβαση δεδομένων ΣΤ)
Περιθώρια στην ιστορία:- 'serverSeedHash', 'serverSeedReveal', 'clientSeed', 'roundI ,' nonce ',' hashAlgo ',' rngAlgo ',' mospanVer ',' partyUrl '( .) , «calcVer».
- Τιμές - σε αποθήκευση WORM (αμετάβλητη), με χρονοσφραγίδες (UTC).
Παραγωγή σπόρων προς σπορά
«server _ seed» παράγεται από το κρυπτογραφικό PRNG (OS CSPRNG/HSM).
Τα SIDS δεν πρέπει ποτέ να επαναλαμβάνονται μεταξύ σειρών (περιστροφή).
'client _ seed' - που επιλέγεται από τον παίκτη ή παράγεται από τον πελάτη και επιβεβαιώνεται.
Εκδοτικές δεσμεύσεις
Οι δεσμεύσεις είναι διαθέσιμες πριν από τα στοιχήματα (ιστορία, RSS, άγκυρα επί της αλυσίδας).
Για πολλά, μπορείτε να χρησιμοποιήσετε το δέντρο δέσμευσης merkley με τη ρίζα που δημοσιεύεται καθημερινά.
Αποκάλυψη
Πριν τη δημοσίευση του αποτελέσματος, το 'server _ seed' επεκτείνεται και καταγράφεται.
Για μια σειρά γύρων σε μία έδρα - γνωστοποίηση μετά το τέλος της σειράς (αναφέρατε την πολιτική εκ των προτέρων).
Διαφανής χαρτογράφηση
Η έκδοση αλγόριθμου απεικόνισης ('mospeVer') είναι σταθερή.
Οποιαδήποτε αλλαγή ('moseVer '/' rngAlgo') - μόνο με μια ανακοίνωση και μια νέα σειρά δεσμεύσεων.
Λογιστικός έλεγχος και διαφορές
Εξοικονόμηση πρώτων εισροών + καταγραφή υπολογισμού. κατά την επιχειρηματολογία, συντάσσεται έκθεση: εισροές → RNG → χαρτογράφηση → αποτελέσματος.
Streams/Live: αποθηκεύουν άγκυρες CV/RFID, βίντεο στο WORM.
Πώς ένας παίκτης μπορεί να ελέγξει την ειλικρίνεια (λίστα ελέγχου)
1. Ανοίξτε την ιστορία του γύρου και αντίγραφο: 'serverSeedReveal', 'clientSeed', 'roundId', 'nonce', 'hashAlgo', 'rngAlgo', 'moskVer'.
2. Μετρήστε το hash 'serverSeedReveal' και συγκρίνετε με το serverSeedHash.
3. Υπολογίζεται ο RNG σύμφωνα με τον καθορισμένο αλγόριθμο (εισροές HMAC/Hash +).
4. Εφαρμογή «αμερόληπτης» χαρτογράφησης (δειγματοληψία απόρριψης) στον αριθμό των αποτελεσμάτων.
5. Βεβαιωθείτε ότι το αποτέλεσμα είναι το ίδιο όπως φαίνεται.
6. Αν δηλωθεί VRF, ελέγξτε το 'proof' (κουμπί «Επαλήθευση» ή ανεξάρτητο script/block explorer).
Τυπικά σφάλματα (αντίγραφα)
'rng% N' without δειγματοληψία απόρριψης → μεροληπτικές πιθανότητες.
Κρυμμένο ή μεταβαλλόμενο 'client _ seed' (παράγεται από τον εξυπηρετητή χωρίς τη συμμετοχή του παίκτη).
Επαναφορά του 'server _ seed' μετά το στοίχημα (η δέσμευση αλλάζει αναδρομικά).
Ο αδιαφανής αλγόριθμος αλλάζει χωρίς έκδοση/δημοσίευση.
Επανάληψη των πλευρών μεταξύ των σειρών.
Έλλειψη γραμματοσήμων WORM/χρόνου - η σειρά των γεγονότων δεν μπορεί να αποδειχθεί.
Η ανάμειξη PF και επιχειρηματικής λογικής (για παράδειγμα, η πριμοδότηση εφαρμόζεται με τέτοιο τρόπο ώστε να αλλάζει το χώρο των αποτελεσμάτων, αλλά αυτό δεν περιγράφεται στο «moscesVer»).
Συχνές ερωτήσεις (σύντομες)
Είναι εφικτός ο έλεγχος των χρονοθυρίδων, όχι μόνο της ρουλέτας
Ναι, το έκανα. Το PF εφαρμόζεται στην ακολουθία επιλογής (π.χ. ο δείκτης συμβόλων στον κύλινδρο). Είναι σημαντικό να τεκμηριώνονται οι πίνακες πιθανοτήτων RNG και η σειρά ανάγνωσης.
Και αν μπήκα στο 'πελάτη _ σπόρο' μου, ο χειριστής μπορεί ακόμα να «πιάσει» 'server _ σπόρους'
Όχι αν η δέσμευση είχε αναρτηθεί πριν από την προσφορά. Διορθώνει 'server _ seed' και δεν επιτρέπει την αναδρομική αντικατάστασή του.
Γιατί μερικές φορές αποκαλύπτουν πλευρές σε παρτίδες
Έτσι ώστε δεν ήταν δυνατόν να «τακτοποιηθεί» ο σπόρος στη σειρά. Αυτό είναι αποδεκτό εάν η δέσμευση δημοσιευθεί εκ των προτέρων και η πολιτική δημοσιοποίησης είναι διαφανής.
Μίνι μορφότυποι αναφοράς
Hashes: SHA-256 ή Keccak-256.
RNG: HMAC-SHA256 SHA-256 ή συμπύκνωσης.
Αναγνωριστικά: 'roundId' (UTC-σφραγίδα + παιχνίδι + αύξηση), 'nonce' (μετρητής στοιχημάτων στη σειρά).
: 'rngAlgo = HMAC-SHA256 @ 1', 'magnVer = ρουλέτα. v2 ',' ccVer = πορτοφόλι-7. 2`.
Κατάλογος ελέγχου εφαρμογής PF φορέα εκμετάλλευσης
Κρυπτογραφία και Σιντς
- CSPRNG/HSM· μοναδική «server _ seed», τεκμηριωμένη περιστροφή.
- «πελάτης _ σπόρος» - ελεγχόμενος από τον παίκτη, αποθηκευμένος στην ιστορία.
Δημοσιεύσεις και αποθήκευση
- Δεσμεύεται για στοιχήματα, πρόσβαση σε ιστορικό/κανάλι δημοσίευσης/άγκυρα.
- Αποθήκευση Σκουληκιών, γραμματόσημα UTC, παρτίδες merkley για κλίμακες.
Αλγόριθμοι
- RNG και χαρτογράφηση χωρίς μεροληψία· έκδοση 'rngAlgo/mospanVer'.
- Σενάριο/σελίδα «Ελέγξτε την ειλικρίνεια» (ο ανοικτός κώδικας είναι επιθυμητός).
Ζωντανά και υβριδικά
- CV/RFID/στρογγυλή φάση hash άγκυρες, log «όταν το παράθυρο στοιχημάτων ήταν κλειστό».
- Διαδικασίες διαφορών (vkhodov→iskhod έκθεση, σύνδεσμοι με δεσμεύσεις/VRF).
Ασφάλεια και λογιστικός έλεγχος
- Ανεξάρτητος έλεγχος του πρωτοκόλλου PF, επικήρυξη σφαλμάτων.
- Τα αρχεία καταγραφής αποφάσεων είναι αμετάβλητα. τακτικές επαναληπτικές δοκιμές.
Προφανώς το Fair μετατρέπει την "εμπιστοσύνη μας" σε "ελέγξτε το μόνος σας. "Με commit/revil ή VRF, deterministic RNG, και σωστή χαρτογράφηση μη-όφσετ, κάθε γύρος γίνεται αναπαραγώγιμο και επαληθεύσιμο. Για έναν παίκτη, είναι διαφάνεια και εμπιστοσύνη. Για τον φορέα εκμετάλλευσης - λιγότερη αντιπαράθεση, ισχυρότερο σήμα και συμμόρφωση με τις κανονιστικές απαιτήσεις. Το κύριο θέμα είναι η πειθαρχία: δημοσίευση δεσμεύσεων εκ των προτέρων, καθορισμός εκδόσεων αλγορίθμων, αποθήκευση αποδεικτικών στοιχείων πάντα και να δώσει στο χρήστη ένα απλό εργαλείο επαλήθευσης.