Tournament Land

تاس تخته‌نرد

چطور مطمین شیم تاس‌ها دستکاری نشدن؟

چهار قدم ساده که نشون می‌ده هیچ‌کس، حتی خود سرور، نمی‌تونه نتیجه‌ی تاس رو از قبل بچینه.

یک عدد مخفی ساخته می‌شه

سرور یک عدد تصادفی مخفی می‌سازه که فقط خودش می دونه

قفل اون عدد منتشر می‌شه

هش (قفل) همون عدد، نه خود عدد، بلافاصله برای هر دو بازیکن نشون داده می‌شه. از این لحظه سرور دیگه نمی‌تونه عوضش کنه.

شما یه عدد تصادفی می‌سازید

مرورگر شما خودش یه عدد تصادفی تولید می‌کنه و به سرور می‌فرسته.

حریف هم یه عدد تصادفی می‌سازه

مرورگر حریف هم همین کار رو مستقل از شما انجام می‌ده.

تاس از ترکیب سه عدد ساخته می‌شه

عدد مخفی سرور، عدد شما، و عدد حریف با هم ترکیب می‌شن و نتیجه تاس رو می‌سازن.

این چرخه هر نوبت دوباره تکرار می‌شه

بازی تموم می‌شه

همه نوبت‌ها بازی می‌شن تا مسابقه به پایان برسه.

سرور عدد مخفی‌اش رو فاش می‌کنه

حالا هرکسی می‌تونه عدد واقعی سرور رو ببینه.

قفل اول جور درمیاد؟

هرکسی می‌تونه چک کنه هش این عدد، همون قفلیه که اول بازی منتشر شده بود.

تاس‌ها دوباره محاسبه می‌شن؟

با همین سه عدد، تک‌تک تاس‌های بازی از نو محاسبه و با چیزی که بازی شده مقایسه می‌شه.

تایید شد

وقتی هر دو چک درست از آب دربیان، یعنی هیچ‌کس - نه سرور، نه بازیکن‌ها - نتونسته تاس رو دستکاری کنه.

این روش با الگوریتم متن‌باز و قابل‌بررسی HMAC-SHA256 ساخته شده؛ دقیقا همون کدی که توی بازی اجرا می‌شه. مشاهده کد منبع در گیت‌هاب