공정성 증명
"공정성 증명"이란?
온라인 게임에서의 피해를 우려하는 유저들이 많습니다.
하지만 젬릿은 사기/스캠성 온라인 게임 사이트가 아닙니다. 젬릿에서는 검증 가능한 공정성기술로 유저들이 각 롤의 결과를 확인하고 사기 피해를 당하지 않았음을 보장합니다.
공정성 증명은 어떻게 작동하나요?
공정성 증명에서는 각 롤의 결과가 다음 변수들에 의해 계산됩니다:
- 서버 시드 - 젬릿이 제공하는 무작위 문자열
- 클라이언트 시드 - 귀하의 브라우저에서 생성되는 문자열
- 논스 또는 게임 횟수 - 게임을 할 때마다 증가하는 숫자
게임을 시작하기 전에 암호화된 서버 시드를 받게 됩니다.
이 시드는 미리 제공되므로, 나중에 변경할 수 없습니다. 하지만 암호화되어 있기 때문에, 미리 자신의 롤 결과를 계산할 수는 없고, 오직 나중에 복호화된 서버 시드를 받으면 가능합니다. 서버 시드는 SHA512 해싱 알고리즘을 사용해 해시됩니다.
당신의 브라우저는 무작위 클라이언트 시드를 생성합니다. 하지만 시작 전에 이 클라이언트 시드를 조정할 수 있으며, 조정하는 것이 좋습니다. 이렇게 하면 사이트가 미리 당신의 클라이언트 시드를 알지 못하게 할 수 있습니다.
이제 배팅을 하면 논스는 1부터 시작합니다. 각 배팅 후에 논스 숫자는 1씩 증가합니다.
결과를 계산 중입니다.
게임에서 최종 롤 결과를 얻기 위해 3단계를 거칩니다.
Step 1 - 변수 해싱
이 단계에서는 HMAC을 사용하여 SHA512/256 알고리즘으로 서버 시드를 키로, 클라이언트 시드와 논스를 데이터로 사용하여 해싱합니다. 이 데이터들은 하이픈(-)으로 연결됩니다.
자신이 직접 계산할 수도 있습니다. 여기로 가서 이 코드를 실행해 보세요:
echo hash_hmac('sha512/256', 'your client seed-your nonce', 'server seed');
결과는 38611068f6936027c4657138536fb5bb8f82a6cb2d883f1acb47cb24013f9e93가 될 것입니다.
Step 2 - 해시 값을 숫자로 변환
2단계에서는 이전 단계에서 얻은 결과를 숫자로 변환합니다. 여기로 가서 이 코드를 실행해 보세요:
echo number_format(hexdec('38611068f6936027c4657138536fb5bb8f82a6cb2d883f1acb47cb24013f9e93'), 0, ".", "");
결과로는 25501016943689873370561741542489390377389678092728534236058081515070178721792와 같은 매우 긴 숫자가 나옵니다.
Step 3 - 최종 롤 계산
우리는 0에서 100 사이의 소수 롤을 원하기 때문에, 먼저 이전 단계에서 얻은 숫자를 최대 가능한 숫자, 즉 1664로 나눕니다 (64는 1단계에서 얻은 해시 문자열의 길이입니다).
마지막으로 롤을 계산합니다:
roll = 0 + 나눈 숫자 * 100
이 예시에서는 결과가 22.0231입니다.
상품은 어떻게 선택되나요?
eBox 페이지로 이동하면 확률 보기를 클릭하여 확률을 선택할 수 있으며, 페이지 하단의 "롤 보기"를 클릭하면 롤을 확인할 수 있습니다.
박스 내 각 항목에 대해, 해당 상품을 얻기 위해 필요한 롤 범위를 볼 수 있습니다. 예를 들어, 95.54에서 97.22일 경우, 95.54보다 높고, 97.22보다 작거나 같은 숫자를 롤하면 그 상품을 얻을 수 있다는 의미입니다.
모든 것이 공정한지 어떻게 확인할 수 있나요?
부정 행위가 없음을 확인하려면, 이전에 설명한 단계들을 따라가세요.
물론, 서버 시드를 공개한 후에만 게임을 검증할 수 있습니다.
당신의 서버 시드, 클라이언트 시드, 논스는 페이지 상단의 "공정성" 팝업에서 확인할 수 있습니다. (모바일에서 젬릿에 접속하는 경우, 왼쪽 상단 메뉴에서도 확인 가능합니다.)