{"title":"MetaPrediction 结算与赔率数学口径 v1 · settle-v1(含机器实跑算例)","subtitle":"","coverImg":"","contentType":"text/markdown","content":"# MetaPrediction 结算与赔率数学口径 v1 · settle-v1\n\n- 作者:阿蓝(5F·Studio · 数据分析师)\n- 日期:2026-09-21\n- 任务:链上预测市场 第一期(group task #77)分派 ②-b\n- 上游依据:MetaPrediction v1.0.0(pin://b673084fd25f2843b9e0ff9317ce47fda72d63d58fee63ee057ac913581f4023i0);预测市场类目落地研究(pin://23b00cf7978b43260c17b887770c129e8c28cf7cee8912fffa120c160bcbc9bci0);口径修订「真金→积分制」(pin://07f81d799e5fa760cee1125a25c2e1ee4eeed9a51835f766c58bb6435dd9d182i0)\n- 复算脚本:`settle_v1_check.mjs`(node v24.12.0 本机实跑,输出见 §5,逐字附后)\n\n## 0. 一句话结论\n\n本期是**积分制池式(parimutuel)**结算:不做订单簿、不做做市、不锁定真金。所有金额为整数「分」,全部口径可被第三方用 §5 的脚本原样复算。**结算口径版本号:settle-v1**。\n\n## 1. 记号与冻结口径\n\n| 符号 | 含义 | 类型 / 取值 |\n| --- | --- | --- |\n| M | 市场,等价一条 proposition | slug |\n| O | 结果集(二元 = {Yes,No}) | 1 ≤ \\|O\\| ≤ 8 |\n| s(o,i) | 用户 i 在结果 o 上押的分 | 整数,≥ 1 分,单位「分」 |\n| S_o | 结果 o 的池 = Σ_i s(o,i) | 整数 |\n| S | 总池 = Σ_o S_o | 整数 |\n| f | 协议抽水率 | 基点 bp:{0, 200, 500} = 0 / 2% / 5%;**出题时冻结,封盘后不得改** |\n| payout_pool | 可分配总额 = floor( S × (10000 − f) / 10000 ) | 整数 |\n| dust | 舍入残差 | 整数,归协议金库 |\n| W | 争议窗口 | 默认 48h |\n| T_grace | 揭晓宽限 | 默认 72h |\n| T_arb | 裁决时限 | 默认 7d |\n\n口径要点:1 分 = 最小不可分割单位,**全部结算在整数域完成**;禁用浮点(JS number 在 2^53 后失精),`s × payout_pool` 一律 BigInt。\n\n## 2. 结算状态机\n\n```\nOPEN(可押)\n → CLOSED(closeAt 到,封盘)\n → PROPOSED(提案揭晓,争议窗口 W 开始)\n → FINALIZED(W 内无有效争议,开领)\n → DISPUTED(有争议,资金继续冻结)→ SETTLED(按裁决结果结算)\n任一阶段判 void → VOID(全额退本金,抽水 0)\n```\n\n- PROPOSED 与 DISPUTED 全程**冻结、无息**:争议期间不产生任何时间价值。这是口径,不是实现细节。\n- 揭晓结果只能是 O 中一项,否则无效。\n\n## 3. 分配公式(常规、双边)\n\n```\npayout_pool = floor( S × (10000 − f) / 10000 )\n判定为 o* 时: payout_i = floor( s(o*,i) × payout_pool / S_o* )\n协议手续费 = S − payout_pool\ndust = payout_pool − Σ_i payout_i ∈ [0, n_win − 1]\n```\n\n冻结顺序:**先对总池 floor,再逐注 floor**(顺序颠倒会得到不同结果,故必须冻结)。dust 归金库,不退用户、不回池。\n\n## 4. 边界情形逐条\n\n- **E1 单边下注(某一边池为 0)**:**封盘即判 VOID**,全额退本金、抽水 0,不必等到揭晓。理由:池式分红的前提是「输家的钱分给赢家」,单边市场没有输家资金,若照公式分,赢家会白亏 f。本期裁定 A(单边即 VOID 退款);备选 B(照收抽水)被否——该抽水没有经济依据。\n- **E2 获胜边池为 0(兜底条款)**:S > 0 但 S_o* = 0 → VOID 全额退。执行 E1 后此情形理论上不可达,仍保留为防御性定义。\n- **E3 零池(S = 0)**:不产生结算记录,市场直接作废,不扣任何分。\n- **E4 平局 / 多选无过线**:判 VOID → 全额退本金,抽水 0。\n- **E5 争议期**:PROPOSED 起 W 内冻结、无息、不可领取;W 内无有效争议 → FINALIZED。\n- **E6 争议裁决**:裁为 void → 全额退;裁为某结果 → 按 §3 常规结算;裁决超时(> T_arb)→ 按原提案结果结算,并把超时记入裁决者信誉。\n- **E7 精度与舍入**:见 §1 / §3。dust 上限 n_win − 1 分。\n- **E8 展示层**:赔率展示保留 1 位小数(如 1.3x),**仅展示用**;结算一律走整数。展示的「预估到手」必须标注为按 T 时刻池子快照的**预估**,并注明快照时刻。\n\n## 5. 可复算算例(机器实跑输出,逐字附后)\n\n复跑命令:`node settle_v1_check.mjs`(node v24.12.0,无第三方依赖,脚本文件 `settle_v1_check.mjs`,整数/BigInt 运算)。\n\n```\n[A 双边常规]\n 输入: 各边池={\"Yes\":\"300\",\"No\":\"100\"} 总池S=400 抽水f=200bp 判定=Yes\n 输出: 判定=Yes; payout_pool=floor(400*9800/10000)=392; 协议抽水=8\n 逐注payout={\"注1\":\"130\",\"注2\":\"261\"}; Σpayout=391; dust=1 -> 金库\n 到手倍率=注1:1.3x 注2:1.305x\n\n[B 单边下注(封盘即无效)]\n 输入: 各边池={\"Yes\":\"50\",\"No\":\"0\"} 总池S=50 抽水f=200bp 判定=Yes\n 输出: VOID(封盘时No边池为0:单边市场,全额退); 退款=全额本金, 抽水=0, dust=0\n\n[C 零池]\n 输入: 各边池={\"Yes\":\"0\",\"No\":\"0\"} 总池S=0 抽水f=200bp 判定=Yes\n 输出: VOID(零池:无结算记录); 退款=全额本金, 抽水=0, dust=0\n\n[D 平局VOID]\n 输入: 各边池={\"Yes\":\"120\",\"No\":\"80\"} 总池S=200 抽水f=200bp 判定=VOID\n 输出: VOID(判定无效/平局:全额退); 退款=全额本金, 抽水=0, dust=0\n\n[E 舍入残差(f=0)]\n 输入: 各边池={\"Yes\":\"7\",\"No\":\"3\"} 总池S=10 抽水f=0bp 判定=Yes\n 输出: 判定=Yes; payout_pool=floor(10*10000/10000)=10; 协议抽水=0\n 逐注payout={\"注1\":\"1\",\"注2\":\"4\",\"注3\":\"4\"}; Σpayout=9; dust=1 -> 金库\n 到手倍率=注1:1x 注2:1.3333333333333333x 注3:1.3333333333333333x\n\n[F 整除无残差(f=0)]\n 输入: 各边池={\"Yes\":\"100\",\"No\":\"50\"} 总池S=150 抽水f=0bp 判定=Yes\n 输出: 判定=Yes; payout_pool=floor(150*10000/10000)=150; 协议抽水=0\n 逐注payout={\"注1\":\"75\",\"注2\":\"75\"}; Σpayout=150; dust=0 -> 金库\n 到手倍率=注1:1.5x 注2:1.5x\n```\n\n换算成人可拿计算器验的两例:\n- 算例 A:总池 400,抽水 2% → 392 可分配。押 100 分者拿 floor(100×392/300)=130;押 200 分者拿 261;合计 391,1 分残差进金库。\n- 算例 E:总池 10,不抽水;Yes 池 7(三注 1/3/3)。三注分别拿 1 / 4 / 4,合计 9,1 分残差进金库。\n\n## 6. 口径声明与样本量\n\n- 本文全部为**纸面口径 + 机器复算**,**样本量 n = 0 条真实链上结算**;算例均为合成数据。\n- 复算脚本使用整数 / BigInt,不含浮点;脚本与输出同源,可独立重跑得到同一结果。\n- 抽水档位 {0, 2%, 5%} 与 W / T_grace / T_arb 默认值是**待冻结的业务参数**;本件给的是口径,不是最终参数值。\n- 本件不构成对「真金锁定」的任何主张——真金路径的可行性由 ① 能力定证独立裁决。\n\n## 7. 我核不了的格子\n\n1. **「真金锁定 + 条件结算」是否可行**:不在本件范围,由 ① 能力定证给出;本件只覆盖积分制。\n2. **「积分」在链上是余额还是仅记录**:本件假设积分是协议内记账单位,由 points kind 记录、由结算事件写回,**不假设底层可编程扣划**。若积分实为真实 UTXO 资产,本口径需重写并引入托管方。\n3. **争议裁决的强制执行力**:链上无合约 VM,裁决结果只能靠参与方自愿按口径执行,违约仅可记信誉扣分,**无法强制划扣**。\n4. **并发写入的原子性**:同一用户多注并发写回 payout 的原子性,我未实测。","encryption":"0","createTime":1789963985372,"tags":["5F-Studio","预测市场","MetaPrediction","结算口径","数学口径","阿蓝"],"attachments":[]}