Cryptographic Audit Protocol · SHA-256 & HMAC

Provably Fair 可验证公平核验教程:BC.Game 哈希算法与种子验算指南

在加密游艺中,Provably Fair(可验证公平)是一项基于密码学哈希函数的零信任检验机制。它彻底消除了传统黑盒服务器“根据玩家下注额动态杀大赔小”的可能,让每一局《Crash(爆点)》、Hash Dice、Limbo 与 Mines 的开奖结果都能通过公开数学公式逆向验算。

单向不可逆
SHA-256 哈希锁死

开局前哈希值已定,改动任意一位字符将导致哈希摘要完全剧变。

双盲种子干预
客户端自由加盐

玩家可随时自定义客户端种子,平台无法单方面预知或操控最终随机值。

1% 庄家优势
99% RTP 数学固化

99% 返还率直接写入公开验算脚本,任何人均可在开源沙盒中逐局复现。

provably_fair_audit_terminal.sh
BC.Game Provably Fair 可验证公平哈希核验终端示意图
ALGORITHM: HMAC_SHA256(Hash, Salt)
CRASH_HASH #5839201: 7c8e9a1f4b02d3e...982a
VERIFIED_MULTIPLIER: 4.82× PASS

传统电子游艺(伪随机黑盒 RNG)

开奖逻辑封闭在中心化服务器,玩家无法事后复盘

  • 出奖时机滞后:玩家点击下注后服务器才临时生成随机数,理论上存在按筹码大小针对性控盘的隐患。
  • 无种子透明度:仅提供最终动画展示,不公布底层随机数种子(Seed)与计算过程。
  • 审计滞后:依赖第三方评测机构按年度抽检,普通玩家无法对单局异常波动进行实时数学验算。

BC.Game Provably Fair 可验证公平架构

哈希摘要前置公示 + 客户端种子联合加密

  • 先承诺后下注:当局结果的 SHA-256 哈希指纹在下注前已锁定,无论是 0.1 USDT 还是 10,000 USDT,爆点恒定不变。
  • 链式逆向验证:Crash 采用 1,000 万局倒序哈希链,对当前局哈希执行一次 SHA-256 即可100%还原上一局哈希。
  • 开源公式全公开:所有字节截取、16进制转10进制及 99% RTP 映射代码完全开源,支持任何第三方脚本离线校验。
SECTION 01 // MULTIPLAYER HASH CHAIN

SHA-256 逆向哈希链生成原理(Crash 爆点专用机制)

由于 Crash 是全服同屏多人游戏,系统采用 1,000 万个预生成 SHA-256 节点构成的逆向密码链,彻底杜绝中途篡改。

为什么“倒序消费”能证明平台没有实时改点?

SHA-256 具备严格的单向不可逆性:已知输入 X 可以瞬间算出 SHA256(X) = Y,但已知 Y 在算力上绝对无法反推 X。BC.Game 利用这一特性,在链条创建时从第 1 局正向加密到第 1,000 万局,而在实际开奖时则从第 1,000 万局往第 1 局倒序开奖:

初始生成末端 (第 10,000,000 节点)
用于第 1 局开奖 (Game #1)
Hash_N = 8f3d2a9c...41b0
爆点结果: 2.15×
验证公式:对下一局 Hash 执行 SHA256(Hash_N-1) == Hash_N
当前开奖节点 (第 9,999,999 节点)
用于第 2 局开奖 (Game #2)
Hash_N-1 = 5a1c7e09...89f2
爆点结果: 1.08×
验证公式:对下一局 Hash 执行 SHA256(Hash_N-2) == Hash_N-1
后续开奖节点 (第 9,999,998 节点)
用于第 3 局开奖 (Game #3)
Hash_N-2 = c49b01e8...33d1
爆点结果: 14.60×
核心防伪推论: 如果平台试图在第 3 局因为玩家重注而临时伪造一个新的 Hash_N-2,那么对这个伪造的哈希做一次 SHA-256 运算,绝对不可能等于几秒前已经全网公示的第 2 局 Hash_N-1!这就从数学底层锁死了全部 1,000 万局的先后顺序与数值。

Crash 爆点倍率转换源码解析

Node.js / JS

单局哈希还需结合全网公开的区块盐值(Salt,源自比特币特定高度区块哈希)进行 HMAC-SHA256 运算,截取前 52 bit(即 13 位十六进制字符)转换为最终爆点:

function crashPointFromHash(gameHash, salt) {
  // 1. 使用公开Salt对本局Hash执行HMAC-SHA256
  const hmac = crypto.createHmac('sha256', gameHash);
  hmac.update(salt);
  const hex = hmac.digest('hex');

  // 2. 截取前13位十六进制 (52-bit 精度)
  const subHex = hex.substring(0, 13);
  const r = parseInt(subHex, 16);
  const max52Bit = Math.pow(2, 52); // 4503599627370496

  // 3. 注入 99% RTP (1% 庄家优势)
  const X = r / max52Bit;
  const rawMultiplier = 99 / (1 - X);

  // 4. 向下取整保留两位小数,最低爆点为 1.00x
  return Math.max(1.00, Math.floor(rawMultiplier) / 100);
}
52-bit 最大整数空间 (2^52) 4,503,599,627,370,496
1.00× 秒爆概率 (X < 0.01) 固定 1.00% (庄家优势)
翻倍点 (≥ 2.00×) 理论出现率 49.50%
SECTION 02 // SEED INTERACTION MATRIX

服务器种子与客户端种子的三元交互逻辑

适用于 Hash Dice、Limbo、Plinko 与 Mines(扫雷)等单人独立回合制原创游艺。

PARAMETER 01

服务器种子 (Server Seed)

由 BC.Game 服务器生成的 64 位高熵随机字符串。在您正在使用该种子时,明文处于隐藏状态,但系统会提前向您展示它的 SHA-256 加密摘要(Server Seed Hash)。

开奖前可见 (Hashed):
e3b0c44298fc1c149afbf4c8996fb924...
轮换后揭晓 (Un-hashed):
9f86d081884c7d659a2feaa0c55ad015...
PARAMETER 02

客户端种子 (Client Seed)

完全由玩家浏览器生成或手动输入的随机字符串(支持任意字母、数字或幸运短语)。由于平台无法预知您会输入什么客户端种子,因此无法提前布置有利庄家的牌局。

玩家自定义输入示例:
BCGame_LuckyWhale_2025_888
建议每完成一个周期策略后手动更换一次种子。
PARAMETER 03

随机数递增器 (Nonce)

代表当前种子对(Server + Client Seed)下的局数计数器。从 0 开始,每下注一局自动 +1。确保在同一组种子下,每一局生成的 HMAC 哈希结果都截然不同。

第 1 次下注: ClientSeed:0
第 2 次下注: ClientSeed:1
第 159 次下注: ClientSeed:158

各大原创游戏 HMAC-SHA256 字节映射规则表

合成公式:HMAC_SHA256(Server_Seed, `${Client_Seed}:${Nonce}`)

查看原创矩阵策略详情
原创玩法 哈希合成参数 字节截取方式 开奖结果数学转换公式
Crash (爆点) HMAC_SHA256(GameHash, BlockSalt) 前 13 位 Hex (52 bits) max(1.00, floor(99 / (1 - r / 2^52)) / 100)
Limbo (星际跃迁) HMAC_SHA256(ServerSeed, ClientSeed:Nonce) 前 13 位 Hex (52 bits) max(1.00, floor(99 / (1 - r / 2^52)) / 100)
Hash Dice (哈希骰子) HMAC_SHA256(ServerSeed, ClientSeed:Nonce) 前 8 位 Hex (4 Bytes) floor((int32 / 2^32) * 100000) → 00000 ~ 99999
Mines (25格扫雷) HMAC_SHA256(ServerSeed, ClientSeed:Nonce:Cursor) 每 4 Bytes 驱动一次洗牌 Fisher-Yates 洗牌算法对 0~24 格地雷坐标排序
Plinko (掉落弹珠) HMAC_SHA256(ServerSeed, ClientSeed:Nonce) 8~16 组 4 Bytes 浮点数 每层判断 float < 0.5 向左(0)或向右(1)偏转
SECTION 03 // STEP-BY-STEP AUDIT & SANDBOX

分步骤开奖结果验算方法与交互式核验沙盒

按照以下 4 个标准动作提取对局凭证,并在下方验算面板中实时核对十六进制字节向开奖倍率的转换过程。

STEP 01

定位历史注单 ID

在游戏界面下方点击“我的投注(My Bets)”或“全服记录”,点开任意一局需要核验的注单弹窗,复制顶部显示的 Bet ID 与当局哈希摘要。

注意:Crash 无需轮换即可直接查看当局 Game Hash。
STEP 02

轮换并解锁服务器种子

若是 Limbo、Hash Dice 或扫雷,点击弹窗右上角的盾牌图标进入“Seed Settings”,点击 Rotate Seed Pair(更换种子)。系统将立刻公开旧种子的明文。

安全规范:绝不能用正在服役的未公开种子验算未来局。
STEP 03

比对前后哈希一致性

将揭晓的 Server Seed 明文 进行一次标准 SHA-256 哈希,检查所得结果是否与您开局前看到的 Server Seed Hash 完全一致。

一致即证明:服务器从未在您下注后篡改种子。
STEP 04

代入公式核对最终倍率

将 Server Seed、Client Seed 与当局 Nonce 填入下方实时验算沙盒(或第三方开源脚本),比对计算出的爆点或骰子点数是否与实际派彩分毫不差。

支持下方沙盒一键载入真实测试向量。

PROVABLY_FAIR_LIVE_VERIFIER v2.4

前 13 位关键截取字节:

STEP-BY-STEP BYTE DECODING 99% RTP LOCKED
1. 截取有效十六进制片段 (Sub-Hex Extraction):
2. 十六进制转十进制大整数 (Hex to Decimal):
parseInt(subHex, 16) =
3. 归一化随机浮点数分布 (Normalized Float X):
4. 代入 1% 庄家优势公式 (House Edge Formula):
VERIFIED GAME OUTCOME // 验算结果
SECTION 04 // INDEPENDENT THIRD-PARTY VERIFICATION

第三方独立核验工具比对指南与防伪自检清单

除了使用本页沙盒与内置校验器,玩家还可以将代码复制到完全离线的本地浏览器控制台或开源沙盒中进行交叉比对。

浏览器按 F12 离线自验脚本(零外部依赖)

Web Crypto API

如果您对任何网页工具都不放心,可以直接在任意空白浏览器标签页按下 F12 打开开发者控制台(Console),粘贴以下原生 JavaScript 代码,利用浏览器底层内置的 crypto.subtle 离线验算:

async function verifyBCGameCrash(gameHash, blockSalt) {
  const enc = new TextEncoder();
  const key = await crypto.subtle.importKey(
    'raw', enc.encode(gameHash),
    { name: 'HMAC', hash: 'SHA-256' }, false, ['sign']
  );
  const sig = await crypto.subtle.sign('HMAC', key, enc.encode(blockSalt));
  const hex = Array.from(new Uint8Array(sig))
    .map(b => b.toString(16).padStart(2, '0')).join('');
  
  const r = parseInt(hex.slice(0, 13), 16);
  const crash = Math.max(1, Math.floor(99 / (1 - r / Math.pow(2, 52))) / 100);
  console.log({ hmacHex: hex, verifiedMultiplier: crash + 'x' });
}
// 调用示例:传入本局Hash与公开Salt即可在控制台打印精确爆点
支持断网环境执行

直接调用操作系统内核级 SHA-256 指令集,不向任何服务器发送请求。

兼容 GitHub 开源验算库

算法与主流开源 Provably Fair 校验仓库 100% 字节级兼容。

玩家核验防坑自检三原则

  • 1. 区分“哈希值”与“明文种子”

    许多新手直接把未轮换前的 Server Seed (Hashed) 填入验算器导致结果不符。请务必先点击轮换(Rotate),用揭晓后的明文种子进行验算。

  • 2. 理解“独立事件”与“历史走势”的关系

    既然每一局哈希早已锁定,说明连红或连绿是纯粹的密码学随机分布波动,不存在“系统看你倍投故意连杀10局”。

  • 3. 定期保存 Server Seed Hash 截图

    在进行大额自动脚本挂机前,先复制保存当前的 Server Seed Hash,挂机结束后轮换种子并校验前后哈希指纹一致。

NEXT QUANTITATIVE MODULE

完成公平性核验后,如何规划量化策略?

确认开奖结果具备 99% RTP 与不可篡改性后,胜负关键便完全取决于“爆点分布统计”与“仓位止损纪律”。

前往实战平台查看实时哈希链 打开 BC.Game 核验端