## 开奖算法

抢庄牛牛的开奖算法，是通过加密算法预先生成，庄家不可能对游戏开奖结果进行篡改，每一盘的开奖结果，可以通过`开奖工具`验证结果。

### 算法流程
算法的设计理念：结果可证伪、防篡改、完全随机。

算法使用到两个种子来确保随机性：
* 服务器种子: 服务器随机生成
* 客户端种子: 昨天由指定地址进行Trx转账，生成的块ID

每天的0点，会对每一间房间，生成10万期的开奖结果，用于当天的开奖。如果没有使用完，则丢弃，第二天0点重新生成。

服务器随机获取一个服务器种子A，对服务器种子A进行哈希运算得到H1: Hash(A) = H1, 然后再对H1进行哈希运算得到H2: Hash(H1) = H2，一直循环得到H100000。

生成了种子之后，当天第一期的开奖使用H100000和客户端种子，进行哈希运算，得到K1: Hash(H100000 + 客户端种子) = K1，通过K1,计算每张牌的值。

假设生成的K1是: 40 2a d5 82 e5 eb be 47 54 16 7a 82 9c dc 15 45 96 2c e0 5b 4f c8 d6 20 95 f3 1c c5 24 9f 34 14，一共有64位，对应的牌型：

* 座位1: 0x40 0xeb 0x7a 0x45 0x4f 0xf3 ==> Q, 1, 2, 8, 10
* 座位2: 0x2a 0xbe 0x82 0x96 0xc8 0x1c ==> 3, 4, 4, 2, J
* 座位3: 0xd5 0x47 0x9c 0x2c 0xd6 0xc5 ==> 4, 1, 9, 8, 5
* 座位4: 0x8x 0x54 0xdc 0xe0 0x20 0x24 ==> 7, 2, 3, 7, 1
* 座位5: 0xe5 0x16 0x15 0x5b 0x95 0x9f ==> K, 8, 6, 8, 3


