返回 Expert 笔记
Expert Day 23

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
Phase 1 - 监管与合规框架 (Day 15-28)
监管合规OFAC制裁TornadoCashSDN

日期: 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 主要制裁清单

清单全称内容
SDNSpecially Designated Nationals个人 + 实体 + 资产(包括加密地址)
SSISectoral Sanctions Identifications行业制裁(俄罗斯能源、金融)
FSEForeign Sanctions Evaders协助规避制裁者
NS-MBSNon-SDN Menu-Based Sanctions部分制裁(菜单式)
PLCPalestinian Legislative Council哈马斯成员
13599Iran 第 13599 命令伊朗特定制裁
MBSNon-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-10Lazarus 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 主要制裁框架对比

辖区机构主清单特点
美国OFACSDN List最严,长臂管辖
欧盟CouncilEU Consolidated List通过 Regulation 直接生效
英国OFSI(HM Treasury)UK Sanctions List后脱欧独立,但与 EU 高度同步
加拿大Global AffairsSEMA / SOC List较窄
联合国UN Security CouncilUN Sanctions List全球,但常被否决
日本METI / MOFA多清单分散严格但具体
澳大利亚DFATConsolidated 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 协议设计建议:

  1. Immutable 合约:合约一旦部署不能修改 → Van Loon 判决保护
  2. DAO 多签:Admin 控制权分散,避免被认定为"控制者"
  3. 前端独立:协议与前端法律分离
  4. 跨链部署:在多链备份,单一辖区制裁影响有限

七、关键速查 Cheat Sheet

数值 / 引用
OFAC 总部Treasury Dept., Washington DC
法律基础TWEA 1917, IEEPA 1977
SDN List 加密地址17+ 直接列入(2024)
Tornado Cash 制裁2022-08-08
Van Loon Fifth Circuit2024-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
    1. Onboarding:KYC 时筛 PEP/Sanction(Comply Advantage / LexisNexis)
    2. 入金检查:Chainalysis KYT + Sanctions Oracle 实时分析来源
    3. 出金检查:链下查目的地址(Travel Rule)+ 链上查接收地址 SDN
    4. 持仓管理:每日扫描所有客户钱包对应的链上历史,重新评估
    5. 跨链追踪:监控桥接、wrapped 资产
    6. 冻结机制:内部 case management + 5 日内 FinCEN 报告
    7. Sanctions List 同步:每日订阅 OFAC + EU + UK 等
  • Result:合规所有主要辖区,年成本 $1.5M(工具 + 人员)
  • Trade-off:高合规成本,部分客户失去(如俄罗斯境内用户)

Q2: Van Loon v. Treasury 判决对 DeFi 协议设计有什么具体影响?

回答

  • 判决核心:immutable 智能合约不是"财产",OFAC 不能制裁
  • 直接影响
    1. Tornado Cash immutable pools(v0)解除制裁
    2. 但 Tornado Cash UI、relayer 仍可被制裁(这些是中心化)
  • 协议设计启示
    1. 代码不可变性的法律价值:immutable 是合规盔甲,不是技术决策
    2. 避免 admin key:Owner-controlled 合约仍可被制裁
    3. DAO 治理:但 DAO 通过升级合约 = 类似 admin key
    4. 前端策略:独立前端运营方做合规过滤(KYC、Geoblock)→ 可被制裁但协议安全
  • 未实质改变
    • 第三方 RPC(Infura)仍屏蔽 Tornado Cash
    • 中央交易所仍冻结相关资金
    • 实务上 Tornado Cash 用户仍面临合规摩擦

Q3: 如何处理"间接 Sanction Exposure"(用户从 Tornado Cash 收到资金)?

回答

  • 场景:客户 Alice 收到 1 ETH,链上分析显示该 ETH 18 跳前来自 Tornado Cash
  • 风险评估维度
    1. 跳数(hops):≤ 3 跳 = 高风险,> 10 跳 = 较低
    2. 金额:大额警惕
    3. 客户行为模式:异常 = 风险
    4. 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 个月
    • 罪名:洗钱共谋
    • 类比:开发者承担"工具中立性"消失后的责任
  • 开发者防范
    1. 完全去中心化部署:发布后不再升级、不持有 admin key
    2. 法律实体化:成立 Foundation(如开曼/瑞士)作为运营方
    3. 辖区选择:避免在美国境内开发或部署
    4. 匿名 vs 实名:Tornado Cash 创始人公开身份是把双刃剑
    5. 保险:Director's & Officer 保险,覆盖刑事辩护
    6. 法律意见书:发布前取得各辖区法律意见
  • 架构启示:合规不仅是产品问题,更是开发者人身风险

九、明日预告

明日(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。