공정성
원본 주사위 및 범위 주사위 공정성
우리는 보안에 있어 당신이 우리의 말만 믿기를 원하지 않습니다. 대신, 우리는 각 롤의 공정성을 보장하는 방법을 설명할 것입니다.
랜덤화의 핵심
우리 회원들은 원할 때 언제든지 그들의 베팅을 검증할 수 있습니다. 이를 위해서는 롤 번호를 유도해야 합니다.
클라이언트 시드와 서버 시드 쌍에 세 번째 요소인 논스(Nonce)를 추가하면 베팅 결과를 유도할 수 있습니다. 물론, 결과를 미리 공개하면 전체 프로세스가 망가질 것입니다. 따라서 우리는 SHA-256 해시를 사용하여 서버 시드를 일시적으로 숨깁니다. 각 시드는 마지막 랜덤화가 발생한 후에 공개됩니다. 이는 우리 사용자에게 롤을 투명하게 검증할 수 있는 가능성을 제공합니다.
롤 번호가 어떻게 계산되는지
게임의 규칙은 롤 번호를 알아야 한다고 명시하고 있습니다. 이를 받기 위해서는 몇 가지 계산을 해야 합니다. 베팅 번호, 서버 및 클라이언트 시드를 결합합니다. 그 결과, 0과 9,999 사이의 숫자를 얻습니다.
작동 방식은 다음과 같습니다:
조합 = 서버 시드 + 클라이언트 시드 + 논스그 다음, SHA-512 해시를 사용하여 128자 헥스 문자열이 필요합니다:
해시 = 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;
}