订单在场外撮合,钱在链上交割:预测市场混合撮合的责任切分 图 1
订单在场外撮合,钱在链上交割:预测市场混合撮合的责任切分 · 图 1

参与前还有一个常被跳过的验证动作:确认你签的字段里包含「重放防护」的完整闭环。标准要素是链标识、结算合约地址、订单或市场编号、 nonce 或有效期,四者缺一,你的签名就有被搬到别的环境重新出示的空间——同一条链的测试网、被复制的部署、甚至同一个平台的不同版本合约,都是历史上出现过问题的场景。验证方法并不玄学:在签名弹窗里找这几个字段,对照平台文档公布的合约地址与链 ID;对不上的单,宁可重下。这个动作每次三十秒,但它守住的不是隐私,而是「我以为撤销了的单子不会再出现」这类整类事故的整条后路。

把订单簿搬上链,第一道坎不是撮合算法,而是手续费和延迟:挂单、改单、撤单每一下都要发交易,报价速度永远追不上链下撮合引擎。预测市场与一些链上交易所因此选择了混合架构:订单离开链上账本,以签名消息的形式存在;一个运营方在链下收集、撮合这些消息;只有配对成功的成交对被提交上链,由合约验证签名后完成资金与份额的交割。链负责确权与结算,链下引擎负责快。 一份可结算的链上限价单,签的不是「价格」而是「一组边界」:我出多少钱买多少股、最晚何时有效、成交手续费给到哪个地址、以及最重要的——这张单只允许在哪个合约、哪条链上被执行。最后这项防止签名消息被搬到别的场合重复使用,也让你对某个交易所的授权不会泄露成对所有场景的授权。读懂这些字段,才能理解混合模式的安全逻辑:运营方拿到的不是资金,而是一张有条件的支票,条件不满足,链上合约自己就会拒付。 于是责任被切成三段。撮合引擎决定「谁和谁成交、什么价格成交」,但它碰不到你的钱——交割永远经过链上合约,成交价与数量必须落回签名消息约定的边界内,多成交、错币种、超价格的配对上链即失败。资产托管留在链上:仓位是标准代币,账面在合约里,你随时可以在链上核对余额,这与托管式交易所「余额只是数据库一行」有本质区别。结算与销毁也在链上:市场出结果后,获胜份额按约定兑换、落败份额销毁,全流程可查。 那这个运营方还拥有什么?主要是排序与准入的软权力:它可以给某些用户更快的撮合队列、可以延迟处理某类订单、可以拒绝提交某些配对的成交。被拒的订单没有损失资金,但可能损失价格时机,而这类「不撮合」的争议往往发生在链下,证据链不在你手里。评估这类平台时,把它当作「有审查能力的被动撮合者」而非交易所托管方来理解,才对齐现实。 对普通参与者,操作层面有四件事与纯链上 DEX 不同。第一,挂单和撤单虽然不花 gas,但每次都是签名动作,钓鱼站点可能骗你签错:永远确认签名弹窗里的字段与你下的单一致。第二,「成交了」与「上链了」之间有窗口,极端时段这个窗口会拉大,账面先动、链上后动,做套利或对账时要把这个时差算进去。第三,充值提现在链上,地址与授权逻辑和普通代币一致;但「提现在处理中」的状态机由链下服务发起,卡单时先看链上有没有对应请求记录,再区分是服务问题还是合约问题。第四,市场争议(结果被质疑)时,你的份额可能被冻结到新结果落地,这是结算预言机环节的固有延迟。 混合模式不是「去中心化的妥协」,而是一种清晰的责任分工:速度归链下,产权归链上。理解哪些环节信任谁,是参与前的全部功课。本文只讲机制,不构成投资建议。