Provably fair는 크립토 도박에서 가장 오해받는 표현입니다. 플레이어들은 그 배지를 카지노가 정직하다는 보증처럼 받아들이죠.... 하지만 아닙니다... 이것은 딱 한 가지, 매우 구체적인 것에 대한 보장일 뿐입니다. 그리고 provably fair 구현이 완벽한 카지노라도 수학이 허용하는 것보다 더 빠르게 당신의 자금을 먼지로 갈아버릴 수 있고, 출금을 질질 끌 수 있고, 기술적인 조항을 핑계로 당첨금을 무효 처리할 수도 있으며, 단 하나의 암호학적 약속도 어기지 않을 수 있습니다... 핵심은 그 ‘인증’이 정확히 무엇을 커버하고 무엇을 커버하지 않는지 아는 것입니다. 왜냐하면 그 답은 마케팅이 암시하는 것보다 훨씬 좁기 때문입니다.
한 문단으로 정리하는 Provably Fair
Provably fair 게임은 당신이 베팅하기 전에 결과를 ‘미리’ 확정(커밋)하고, 베팅이 끝난 뒤 당신이 직접 검증할 수 있게 만듭니다. 카지노는 이미 선택해 둔 비밀값의 암호화된 지문을 공개합니다. 당신은 당신 쪽의 랜덤 요소를 하나 더합니다... 게임은 둘을 공개된 공식으로 결합합니다. 라운드가 끝나면 카지노가 그 비밀값을 공개하고, 당신은 공식을 직접 다시 돌려보며, 결과가 게임에 표시된 것과 동일해야 합니다. 동일하다면, 카지노가 사후에 결과를 바꿔치기하지 않았다는 뜻입니다. 그게 약속의 전부입니다. 그 약속을 넘어서는 provably fair 설명은 틀렸거나, 판매용 문구일 뿐입니다.
Now read that again slowly and tell me Iam wrong :)한 라운드를 만드는 세 가지 입력값
Every provably fair 라운드는 세 가지 값으로 구성됩니다... 서버 시드는 카지노가 생성해 숨겨두는 랜덤 문자열입니다.... 어떤 베팅이 시작되기 전, 카지노는 그 시드의 해시를 공개합니다. 보통 SHA 256이죠. 해시는 단방향 지문입니다.... 카지노가 나중에 시드를 바꾸려 하면, 새 지문은 이미 보여준 지문과 일치하지 않아서, 거짓말이 수학적으로 드러납니다. 그리고 클라이언트 시드는 당신의 것입니다. 대부분의 플랫폼은 직접 입력하거나 클라이언트 측에서 랜덤 생성할 수 있게 해줍니다... 이 입력값이 카지노의 사전 계산 능력을 깨뜨립니다. 카지노는 자기 시드를 잠가둘 때 당신의 시드를 알 수 없기 때문입니다.공정하게 말하면, 논스(nonce)는 카운터입니다. 0에서 시작해 베팅마다 증가하며, 같은 서버 시드와 클라이언트 시드를 쓰더라도 매 라운드가 서로 다른 결과를 내도록 보장합니다.... 세 값 중 두 개는 내내 공개되어 있고, 세 번째는 라운드가 끝난 뒤 공개됩니다.
Often unnoticed but not here :)여기서 HMAC SHA256이 실제로 하는 일
진짜로, 이 세 입력값은 HMAC SHA256에 들어가고, 그 결과로 64자 길이의 16진수 문자열이 나옵니다. 그 문자열은 긴 헥스(16진) 숫자 시퀀스로 취급되고, 게임의 결과 매핑 함수가 그 숫자들을 씹어 먹으며 실제로 쓸 수 있는 값—크래시 배수, 주사위 롤, 카드 드로우, Plinko 버킷—을 만들어냅니다. 정확한 매핑은 게임마다 다르지만, 항상 결정론적입니다. 입력이 같으면 어떤 기기에서든, 알고리즘을 아는 한, 결과는 매번 동일합니다.

그래서 provably fair는 주로 dice, crash, Plinko, hi lo, mines, 같은 게임에 존재합니다. 결과 공간이 작고 기계적으로 단순하거든요. 헥스 문자열을 1부터 100 사이 숫자로 매핑하는 건 쉽습니다. 하지만 헥스 문자열을 50스핀짜리 Megaways 라운드(캐스케이딩 릴, 배수, 리트리거, 스캐터 트리거, 그리고 buy bonsu 사이드 게임까지 포함)로 매핑하는 건 쉽지 않습니다. 기술적으로는 가능하죠.... 하지만 상업적으로는 거의 없습니다. 어떤 메이저 슬롯 프로바이더도 이를 출시하지 않았기 때문입니다.
Now read that again slowly and tell me Iam wrong :)베팅을 실제로 검증하는 방법
검증 과정은 플레이어가 거의 하지 않는 부분이고, 그래서 속이고 싶은 카지노에겐 편리합니다. 단계는 짧습니다.
실제로는, 첫째, 베팅하기 전에 공개된 서버 시드 해시를 복사하세요. , 저장해 두세요... 이제 카지노는 그 값으로 ‘잠겼습니다’. 둘째, 당신의 클라이언트 시드를 직접 설정하세요... 플랫폼이 자동으로 채워준 값을 그대로 쓰지 마세요. 기본 클라이언트 시드 함정은 реально 존재합니다. 카지노가 방정식의 양쪽을 다 고르면 보호의 절반이 사라집니다.. 셋째, 라운드를 플레이하세요. 논스가 올라가는 걸 확인하세요. 넷째, 검증하고 싶을 때 카지노는 시드 로테이션을 허용합니다. 로테이션하면 카지노가 이전 서버 시드를 공개합니다.. 다섯째, 당신이 그 공개된 서버 시드를 직접 해시해서, 지문이 이전에 카지노가 약속한 것과 일치하는지 확인한 다음, 그 시드 + 당신의 클라이언트 시드 + 논스를 공개 알고리즘에 넣고 결과가 일치하는지 확인하세요.... 일치하면 그 라운드는 정직했습니다.. 해시가 일치하지 않으면 카지노가 진행 중에 시드를 바꾼 것이고, 이는 provably fair가 잡아내도록 설계된 가장 심각한 형태의 치팅입니다.
Experience changes perspective이를 위한 도구도 있습니다. 대부분의 provably fair 플랫폼은 검증기를 제공합니다.... 독립적인 오픈소스 검증기도 존재하는데, 사실 당신이 원하는 건 이쪽입니다. 카지노의 결과를 카지노의 검증기로 확인하는 건 순환 논리니까요.
Provably Fair가 진짜로 증명하는 것
목록은 짧고 구체적입니다. 카지노가 당신이 베팅한 뒤에 결과를 결정하지 않았다는 것을 증명합니다. 카지노가 커밋과 공개 사이에 서버 시드를 바꿔치기하지 않았다는 것을 증명합니다. 게임이 공개된 입력값으로 공개된 알고리즘을 실행했다는 것을 증명합니다..... 그게 전부입니다.... 세 가지. 전부 기계적이고, 전부 암호학적이며, 전부 실제입니다.
This is bigger then it looks.이건 작은 게 아닙니다. provably fair가 없다면 중앙화 카지노는 결과 생성기를 일방적으로 통제합니다. 당신은 그들의 말, 검증 기관의 말, 규제기관의 말을 믿어야 하고, 단 한 번의 스핀도 개인적으로 검증할 방법이 없습니다. provably fair는 신뢰의 한 층을 제거하고 수학으로 대체합니다. 유용하고 중요하죠... 하지만 ‘정직함’과는 같은 말이 아닙니다.
증명하지 못하는 것
여기서 대부분의 마케팅 페이지는 조용히 말을 흐립니다. provably fair는 게임이 카지노가 주장하는 하우스 엣지를 갖고 있다는 걸 증명하지 못합니다. 엣지는 해시에 있는 게 아니라 결과 매핑 함수에 있습니다. 카지노는 1% 엣지를 공개해 놓고도, 매핑이 조용히 6% 엣지를 내도록 만들 수 있으며, 그럼에도 모든 라운드는 검증을 통과합니다.. , 암호학은 ‘정직하지 않은 매핑’에 대해 정직할 뿐입니다.
Moving on..!또한 RNG 분포가 통계적으로 깨끗하다는 것도 증명하지 못합니다. 해시 출력은 이론상 랜덤처럼 보이고 균등 분포입니다. 하지만 실제로는 수백만 라운드와 카이제곱(chi square) 테스트가 있어야, 실제 결과 분포가 알고리즘이 약속한 것과 일치하는지 확인할 수 있습니다. 거의 어떤 플레이어도 그 테스트를 하지 않습니다.
출금이 지급될 것도 증명하지 못합니다. 이용약관이 지켜질 것도 증명하지 못합니다. 큰 승리 후 임의의 이유로 계정이 닫히고 당첨금이 몰수되지 않을 것도 증명하지 못합니다. 진행 중인 보너스가 당신이 감당 가능한 베팅 사이즈로는 통계적으로 롤오버 완료가 불가능하도록 ‘특별히’ 작성되지 않았다는 것도 증명하지 못합니다.... 이런 문제들은 provably fair가 해결하는 ‘결과 조작’ 문제보다 훨씬 큽니다.
Often unnoticed but not here :)또한 대부분의 카지노 게임에는 적용되지 않습니다. 라이선스 프로바이더의 슬롯, 라이브 딜러 게임, 그리고 메이저 스튜디오의 대부분 잭팟은 provably fair가 아닙니다..... 이들은 RNG 인증을 받거나 물리적으로 딜링됩니다........ 홈페이지의 provably fair 배지는 보통 인하우스 게임만을 의미합니다.
Provably Fair vs 인증 RNG, 한눈에 비교
| Property | Provably Fair | Certified RNG |
|---|---|---|
| Player can verify a single round | Yes | No |
| House edge can be verified | No (mapping not auditable round by round) | No (audit is statistical, not per round) |
| Trust required in operator | Low for outocme integrity | High |
| Trust required in third party | None (math is public) | Audit lab and regulator |
| Coverage | Crash, dice, Plinko, hi lo, mines | Slots, live, jackpots, table games |
| Statistical certification | None by default | Yes (eCOGRA, iTech Labs, GLI, BMM) |
| Resistance to post bet manipulation | Strong (cryptographic) | Procedural only |
| Useful against bonus fraud | No | No |
| Useful against withdrawal stalling | No | No |
가장 정직한 해석은 두 접근이 서로 다른 문제를 해결한다는 겁니다.... 인증 RNG는 Tier 1 시장의 규제기관을 만족시키기 위해 설계됐습니다. Provably fair는 플레이어와 카지노 사이에 규제기관이 굳이 필요 없는, 크립토 네이티브 게임에서 운영자의 재량을 제거하기 위해 설계됐습니다. 둘을 경쟁자로 취급하면 둘 다 말이 안 됩니다.. 진지한 크립토 카지노라면 필요한 게임에는 인증 RNG를, 이득이 있는 게임에는 provably fair를 씁니다. 둘 중 하나만 쓰는 카지노는 플레이어가 감안해야 할 ‘지름길’을 택한 겁니다.
Short term noise long term signal.기본 클라이언트 시드 함정
솔직히, 현실 세계의 provably fair 구현에서 가장 악용되기 쉬운 약점은 클라이언트 시드입니다... 수학이 성립하는 이유는 카지노가 서버 시드 해시에 커밋할 때 당신의 시드를 알 수 없기 때문입니다. 카지노가 당신의 클라이언트 시드를 대신 지정해주면 그 보호는 사라집니다. 카지노는 방정식의 양쪽을 모두 선택하고, 결과를 사전 계산한 뒤, 그 결과가 provably fair였다고 주장할 수 있습니다.
항상 당신의 클라이언트 시드를 직접 설정하세요. 아무거나 입력하세요. 키보드를 막 두드려도 됩니다. 문자열 자체는 중요하지 않습니다. 중요한 건 카지노가 생성한 게 아니라는 점입니다. 플랫폼이 이를 어렵게 만들거나 눈에 띄지 않게 해두면, 최소한 노란 신호입니다.
You may not always agree and thats fine.어디서 통하고, 어디서 통하지 않는가
현실적으로 provably fair는 결과 공간이 작고 결정론적인 게임에 어울립니다.. Crash는 해시를 배수로 매핑합니다..... Dice는 해시를 숫자로 매핑합니다. Plinko는 해시를 좌/우 결정의 시퀀스로 매핑합니다.. Mines는 해시를 보드 레이아웃으로 매핑합니다. 이런 것들은 깔끔한 원패스 매핑입니다.
진짜 슬롯 프로바이더의 슬롯은 다른 차원의 짐승입니다. , Pragmatic Play나 NetEnt 슬롯은 릴 가중치 테이블, 보너스 트리거, 프리스핀 리트리거, 스티키 와일드, 확장 와일드, 배수, 그리고 buy bonsu 사이드 마켓까지 포함된 완전 애니메이션 게임이며, 이 모든 것은 스튜디오가 운영자에게 라이선스하는 소프트웨어 안에 있습니다. 이런 슬롯은 어디서 플레이하든 provably fair가 아닙니다. 크립토 카지노 홈페이지의 배지는 거의 항상 인하우스 dice와 crash 타이틀만 커버합니다.. 그게 중요한지는 당신이 실제로 무엇을 플레이하느냐에 전적으로 달려 있습니다.