Foreshock
EN 订阅

中立性说明

中立性必须是结构性的,因为承诺无法被检验。

我们的客户彼此竞争,而我们要求他们每一家交出自己最在意的那些地址。这是一个很大的要求。它成立的唯一前提是:保护他们的约束是系统构造方式的属性,而不是需要你凭信任接受的保证。下面每一条约束都从三个角度写清楚——它禁止什么、怎么实现的、以及第三方在没有我们配合的情况下怎么验证它。

更新于
2026-08-24

把这个要求摊开说

要告诉一家 OTC 台「这笔入金与一次执法行动有关」,我们必须知道它的资金落在哪些地址上。这些地址描述了它的交易对手、它的资金流向和它的结构。竞争对手愿意为此付钱,攻击者也愿意。

下面所有条款都由一个判断推导而来:这份信息是系统里最有价值的资产,比我们自己的可用性更重要。当保密性与可用性冲突时,保密性优先——正确的做法是拒绝服务,而不是降级服务继续在线。在你那一侧,一次拒绝解析为 HOLD。我们没有任何一条失败路径会产出贷记。

六条约束

01

与任何发行方无隶属关系

我们不评价任何一次冻结是否正当,也不参与任何冻结决策。

约束
独立的法人、品牌与团队,与任何交易所、金库、做市商或发行方不共用员工。章程禁止自营交易、做市与资产管理。我们不发起、不背书、不阻挠、不拖延任何一次执法行动,也不就它是否正当发表看法。
实现
我们发布的内容全部来自公开链上数据,以及发行方自己发布的记录。我们的系统与任何发行方的冻结机制之间不存在通道,也不存在任何「冻了什么就多拿多少钱」的商业安排。我们不是任何发行方或任何监管机构的代理人,也不从它们任何一方获得优先通知。
独立验证
注册文件、章程条款与员工名册声明在采购阶段进入数据室。除文件之外还有一条更硬的依据:我们发布的内容里不含任何能改变执法结果的名称、标签或分数——这里没有一个可供任何人购买的杠杆。

02

我们不持有任何私钥

不托管、不签名、不执行任何链上转账。系统内不存在任何能够移动资金的私钥。这是架构事实,不是政策承诺。

约束
系统内不存在任何能够签出一笔带值交易的私钥。这是「被建造成什么样」的属性,不是「被维持着的政策」,因此后面也没有什么可以放松。
实现
采集器以只读凭证连接链上端点。我们交付的任何二进制里都没有签名器、没有托管组件、没有转账路径;API 不暴露任何构造、签名或广播交易的方法。这个产品让你更早地拒收一笔入金,它从不移动任何一笔。
独立验证
自己跑一遍。在私有部署里,给进程一套完全没有签名权限的凭证,并把出网限制在只读端点上:不会有任何功能降级,因为本来就没有功能需要它们。客户端 SDK 开源,它能触达的请求面可以完整读出来。

03

你的地址簿仍然是你的

以单客户密钥加密,匹配过程无需解密。跨客户查询在数据布局上不可表达,而不只是被权限拒绝。

约束
你的地址簿以只属于你的密钥加密,匹配全程不解密;跨客户查询不是被权限挡住,而是在数据布局里根本不存在。
实现
信封加密:每客户一个数据密钥,由 KMS 中该客户专属的密钥包裹。服务端持有的是密文加一份 HMAC 索引,匹配对索引进行,因此一次匹配从不需要明文。每一张客户数据表都以客户标识为分区键、并把它作为主键首列,由查询层强制注入。公共记录管线与客户数据管线在物理上分离,地址簿没有任何路径能流入我们发布的东西。
独立验证 计划中
权限体系靠读策略来审计,数据布局靠读 schema 来审计。技术评审时直接要 schema 与查询层代码路径。所有内部访问——包括运维查询——都写入追加式审计日志,与你相关的部分你可以自行导出。第三方安全审计尚未进行;在它发生之前,这一页会一直这么写着。

04

不提供逃逸工具

我们交付的任何东西都不移动资金,发布的任何内容都不帮助被针对的一方抢在执法行动之前。公报之所以是回溯性质,正是为此。

约束
我们交付的东西不移动资金,我们发布的内容不帮助被针对的一方抢在执法行动之前。
实现
公共记录只承载已经执行完毕的行动。仍在推进中的部分只到达通过 KYB 验证的机构客户,其他任何人都拿不到,且形式只是一条针对其自有地址的裁决:不返回被针对的地址、不返回路径、不给文件。延迟发布并不能缓解这类数据的风险,所以我们也没有一个「延迟版本」。
独立验证
先读负责任使用声明,再把 API 契约摆在旁边读:不存在任何一个返回目标地址、目标清单或导出文件的端点。

05

可复现

每一条记录都附带足以从公开链上数据重算它的引用。执行这一重算的验证器已开源,发布于 tag v0.2.0,每条记录都写明自己的摘要是用哪个 tag 生成的。

约束
我们发布的任何内容都没有个人署名。取代作者与其资历的,是可复现性。
实现
公共记录的每一条都附带它所依据的交易引用、验证器版本,以及重算结果的摘要。每一份研究报告都在给出数字之前先声明自己的窗口、总体与排除项。
独立验证 计划中
用公开链上数据自己重算一条,然后比对摘要。开源的部分:验证器、schema、机制已公开的那部分解码逻辑、客户端 SDK。不开源的部分:采集器的调度与发现逻辑,以及权限注册表的内容。这条边界是被明说的,不是被模糊的——它的画法恰好让你可以重算我们发布的一切,而不需要知道我们在看哪里。

06

你可以离开

私有部署是机构客户的默认交付形态,可随时全量导出数据。我们不制造锁定,也不出售你的数据——包括不卖给我们自己。

约束
私有部署是机构客户的默认交付形态,不是价目表最后一行。你的地址簿留在你自己的环境里。
实现
单进程、PostgreSQL、对象存储。证据内容寻址,因此导出的记录离开我们之后仍然可验证。导出覆盖我们持有的关于你的每一条记录,按我们存储它的格式给出,随时可要求,退出时亦然。
独立验证
第一天就跑一次导出,而不是等到最后一天。如果它不能完整还原,这条约束就不成立——而你会在依赖它之前知道这件事。

边界

我们不是什么。

以下这几件事,买方通常在第三个月才会发现。现在就说,代价是一次对话,省下的是你的一个采购周期。

我们不做归因,也不产出实体标签
我们把「哪些执法行动是可见的」跨发行方、跨链归一化。我们不告诉你某个地址背后是谁。归因需要传票数据和多年的情报积累,那不是一个工程问题,我们也不假装解决了它。
我们不提供合规意见
我们交付数据、一条针对你自有地址的裁决,以及一条证据链。判断本身和判断的责任都留在你这里。我们的服务级别只覆盖可用性与延迟,永远不覆盖某个判断是否正确。
覆盖不完整,而且不会变得完整
有些执法机制在生效前留下可读痕迹,有些只在事后留下,有些什么都不留。这是发行方治理结构的属性,不是我们能用工程消除的东西——也正因如此,提前量不是我们提供的能力。
我们的沉默不是安全的证据
每一个响应都带覆盖健康度,让「我们什么都没看到」和「我们看不见」成为两个不同的答案。名单陈旧或采集器断连是一种盲区状态,而盲区状态不等于干净。
没有合成分数
多个来源判定不一致时,我们把它们并列返回,不加权、不合并,并附上我们所快照的原始响应的引用。不同供应商的分数量纲本来就不可比,把它们压成一个数字只会把这件事藏起来。我们宁可把这份分歧原样交给你。

这份立场的其余部分