Skip to content

博客 — 2026 年 6 月

为何链上:
API 合规模式的终结

现在所有做加密合规的人,都在犯同一个架构错误。他们在做错的事,而且他们自己也知道。

有一件事没人愿意说出口:今天所有主流的加密合规方案,都建立在一个根本错误的 premise 之上。你发起一笔交易,它打到某个中心化 API,那个 API 去弗吉尼亚的某个数据库查一下,然后——希望如此,最终——告诉你这笔转账该不该拦。

想一秒钟。区块链的全部承诺就是去中心化、透明、抗审查。而你的合规方案是弗吉尼亚的一个中心化 API。

这不是功能。这是你要花钱买的 bug。

我不是说做这些系统的人傻。Chainalysis、Elliptic、TRM——他们有聪明的工程师,也有好的数据。但他们用错了架构来解决错的问题。他们想把 Web2 的合规硬套到 Web3 的基础设施上,结果造出一个弗兰肯斯坦,两边最糟糕的东西它都继承了。

API 模式是错的

我们来具体说说 API 模式为什么错,因为空泛的批评没用。

延迟。每一次 API 调用都会在交易流程中增加毫秒,有时是秒。在 DeFi 里,这就是永恒。MEV 机器人不会等你合规 API 响应。DEX 上换代币的用户也不会。延迟不只是烦人——它是经济层面的破坏。你在要求一个为即时确定性设计的系统停下来,等弗吉尼亚阿什本的人查一条数据库记录。

单点故障。API 挂了怎么办?你的合规服务商宕机了怎么办?他们的 DNS 挂了?他们的限流触发了?我见过——一家大交易所因为 KYT 供应商的 API 挂了,不得不暂停提现。整个合规栈就是一个包在 SLA 里的单点故障。SLA 在上线时屁用没有。

信任假设。你得相信 API 返回的是正确答案。相信数据库是最新的。相信供应商没被黑。相信响应在传输过程中没被篡改。在一个"无需信任"就是全部意义的世界里,你搭了一个合规系统,要求你完全信任第三方。而且关于合规这块,它不是"无需信任"——它是特别需要信任。

绕过路径。API 检查发生在交易外围,而不是内部。如果 API 说"拦",前端可以直接……不拦。智能合约不知道。区块链不知道。合规检查只是一个建议,不是规则。一个有决心的参与者完全可以绕过它。这种事我们见多了——制裁筛查只适用于用户看到的界面,不适用于底层智能合约。这是表演。

Chainalysis KYT 是典型例子。它的工作方式是:你的交易打到你的后端,你的后端调用 Chainalysis,Chainalysis 返回结果,你的后端决定怎么做。区块链是最后一个知道的。合规层是一个 gatekeeper,住在它本该保护的系统之外。

然后还有 Chainlink Functions。比纯 API 好一些,但仍然错。它推的是预言机模式:你发起请求,预言机网络抓取数据,预言机把数据返回到链上。但现在你在付预言机 gas,等预言机延迟,还要信任预言机网络的安全模型。这是改进,但仍然是往返。合规检查不是执行环境的原生部分。它是一个访客。

正确的方式:链上原生执行

正确的方式应该是这样的。风险数据在链上。策略引擎在链上。评估发生在同一笔交易、同一个区块、同一个执行上下文里。没有 API 调用。没有延迟。没有绕过。没有信任假设。

当用户试图转账一个代币,智能合约本身检查接收方的风险画像。如果接收方被制裁,交易回滚。如果风险分太高,交易被隔离。如果一切干净,交易继续。所有这些都发生在一笔原子交易中。区块链不会向服务器请求许可。它知道答案,因为答案已经在链上了。

这不是一个小改进。这是一个范式转移。

有五个真正重要的优势:

1. 确定性。同样的输入永远产生同样的输出。如果地址 A 被制裁,它永远被制裁。没有竞态条件,没有过期数据,没有"API 正在更新的时候交易刚好发生了"。风险画像是一个共识事实。网络中的每个节点都同意它。

2. 零延迟。风险检查是交易执行的一部分。它消耗的 gas 跟任何其他存储读取一样。没有网络往返。没有 HTTP 超时。没有连接池耗尽。检查速度跟读取本地变量一样快——因为它就是。

3. 无法绕过。检查发生在智能合约内部。如果检查失败,交易回滚。没有绕过的方式。你无法直接调用合约跳过合规层,因为合规层就是合约。安全边界就是执行边界。这是守卫和墙的区别。

4. 透明且可审计。每一次风险检查都记录在链上。任何人都能看到发生了什么,以及为什么。你不需要信任供应商的黑盒算法。你不需要 SOC-2 报告来验证合规。合规就是交易历史。监管者可以直接验证。审计师可以直接验证。你的用户可以直接验证。透明不是你要添加的功能——它是默认的。

5. 协议级集成。因为风险引擎是一个智能合约,任何其他智能合约都可以继承它。你的稳定币、你的钱包、你的 DEX、你的 RWA 代币——它们都调用同一个链上注册表。集成不是"接入我们的 SDK 然后调用 API"。集成是"引入我们的合约,继承检查"。三行 Solidity。这是依赖和协议的区别。

类比:基于 API 的合规就像把数据库约束写在一个单独的微服务里。每次插入都调用一个 REST API 来检查数据是否合法。API 挂了,你要么停止所有写入,要么冒着脏数据的风险。链上合规就像数据库触发器。约束在交易内部运行。如果失败,交易失败。没有网络调用。没有单独的服务。没有绕过方式。

这是从后端 API数据库触发器的转移。不是让 API 更快或更可靠。而是意识到 API 根本不应该存在。

FidesOrigin 怎么做

FidesOrigin 就是基于这个原则构建的。风险数据同步到链上。策略引擎是智能合约。评估发生在转账 hook 里。

实践上是这样的。你有一个稳定币。你希望每笔转账都经过制裁名单和风险画像的筛查。你继承合规合约。你重写 _update hook。在那个 hook 里,你调用链上风险引擎。如果转账违反了策略,交易回滚。就这样。

CompliantStableCoin.sol Solidity 0.8.26
// 你的稳定币继承链上风险筛查
contract CompliantStableCoin is ERC20, IFidesCompliance {

    function _update(
        address from, address to,
        uint256 amount
    ) internal override {
        // 在转账执行前评估
        (bool allowed, uint256 risk) =
            fides.evaluateTransaction(
                from, to, amount, address(this)
            );

        if (!allowed)
            revert ComplianceViolation(from, to, risk);

        super._update(from, to, amount);
    }
}

没有 API key。没有限流。没有服务依赖。合规逻辑和转账本身在同一个执行上下文里。交易要么合法,要么不合法。没有"也许"。

数据层是自治的。OFAC SDN、Chainalysis、OpenSanctions——数据被持续拉取并同步到链上。但同步是后台进程,不是交易依赖。交易只读取链上已有的数据。读取是瞬时的。写入是异步的。系统把数据新鲜度与交易执行解耦了。

这是知道的区别。API 模式问。链上模式知道。

定义这个品类:链上风险执行

我们需要一个新名字。"合规 API"是错的。"基于预言机的合规"是错的。我们在构建的是链上风险执行

风险执行,不是风险筛查。筛查是你看着什么东西然后决定。执行是系统自己决定。筛查是可选的。执行是强制的。

链上,不是链下。不是混合。不是桥接。执行逻辑运行在被它治理的交易的同一层。风险数据是共识数据。策略执行是共识执行。结果是共识事实。

这是一个新品类。它不会完全取代合规 API——调查工具、取证分析和报告永远有需求。但对于实时转账策略的执行,API 是错的工具。它们是方枘圆凿,而且这个洞每天都在变大。

真正重要的平台——稳定币发行方、智能合约钱包、RWA 代币化、代理支付轨道——无法承受为核心风险控制依赖外部 API。一个每笔转账都要停下来等 KYT 响应的稳定币,不是稳定币。它是 banking API 多此一举。一个把合规委托给第三方服务的智能钱包,不是智能钱包。它是带后门的界面。

未来是合约自己执行规则。协议自己筛查交易。钱包不需要请求许可,因为它们已经知道答案。

这就是 FidesOrigin 构建的东西。不是合规 API。不是预言机。一个运行在交易内部的链上风险引擎。确定性。零延迟。透明。无法绕过。协议原生。

如果你在构建下一代链上金融,你不需要一个合规供应商。你需要一个合规协议。

加密合规的 API 时代正在终结。执行时代正在开始。

构建链上风险执行

FidesOrigin 是一个原生链上风险引擎,面向稳定币、智能钱包、RWA 平台和代理支付轨道。