在這一頁
老虎機(加密)
在這一頁
簡介
本頁解釋了基於加密公平遊戲流程的特定老虎機的工作原理。最終,所有老虎機的結果都是基於隨機數的抽取。對於加密遊戲,隨機數字是基於一長串隨機字元。
公平公正的賭場
Bonus Code
分析
就 Crypto.Games 的老虎機而言,它非常簡單。它是一款五轉軸單線遊戲。玩家必須下注 10 分。 10 個積分的價值由玩家決定。每個轉軸有八個不同的符號:蘋果、香蕉、櫻桃、葡萄、草莓、柳橙、比特幣和桃子。每個轉軸的結果與其他轉軸無關。
以下是 Crypto.Games 老虎機的賠付表。符號的位置無關緊要。例如,如果玩家獲得兩個比特幣符號,無論它們在賠付線上的位置如何,他都會獲得賠償。所有獎金均以「一賠一」計算。如果出現四個相同的水果和一個比特幣,我推測玩家只會獲得四個相同水果中較高的一個的賠付,儘管遊戲幫助文件並未提及這種情況。
賠償表
事件 | 支付 |
---|---|
五個比特幣 | 10000 |
五張相同的牌 | 1500 |
四個比特幣 | 700 |
四條 | 100 |
三個比特幣 | 70 |
兩個比特幣 | 二十五 |
一個比特幣 | 11 |
比賽分析
我認為 Crypto.Games 老虎機的運作方式是,每個符號應該具有相同的權重或機率。如果真是這樣,那麼下表就是我的分析。回報列為 (贏利)*(機率)/10。除以 10 的原因是玩家必須下注 10 分。右下角單元格顯示回報率為 98.03%。
回報表 — 等權重
事件 | 支付 | 組合 | 可能性 | 返回 |
---|---|---|---|---|
五個比特幣 | 10,000 | 1 | 0.000031 | 0.030518 |
五張相同的牌 | 1,500 | 7 | 0.000214 | 0.032043 |
四個比特幣 | 700 | 三十五 | 0.001068 | 0.074768 |
四條 | 100 | 245 | 0.007477 | 0.074768 |
三個比特幣 | 70 | 490 | 0.014954 | 0.104675 |
兩個比特幣 | 二十五 | 3,430 | 0.104675 | 0.261688 |
一個比特幣 | 11 | 11,970 | 0.365295 | 0.401825 |
失敗者 | - | 16,590 | 0.506287 | 0.000000 |
全部的 | 32,768 | 1.000000 | 0.980286 |
然而,公平遊戲的運作方式決定了某些符號的權重比其他符號更大。具體來說,蘋果、香蕉、櫻桃、葡萄和草莓的權重均為26,而柳橙、比特幣和桃子的權重均為25。轉軸停在任何特定符號上的機率與其權重成正比。遊戲的大部分回報來自比特幣符號。由於比特幣的權重為25,而整體平均值為25.625,因此轉軸停在比特幣上的機率略低於八分之一。這降低了遊戲的回報率,如下表所示。右下角單元格顯示回報率為95.06%。
回報表-不等權重
事件 | 支付 | 組合 | 可能性 | 返回 |
---|---|---|---|---|
五個比特幣 | 10,000 | 9,765,625 | 0.000027 | 0.026973 |
五張相同的牌 | 1,500 | 78,938,130 | 0.000218 | 0.032705 |
四個比特幣 | 700 | 351,562,500 | 0.000971 | 0.067972 |
四條 | 100 | 2,748,092,600 | 0.007590 | 0.075904 |
三個比特幣 | 70 | 5,062,500,000 | 0.013983 | 0.097880 |
兩個比特幣 | 二十五 | 36,450,000,000 | 0.100677 | 0.251691 |
一個比特幣 | 11 | 130,836,733,750 | 0.361377 | 0.397515 |
失敗者 | - | 186,513,035,520 | 0.515157 | 0.000000 |
全部的 | 362,050,628,125 | 1.000000 | 0.950639 |
公平遊戲
以下是 Crypto.Games 確定每個捲軸停止位置的過程。假設讀者了解哈希和 16 進制數學的基礎知識。如果不了解,請參閱我的骰子(加密版)頁面。
- 將伺服器種子和客戶端種子連接在一起,先連接伺服器種子。
- 取得步驟 1 的 SHA-512 雜湊值。
- 從左側開始,從步驟 2 的 Hash 中取出兩個字元。
- 將步驟 3 中的兩個字元從十六進位轉換為十進位。
- 取步驟4的結果的末位數字。
- 如果步驟5的結果是1到8,則將其對應到一個符號,如下所示:
- 1 = 蘋果
- 2 = 香蕉
- 3 = 櫻桃
- 4 = 葡萄
- 5 = 草莓
- 6 = 橙色
- 7 = 比特幣
- 8 = 桃子
- 如果步驟 6 在 1 到 8 範圍內,則將符號指派給捲軸,從左側開始。
- 無論是否找到符號,在哈希中前進兩個位置並返回步驟 3,直到找到 1 到 8 範圍內的五個數字(每個捲軸一個)。
例子
以下是範例手的運作流程。
在上圖的「可證明公平性」面板中,我選擇了自己的客戶端種子。然後,我將伺服器種子和客戶端種子的雜湊值複製並貼上到其他地方,並標記為「下一個伺服器種子 SHA256」。在本例中,它們是:
客戶端種子:sdf96dsf9876s9dd78f6 下一個伺服器種子雜湊:bdfa300164ebbd77ce9a3c3c58863688c4537df91173088915afdd4c9b6b302c
我下了注,然後玩了起來。我的遊戲結果(從左到右)是櫻桃-蘋果-香蕉-草莓-香蕉,我輸了。
選擇客戶端種子後,我會回到「可驗證公平」面板,確保結果已命中註定。以下是我採取的步驟:
- 首先,我注意到最後的伺服器種子,他們說的是:
ylVWazQHJxoG9TAcLmDj1n6q1UkJgyFW4oTJhUhL
我將其放入SHA-256 哈希程序中。該種子的哈希值為:
bdfa300164ebbd77ce9a3c3c58863688c4537df91173088915afdd4c9b6b302c
這與我下注前獲得的下一個伺服器種子雜湊相匹配,因此我可以確信,在我選擇客戶端種子之後但在下注之前,結果就已經註定了。
但是,我想知道為什麼結果是櫻桃-蘋果-香蕉-草莓-香蕉。驗證方法如下:
- 依序組合伺服器種子和客戶端種子,得到 ylVWazQHJxoG9TAcLmDj1n6q1UkJgyFW4oTJhUhLsdf96dsf9876s9dd78f6。
- 採用步驟 1 的SHA-512 雜湊值,得到3F8CEF835C55B60C8682C580C1A0C6DCA5013F4614A82A6797273495CCE46418 EA044CCD964B83D0765C9CE6A174F93E20DB56E118CF8AE82B2D0864FC09B066。
- 取前兩個字元 3F,並將其從十六進位轉換為十進位:3*16 + 15 = 48 + 15 = 63。
- 取 63 的最後一位數字 3。由於該數字在 1 到 8 的範圍內,因此請根據上述公平遊戲指南將其對應到一個符號。在本例中,3 對應 Cherry 符號。
- 將步驟 2 的雜湊值推進兩個符號,即 8C。
- 將 8C 從十六進位轉換為十進位:8*16 + 12 = 140。
- 140 的最後一位數字是 0,它不映射到任何內容,因此跳過 8C。
- 將步驟 2 中的雜湊值向前推進兩個符號,即 EF。
- 將 EF 從十六進位轉換為十進位:14*16 + 15 = 239。
- 239 的最後一位數字是 9,它不映射到任何數字,因此跳過 EF。
- 將步驟 2 的雜湊值推進兩個符號,即 83。
- 將 EF 從十六進位轉換為十進位:8*16 + 3 = 131。
- 取 131 的最後一位數字 1。由於 1 的範圍是 1 到 8,因此請根據上述公平遊戲指南將其對應到一個符號。在本例中,1 對應一個蘋果。
- 將步驟 2 的雜湊值推進兩個符號,即 5C。
- 將 5C 從十六進位轉換為十進位:5*16 + 12 = 92。
- 取 92 的最後一位數字 2。由於 2 的範圍是 1 到 8,因此請按照上述公平遊戲指南將其對應到一個符號。在本例中,2 對應香蕉。
- 將步驟 2 的雜湊值推進兩個符號,即 55。
- 將 55 從十六進位轉換為十進位:5*16 + 5 = 85。
- 取 85 的最後一位數字 5。由於 5 的範圍是 1 到 8,因此請按照上述公平遊戲指南將其對應到一個符號。在本例中,5 對應一個草莓。
- 將步驟 2 中的雜湊值向前推進兩個符號,即 B6。
- 將 B6 從十六進位轉換為十進位:11*16 + 6 = 182。
- 取 182 的最後一位數字 2。由於 2 的範圍是 1 到 8,因此請按照上述公平遊戲指南將其對應到一個符號。在本例中,2 對應香蕉。
- 已經找到了五個符號,因此櫻桃、蘋果、香蕉、草莓和香蕉會在中心支付線上向玩家顯示,作為其下注的結果。
公平遊戲守則
如果聽起來這些步驟繁瑣,我同意。為此,我特意寫了一個PHP 程式來幫你完成。只需點擊鏈接,然後按照以下說明操作即可:
- 在第 4 行輸入伺服器種子。
- 在第 5 行輸入客戶端種子。
- 在第 6 行輸入下一個伺服器種子雜湊。
- 點選“執行”。
伺服器種子的驗證和投注的結果將顯示在下面的結果框中。
我還保留了程式碼的副本,您可以透過點擊下面的劇透按鈕來查看。
[劇透]// Crypto.Games 的老虎機轉換 $server_seed = "ylVWazQHJxoG9TAcLmDj1n6q1UkJgyFW4oTJhUhL"; $客戶端種子 = “sdf96dsf9876s9dd78f6”; $next_server_seed_hash = "bdfa300164ebbd77ce9a3c3c58863688c4537df91173088915afdd4c9b6b302c"; $reel_strip_array=array("錯誤","蘋果","香蕉","櫻桃","葡萄","草莓","柳橙","硬幣","桃子"); $win_array=數組(10000,1500,700,100,70,25,11,0); $server_seed_hash=hash('sha256', $server_seed); 如果 ($server_seed_hash==$next_server_seed_hash) { echo "伺服器種子符合.\n"; } 別的 { echo“伺服器種子不符!\n”; echo "伺服器種子 =\t$server_seed\n"; echo「伺服器種子雜湊=\t$server_seed_hash\n」; echo「所謂的下一個哈希=\t$next_server_seed_hash\n」; } $reels_found=0; $位置=0; $combined_seed = $server_seed.$client_seed; echo "組合種子 = $combined_seed\n"; $combined_hash = hash('sha512', $combined_seed); echo“組合種子的雜湊值=$combined_hash\n”; 做 { $first_two=substr($combined_hash,$position,2); $hex_to_dec=hexdec($first_two)%10; 如果(($hex_to_dec>=1)&&($hex_to_dec<=8)) { $reels_array[$reels_found] = $hex_to_dec; $reels_found++; echo "捲軸 $reels_found =\t$reel_strip_array[$hex_to_dec]\n"; } $位置+=2; 如果 ($位置==128) { echo「錯誤-哈希中沒有更多空間。\n"; $reels_found=5; } } while ($reels_found<5); $coins=0; for ($i=0; $i<=4; $i++) { if ($reels_array[$i]==7) { $coins++; } } if ($coins==5) { $winif; ($reels_array[0]==$reels_array[1]) && ($reels_array[0]==$reels_array[2]) && ($reels_array[0]==$reels_array[3]) && ($reels_array[0]==$reels_array[4]if. $win=2; } elseif ((($reels_array[0]==$reels_array[1]) && ($reels_array[0]==$reels_array[2]) && ($reels_array[0]==$reels_array[3])) (($reels_array[0]==$reels_array[3])) || (($reels_array[0] ($reels_array[0]==$reels_array[2]) && ($reels_array[0]==$reels_array[4])) || (($reels_array[0]==$reels_array[1]) && ($reels_array[0]==$reels_array[3]reels [$re) (($reels_array[0]==$reels_array[2]) && ($reels_array[0]==$reels_array[3]) && ($reels_array[0]==$reels_array[4])) || (($reels_array[1]==$reels_array[4])) || (($reels_array[1]==$reels_array[4]) & [$2_reels. ($reels_array[1]==$reels_array[4]))) { $win=3; } // 四張相同的牌 elseif ($coins==3) { $win=4; } elseif ($coins==2) { $win=5; } elseif ($coins==1) { $win=cwin }; =\t$win_array[$win]\n" // 過程 // 1. 將「位置」步進為 0,將「找到的捲軸」步進為 0。 // 2. 按順序加入伺服器和客戶端種子以及伺服器種子。 // 3. 生成步驟中字串的 SHA-512 步驟 2. // 4. 從第 36666,666, v. // 4.從步驟 4 中取出末位數字。蘋果 // 2 = 香蕉 // 3 = 櫻桃 // 4 = 葡萄 // 5 = 草莓 // 6 = 柳橙 // 7 = 硬幣 // 8 = 桃子 ?>
[劇透]