验证

安全

谁能在项目中更改什么,随机数从哪里来,还剩哪些风险。上面的表格是直接从网络读取的,而不是手工画出来的。

网络上当前记录的内容

正在读取数据…

开源代码、匿名与隐私

开源代码

整个项目(合约、网站、上线脚本、测试)都以 MIT 许可证开源。代码可以阅读。用 anchor build 命令构建合约尚未验证过(见“项目状态”);上线后,可以自行构建程序,并与链上运行的程序进行比较。如何验证

仓库链接发布后,会立即出现在这里和网站页脚中。

项目匿名

姓名和法人实体不公开,玩家也不需要姓名、邮箱、电话或护照,只需一个钱包。规则写在合约里,可以阅读。匿名的另一面

提取无需证件

合约凭你的一次签名,自己把代币转到你的钱包。按合约代码,没有证件、表格、身份验证(KYC)、申请和人工批准。这是合约的特性,并不是让你违反所在国家法律的许可:遵守法律由你自己负责(条款)。如何提取

官方网站:fairdrum.to

透明且匿名的网站:没有登录和账户,没有 cookie、分析、计数器和广告脚本。字体和脚本由网站自己提供,设置(主题、此设备上的旋转历史)只保存在你的浏览器中,网站代码开源,因此这些都可以验证。请核对浏览器地址栏中的地址:哪怕差一个字母,也不是官方网站。

网站知道什么,谁能看到你的操作

事项如何运作
姓名、邮箱、电话、证件不需要,也不会在任何环节索取:注册和提取时都不需要。
Cookie、分析、计数器、广告没有。网站代码中没有这些,也不会加载外部脚本和字体。
浏览器中保存的内容主题、转盘模式、声音和特效(如果开启)、此设备上的旋转历史、你连接过哪个钱包、随机数服务账户的地址。这些都留在你的设备上,不会发送到任何地方。
网站与谁通信与 Solana 网络节点(RPC)通信:它读取游戏数据并接收你的交易。旋转期间还会与 Switchboard 预言机通信。这些服务能看到你的 IP 地址和钱包地址,就像网络中的任何节点一样。
区块链上公开的内容你的地址、玩家编号、余额、旋转、奖金和提取:任何人都能查看。地址只是化名,并不能做到完全匿名。如果地址与你的身份相关联(例如 SOL 来自你做过身份验证的交易所),这种联系是可以追踪的。

项目和玩家的匿名并不是绝对的,而且有另一面:项目没有可以追究责任的法人实体。详见“风险”。

密钥及其权限

密钥能做什么不能做什么
程序升级权限上传合约代码的新版本。不能直接拿走代币,但新版本的代码原则上可以做到。所以按照上线计划,这个密钥先移交给带延迟的多签,然后被撤销;当前状态见这张表。
代币发行(mint)什么都不能:按上线计划,发行完成后立即撤销。创建新代币。
冻结(freeze)什么都不能:从未授予任何人。冻结某人的代币。
管理员(dev_authority)领取累积的 10% 旋转收入(claim_dev)。更改规则,拿走玩家的余额、奖金、头奖和活跃度基金。
推广(promo_authority)从推广基金中支付(promo_pay)。其他一切。
升级权限的移交顺序。

1) 起步时在部署者手中;2) 在主网上线前移交给带延迟的多签(Squads),任何更新都有延迟,让玩家能提前看到变更;3) 项目稳定后,该权限被永久撤销,代码被冻结。当前所处的步骤见上方表格。

随机数从哪里来

合约自己不会想出随机数,也不会从项目方那里获取。使用的是 Switchboard On-Demand:投注在一笔交易中确定(合约记住区块编号),随后由预言机揭示数值,并把它绑定到投注时尚不存在的区块哈希上。只要预言机诚实运作,就无法提前猜出或预测这个值。对 Switchboard 的信任依然存在:这是一项外部依赖。

合约通过 sha256 从一个 32 字节的值中得到所需数量的随机数,玩家无法影响它。合约只接受归 Switchboard 程序所有的随机数账户(没有这项检查,任何人都可以塞进一个带有所需数值的自己的账户)。

如果预言机不工作,旋转就会停下,而在 3,000 个区块后被关闭的旋转,其投注不退还。

合约完全做不到的事

更改概率

所有数值都是代码中的常量。新的数值只能通过程序的新版本实现,而新版本可以从升级交易中看到。

拿走游戏余额

没有“从玩家那里拿走”的指令。余额只会在提取时流向你,以及在旋转时用于投注。

发行代币

按上线计划,发行权限会被撤销。此后,总发行量 100 十亿 只会因销毁而减少。

重复支付

一次旋转只会被关闭一次。代币的安全性(各奖池和余额之和不超过金库中存放的数量)由自动化测试验证,场景包括多名玩家和每批 1000 次旋转。

仍然存在的风险

  • 代码中的错误。合约有测试覆盖,但没有进行独立审计(见“项目状态”)。一个未被发现的错误可能导致资金损失。
  • 程序更新。在升级权限被撤销之前,管理员(或多签)理论上可以发布规则不同的版本。请关注上面的表格。
  • 预言机和网络。Switchboard 故障或 Solana 拥堵会延误旋转;故障持续很久(超过约 20 分钟)时,投注作废,不予退还。不退还是有意为之:否则就可以先偷看结果,再放弃输掉的投注。
  • 合约之外的管理员代币。营销和储备(合计约占发行量的 30%)没有锁定在合约中,开发者的部分(10%)在外部服务的锁仓释放中。锁仓释放:未提供链接;流动性锁定:未提供链接;管理员的多签:未提供链接。如果没有提供链接,请认为目前无法验证这一点。
  • 推广基金。密钥 promo_authority 可以把基金中累积的资金发送到任意地址。每笔支付都是公开的(事件 PromoPaid),但合约不会检查这笔钱花在了什么上。
  • 免费旋转和多账户。游戏中没有、也不可能有“这是真人”的验证:同一个人可以注册很多钱包,并从每个钱包领取免费旋转。支出受活跃度基金规模的限制,但其中相当一部分可以被抽走。
  • 大额奖池。头奖奖池相对于普通水平越大,每次旋转的预期返还就越高;奖池非常大时,可能超过 100%。所有累进头奖都是这样,老练的玩家就是冲着大奖池来的。
  • 网络速度。所有旋转都经过合约的同一个公共账户,所以高峰时队列可能变长。这会拖慢游戏,但不会改变结果。
  • 网站不是合约。网站地址可能变更或消失;而合约仍然留在网络上,可以通过任何兼容的客户端直接使用。
  • 匿名的管理员。姓名和法人实体不公开:如果出了问题,无法追究责任,也无法通过法院或客服要回资金。能保护你的只有合约中写明的、并可以自己验证的内容。
  • 法律。赌博在许多国家受到限制或被禁止。这是你自己的责任。
  • 这是靠运气的游戏。平均而言,玩家会损失一部分投注。

如何自己验证

  1. 在区块浏览器(Solscan、Solana Explorer)中打开程序地址,找到 Upgrade Authority 字段:如果为空,代码已冻结。
  2. 打开代币:Mint Authority 和 Freeze Authority 字段应为空。
  3. 打开程序的 config 账户,并与“经济模型”核对各奖池的金额、旋转次数和已销毁的数量。
  4. 用开源代码构建合约(anchor build --verifiable),并把哈希与链上的哈希(solana-verify)进行比较。