Skip to main content
Dice 的点数完全不依赖任何运营方秘密值。它在链上由三项输入推导得出:你的下注交易执行时捕获的 Solana slot hash、你的账户地址,以及你个人的下注计数器;随后在提交下注的同一笔交易中完成结算。这里没有任何可供运营方挑选的种子,事后也没有需要揭示的内容。 本页给出每一次 Dice 掷骰背后的确切机制。Dice 是公平可验证机制中最简单的情形:这里完全不存在运营方秘密值 —— 点数由公开输入推导得出,并在提交该笔下注的同一笔交易中于链上结算。

Dice 为什么没有承诺步骤?

Crash 需要一个已承诺的秘密值,因为它的结果必须在本局进行期间_已确定但仍隐藏_。掷骰没有这样的阶段:结果在抽取它的同一条指令中就被消费掉了。因此这里不是去承诺某个秘密值,而是推导过程完全不使用任何运营方输入 —— 没有什么需要承诺,没有什么需要揭示,也不存在运营方可以择优挑选的种子。 熵来自 Solana 网络本身,并与标识你这笔下注的若干数值混合:
  • slothash —— 你的下注交易执行那一刻,Solana SlotHashes sysvar 中最新的条目。这是由网络产生的熵,在构造交易时并不可知(发送方无法确知一笔交易会落在哪个槽位)。
  • user —— 你链上用户账户(程序由你的钱包推导出的账户)的 32 字节地址。它使不同玩家之间的点数相互独立:落在同一槽位的两笔下注会得到不同的点数。
  • nonce —— 你个人的下注计数器,存储在链上,每玩一次递增。它使你自己连续的下注即便落在同一槽位也彼此独立,同时兼作重复提交的防护。

Dice 点数的精确公式是什么?

重新计算时需要留意的细节:
  • 哈希输入是按以下确切顺序拼接的:ASCII 标签 "dice"、槽位哈希、用户账户地址,然后是编码为 8 字节小端的 nonce。
  • 采样取 SHA-256 输出的前 16 字节,按大端读作无符号 128 位整数,再对 10,000 取模。
  • 把 128 位样本对 10,000 取模,其理论偏差低于 2⁻¹¹⁴ —— 比庄家优势小了几十个数量级,因此我们选择把它记录下来而非去修正它。

获胜条件与赔付

你所选择的胜率必须落在 2% 与 98% 之间。在当前 1.5% 的优势下(edge_bps = 150): 每个目标值的期望回报都相同:胜率 × 倍数 ≈ 本金的 98.5%(向下取整最多带来一个基点的、有利于庄家的偏差)。当前的优势与限制列于费用与限制。

什么被保证了,什么没有

由程序强制执行:
  • 点数的推导与结算都在一条链上指令内完成,所用输入由程序自己读取。后端并不提供点数,也无法谎报它。
  • 运营方对推导不贡献任何输入 —— 不存在可供反复试算以求有利结果的服务器种子。
  • 你的 nonce 必须被原样回传,因此同一笔下注不会被意外(或恶意)玩两次。
  • 每次游戏都会公布全部推导输入与结果,因此历史上每一次掷骰任何人都可以重新计算。
诚实的注意事项 —— 提交时机。 Dice 的下注是免 gas 的:MCC 的后端替你签名并提交交易,因此运营方掌控着_何时_提交。第 N−1 槽的哈希会在第 N 槽开始时变为公开,所以一个延迟极低的运营方可以估算出:_如果_这笔下注落在当前槽位会得到什么点数,并通过延迟提交来重新抽取。这套机制选择承认这一点,而不是假装它不存在(要消除它就需要引入 VRF 预言机,而其每笔成本会超过庄家在小额下注上的期望值)。约束它的因素是:
  • 打包并非完全可控 —— 决定交易确切落在哪个槽位的是网络,而不是发送方。
  • 每一项输入都会公布,因此提交延迟的规律,以及整体胜率与所报概率之间的任何偏离,任何人都能用公开数据度量出来。系统性的滥用无法隐藏。

如何验证一次掷骰?

每次游戏都会在该笔下注自身的交易中发出 DiceBetSettled 事件,携带你所需的一切:slothash、user、nonce、target_bps、direction、win_chance_bps、roll、multiplier_bps 与 is_win,以及完整的结算明细。验证方法:
  1. 在 Solana 区块浏览器上打开该笔下注的交易并读取事件字段(应用中的 Dice 界面会显示本次会话的公平性输入,你的下注记录中也有指向交易的链接)。
  2. 重新计算 sha256("dice" ‖ slothash ‖ user ‖ nonce),取前 16 字节按大端对 10,000 取模,再与事件中的 roll 对照。
  3. 依据上面的公式核对胜负判定(押下方为 roll < target,押上方为 roll > target)与倍数。
关于如何从区块浏览器读取事件数据的通用技巧,见验证一局游戏。 关于这款游戏本身怎么玩,见 Dice 游戏指南。