RNG 랜덤 시퀀스 사실
랜덤 시퀀스는 "카오스" 가 아니라 검증 가능한 속성을 가진 값 스트림입니다. 게임 시스템에서 스핀, 배포, 승수의 정직은이 스트림의 품질에 달려 있습니다. 다음은 RNG 시퀀스가 무엇인지, 어떻게 확인해야하는지에 대한 주요 사실입니다.
1) 독립은 "아름다움" 보다 더 중요합니다
i.i.d. (독립적이고 균등하게 분배 된) 금본위 제입니다.
눈에 보이는 패턴이 없다고해서 임의성이 보장되는 것은 아닙니다. 상관 관계 및 직렬성에 대한 테스트는 "눈" 이 아니라 중요합니다.
2) 분포는 프로토콜에 의해 지정됩니다
"원시" 스트림에서는 종종 균일 성이 가정됩니다 (예: 32 비트 단어도 똑같이 가능합니다).
게임에서 균일 한 숫자는 슬롯 기호, "가상 데크" 카드, 휠 섹터와 같은 이벤트에 매핑됩니다. 올바른 매핑 = 데드 영역이없고 왜곡이 없습니다.
3) 항상 기간이 있습니다-질문의 길이는
PRNG는 유한 기간 (주기성) 을 갖습니다. 좋은 발전기는 너무 오래 작동하여 실제 작동시 "우회" 하지 않습니다.
상태/nonce 재사용 일치를 피하는 것이 중요합니다. 그렇지 않으면 서브 시퀀스가 반복됩니다.
4) 씨앗-예측 불가능의 근본
시트에 의한 잘못된 초기화는 반복 가능하거나 예측 가능한 출력을 제
신뢰할 수있는 시스템은 다중 채널 엔트로피와주기적인 재 시딩 (문서화) 을 사용합니다.
5) 엔트로피는 "노이즈" 와 동일하지 않습니다
비트 엔트로피는 흐름이 얼마나 예측할 수 없는지 측정합니
하드웨어 엔트로피 (노이즈) 는 일반적으로 빠르고 지속적인 스트림을 생성하기 위해 암호화 DRBG (CSPRNG) 에 의해 소화됩니다.
6) p- 값은 "아름답지 않아야합니다"
테스트 배터리 (주파수, 직렬, "생일", 매트릭스 순위 등) 에서 p- 값은 [0; 1] 오히려 "약 0을 모으십시오.
하나의 "빨간색" 테스트는 문제를 증명하지 못합니다. 다수의 점검을 고려하여 실행을 반복하십시오.
7) 로컬 "스트립" 은 버그가 아닙니다
진정으로 임의의 순서에서 클러스터 (긴 일련의 0/1, 문자 반복) 가 발생합니다.
줄무늬는 정상입니다. 체계적인 위험-큰 창문에 대한 지속적인 왜곡.
8) 선형성은 숨겨진 적입니다
LCG 형식의 간단한 선형 생성기는 기본 테스트를 통과 할 수 있지만 복잡한 테스트 (매트릭스 순위, 선형 복잡도, DFT) 에 "부어집니다".
게임 산업에서 표준은 암호화 DRBG (예: 블록 암호/해시) 입니다.
9) 매핑은 정지 및 버전이어야합니다
일치 테이블 "번호 → 이벤트" = 새 게임 버전으로 변경하고 다시 확인하십시오.
해시 합계와 디지털 서명으로 매핑을 수정하는 것이 좋습니다.
10) "거의 승리" -스트림이 아닌 인터페이스에 대해
니어 미스는 비주얼 드라마의 일부입니다. 공유와 행동은 게임의 수학에 의해 설정됩니다.
RNG는 숫자를 제공하고 인터페이스는 스토리를 알려줍니다.이 레이어는 분리되어야합니다.
11) 재현성 및 예측 가능성
감사의 경우 각 라운드가 기록되어 결과를 재현 할 수 있습니다 (라운드 ID, sid/nonce, 해시).
이것은 게임 당시의 흐름을 예측할 수 없습니다. 비밀 (sid) 과 상태가 보호됩니다.
12) "좋은" 시퀀스는 감독하에 prod에 산다
릴리스 후 모니터링이 중요합니다. RTP가 인증 된 것으로 수렴하는지 여부, 심볼 주파수, 반복 및 "핫" 숫자에 드리프트가 있는지 여부.
임계 값 → 제목 격리 및 기술 조사에 대한 경고.
13) 상태 및 흐름-별도
다른 게임/테이블/인스턴스는 독립적 인 RNG 상태를 사용합- 한 스트림을 여러 제품으로 "분할" 할 수 없습니다. 상호 상관 관계가 나타납니다
14) 앞으로/뒤로 보안이 보이는 것보다 더 중요합니다
현재 상태를 손상시킬 때 좋은 CSPRNG는 시퀀스의 과거 (백킹 저항) 와 미래 (포워드 보안) 를 공개해서는 안됩니다.
이것은 암호화 프리미티브와 정기적 인 재 시딩에 의해 달성됩니다.
15) "확실히 공정하다" 는 부적격 대체를 증명
Revil (서버 sid hash → 공개) + 클라이언트 sid는 플레이어에게 결과를 다시 계산 할 수있는 기회를 제공합니다.
이것은 일관성을 보장하지만 게임 수학 및 매핑 감사를 대신 할 수는 없습니다.
나쁜 일관성이 어떻게 생겼는지 (표시)
동일한 입력으로 측면/nonce → 중복 결과를 반복하십시오.
큰 창에서 안정적인 주파수 왜곡 (단일 클러스터가 아님).
DFT에서 감지 가능한 기간, TestU01/BigCrush에서 "딥".
합리적인 볼륨으로 선언 된 경험적 RTP의 드리프트.
좋은 일관성
신뢰 구간 내에서 주파수와 직렬성조차; 균일 한 p- 값.
인접한 요소와 먼 요소 사이의 상관 관계 부족.
모델에 대한 경험적 RTP/이벤트 주파수 수렴.
프로덕션 바이너리와 인증 된 바이너리 (해시 제어) 간의 차이가 없습니다.
미니 침대
스튜디오/제공자
다중 채널 엔트로피에서 CSPRNG + 문서화 된 시드를 사용하십시오.
스트림/게임별로 별도의 상태; nonce 로그를 유지하십시오.
RTP가 다 떨어질 때까지 레이스 NIST/다이 하더/테스트 01과 매핑 마사지 시뮬레이션.
디지털 서명에 대한 매핑 및 바이너리 수정; 서명되지 않은 릴리스 금지.
prod에서 드리프트 메트릭에 대한 경고를 설정하십시오. 격리 및 롤백 계획.
운영자
인증 된 게임에 대해 게임 버전과 해시를 확인하십시오.
RTP/주파수/반복 모니터; 임계 값과 자동 경고를 유지하십시오.
티켓으로 빠르게 내보낼 수있는 변경 불가능한 둥근 로그를 보관하십시오.
플레이어를 위해
RTP, 규칙, 버전, 최대 승리 정보 화면을 확인하십시오.
클러스터를 "비틀기" 와 혼동하지 마십시오. 줄무늬는 정상입니다.
분쟁에서 둥근 ID와 추출물을 요청하십시오. 결과를 재현해야합니다.
RNG 랜덤 시퀀스는 독립성, 정확한 분포, 장기, 유능한 사이딩 및 타협 저항과 같은 검증 가능한 특성을 가진 엔지니어링 아티팩트입니다. 게임에서 고품질 스트림이 올바른 매핑 및 제어 절차 (출시 전 인증, 로그 및 모니터링) 에 연결되는 경우 정직이 발생합니다. 세 계층이 모두 제자리에 있으면 "임의성" 은 약속에서 신뢰할 수있는 관행으로 바뀝니다.