为什么ERC-20在代币化证券中会失败:合规的RWA标准

  • zealynx
  • 发布于 11小时前
  • 阅读 22

本文介绍了在DeFi协议中使用ERC-3643标准来解决现实世界资产(RWA)合规性问题的方法。ERC-3643通过将资产与身份分离,构建一个许可制的子层,在公共链上实现合规,并介绍了如何通过三方系统、解耦身份与钱包地址、拦截并验证交易、配置可插拔的合规性模块以及实施治理和恢复机制来构建合规的token系统。

如果你正在构建 DeFi 协议,ERC-20 是黄金标准。它创造了最大的流动性和可组合性,因为它是无需许可的:任何地址都可以将代币发送到任何其他地址。

但是,如果你正在为现实世界资产 (RWA)(如代币化的股权、债务或房地产)设计解决方案,那么 ERC-20 的“无需许可”特性是一个致命的架构缺陷。

法规(Reg DMiFID II 等)要求你始终知道谁持有你的资产。在标准的 ERC-20 架构中,一旦代币进入二级市场 (DEX),你就会失去控制。你无法原生阻止经过验证的投资者将你的证券代币出售给受制裁的实体或未经认证的钱包。

修复此问题的尝试通常涉及由单个私钥管理的中心化“信封”或白名单,这重新引入了区块链旨在解决的单点故障和中心化风险。你需要一种在链上强制执行复杂监管逻辑的方法,而不会牺牲公共账本的安全性。

最终结果:公共基础设施上的“围墙花园”

通过实施 ERC-3643(以前的 T-REX 协议),你可以将资产与身份分离。

架构比较:狂野西部 vs. 围墙花园

在此实施结束时,你将拥有一个智能合约系统,其中:

  • 合规是主动的,而不是被动的:未经授权的转移会在状态更改发生之前自动恢复。
  • 身份是可移植的:用户利用去中心化身份 ( ONCHAINID),而不仅仅是钱包地址。
  • 规则是模块化的:你可以交换合规规则(例如,“阻止美国投资者”),而无需重新部署代币。

你有效地在以太坊或 Polygon 等公共链中构建了一个许可的子层,利用全球基础设施,同时保持机构级的合规性。

步骤:构建合规的代币系统

1. 构建三方系统

不要构建单体合约。ERC-3643 依赖于关注点分离来管理复杂性和 Gas 成本。你必须部署三个不同的交互层:

三方系统架构

  • 代币合约:维护余额和标准 ERC-20 接口(用于钱包兼容性),但覆盖转移逻辑。
  • 身份注册表:充当真实来源,将钱包地址映射到经过验证的链上身份。
  • 合规模块:存储规则集(逻辑),这些规则集规定谁可以持有代币以及何时可以持有。

2. 将身份与钱包地址分离

标准白名单很脆弱;如果用户丢失了他们的私钥,他们就会失去他们的身份。为了解决这个问题,你必须实施 ONCHAINID(基于 ERC-734ERC-735)。

部署身份合约:此合约代表用户。它持有“密钥”(管理或操作密钥)和“声明”(经过验证的数据的哈希值)。

在链上存储声明,在链下存储数据:不要在区块链上存储 PII(姓名、护照)。相反,受信任的第三方签署一个哈希值(一个声明)以验证用户(例如,“KYC 已清除”)。身份注册表检查此加密证明,而不是原始数据。

允许密钥轮换:如果用户的钱包被盗用,他们可以通过身份合约撤销钱包密钥,而不会丢失他们累积的凭据/声明。

3. 拦截和验证转移

你必须覆盖标准的 transfertransferFrom 函数。你的合约必须针对其他两个层执行条件检查,而不是立即更新余额。

你必须实现的逻辑流程是:

合规逻辑流程

  1. 触发:钱包 A 尝试向钱包 B 发送 100 个代币。
  2. 身份检查:代币调用 IdentityRegistry。钱包 B 是否链接到经过验证的 ONCHAINID?
  3. 合规性检查:代币调用 ModularCompliance。此特定交易是否违反任何有效规则(例如,交易量限制、国家禁令)?
  4. 执行:

    • 如果两者都为真:更新余额。
    • 如果任何一个为假:恢复交易。

这确保了不合规的转移在协议级别上在技术上是不可能的。

4. 配置可插拔的合规模块

硬编码合规规则会导致技术债务。法规会发生变化。使用 ModularCompliance 合约来插入特定的逻辑模块。

你可以部署的常见模块包括:

  • CountryAllowModule:对照受制裁国家/地区的列表检查投资者的身份国家/地区代码。
  • MaxHoldersModule:强制执行代币持有者数量的硬性上限(对于美国 2,000 名投资者的规则等豁免至关重要)。
  • VolumeRestrictionModule:通过限制可以在特定时间范围内转移的余额百分比来防止“倾销”。

由于这些是模块化的,你可以通过将代币合约指向新的合规模块地址来升级规则,而无需迁移用户余额。

5. 实施治理和恢复机制

与比特币不同,受监管的证券需要追索权。你必须实施 IAgentRole 接口。

  • 强制转移:如果密钥丢失或收到法院命令,授权代理人必须能够将代币从丢失的钱包转移到新钱包。
  • 冻结:代理人必须能够全局暂停代币转账或冻结特定的可疑钱包。

安全提示:为了减轻“超级用户”风险,代理人角色应始终分配给多重签名钱包(例如,Gnosis Safe)或 MPC 托管解决方案,而不是单个私钥。

下一步

ERC-3643 允许你编写满足法律团队要求的代码,而无需构建中心化数据库。要开始构建:

  • 查看标准:阅读最终的 EIP-3643 文档以获取确切的接口规范。
  • 审计代码:查看 ERC-3643 协会提供的参考实现。
  • 在 Sepolia 上测试:部署一个模拟身份注册表,并尝试在经过验证和未经验证的帐户之间转移代币,以查看恢复逻辑的实际效果。

保持联系

在 Zealynx,我们专注于为金融领域构建合规的代币化系统。无论你是要过渡到许可的 DeFi 模型,需要对你的 ERC-3643 合约进行审计,还是需要安全地代币化现实世界资产的策略,我们的团队都随时准备提供帮助 —— 联系我们

想要通过更多像这样的深入分析保持领先地位吗?订阅我们的新闻通讯,确保你不会错过未来的见解。

常见问题解答:了解合规的代币系统

  1. 为什么 ERC-20 不足以满足现实世界资产的需求?

ERC-20 的核心限制是其无需许可的性质。一旦代币被发送到钱包,协议就会失去对其下一步去向的控制。对于证券等受监管的资产,法律要求你始终了解并限制谁持有该资产,这使得 ERC-20 的“任何人对任何人”的转移逻辑成为一种监管责任。

  1. 什么是 KYC?为什么代币化证券需要 KYC?

KYC(了解你的客户)是验证投资者身份的监管流程。对于代币化证券,你必须以加密方式证明钱包属于经过验证的、合格的投资者,然后他们才能持有你的资产。ERC-3643 将此证明作为“声明”存储在用户的 ONCHAINID 上,而不是直接存储在区块链上,从而在保持合规性的同时保持个人数据的私密性。

  1. 什么是 ONCHAINID?它如何保护我的身份?

ONCHAINID 是代表你(而不是你的钱包)的智能合约。它存储加密证明(声明),证明你已通过受信任方的验证,而你的实际个人数据则保留在链下。如果你丢失了你的钱包,你可以将新的钱包地址链接到你现有的 ONCHAINID,而无需重新进行 KYC,从而使你的身份具有可移植性和可恢复性。

  1. 白名单和 ERC-3643 之间的区别是什么?

一个简单的白名单通常是中心化的,并将身份直接链接到钱包地址。如果标准白名单用户丢失了他们的密钥,他们就会失去他们的身份。ERC-3643 将身份与钱包分离。它使用去中心化身份系统 (ONCHAINID),用户可以在不丢失其验证状态或声明的情况下轮换其钱包密钥,从而提供更强大且可恢复的系统。

  1. ERC-3643 如何与 DEX(去中心化交易所)协同工作?

像 Uniswap 这样的传统 DEX 是无需许可的,并且在设计上与 ERC-3643 不兼容。但是,你可以构建在允许交易之前检查身份注册表的合规 AMM,从而创建一个“许可的 DEX”,其中只有经过验证的参与者才能交换你的证券代币。这在你的受监管生态系统中保持了合规性,同时实现了二级市场流动性。

  1. 合规逻辑是否可升级?

是的。此标准最强大的功能之一是其模块化。规定谁可以持有代币的规则存储在单独的 ModularCompliance 合约中。如果法规发生变化(例如,一个新的国家受到制裁),你可以部署一个新的合规模块并将代币指向它,从而立即更新所有未来转移的规则,而无需迁移或重新发行代币。

  • 原文链接: zealynx.io/blogs/erc20-p...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
zealynx
zealynx
江湖只有他的大名,没有他的介绍。