A Plain-English Guide · 用大白话讲完整套

一块钱在夺宝里
到底怎么转了一圈

你充了 1 USDT,在游戏里买了张票,中奖之后这 1 USDT 变成 50 USDT 提到你的钱包。 这中间钱在系统里转了 6 站,每一站都有它的道理。

本文不讲技术词,只打比方。把整个夺宝平台当成一家银行 + 福利彩票公司来读。

6 站 · 资金流转
~8 分钟 · 读完
0 技术词 · 全比喻
1 USDT · 当案例
CORE METAPHOR · 全文的比喻
把夺宝平台当成一家「网络银行 + 福利彩票公司」
你充值 = 往银行账号汇钱;
买夺宝票 = 在前台投彩;
中奖 = 银行内部给你账上加余额;
提现 = 把账上的钱转回你自己的钱包。

银行有出纳柜台(放少量现金应付日常)和后台金库(放大额储备,平常锁着不动)。 全程钥匙在保管员手里,保管员还有三道安检门要过 —— 这就是「资金安全」的核心。
向下滚 · 一站一站看
第 1 站 · 充值

银行给你开了个专属账号

你想充值时,平台会专门给你生成一个只属于你的充值地址 —— 想象成银行给你开了一个独一无二的汇款账号,别人用不了。 而且 BSC 和 TRON 两条链各有一个,所以你实际有两个专属充值账号

你把钱从外面的钱包转到这个专属账号 → 链上确认大约 1-2 分钟 → 平台能看到钱到了。 但这时候你账上余额还是 0 —— 钱虽然到账了,但平台不知道是你的,得你主动告诉它。

想象你给朋友汇了笔钱,银行那边收到了 —— 但银行没法 100% 确定这笔到底是哪个客户的, 所以你得拿着汇款回执去柜台说"这笔是我的"。 平台不会自动猜钱是谁的,要你主动认领 —— 这是为了避免认错钱、避免被刷。
这一站的关键 充值 ≠ 入账。钱物理上到了平台,但还不是你能花的余额 —— 必须走下一站「认领 + 归集」才会变成你账上的钱。
第 2 站 · 归集

你拿着汇款单认领,然后银行把钱清进总柜

你在 App 里粘贴那笔充值交易的「单号」(就是链上的交易编号),提交认领。 系统检查 3 件事:这笔交易真的存在吗?转账目的地是你的专属账号吗?是不是已经被别人认领过?都通过 → "那这账号以后从这个地方来的钱都算你的"(信任建立) → 平台给你账上加余额,发个内部消息说「认领成功」。

认领完之后,平台还会顺便做一件事:把你专属账号里的钱清进统一的"出纳柜台"(也就是热钱包)。 这样所有用户的钱集中管理,接下来用户买票、中奖派奖、提现,都从这个柜台走。

银行的柜员有个流程:每天晚上把柜台里散的钱清进总柜,顺便给每个客户的存折记上数。 我们这一站做的就是这件事 —— "专属账号"是收钱的口子,"出纳柜台"才是后续业务的源头
这一站的关键 认领是为了避免认错钱;归集是为了集中管理。两件事一次做完,你账上余额到位,可以开始玩了。
第 3 站 · 购票

在银行内部刷卡买彩票,不数现金

你在游戏里花 1 USDT 买一张夺宝票。平台做了什么? 你账上 -1,活动奖金池 +1。就这样,没有任何钱真的"动"。 你买 100 张?账上 -100,奖金池 +100。没有一笔交易上链

为啥不上链?上链贵啊。每笔交易要付一点"网络手续费"(就是 gas),小则几毛钱大则几块钱。 票价才 1 USDT,真要上链,手续费比票价还贵,平台和用户都亏。 所以就在平台内部记账:你账少了,奖池多了,两边账面对得上就行。

银行里同一个网点的两个客户互相转账,银行内部就是改一下账面数字, 根本不用真的搬钱箱。跨银行才走人民银行的结算系统,因为那时候才必须"真转"。 我们这里同理:用户内部之间转账(买票、奖池流动)不上链,只在"跨银行边界"(用户充值进来、用户提现出去)时才上链。
假如买票都上链
1 块钱的票, 5 毛手续费
  • 每笔票要等 15+ 个区块确认 (~5 分钟)
  • 手续费吃掉 30% - 80% 票价
  • 奖金池流动也要上链 → 更多手续费
  • 票数越多, 成本爆炸
实际方案
买票走内部账,毫秒级
  • 0 手续费, 0 链上动作
  • 毫秒级确认 (数据库改个数字)
  • 所有变动都有完整记录可对账
  • 平台只在"边界"上链(充值入金/提现出金)
这一站的关键 平台只在"跨边界"的时候上链(充进来 / 提出去),中间所有买票、中奖、奖池流动都在内部账面进行 —— 又快又便宜,这是 1 USDT 票能成立的经济学基础。
第 4 站 · 开奖

摇号机摇号,中奖者账上加钱

到点开奖了。平台用一台摇号机抽中奖号 —— 关键是:这台摇号机能不能被平台作弊? 这是夺宝最敏感的一步,做错就上社交媒体了。所以平台准备了三种摇号方案,根据环境切换:

方案 A · 内部摇号
本地开发用
开发自测时用 —— 平台提前承诺一个"密封信封",开奖时拆封,看里面的号码。 事后所有人都能验真假,但流程在平台内部跑,不上链。便宜快,适合开发。
方案 B · 链上公证摇号 (默认)
线上 + 测试网
正式上线用的是这套 —— 让区块链上独立的随机数公证机构抽号, 结果带"防伪证书",任何人都能上链查、上链验。 平台没法作弊,因为随机数不是平台生成的。
方案 C · 全链上抽奖
预留, 暂不启用
把抽奖整套逻辑都搬到链上,最透明但也最贵。v1.0 保留接口不启用,后续视用户对透明度的需求开。
福利彩票发行中心摇号,会请公证处来旁边盯着,事后全网直播。 我们的方案 B 干的是同一件事 —— 只不过公证处变成了一段写在区块链上的程序, 谁都不能后台改它。

中奖者拿到的奖金,v1.0 有两条出口: ① USDT 奖 → 直接给中奖者账上加余额(下一站提现拿走); ② 实物奖 → TG 客服联系用户拿收件信息,平台后台运营录入并发货。 (BTC 奖 后续开放,v1.0 不启用。)

这一站的关键 开奖公平靠"独立摇号机 + 全网可验证"。三种摇号方案插件化设计,本地开发跑快的,线上跑公正的,可以随时切换不改业务逻辑。
第 5 站 · 冷热钱包

出纳柜台 + 后台金库,分层放钱

银行里有两种放钱的地方:出纳柜台放少量现金应付日常出款, 后台金库放大额储备,平常锁着不动。我们一样。

平台规则:出纳柜台目标余额 $10k(够覆盖大约 24 小时高峰出款)。 超过 $15k 自动把多出的部分推进金库; 低于 $5k 触发运维告警,从金库人工回填。

📥
专属充值账号

用户充值的入口,收完钱定期清进出纳柜台。被攻击影响:单笔充值,可控。

🏧
出纳柜台 · 热钱包

日常出款的工作账户,在线状态。被攻击影响:最多损失 $15k 上限。

❄️
后台金库 · 冷钱包

长期储备 + 历史利润。物理隔离,要好几位高管一起到场才能开锁。被攻击影响:接近 0。

为啥不全放在出纳柜台?方便是方便,但万一被抢就全没了。 为啥不全放金库?每次出款都从金库取太慢。 所以柜台放够用就行,大头放金库 —— 这是几乎所有现实银行的做法,加密世界也照搬。
这一站的关键 钱按风险分层放。出纳柜台被攻破最多损失上限金额,金库被攻破才是大事 —— 而金库需要多个高管同时同意,远程攻击几乎打不进去。
第 6 站 · 出款

三道安检门,钥匙永远不离手

你点提现,平台要把出纳柜台里的钱转到你的链上钱包。 这一步是离链上最近的动作,也是黑客最想攻击的地方 —— 所以平台在钥匙(私钥)前面摆了三道独立的安检门

关键是:每一道门都独立。哪怕黑客攻破了平台的业务系统, 他还要依次通过这三道门才能动到钱。任何一道挡住,资金都安全。

1
门禁卡 · 内部服务之间互相认

业务系统就算被攻破,黑客没法直接调到"保管员" —— 服务和服务之间通信要互相出示门禁卡(内部签发,业务系统进程里没有这张卡的钥匙)。

2
取款限额 + 收款白名单

就算门禁被绕过、调到了保管员,保管员还会自己再查一遍:这笔单是不是超过限额?收款人在不在白名单里?异常的直接拒签 + 告警。

3
钥匙保险箱 · 钥匙从不直接给人

保管员手里的不是真钥匙,而是每次去保险箱临时借出 —— 用完就还。黑客就算控制了保管员,也只能拿到那一瞬间的钥匙,不能拿走长期可用的钥匙。

现实银行金库不只一把锁。门禁卡、保管员的指纹识别、保险箱的密码 —— 每一道都是独立的。 哪怕外面的劫匪冲进了大厅,他也动不了金库里的钱,因为还有 N 道关要过。 我们的设计是同一个思路,只是把"门禁卡 / 指纹 / 密码"换成了密码学版本。
这一站的关键 三道防线设计,任何一道都独立足以挡住单一类型攻击。业务系统出 bug 不等于钱丢了 —— 这是夺宝的核心安全承诺。
总览 · 一张图记住

从充值到中奖,这 6 站

你充进来 → 平台帮你认领归集 → 你买票(账上扣钱进奖池) → 摇号开奖(中奖者账上加钱) → 平台日常调度冷热钱包 → 你提现拿走中奖金额。

01
充值
02
归集
03
购票
04
开奖
05
冷热钱包
06
出款
▶ 想自己点点看? · 试试交互演示

想看技术细节? 看产品·业务版 →  ·  想看代码 / 协议? 看工程师版 →