1. ვალდებულება (Commit)
გათამაშების შექმნისთანავე სისტემა აგენერირებს საიდუმლო კოდს (server seed) და აქვეყნებს მხოლოდ მის sha256 ანაბეჭდს. ამ მომენტიდან კოდის შეცვლა შეუძლებელია — ანაბეჭდი აღარ დაემთხვევა.
იღბალი იყენებს commit-reveal სქემას — იმავე პრინციპს, რომელსაც კრიპტოგრაფიული ლატარეები. ეს ნიშნავს: ჩვენ ფიზიკურად ვერ შევცვლით შედეგს, და შენ დამოუკიდებლად შეგიძლია ამის გადამოწმება — ნდობა არ გჭირდება.
გათამაშების შექმნისთანავე სისტემა აგენერირებს საიდუმლო კოდს (server seed) და აქვეყნებს მხოლოდ მის sha256 ანაბეჭდს. ამ მომენტიდან კოდის შეცვლა შეუძლებელია — ანაბეჭდი აღარ დაემთხვევა.
გათამაშების მომენტში ყველა ბილეთის ID ლაგდება ანბანურად და მათგან ითვლება sha256 ანაბეჭდი. ვერც ერთი მონაწილის დამატება/წაშლა ვერ მოხდება შეუმჩნევლად — ანაბეჭდი შეიცვლებოდა.
გამარჯვებლის ნომერი ითვლება დეტერმინისტულად: HMAC-SHA256(seed, ანაბეჭდი) → რიცხვი → მონაწილის ინდექსი (rejection sampling-ით, რომ ყველას ზუსტად თანაბარი შანსი ჰქონდეს). ოპერატორი შედეგზე ვერ ახდენს გავლენას.
გათამაშების შემდეგ საიდუმლო კოდი ქვეყნდება. ნებისმიერს შეუძლია გადაამოწმოს: sha256(seed) ემთხვევა თუ არა წინასწარ გამოქვეყნებულ ანაბეჭდს, და თავიდან გამოითვალოს გამარჯვებული ზუსტად იმავე ფორმულით.
ყოველი დასრულებული გათამაშების გვერდზე ქვეყნდება სრული ჯაჭვი: წინასწარი ანაბეჭდი (serverSeedHash), გამჟღავნებული კოდი (serverSeed), მონაწილეთა ანაბეჭდი და გამარჯვებულის ინდექსი. შემოწმება შესაძლებელია ნებისმიერი sha256/HMAC კალკულატორით — ან ჩვენი კოდით, რომელიც ღიად აღწერს ალგორითმს. ნახე დასრულებული გათამაშებები →