如何核验
这份档案的核心诉求是:让任何人——无需相信我们、无需联系我们——都能独立确认每一条信号确实是赛前发布的,而不是赛后编造的。
为此我们选择了一套略显迂回的做法。本页解释其中的原理,以及你如何亲自核验。
档案为什么这样运作
在博彩相关领域,一份对外展示的成绩单面临一个根本困难:如何证明这些记录是真的赛前发布的,而不是事后挑选有利的结果?任何事后的编辑、删除、修饰,都会让一份成绩单失去全部意义。
截图、录屏、公众号发帖,都无法解决这个问题——发布者随时可以删除、可以编辑、可以只保留好看的部分。口头承诺更无用。唯一的办法,是把预测提交到一个发布者自己也无法篡改的地方,并让全世界都能查到提交的准确时间。
为此我们选用了 GitHub。
GitHub 是什么
GitHub 是全球最大的代码协作平台,由微软运营。全球绝大多数软件工程师在上面存放、协作、维护代码。Linux 操作系统、Python 语言、React 前端框架等几乎所有主流开源项目,都以 GitHub 为官方存档地。许多全球一线的科研机构、NASA、谷歌、特斯拉,也把代码和数据公开托管于此。
对本档案而言,GitHub 扮演的角色与它原本作为代码平台的用途不同,但利用的是它的同一项核心特性:
每一次提交都会被自动记录提交时间。任何后续的修改、删除、替换,都会在项目的历史记录中留下公开痕迹,谁都能看到。这份历史记录由 GitHub 系统维护,项目主理人自己无法修改。
简单说,GitHub 对本档案而言,相当于一个全球公开、发布者本人也无法篡改的公证处。
想象一个这样的公证处
它接受任何人提交的信封,立刻盖上时间戳封口,把它公开放在一面所有人都能看见的透明墙上。任何事后的改动、删除、替换,都会在墙上留下痕迹,谁都能看见。公证处自己也没有权限偷偷改动任何一个信封。它只做一件事——如实封存,如实公开。
这正是 GitHub 对本档案而言所扮演的角色。
这份档案如何使用 GitHub
每一条预测在对应赛事开赛前,被加密封存到一个 zip 文件中,提交到本项目的 GitHub 仓库。GitHub 自动记录这次提交的精确时间戳——通常是赛前数十分钟到数小时。
赛后,我们把对应的赛果录入 track_record.csv,同时公开该 zip 文件的解密密码。
从这一刻起,任何人都可以独立核验这条信号:打开 zip 文件,看到我们赛前的原始预测内容,并确认它与事后公开的成绩表格完全一致。
你可以做三件事来核验
第一,查看封存时间。打开 GitHub 仓库,每一个 zip 文件旁边都标注着它被提交的准确时间。这个时间早于该场赛事的开赛时间。
第二,用公开密码打开封存文件。使用 track_record.csv 中公开的密码,任何人都能解开对应的 zip 文件,看到我们赛前的原始预测内容。
第三,确认内容一致。解开后的内容,与 track_record.csv 中对应信号的那一行,必须完全一致——联赛、球队、盘口、赔率、预测方向。如果不一致,整个档案即视为作废。
在线核验工具
上述三步可以手动完成,但对不熟悉技术的用户而言稍显繁琐。我们提供了一个在线核验工具,把三步全部自动化。你只需要选择任意一条信号,浏览器会在几秒钟内替你完成下载、解密、计算哈希、查询时间戳、对比内容。
整个过程在你自己的浏览器里运行,不经过任何我们的服务器。你看到核验通过的那一刻,这条信号的赛前存在性就已被独立证实。
还有一种怀疑
即便上述核验全部通过,一位谨慎的读者可能还会问:
"就算每一条信号都确实是赛前封存的,会不会这个人同时开了很多个档案,每个档案用不同的策略分别下注,最后只把表现最好的那一个拿出来公开,其他亏损的都默默丢掉?"
这是一个合理的怀疑。我们的回答是:数学本身排除了这种可能。
想象这样一场游戏:你站在一个巨大的射箭场,每天射 1000 支箭。假设你是盲射——蒙着眼睛随便射。大多数箭会落在靶心附近,偶尔有一两支侥幸命中红心。这不奇怪。
但如果你蒙着眼射 1000 支,每一支都命中红心——这显然不是运气。
现在换一个场景。假设有一万个盲射手,每人射 1000 支箭。会不会其中某一个人碰巧每箭都中红心?理论上有可能,但概率极低。我们可以算出需要多少个盲射手才会出现一个这样的"幸运儿"。
信号档案面对的情境是一样的。假设一个档案在 1000 场比赛里稳定取得某个水平的收益率,要通过"多开档案挑一个"的方式伪造同样的成绩,需要多少个并行的档案,是可以精确计算的。
具体的数字是这样的:
- 伪造出 5% 的收益率,大约需要 13 个并行档案。这个规模一个人能做到
- 伪造出 10% 的收益率,大约需要 1,200 个档案。每个都要有独立的 GitHub 账号、独立的域名、每天持续更新。一个人已接近做不到
- 伪造出 15% 的收益率,大约需要 120 万个档案。这已经超过任何一个大型公司的员工数
- 伪造出 20% 的收益率,大约需要 160 亿个档案。这比地球总人口的两倍还多,比 GitHub 全站所有仓库总数的数十倍还多
换句话说,当一份档案的样本量足够大、收益率稳定高于某个水平时,"多档案作弊"这条路在现实中就被堵死了——不是因为我们承诺不这么做,而是因为物理上做不到。
这是档案最终要给观察者的答复:不需要相信我们,相信数学就够了。
如果你希望看到上述结论的完整数学推导、具体公式、以及相关的统计学文献,请参见档案协议中的"统计学考量"一节。
关于 GitHub 访问
GitHub 的服务器位于海外。国内读者有时直接访问 github.com 顺畅,有时需要借助代理工具才能打开。这是 GitHub 对本档案可信度无影响的一个事实,但在实际使用中有几点需要说明。
首先,这不削弱档案的可信度。GitHub 对全球所有人公开,意味着任何没有访问限制的观察者——包括海外审计者、学术机构、技术人员——随时可以独立核验本档案的每一次提交。本档案的可信度不依赖于任何一位具体的访客能否打开 GitHub,而依赖于"全球有人能打开且随时会去查"这个事实。
其次,对国内读者而言,你不需要亲自打开 GitHub 才能完成核验。前面介绍的"在线核验工具"在你自己的浏览器里完成所有核验动作——下载、解密、对比、比对——这些都是浏览器在后台自动完成的技术请求,在绝大多数网络环境下都能正常工作,无需代理。
最后,本站日常展示的档案数据(资金曲线、统计指标、记录表)也是通过全球 CDN 加载的,国内访问通常顺畅。你真正"需要打开 GitHub"的场景,只有在你希望用最传统的方式亲手下载 zip 文件、亲手检查每一次 commit 时间戳时。大多数读者不需要走到这一步。
延伸阅读
若希望了解档案遵循的完整协议——生成规则、结算规则、结构不变量、统计学考量——请参见档案协议。