Როგორ მუშაობს RNG რეალური შემოწმებები
RNG (შემთხვევითი რიცხვების გენერატორი) გადამოწმება არ არის ერთი „ჯადოსნური ტესტი“, არამედ საინჟინრო პროცედურების ჯაჭვი. მისი მიზანია სამი რამის დამტკიცება: (1) რიცხვების ნაკადი სტატისტიკურად ჰგავს იდეალურ შემთხვევითობას, (2) ის სწორად „იძირება“ თამაშის მოვლენებში (სიმბოლოები, რუქები, მულტიპლიკატორები), (3) დადასტურებული ვერსია მუდმივად ტრიალებს წარმოებაზე. ქვემოთ მოცემულია როგორ არის მოწყობილი სრული ციკლი.
1) რა არის შემოწმება (სამი დონე)
1. RNG ნედლეული გასასვლელი არის ნაკადის სუფთა სტატისტიკა (თამაშის ინტერფეისის გარეშე).
2. RNG Mapping - თამაშის მოვლენები - დეკლარირებული მათემატიკის კომბინაციების სიხშირეების შესაბამისობა (RTP/ცვალებადობა).
3. სასიცოცხლო ციკლი და მთლიანობა - რომ სწორედ ის შეკრება, რომელიც დამოწმდა, მუშაობს გაყიდვაზე და მისი ჩანაცვლება შეუძლებელია.
2) გამოშვებამდე: ლაბორატორიული სერტიფიკაცია
A. თეთრი ყუთი (კოდი და არქიტექტურა)
ალგორითმი: PRNG/CSPRNG კლასი, „თესვის“ მეთოდი, გადალახვა (ნაკადის იზოლაცია), ნაკადების იზოლაცია, თამაშებს შორის საერთო მდგომარეობის არარსებობა.
ენტროპიის წყაროები: სისტემური აუზი/აპარატურა ხმაური; შემოწმებულია ბიტიანი ენტროპიის ადეკვატურობა დასაწყისისთვის.
სახელმწიფო მენეჯმენტი: nonce/counter, დაცვა ხელახალი გამოყენებისგან, ნაკადების დამოუკიდებლობა სხვადასხვა თამაშებისთვის/მაგიდებისთვის.
B. შავი ყუთი (გასასვლელით)
ისინი წარმოქმნიან ძალიან დიდ ნიმუშებს (ასობით მილიონი მილიარდი ბიტი/რიცხვები).
სატესტო ბატარეების საშუალებით გადააგდეს:- NIST SP 800-22: მონობიტი, ბლოკების სიხშირე, ჭრილობის ტესტები, ნულოვანი/ერთეულების დისბალანსი, აფრო. ენტროპია, წრფივი სირთულე, სპექტრული (DFT) და ა.შ.
- Diehard/Dieharder: დაბადების დღეები, მოხეტიალე, დამთხვევები, მატრიქსის წოდებები და ა.შ.
- TestU01 (SmallCrush/Crush/BigCrush): ყველაზე მკაცრი სერია; დაიჭირეთ თხელი დამოკიდებულებები და მოკლე პერიოდები.
- ჰიპოთეზები და p-values: არა "რომ ყველა იყოს 0. 5" და ისე, რომ ისინი თანაბრად განაწილდნენ [0; 1]; გათვალისწინებულია ტესტების სიმრავლე (ცრუ ოპერაციების კორექტირება).
- მოცურების ფანჯრები: იგივე ტესტები ნაკადების ქვესათაურზე (სხვადასხვა ბლოკის ადგილები) არასტაციონალურობის დასაპყრობად.
C. თამაშის მათემატიკის გადამოწმება
მილიონობით/მილიარდი „ვირტუალური სპინების/განაწილების“ მოდელირება: ემპირიული RTP ემთხვევა დეკლარირებულ (მაგალითად, 96). 00% ± დაშვება).
იშვიათი მოვლენების შემოწმება: ჯეკპოტის სიხშირე, ბონუს რაუნდი, ანიმატორები, გამარჯვების განაწილება კვანტილში.
Mapping- ის შემოწმება: შესაბამისობის ცხრილი „RNG ნომერი - სიმბოლო/ბარათი“ გადაადგილების გარეშე, ტოლია „დეკის/დრამის“ ყველა პოზიციის ალბათობა.
შედეგი: ანგარიში RNG პარამეტრებით, ტესტების/მონაცემების მოცულობის/გავლის ბარიერების ჩამონათვალი, თამაშის ბინარული თანხები და სამიზნე RTP.
3) გაყიდვებზე: უწყვეტი კონტროლი
ტელემეტრია და ალერტები
RTP კონვერტაცია საერთო მონაცემებით (დღეები/კვირა/თვეები) ნდობის ინტერვალებით.
განაწილების ანომალიები: გამეორებების ადიდება, სიმბოლოების გადინება, დისპერსიის ცვლილებები.
RNG ონლაინ ჯანმრთელობა: მსუბუქი ჩაშენებული sumotests (frequency/runs) მიმდინარე ნაკადზე + პერიოდული „მძიმე“ ღეროები ბოლოების სურათებში.
მოცურების ფანჯრები და სეზონურობა: შედარებები „ძველ“ საცნობარო პერიოდებთან.
არტეფაქტების მთლიანობა
ჰაშის თანხების შერწყმა და შესრულებული ფაილების ციფრული ხელმოწერები „ოქროს“ სერტიფიკაციის ნიმუშით.
პოლიტიკა „მხოლოდ ხელმოწერილი გამოშვებები“, ორმაგი დამტკიცება ქაფზე, ადმინების ქმედებების აუდიტი.
რეაგირება ინციდენტებზე
ბარიერის მნიშვნელობებმა შეიძლება იზოლირება თამაში, ჩართოს „maintenance“, შეასრულოს როლბეკი, დააფიქსიროს sneapshot, აცნობოს რეგულატორს/პარტნიორებს და მოამზადოს ლოგოების რეპლიკები.
4) როგორ არის მოწყობილი საკვანძო ტესტები (ადამიანურად)
მონობიტი/სიხშირე: ნული და ერთეულები დაახლოებით თანაბრად უნდა იყოს.
Runs/სერია: თანმიმდევრული სიგრძე 0/1 შეესაბამება თეორიას.
DFT/სპექტრული: არ არსებობს ფარული პერიოდები/ჰარმონიკა.
ხაზოვანი სირთულე/მატრიქსის რანგი: ნაკადი არ არის აღწერილი მოკლე ხაზოვანი სქემით.
Birthday spacings/კონფლიქტი: დამთხვევების განაწილება, როგორც იდეალური შემთხვევითი.
Approx. Entropy/Serial: არ არსებობს ზედმეტი მოკლე ნიმუშები.
Autocorrelation: მეზობელი ელემენტები დამოუკიდებელია.
მნიშვნელოვანია: ერთი „წითელი“ ტესტი არ ამტკიცებს პრობლემას - ისინი ჩანთაში ათვალიერებენ, მრავალჯერადი შემოწმების და განმეორების გათვალისწინებით.
5) სიდები, გადალახეს ნაკადების დამოუკიდებლობა და დამოუკიდებლობა
თესლი იქმნება ენტროპიის რამდენიმე წყაროდან; დაწყების პროცედურის დოკუმენტირება და კვლევის სიხშირე.
სხვადასხვა თამაშები/მაგიდები - RNG- ის სხვადასხვა მდგომარეობა; ერთობლივი მდგომარეობის აკრძალვა.
Nonce/მრიცხველის აღრიცხვა: თითოეული გასაჩივრება უნიკალურია, გამორიცხულია ხელახალი ნიმუში.
6) Mapping და პრეზენტაცია: სადაც ხშირად დაბნეულია „პატიოსნება“
RNG აძლევს ნომერს და თამაში მას მოვლენად თარგმნის. ისინი ამოწმებენ, რომ mapping ცხრილი:- მას არ აქვს „მკვდარი“ ზონები, თანაბრად ფარავს ვერსიაში დაფიქსირებულ სივრცეს (ცვლილება = ახალი სერტიფიკაცია).
- Near-miss არის ინტერფეისის ვიზუალური ეფექტი. მისი წილი და ლოგიკა მკაცრად განსაზღვრავს მათემატიკას; ის არ „იძახის“ RNG.
7) ლოგები და რეპროდუქცია
თითოეული რაუნდი იღებს ID- ს, დროის ეტიკეტებს, sid/nonce- ს, შეყვანის პარამეტრებს, RNG- ს შედეგს და შედეგს მაპინგის შემდეგ.
ლოგიკის თანახმად, ლაბორატორიას/ოპერატორს შეუძლია შედეგის რეპროდუცირება და დარწმუნდეს, რომ იგი შეესაბამება ალგორითმს და რაუნდის მონაცემებს.
ლოგოები უცვლელია, წლების განმავლობაში ინახება, კაპლეტები; დაშვება - რეგლამენტის შესაბამისად.
8) Live თამაშები: როგორ იცვლება RNG ტესტები
რულეტი/ბარათები: აღჭურვილობის კონტროლი (ბორბლის ცემა, ბალანსი, კალიბრაცია), დილერის პროცედურები, მანქანის შუფლერები, გემბანის შეცვლა, სრული ვიდეოჩანაწერი.
გაყიდვაში ნომრების/ბარათების სტატისტიკური მონიტორინგი - დაჭერილი აცვიათ/დეფექტები და ადამიანის ფაქტორი.
9) „Provably fair“: რაც მოთამაშეს ნამდვილად ამოწმებს
სერვერი წინასწარ აქვეყნებს სერვერის სიდის ჰეშს; რაუნდის შემდეგ იხსნება სიდი.
მოთამაშე განსაზღვრავს კლიენტის სიდ; შედეგი ითვლება დოკუმენტირებული ფორმულით (ხშირად HMAC/AES + nonce).
ყველას შეუძლია დაითვალოს და დარწმუნდეს, რომ შედეგი არ შეცვლილა განაკვეთის შემდეგ.
მაგრამ ეს არ არის მაღალი RTP- ის გარანტია - თამაშის მათემატიკა მაინც მოითხოვს ცალკეულ აუდიტს.
10) ტიპიური შეცდომები და როგორ იჭერენ ისინი
სიდის ცუდი ინიციალიზაცია დაჭერილია ადრეული ტესტებითა და ანომალიით პირველ ფანჯრებში.
განმეორებითი მდგომარეობა/nonce reuse - დუბლიკატები/კორელაციები, დეტალი დიჰარდში/TestU01.
Apdate (ცხელი კორექტირების) შემდეგ დრიფტი არის ალერტები ჰაშის/მეტრიკის შეუსაბამობისკენ.
სუსტი PRNG არის „წარუმატებლობა“ BigCrush- ში, სიხშირის ციმციმები, სტრუქტურა DFT- ში.
ჩეკის ფურცლები
სტუდიისთვის/პროვაიდერისთვის
- დოკუმენტირებულია RNG ალგორითმი, სიდინგი, კვლევა, ნაკადების გამიჯვნა.
- NIST/Dieharder/TestU01 პროგონები საკმარისი მოცულობით და p-values- ის მოხსენებებით.
- თამაშის მასობრივი სიმულაცია: RTP, დისპერსია, მოგება, იშვიათი მოვლენები.
- ვერსიები/ხელმოწერები/არტეფაქტების ჰაში; გაუქმებული გამოცემების აკრძალვა.
- სროლის ალერტები RTP/განაწილებაზე/გამეორებაზე; იზოლაციის/როლბეკის გეგმა.
ოპერატორისთვის
- მე ვაკვირდები RNG/თამაშების სერთიფიკატებს და ფაქტობრივ ვერსიებს გაყიდვაში (ჰაშის კონტროლი).
- ვაკვირდები RTP- ს და ანომალიის თანხვედრას ყველა ტაიტელში; არის ბარიერები და ავტო-ალერტები.
მე ვიცავ უცვლელი ლოგებს; მზად არის სწრაფი ტიკეტის ექსპორტი.
- ინციდენტის პროცედურა: თამაშის გაჩერება - როლბეკი, შეტყობინებები, საჯარო მოხსენება.
ფეხბურთელისთვის
- ვუყურებ თამაშის ინფო ეკრანს: RTP/წესები/ვერსია/მაქს-მოგება.
- მე ვთამაშობ ოპერატორებს RG- ს თვალსაჩინო ინსტრუმენტებით (ლიმიტები/ისტორია/ტაიმუტი).
- დავაში ვითხოვ ID რაუნდს და ამონაწერს; შედეგი უნდა იყოს რეპროდუცირებული.
- არ ვარ დაბნეული RNG- ს გულწრფელობით ცვალებადობით: „მშრალი“ ზოლები ნორმალურია.
RNG- ს რეალური შემოწმებები არის მკაცრი სტატისტიკა + მაკონტროლებელი + ვერსიებისა და ლოგოების დისციპლინა. ლაბორატორია ადასტურებს, რომ ნაკადი თანაბარი და დამოუკიდებელია; სიმულაციები ამტკიცებენ დეკლარირებულ RTP- ს შესაბამისობას; წარმოების მონიტორინგი უზრუნველყოფს, რომ დადასტურებული ასამბლეა არ შეცვლილა და იქცევა ისე, როგორც ტესტებში. როდესაც სამივე დონე ერთად მუშაობს, „პატიოსნება“ წყვეტს დაპირებას და ხდება სისტემის საკუთრება.