솔로 베팅
여섯 가지 게임은 하우스를 상대로 혼자 합니다. 주사위 두 개, 동전 던지기, 룰렛, 슬롯, 복권, 크래시입니다. 베팅은 좌석이 하나인 CreateApp 트랜잭션입니다. 결과는 베팅을 걸 때 존재하지 않았던 무작위성에서 나오며, 당첨금은 앱 풀이 지급합니다.
베팅 걸기
베팅하는 사람은 게임 유형(16~21), 베팅 내용, 판돈을 ZBC나 토큰으로 담은 CreateApp을 보냅니다. 판돈은 베팅이 실행될 때 앱 풀로 옮겨집니다. Ethereum이나 Bitcoin 방식의 키를 가진 계정을 포함해 어떤 계정이든 베팅할 수 있습니다. 이런 계정은 멀티플레이어 게임에서는 좌석을 차지할 수 없습니다(멀티플레이어 앱).
끝에 붙이는 바이트 N(1~100)은 같은 베팅을 하나의 시드로 N번 플레이하며, 판돈은 플레이마다 고르게 나뉩니다.
결과를 추첨하는 시점과 방법
블록 N에 포함된 베팅은 블록 N + 2에서, 약 30초 뒤에 그 블록의 시드로 결정됩니다. 각 블록의 시드는 그 생산자가 검증 가능한 난수 함수로 이전 시드에서 계산하므로(블록 시드 (VRF)), 베팅이 블록 N에 들어가는 동안 블록 N + 2의 시드는 아직 존재하지 않습니다. 아무도 결과를 예측할 수 없고, 베팅을 포함한 생산자도 결과를 먼저 볼 수 없습니다. 높이 N + 2의 블록을 베팅한 사람 자신의 노드가 만들면(소유자 계정을 비교합니다), 베팅은 다른 누군가가 만든 이후 블록을 기다립니다.
추첨은 고유한 태그 아래에서 그 시드와 앱 id를 해시한 값입니다.
r = LE64(first 8 bytes of SHA3-256("zbc-apps" ‖ seed ‖ LE64(app id) ‖ LE64(0)))
여러 번 플레이할 때 첫 플레이는 r을 쓰고, 이후 플레이는 r로 시작하는 splitmix64 생성기의 출력을 씁니다. 누구나 공개 데이터로 결과를 다시 계산하고 지급을 확인할 수 있습니다. 공개할 비밀도, 하루 단위의 일괄 처리도 없습니다. 모든 베팅은 각각 따로 정산됩니다.
지급표
| 게임 | 베팅 | 당첨 시 지급 | 하우스 엣지 |
|---|---|---|---|
| 동전 던지기 (17) | 앞면 또는 뒷면 | 1.98배 | 1 % |
| 주사위 두 개 (16) | 7 미만 또는 7 초과 | 2.28배 | 5 % |
| 럭키 7 | 5.70배 | 5 % | |
| 정확한 합계 | 34.20 ÷ 경우의 수 (2나 12: 34.2배) | 5 % | |
| 룰렛 (18) | 숫자 하나 | 36배 | 1/37, 약 2.7 % |
| 빨강 또는 검정 | 2배 | 약 2.7 % | |
| 슬롯 (19) | 트리플 7, 다른 트리플, 아무 페어 | 50배, 15배, 1.8배 | 약 10.7 % |
| 복권 (20) | 0~99 중 숫자 하나 | 90배 | 10 % |
| 크래시 (21) | 1.01배~10.00배의 목표 T | 크래시 지점이 T에 이르면 T | 약 1 % |
주사위의 정확한 합계에서 경우의 수는 두 주사위로 그 합을 만드는 방법의 수로, 6 − |7 − 합계|입니다. 룰렛에는 37칸이 있으며 0은 초록이고, 색 배치는 실제 유럽식 휠을 따릅니다. 슬롯은 심볼 여덟 개짜리 릴 세 개로, 기대 수익은 457.4/512입니다. 크래시에서는 목표가 베팅할 때 정해지며, 일찍 현금화하는 수는 없습니다.
하우스 엣지는 각 지급표에 들어 있습니다. 동전 던지기에서는 절반의 확률로 이기고, 이기면 판돈의 1.98배를 돌려받으므로, 평균적으로 건 1 ZBC는 0.5 × 1.98 = 0.99 ZBC로 돌아오고 나머지 1 %는 앱 풀에 남습니다. 지면 아무것도 움직이지 않습니다. 판돈은 이미 풀에 있기 때문입니다.
베팅 상한
베팅을 받아들이기 전에, 노드는 그 베팅이 낼 수 있는 평균이 아니라 가장 큰 지급액을 계산해, 판돈 자산으로 된 풀 잔액의 5 %인 상한과 비교합니다.
largest payout ≤ floor(pool balance × 500 ÷ 10,000)
가장 큰 지급액은 주사위에서는 그 베팅 자체의 배수, 동전 던지기는 1.98배, 룰렛은 36배, 슬롯은 50배, 복권은 90배, 크래시는 T입니다. 상한을 넘는 베팅은 제출할 때 거부되며("bet too large for the apps pool"), 그래도 블록에 들어간 베팅은 수수료를 내는 무동작이 됩니다.
상한이 있으므로 어떤 운 좋은 결과 하나도 풀을 바닥낼 수 없습니다. 두 번째 한도인 블록당 허용량은 아주 큰 당첨금을 여러 블록에 나누어 지급할 수 있습니다(앱 풀).