이 페이지는 원래 영어로 작성되었습니다. 번역은 AI의 도움을 받아 작성되었으며 아직 다듬는 중입니다 — 알려주세요 어색한 부분이 있다면.

핸드 검증

모든 핸드는 처리된다 SPN 증명된 공정함이다. 우리는 RNG 시드의 암호학적 해시에 커밋합니다 전에 카드를 다 처리한 후, 핸드 뒤에 시드를 공개하세요. 거래가 조작되지 않았다는 것을 독립적으로 확인할 수 있어 신뢰가 필요 없습니다.

작동 방식

1

당신의 카드가 배분되기 전에

서버는 무작위 256비트 시드를 생성하고 이를 SHA-256 해시(‘커밋먼트’)로 계산합니다. 이 약속은 카드가 나가기 전에 즉시 핸드 기록에 저장됩니다.

2

카드가 나눠진다

덱은 동일한 랜덤 시드를 사용해 결정론적 Fisher-Yates 알고리즘으로 섞입니다. 모든 카드 배치는 그 시드에 의해 결정되며, 약속이 기록된 후에는 덱의 순서를 바꿀 방법이 없습니다.

3

핸드가 완료된 후에

원본 시드는 핸드 기록에서 확인할 수 있습니다. 이제 다음을 확인할 수 있습니다: SHA-256(공개된 시드)는 저장된 커밋과 같아야 합니다일치하면, 그 거래는 공정했다.

단계별 검증

1단계 — 핸드 기록 내보내기

계정에 로그인한 후 프로필 → 핸드 기록 → 내보내기로 이동하세요. JSON 파일을 다운로드하세요. 검증하려는 핸드를 찾고, rngSeedrngCommitment 필드를 찾으세요.

2단계 — 시드를 해시합니다

아래 방법 중 하나를 사용해 공개된 시드에 대해 SHA-256을 실행하세요. 출력값은 rngCommitment 값과 정확히 일치해야 합니다.

macOS / Linux(터미널)

echo -n "YOUR_RNG_SEED_HERE" | sha256sum

창( PowerShell)

$seed = "YOUR_RNG_SEED_HERE"
$bytes = [System.Text.Encoding]::UTF8.GetBytes($seed)
$hash = [System.Security.Cryptography.SHA256]::Create().ComputeHash($bytes)
($hash | ForEach-Object { $_.ToString("x2") }) -join ""

오픈소스 검증기(Node.js) 사용하기

npx spn-rng-verify --seed YOUR_RNG_SEED_HERE --commitment YOUR_RNG_COMMITMENT_HERE

spn-rng-verify 패키지는 npm에 공개되어 있으며 SPN 의존성이 없고, 실행 전에 직접 확인할 수 있는 독립적인 SHA-256 검사기입니다.

3단계 — 비교하기

해시 출력값은 핸드 레코드의 rngCommitment 필드와 정확히 일치해야 합니다. 일치한다면 거래는 공정했고, 약속 후에도 시드가 변경되지 않았다는 뜻입니다. 일치하지 않으면 즉시 지원팀에 문의하세요.

이것이 중요한 이유

기존 온라인 포커룸은 RNG를 신뢰하라고 요구합니다. 우리는 그렇지 않습니다 — 왜냐하면 당신이 그럴 필요가 없기 때문입니다. 약속은 카드가 나눠지기 전에 기록됩니다. 서버가 당신이 블러핑하려는 걸 보거나 상대가 강한 핸드를 가지고 있다는 걸 알면서 셔플을 바꿀 방법은 없습니다.

SPN에 있는 모든 핸드는 검증 가능합니다. 우리는 일부만 샘플링하거나 감사하지 않습니다. 모든 거래마다, 매번 전체 암호학적 증거가 제공됩니다.

모든 핸드에 걸친 통계 분포를 보고 싶나요? 우리는 관찰된 핸드 빈도와 예상 빈도를 비교한 RNG 통계를 매일 공개합니다.

RNG 통계 보기

저희 RNG 구현에 대해 궁금한 점이 있으신가요?

지원팀에 문의하기