Ფაქტები RNG- ს შემთხვევითი თანმიმდევრობის შესახებ
შემთხვევითი თანმიმდევრობა არ არის „ქაოსი“, არამედ გადამოწმებული თვისებების მქონე მნიშვნელობების ნაკადი. თამაშის სისტემებში სპინების, განაწილების, ანიმატორების გულწრფელობა დამოკიდებულია ამ ნაკადის ხარისხზე. ქვემოთ მოცემულია ძირითადი ფაქტები იმის შესახებ, თუ რა უნდა იყოს RNG თანმიმდევრობა და როგორ ხდება მისი შემოწმება.
1) დამოუკიდებლობა უფრო მნიშვნელოვანია, ვიდრე „სილამაზე“
i.i.d. (დამოუკიდებელი და თანაბრად განაწილებული) არის ოქროს სტანდარტი.
ხილული ნიმუშების არარსებობა არ იძლევა შემთხვევითობას; ტესტები მნიშვნელოვანია კორელაციასა და სერიალურობაზე და არა „თვალზე“.
2) განაწილება მოცემულია ოქმში
„ნედლეულის“ ნაკადში ხშირად ერთგვაროვნებაა მოსალოდნელი (მაგალითად, 32-ბიტიანი სიტყვები თანაბრად სავარაუდოა).
თამაშს აქვს ერთგვაროვანი რიცხვები მოვლენებში: სლოტის სიმბოლოები, ბარათები „ვირტუალური გემბანიდან“, ბორბლის სექტორები. სწორი mapping = „მკვდარი ზონების“ და საჭმლის არარსებობა.
3) პერიოდი ყოველთვის არის - კითხვა მისი სიგრძეა
PRNG- ს აქვს საბოლოო პერიოდი (ციკლურობა). კარგ გენერატორს ისეთი გრძელი პერიოდი აქვს, რომ რეალურ ოპერაციაში მას არ „გაივლით“.
კრიტიკულია, რომ თავიდან აიცილოთ „სახელმწიფო/nonce reuse“ დამთხვევები, წინააღმდეგ შემთხვევაში, ქვე-მტკიცებულებები განმეორდება.
4) სიდი (თესლი) - არაპროგნოზირების საფუძველი
სიდის არასწორი ინიციალიზაცია იძლევა განმეორებით ან პროგნოზირებად გამოსავალს.
საიმედო სისტემა იყენებს მრავალარხიან ენტროპიასა და პერიოდულ კვლევას (დოკუმენტირებული).
5) ენტროპია - არა იგივე, რაც „ხმაური“
ბიტიანი ენტროპია ზომავს, თუ რამდენად არაპროგნოზირებადია ნაკადი.
ტექნიკის ენტროპია (ხმაური), როგორც წესი, მოხარშულია კრიპტოგრაფიული DRBG (CSPRNG) მიერ სწრაფი და სტაბილური ნაკადის მისაღებად.
6) p- values არ უნდა იყოს „ლამაზი“
ტესტის ბატარეებში (სიხშირეები, ეპიზოდები, „დაბადების დღეები“, მატრიცების რანგები და ა.შ.), p- ვალები თანაბრად უნდა განაწილდეს [0; 1], და არა "დაახლოებით 0 შეკრება. 5».
ერთი „წითელი“ ტესტი არ ამტკიცებს პრობლემას: ისინი ითვალისწინებენ ინსპექტირების სიმრავლეს და იმეორებენ პროგონს.
7) ადგილობრივი „ზოლები“ არ არის ბაგი
ნებისმიერი ნამდვილი შემთხვევითი თანმიმდევრობით, მტევანი ჩნდება (გრძელი სერია ნულოვანი/ერთეულები, სიმბოლოების გამეორება).
ზოლები ნორმალურია; სისტემური რისკი - დიდი ფანჯრების სტაბილური გადახრა.
8) ხაზოვანი - ფარული მტერი
მარტივი ხაზოვანი LCG გენერატორებს შეუძლიათ გაიარონ ძირითადი ტესტები, მაგრამ ისინი „იშლება“ რთულ (მატრიქსის წოდება, ხაზოვანი სირთულე, DFT).
სათამაშო ინდუსტრიაში სტანდარტია კრიპტოგრაფიული მდგრადი DRBG (მაგ., ბლოკის შიფრებზე/ჰეშებზე).
9) Mapping უნდა იყოს სტაციონარული და ვერსირებული
შესაბამისობის ცხრილების ნებისმიერი ცვლილება „ნომერი - მოვლენა“ = თამაშის ახალი ვერსია და ხელახალი შემოწმება.
კარგი პრაქტიკაა მაპინგის მკაცრი დაფიქსირება ჰაშის თანხებით და ციფრული ხელმოწერებით.
10) „თითქმის მოგება“ - ინტერფეისის შესახებ და არა ნაკადის შესახებ
Near-miss - ვიზუალური დრამის ნაწილი; წილი და ქცევა განსაზღვრავს თამაშის მათემატიკას.
RNG გამოსცემს ნომერს, ხოლო ინტერფეისი მოგვითხრობს ისტორიას - ეს ფენები უნდა განქორწინდეს.
11) რეპროდუქცია და პროგნოზირება
აუდიტის მიზნით, თითოეული რაუნდი იდება ისე, რომ შესაძლებელი გახდეს შედეგის რეპროდუცირება (რაუნდის ID, sid/nonce, hashi).
ეს არ ხდის ნაკადს პროგნოზირებადი თამაშის დროს: საიდუმლოებები (უხეში) და სახელმწიფოები დაცულია.
12) „კარგი“ თანმიმდევრობები ცხოვრობენ გაყიდვაში მეთვალყურეობის ქვეშ
გამოშვების შემდეგ, მონიტორინგი მნიშვნელოვანია: არის თუ არა RTP სერთიფიცირებული, არის თუ არა სიმბოლოების სიხშირის დრიფტი, გამეორება, „ცხელი“ ნომრები.
ალერტები ბარიერების გასწვრივ არის ტაიტლის იზოლაცია და ტექნიკური გამოძიება.
13) მდგომარეობა და ნაკადები - ცალკე
სხვადასხვა თამაშები/მაგიდები/ინსტანციები იყენებენ RNG- ს დამოუკიდებელ მდგომარეობებს.
თქვენ არ შეგიძლიათ ერთი ნაკადის „დაყოფა“ რამდენიმე პროდუქტად - ჯვარედინი კორელაციები ჩნდება.
14) Forward/Backward უსაფრთხოება უფრო მნიშვნელოვანია, ვიდრე ჩანს
მიმდინარე მდგომარეობის კომპრომეტირებისას, კარგი CSPRNG არ უნდა გაამჟღავნოს წარსული და მომავალი უსაფრთხოების თანმიმდევრობა.
ეს მიიღწევა კრიპტო-პრიმიტივებით და რეგულარული კვლევებით.
15) „Provably fair“ ამტკიცებს შეუსაბამო ჩანაცვლებას
Commit-revil (სერვერის Side hash - გამჟღავნება) + კლიენტის Sid საშუალებას აძლევს მოთამაშეს დაანგარიშდეს შედეგი.
ეს უზრუნველყოფს თანმიმდევრობის მთლიანობას, მაგრამ არ ცვლის თამაშის მათემატიკის აუდიტს და მაპინგს.
როგორ გამოიყურება ცუდი თანმიმდევრობა (ნიშნები)
Sidas/nonce განმეორება - შედეგების დუბლიკატები იმავე შეყვანებში.
სიხშირის სტაბილური მიკერძოება დიდ ფანჯრებში (არა ცალკეული მტევანი).
გამოვლენილი პერიოდები DFT- ში, „წარუმატებლობები“ TestU01/BigCrush- ში.
ემპირიული RTP დრიფტი გონივრული მოცულობისგან.
როგორ გამოიყურება კარგი თანმიმდევრობა
თანაბარი სიხშირეები და სერიები ნდობის ინტერვალებით; ერთგვაროვანი p-values.
მეზობელ და დაშორებულ ელემენტებს შორის კორელაციების არარსებობა.
ემპირიული RTP/მოვლენების სიხშირის მოდელის კონიუგაცია.
ნულოვანი განსხვავება პროდუქტიულ ბინარსა და სერთიფიცირებულ (ჰაშის კონტროლი) შორის.
მინი თაღლითები
სტუდიებისთვის/პროვაიდერებისთვის
გამოიყენეთ CSPRNG + მრავალარხიანი ენტროპიის დოკუმენტირებული კვლევა.
გამოყავით მდგომარეობა ნაკადებში/თამაშებში; მართეთ ჟურნალი nonce.
გაატარეთ NIST/Dieharder/TestU01, პლუს მასიმულირება RTP- ის მოსვლამდე.
დააფიქსირეთ mapping და binary ციფრული ხელმოწერისთვის; აკრძალეთ გამოუწერელი გამოშვებები.
მრიცხველის დრიფტის ალერტების პარამეტრი გაყიდვაში; იზოლაციისა და როლბეკის გეგმა.
ოპერატორებისთვის
შეამოწმეთ თამაშის ვერსიები და ჰაში სერთიფიცირებული.
დააკვირდით RTP/სიხშირეებს/გამეორებას; შეინარჩუნეთ ბარიერები და ავტო-ალერტები.
შეინახეთ რაუნდის უცვლელი ლოგოები სწრაფი თიკეტის ექსპორტის შესაძლებლობით.
ფეხბურთელებისთვის
შეამოწმეთ ინფო ეკრანი: RTP, წესები, ვერსია, max win.
ნუ დაიბნევით მტევანი „გადახურვით“: ზოლები ნორმალურია.
დავაში, ითხოვეთ რაუნდის ID და ამონაწერი - შედეგი უნდა რეპროდუცირდეს.
RNG- ის შემთხვევითი თანმიმდევრობა არის საინჟინრო არტეფაქტი დადასტურებული თვისებებით: დამოუკიდებლობა, სწორი განაწილება, გრძელი პერიოდი, კომპეტენტური სავარძელი და კომპრომისისადმი წინააღმდეგობა. თამაშებში გულწრფელობა ჩნდება იქ, სადაც მაღალი ხარისხის ნაკადი უკავშირდება სწორ მაპინგს და საკონტროლო პროცედურებს: სერთიფიკაცია გამოშვებამდე, ლოგოსა და მონიტორინგამდე. როდესაც სამივე ფენა ადგილზეა, „უბედური შემთხვევა“ დაპირებიდან საიმედო პრაქტიკად იქცევა.