Công bằng
Sự công bằng của Xúc Sắc Gốc & Xúc Sắc Phạm Vi
Chúng tôi không muốn bạn chỉ tin vào lời nói của chúng tôi về bảo mật. Thay vào đó, chúng tôi sẽ giải thích cách chúng tôi đảm bảo sự công bằng của mỗi lần gieo.
Nguyên lý ngẫu nhiên trong một vài từ
Các thành viên của chúng tôi có thể kiểm tra cược của họ bất cứ khi nào họ muốn. Để làm điều này, họ nên suy ra số lần gieo.
Nếu bạn thêm một yếu tố thứ ba – Nonce – vào cặp Client Seed và Server Seed, bạn sẽ có thể suy ra kết quả của cược. Chắc chắn, nếu bạn tiết lộ kết quả của mình trước thời gian, điều đó sẽ làm hỏng toàn bộ quá trình. Do đó, chúng tôi sử dụng SHA-256 hash để ẩn tạm thời Server Seed của bạn. Mỗi Seed sẽ được tiết lộ sau khi lần ngẫu nhiên cuối cùng diễn ra. Điều này cung cấp cho người dùng của chúng tôi khả năng xác minh các lần gieo của họ một cách minh bạch.
Cách mà các số lăn được tính toán
Các quy tắc của trò chơi quy định rằng chúng ta cần biết số lăn. Để nhận được nó, chúng ta nên thực hiện một số tính toán. Kết hợp số cược của bạn, Server Seed và Client Seed. Kết quả là, chúng ta có một con số giữa 0 và 9,999.
Đây là cách nó hoạt động:
kết hợp = Server Seed + Client Seed + NonceTiếp theo, chúng ta cần một chuỗi hex 128 ký tự sử dụng SHA-512 hash:
hash = SHA512(kết hợp)Vào thời điểm này, chúng ta chuyển đổi 5 ký tự của hash đó thành một số thập phân gọi là. Sau đó, có ba kịch bản có thể xảy ra. Nếu nó lớn hơn hoặc bằng một triệu, chúng ta tiếp tục theo cách tương tự với 5 ký tự tiếp theo. Điều này xảy ra tối đa 25 lần. Nếu không có thử nghiệm nào trong số này cho kết quả nhỏ hơn một triệu, ba ký tự cuối cùng sẽ được chuyển đổi thành số lăn của bạn. Trong trường hợp ngược lại, chúng ta chia nó cho 10K và xem xét kết quả số lăn của bạn.
Mã nhìn như thế nào
Sử dụng trình xác minh trực tuyến của chúng tôi hoặc xem qua ví dụ mã để xem chúng tôi xác minh cược của mình như thế nào:
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;
}