ন্যায়তা
অনলাইন ডাইস ও রেঞ্জ ডাইসের ন্যায়তা
আমরা নিরাপত্তার ক্ষেত্রে শুধু আপনার কথা বিশ্বাস করতে বলছি না। পরিবর্তে, আমরা ব্যাখ্যা করব কিভাবে আমরা প্রতিটি রোলের ন্যায়তা নিশ্চিত করি।
র্যান্ডমাইজেশন একটি সংক্ষিপ্ত ব্যাখ্যা
আমাদের সদস্যরা তাদের বাজি যেকোন সময় যাচাই করতে পারেন। এটির জন্য, তাদের একটি রোল নম্বর বের করতে হবে।
যদি আপনি ক্লায়েন্ট সীড এবং সার্ভার সীডের এই জোড়ার সাথে একটি তৃতীয় উপাদান - ননস - যোগ করেন, তবে আপনি বাজির ফলাফল বের করতে সক্ষম হবেন। নিশ্চিত, যদি আপনি আগে থেকে আপনার ফলাফল প্রকাশ করেন, তবে এটি পুরো প্রক্রিয়াটি নষ্ট করে দেবে। তাই আমরা আপনার সার্ভার সীড সাময়িকভাবে লুকানোর জন্য SHA-256 হ্যাশ ব্যবহার করি। প্রতিটি সীড শেষ র্যান্ডমাইজেশনের পর প্রকাশ করা হয়। এটি আমাদের ইউজারদের তাদের রোলগুলো স্বচ্ছভাবে যাচাই করার সুযোগ দেয়।
কিভাবে রোল সংখ্যা নির্ধারিত হয়
গেমের নিয়ম অনুযায়ী আমাদের রোল নম্বর জানতে হবে। এটি পেতে, আমাদের কিছু গণনা করতে হবে। আপনার বাজির সংখ্যা, সার্ভার এবং ক্লায়েন্ট সিডগুলি একত্র করুন। ফলস্বরূপ, আমরা 0 এবং 9,999 এর মধ্যে একটি সংখ্যা পাই।
এটি কিভাবে কাজ করে:
সংমিশ্রণ = সার্ভার সিড + ক্লায়েন্ট সিড + নন্সএরপর, আমাদের একটি 128-অক্ষরের হেক্স স্ট্রিং প্রয়োজন SHA-512 হ্যাশ ব্যবহার করে:
হ্যাশ = SHA512(সংমিশ্রণ)এই মুহূর্তে, আমরা সেই হ্যাশের 5 অক্ষরকে একটি তথাকথিত দশমিক সংখ্যায় রূপান্তর করি। তারপর, তিনটি পরিস্থিতি সম্ভব। যদি এটি এক মিলিয়ন বা তার বেশি হয়, তাহলে আমরা পরবর্তী 5 অক্ষর ব্যবহার করে একইভাবে চালিয়ে যাই। এটি 25 বার পর্যন্ত ঘটে। যদি এদের মধ্যে কোনটি এক মিলিয়নের কম ফলাফল না দেয়, তাহলে শেষ 3 অক্ষর আপনার রোল নম্বর হয়ে যাবে। বিপরীত ক্ষেত্রে, আমরা এটি 10K দ্বারা ভাগ করি এবং আপনার রোলের ফলাফল বিবেচনা করি।
কোড কেমন দেখতে
আমাদের অনলাইন ভেরিফায়ার ব্যবহার করুন অথবা আমাদের বাজি যাচাইকরণের উপায় দেখতে কোড উদাহরণটি দেখুন:
function getRoll(serverSeed, clientSeed, nonce) {
var hash = sha512(serverSeed + clientSeed + nonce);
var index = 0;
do {
var lucky = parseInt(hash.substr(index, 5), 16);
index += 5;
} while (lucky >= 1000000);
return lucky % 10000;
}