OFAC 与制裁合规
系统理解美国 OFAC(Office of Foreign Assets Control)制裁框架:SDN List、CAPTA List、SSI List、行业制裁、辖区制裁;Tornado Cash 制裁案(2022-08-08)的法律历程、Van Loon v. Treasury (Fifth Circuit, 2024-11) 撤销部分制裁的意义;EU 与 UK OFSI 制裁框架的衔接
日期: 2026-05-24 方向: 机构DeFi / RWA 阶段: Phase 1 - 监管与合规框架 (Day 15-28) 标签: #监管 #合规 #OFAC #制裁 #TornadoCash #SDN
今日目标
| 类型 | 内容 |
|---|---|
| 学习 | 系统理解美国 OFAC(Office of Foreign Assets Control)制裁框架:SDN List、CAPTA List、SSI List、行业制裁、辖区制裁;Tornado Cash 制裁案(2022-08-08)的法律历程、Van Loon v. Treasury (Fifth Circuit, 2024-11) 撤销部分制裁的意义;EU 与 UK OFSI 制裁框架的衔接 |
| 实操 | 研究 Chainalysis Sanctions Oracle、TRM Sanctions API、Elliptic 的链上地址过滤实现;分析 Coinbase、Circle 等机构的 OFAC 合规栈 |
| 产出 | "链上制裁合规"端到端架构(实时 + 历史回溯 + 跨链)+ 一份"DeFi 协议如何嵌入制裁过滤"的设计建议 |
一、OFAC 法律基础
1.1 OFAC 简介
- Office of Foreign Assets Control, U.S. Department of Treasury
- 1950 年朝鲜战争起源,1962 年正式设立
- 总部华盛顿 DC
- 执行美国经济和贸易制裁
1.2 法律权限来源
| 法律 | 权限 |
|---|---|
| Trading with the Enemy Act (TWEA) 1917 | 战时与敌国贸易禁止 |
| International Emergency Economic Powers Act (IEEPA) 1977 | 总统紧急经济权力 |
| Cuban Liberty and Democratic Solidarity Act 1996 | 古巴 |
| Helms-Burton Act 1996 | 古巴 |
| ISA (Iran Sanctions Act) 1996 | 伊朗 |
| CAATSA 2017 | 俄罗斯、伊朗、朝鲜 |
1.3 美国制裁的"长臂"管辖
OFAC 制裁不仅适用于美国实体,对美元交易、美国技术、与美国实体相关方都有约束("secondary sanctions")。这就是为什么海外 VASP 也必须遵守:
- 处理美元 → 必经美国代理行 → 受 OFAC 管辖
- 任何与 OFAC SDN 实体的交易都触发风险(即使在欧洲)
二、制裁清单分类
2.1 主要制裁清单
| 清单 | 全称 | 内容 |
|---|---|---|
| SDN | Specially Designated Nationals | 个人 + 实体 + 资产(包括加密地址) |
| SSI | Sectoral Sanctions Identifications | 行业制裁(俄罗斯能源、金融) |
| FSE | Foreign Sanctions Evaders | 协助规避制裁者 |
| NS-MBS | Non-SDN Menu-Based Sanctions | 部分制裁(菜单式) |
| PLC | Palestinian Legislative Council | 哈马斯成员 |
| 13599 | Iran 第 13599 命令 | 伊朗特定制裁 |
| MBS | Non-SDN Iranian Sanctions Act | 伊朗 |
2.2 SDN List 数据
- 数量:~10,000+ 实体(约 17 个加密地址直接列入)
- 加密地址首列:2018-11-28(伊朗用户 Mohammad Ghorbaniyan)
- 更新频率:随时(一般同一日变动 5-50 个条目)
- 数据格式:XML / TXT / CSV,公开下载
2.3 加密相关重大制裁里程碑
| 日期 | 事件 |
|---|---|
| 2018-11-28 | 首次将加密地址列入 SDN(Mohammad Ghorbaniyan + 2 BTC 地址) |
| 2020-09-10 | Lazarus Group(朝鲜黑客)大量地址 |
| 2021-09-21 | 制裁 SUEX OTC(俄罗斯加密交易所,与勒索软件相关) |
| 2022-04-05 | 制裁 Hydra Market(俄罗斯暗网) |
| 2022-05-06 | 制裁 Blender.io(混币器,朝鲜资金) |
| 2022-08-08 | 制裁 Tornado Cash 协议(首次制裁智能合约协议) |
| 2022-09-19 | 制裁 Sinbad.io(混币器) |
| 2023-03-15 | 制裁 ChipMixer |
| 2024-09-26 | 制裁 5 个 Cryptex 关联地址 |
三、Tornado Cash 制裁案深度
3.1 制裁背景
Tornado Cash 是以太坊隐私混币协议(zk-SNARK 实现):
- 2019 上线
- 2021-2022 累计存款 $7B+
- 2022 年朝鲜 Lazarus Group 用其洗钱 $455M+(来自 Ronin 桥攻击)
3.2 OFAC 行动(2022-08-08)
OFAC 将 Tornado Cash 协议本身和 38+ 智能合约地址列入 SDN List:
- 0x8589427373D6D84E98730D7795D8f6f8731FDA16(Tornado.cash 主合约)
- 0x910Cbd523D972eb0a6f4cAe4618aD62622b39DbF
- 0x67d1145D69DDe24eA1A3F9b0E2B1d3DaAa1a7…
- 等等
3.3 法律争议
立即引发法律辩论:
- 代码即言论:Coin Center 论点——代码受第一修正案保护
- 协议非财产:协议是开源代码,无法被"持有"或"封锁"
- 影响开发者:Roman Storm(开发者)2023-08 在美国被起诉违反制裁
- 影响用户:Mark Cuban 等公开承认无意中接收过 Tornado Cash 资金
3.4 主要诉讼
Coin Center v. Yellen
- 2022-10-12 起诉
- 联邦地方法院(Texas)2023-08 驳回 Coin Center 诉求
- 2024-04 上诉至 Fifth Circuit
Van Loon v. Treasury
- 2022-09-08 起诉(Coinbase 资助)
- 原告:Joseph Van Loon, Tyler Almeida 等 6 人(普通用户)
- 2024-11-26 Fifth Circuit 判决:撤销 OFAC 对 Tornado Cash 不可变智能合约的制裁
- 关键论点:
- 智能合约不是"财产"(IEEPA 要求)
- 智能合约不是"任何人"拥有的("property of any foreign country or national thereof")
- 不可变代码无法被任何人控制 → 不是 SDN 制裁对象
- 判决限制:仅适用 immutable 合约;可变合约(如有 admin key)仍可被制裁
3.5 制裁后的市场影响
- 主流前端被关闭(Tornado.cash 网站、IPFS gateway)
- 主流 RPC(Infura、Alchemy)屏蔽 Tornado Cash 交互
- USDC/USDT 冻结流入 Tornado Cash 的资金
- Coinbase、Binance 等拒绝 Tornado Cash 出入金
- 2024-2025:判决后部分前端复活,但合规风险仍高
四、链上制裁合规工具
4.1 Chainalysis Sanctions Oracle
- 类型:智能合约 oracle
- 部署链:Ethereum、Polygon、Avalanche、Arbitrum、Optimism、BSC、Base 等
- 接口:
interface ISanctionsList {
function isSanctioned(address addr) external view returns (bool);
}
contract MyDeFiProtocol {
ISanctionsList public sanctionsList = ISanctionsList(
0x40C57923924B5c5c5455c48D93317139ADDaC8fb
);
modifier notSanctioned(address user) {
require(!sanctionsList.isSanctioned(user), "OFAC sanctioned");
_;
}
function deposit() external notSanctioned(msg.sender) {
// ...
}
}
- 数据源:Chainalysis 维护,每日更新 SDN List
- 覆盖:仅 OFAC SDN(不含 EU/UK)
4.2 TRM Labs Sanctions API
- 类型:REST API
- 集成:CEX、托管商、稳定币发行人
- 数据源:OFAC、EU、UK OFSI、UN、加拿大、澳大利亚等多国整合
4.3 Elliptic Navigator
- 实时风险评分
- 跨链追踪(包括 Bitcoin、Lightning)
- Forensics 工具
4.4 主流稳定币的制裁过滤
// USDC v2 合约(部分代码)
contract FiatTokenV2 is ... {
mapping(address => bool) internal blacklisted;
function blacklist(address _account) external onlyBlacklister {
blacklisted[_account] = true;
}
function unBlacklist(address _account) external onlyBlacklister {
blacklisted[_account] = false;
}
function transfer(address to, uint256 amount) external returns (bool) {
require(!blacklisted[msg.sender], "Sender blacklisted");
require(!blacklisted[to], "Receiver blacklisted");
// ...
}
}
USDT、USDC、BUSD 都有类似 freeze 函数。截至 2024:
- USDT 已冻结 $2.5B+(多为 OFAC 相关)
- USDC 冻结 $200M+(Tornado Cash 相关)
五、跨辖区制裁框架
5.1 主要制裁框架对比
| 辖区 | 机构 | 主清单 | 特点 |
|---|---|---|---|
| 美国 | OFAC | SDN List | 最严,长臂管辖 |
| 欧盟 | Council | EU Consolidated List | 通过 Regulation 直接生效 |
| 英国 | OFSI(HM Treasury) | UK Sanctions List | 后脱欧独立,但与 EU 高度同步 |
| 加拿大 | Global Affairs | SEMA / SOC List | 较窄 |
| 联合国 | UN Security Council | UN Sanctions List | 全球,但常被否决 |
| 日本 | METI / MOFA | 多清单分散 | 严格但具体 |
| 澳大利亚 | DFAT | Consolidated List | 与英美同步 |
5.2 制裁清单差异(典型例子)
- 古巴:仅美国制裁,欧盟反对
- 俄罗斯:美/欧/英三方协调(Russian Sanctions Coordination Group)
- 伊朗:美国全面,欧盟有 JCPOA 例外(2025 已废止)
- 朝鲜:联合国 + 各国
5.3 案例:俄乌战争后加密制裁
2022-02 后:
- OFAC 制裁俄罗斯加密交易所(SUEX、Garantex)
- EU 第 8 制裁包:禁止欧盟用户使用俄罗斯主体加密钱包
- Binance、Crypto.com、Kraken 屏蔽俄罗斯客户(部分)
- Tornado Cash 连锁反应:俄罗斯黑客、伊朗用户都用 Tornado Cash → 强化制裁
六、TradFi 监管 → Web3 映射
6.1 传统 vs 链上制裁
| 维度 | 传统 SWIFT 制裁 | 链上制裁 |
|---|---|---|
| 监控点 | 银行 | VASP / 钱包 / 协议 |
| 实时性 | T+0(SWIFT 报文检查) | 实时(Sanctions Oracle) |
| 公开度 | 私有(仅 SWIFT 网络) | 公开(链上可见) |
| 绕过难度 | 高(需对应银行串通) | 中(mixer、跨链桥可混淆) |
| 历史追溯 | 难 | 易(链上永久记录) |
6.2 链上制裁合规架构
┌──────────────────────────────────────────────────────┐
│ Real-Time Screening Layer │
│ ├─ Pre-Transaction:交易构建前查 Sanctions Oracle │
│ ├─ In-Transaction:智能合约 modifier 检查 │
│ └─ Post-Transaction:监控入金来源链路 │
├──────────────────────────────────────────────────────┤
│ Historical Forensics │
│ ├─ 全量地址追溯:Chainalysis Reactor │
│ ├─ 资金流图谱:Elliptic Navigator │
│ └─ Sanction Touch(间接接触)评估 │
├──────────────────────────────────────────────────────┤
│ Cross-Chain Tracking │
│ ├─ 桥接监控(Wormhole、LayerZero) │
│ ├─ Wrapped 资产追踪 │
│ └─ Cross-chain identity 关联 │
├──────────────────────────────────────────────────────┤
│ Reporting & Action │
│ ├─ 自动冻结(USDC freeze 等) │
│ ├─ STR / SAR 报告 │
│ └─ Voluntary Disclosure │
└──────────────────────────────────────────────────────┘
6.3 DeFi 协议嵌入制裁过滤
contract SanctionedAavePool is AavePool {
ISanctionsList public sanctionsList;
function deposit(...) public override {
require(
!sanctionsList.isSanctioned(msg.sender) &&
!sanctionsList.isSanctioned(tx.origin),
"OFAC: Sanctioned address"
);
super.deposit(...);
}
}
优点:
- 链上即时执行,无监管延迟
- 透明可审计
缺点:
- Sanctions Oracle 故障/作恶风险
- 无法处理"间接接触"(用户从 mixer 收到合规钱)
- 治理代币持有者投票拒绝制裁过滤的可能(如 Aave 投票)
6.4 智能合约本身被制裁时的应对
Tornado Cash 案例后,DeFi 协议设计建议:
- Immutable 合约:合约一旦部署不能修改 → Van Loon 判决保护
- DAO 多签:Admin 控制权分散,避免被认定为"控制者"
- 前端独立:协议与前端法律分离
- 跨链部署:在多链备份,单一辖区制裁影响有限
七、关键速查 Cheat Sheet
| 项 | 数值 / 引用 |
|---|---|
| OFAC 总部 | Treasury Dept., Washington DC |
| 法律基础 | TWEA 1917, IEEPA 1977 |
| SDN List 加密地址 | 17+ 直接列入(2024) |
| Tornado Cash 制裁 | 2022-08-08 |
| Van Loon Fifth Circuit | 2024-11-26 |
| Roman Storm 起诉 | 2023-08-23 |
| Roman Semenov 起诉 | 2023-08-23(仍在逃) |
| Chainalysis Oracle 部署链 | 12+ 链 |
| USDC freeze 函数 | blacklist(address) |
| Travel Rule 阈值(OFAC vs FinCEN) | OFAC 无下限,FinCEN $3K |
| EU OFSI 制裁机构 | EU Council |
| 罚款上限(OFAC) | $10M / 30 年监禁 |
| Civil 罚款 | 单笔违规 $300K-$1.5M |
| Voluntary Self-Disclosure | 罚款减半 |
| OFAC 50% Rule | 制裁实体持股 50%+ 的子公司也制裁 |
八、面试题(资深级)
Q1: 为一家全球加密交易所设计制裁合规架构,关键技术与合规决策是什么?
STAR-T:
- Situation:CEX 服务全球用户,必须遵守 OFAC、EU、UK、UN 制裁
- Task:设计端到端制裁合规架构
- Action:
- Onboarding:KYC 时筛 PEP/Sanction(Comply Advantage / LexisNexis)
- 入金检查:Chainalysis KYT + Sanctions Oracle 实时分析来源
- 出金检查:链下查目的地址(Travel Rule)+ 链上查接收地址 SDN
- 持仓管理:每日扫描所有客户钱包对应的链上历史,重新评估
- 跨链追踪:监控桥接、wrapped 资产
- 冻结机制:内部 case management + 5 日内 FinCEN 报告
- Sanctions List 同步:每日订阅 OFAC + EU + UK 等
- Result:合规所有主要辖区,年成本 $1.5M(工具 + 人员)
- Trade-off:高合规成本,部分客户失去(如俄罗斯境内用户)
Q2: Van Loon v. Treasury 判决对 DeFi 协议设计有什么具体影响?
回答:
- 判决核心:immutable 智能合约不是"财产",OFAC 不能制裁
- 直接影响:
- Tornado Cash immutable pools(v0)解除制裁
- 但 Tornado Cash UI、relayer 仍可被制裁(这些是中心化)
- 协议设计启示:
- 代码不可变性的法律价值:immutable 是合规盔甲,不是技术决策
- 避免 admin key:Owner-controlled 合约仍可被制裁
- DAO 治理:但 DAO 通过升级合约 = 类似 admin key
- 前端策略:独立前端运营方做合规过滤(KYC、Geoblock)→ 可被制裁但协议安全
- 未实质改变:
- 第三方 RPC(Infura)仍屏蔽 Tornado Cash
- 中央交易所仍冻结相关资金
- 实务上 Tornado Cash 用户仍面临合规摩擦
Q3: 如何处理"间接 Sanction Exposure"(用户从 Tornado Cash 收到资金)?
回答:
- 场景:客户 Alice 收到 1 ETH,链上分析显示该 ETH 18 跳前来自 Tornado Cash
- 风险评估维度:
- 跳数(hops):≤ 3 跳 = 高风险,> 10 跳 = 较低
- 金额:大额警惕
- 客户行为模式:异常 = 风险
- Tornado Cash 时期:制裁后接收 = 重风险
- 处置方案:
- 直接接收(≤ 3 跳):拒绝,冻结,向 FinCEN 报告
- 间接接收(4-10 跳):要求客户解释,加强尽调
- 极远接收(> 10 跳):仅记录,不冻结
- 行业标准:Chainalysis 建议 5-10 跳作为监控边界
- 架构启示:合规系统必须支持"图分析",不仅黑白名单
Q4: 美国 OFAC vs 欧盟制裁 vs UK OFSI 三方协调模式如何?
回答:
- 协调机制:
- Russian Sanctions Coordination Group(俄乌战争后)
- 三方频繁数据共享
- 但具体清单仍独立维护
- 差异:
- 美国 SDN > EU > UK 整体范围(美国最广)
- 欧盟需通过 Regulation 直接生效
- UK 后脱欧独立但 90% 与欧盟相同
- 合规挑战:
- 同一加密地址可能美国制裁、欧盟未制裁 → 跨辖区交易决策
- 处理方案:按"最严辖区"应用(最保守)
- 架构启示:
- Sanctions List 数据源必须聚合(Chainalysis/TRM 多源)
- 区分客户辖区,按客户法定居住地判定适用规则
- 美元交易触发 OFAC 长臂管辖(即使非美客户也需遵守)
Q5: 为什么 Tornado Cash 案对开发者刑事责任有重大意义?开发者应如何防范?
回答:
- Roman Storm 起诉(2023-08-23):
- 罪名:阴谋洗钱、违反制裁、未注册 MSB
- 关键:Storm 维护前端 UI、控制治理多签 → 具备"控制力"
- Alex Pertsev 案件(荷兰)(2024-05):
- 阿姆斯特丹法院判 5 年 4 个月
- 罪名:洗钱共谋
- 类比:开发者承担"工具中立性"消失后的责任
- 开发者防范:
- 完全去中心化部署:发布后不再升级、不持有 admin key
- 法律实体化:成立 Foundation(如开曼/瑞士)作为运营方
- 辖区选择:避免在美国境内开发或部署
- 匿名 vs 实名:Tornado Cash 创始人公开身份是把双刃剑
- 保险:Director's & Officer 保险,覆盖刑事辩护
- 法律意见书:发布前取得各辖区法律意见
- 架构启示:合规不仅是产品问题,更是开发者人身风险
九、明日预告
明日(Day 24)我们进入 链上身份方案(DID/VC) 专题:研究 W3C DID 标准、Verifiable Credentials、Polygon ID(Iden3 协议)、Privado ID(Polygon ID 后续品牌)、World ID(Worldcoin)、Civic、Disco、Lens Profile、ENS Identity 等方案的对比,并部署一个简单的 DID demo。