Endi biroz texnik jihatdan to’xtalamiz. Oddiy qilib aytganda, isbotlanadigan adolatli o’yin – bu natijalar faqat bitta tomon – masalan, o’yin operatori serverlari – tomonidan emas, balki bir nechta ishtirokchilar tomonidan yaratiladigan o’yin. Natija aniqlanmasdan oldin barcha kirishlar birlashtiriladi, xeshlanadi va almashiladi.

Buni misol bilan tushuntirish osonroq bo’lishi mumkin, shuning uchun biz Aviatordan qo’llanma sifatida foydalanamiz.

Aviator sizni «samolyot uchib ketishidan» oldin ma’lum bir tasodifiy sonda (ko’paytirgich) pul tikishga va pulingizni yechib olishga harakat qilishga majbur qiladi. Sizning yutug’ingiz shu ko’paytirgichga asoslangan.

Isbotlanadigan adolatli algoritm har bir raunddan oldin 16 ta tasodifiy belgidan iborat «server urug’i»ni yaratadi. Keyin u shifrlanadi yoki xeshlanadi va natijada olingan server urug’i (SHA256) har bir raund boshlanishidan oldin ommaga taqdim etiladi. O’yiningiz natijasi haqiqatan ham isbotlanadigan adolatli ekanligini qanday tekshirishni keyinroq tushuntiramiz.

Aksincha, «mijoz urug’lari» o’yinchilarning brauzerlari tomonidan yaratiladi. Masalan, Aviator o’yinida garov tikish uchun o’sha raundda o’ynagan dastlabki uchta shaxsdan uchta mijoz urug’idan foydalanadi.

Raunddagi dastlabki uchta o’yinchi garov tikishganda, ular o’yin natijasi uchun qisman javobgar bo’ladilar. Mijozlar o’z mijozlarining urug’larini o’zgartirishlari mumkin va ba’zan ularga buni qilish tavsiya etiladi.

Server urug’i va mijoz urug’i SHA512 xeshini yaratish uchun aralashtiriladi, bu esa o’yin natijasini belgilaydi.