区块链 区块链技术 比特币公众号手机端

公链上的身份与访问控制:机构级合规架构

在公链上,每个地址在协议看来都一样:一串带有余额的字符。基础网络中没有内置“认证投资者”或“受制裁实体”这样的字段。处理代币化资产的金融机构正在自行构建这一层,使用链上身份和访问控制机制,同时不破坏那种让网络从一开始就具备价值的开放性。

银行、资产管理公司和其他受监管实体负有识别交易对手、筛查受制裁实体,以及限制谁可以持有或转让代币化资产的义务。与此同时,公链默认是开放的:任何地址都可以与任何其他地址交易,无需填写申请表格,也没有中央守门人。调和这两种现实是一个设计问题,它在三个层面展开:链上身份、访问控制机制,以及责任在智能合约与构建于其上的界面之间如何分配。

本文探讨这些部分如何组合在一起,以及在抛开架构图之后,合规执行实际上发生在哪里。

链上身份:证明你是谁,而无需审批每一笔交易

链上身份为地址提供了与现实世界信息的可验证关联,例如KYC状态、认证资质或司法管辖区。验证本身仍然依赖可信方,例如声明签发者或凭证提供方,但该方只需检查并签发一次声明,而不是逐笔审批交易。一些模式已成为处理数字资产的金融机构的行业标准做法:

  • 身份注册表与基于声明的标准: 像ERC-3643这样的框架引入了链上身份注册表,存储由可信声明签发者签发的、关于某个地址的经过验证的声明,例如“已完成KYC验证”或“合格投资者”。基于这种模型构建的代币在允许转账之前会检查注册表,这意味着合规逻辑与资产本身紧密绑定,而不是事后才仓促加上。
  • 可验证凭证与证明: 机构可以不将个人数据存储在链上,而是依赖链下签发、链上证明的可验证凭证。该证明确认某项检查已经执行并通过,而无需暴露底层文档。这样既让敏感数据留在链下,又让智能合约有具体的内容可供验证。
  • 身份与账户分离: 一些身份实现方案(如ERC-3643 OnchainID)将身份和凭证信息与代币持有者账户分离,从而让同一个身份和同一套可验证凭证可以跨多个交易账户使用,映射关系在身份注册表中定义。
  • Soulbound与不可转移代币: 一些身份实现方案使用与特定地址绑定的不可转移代币来表示已验证状态。由于该代币在正常情况下无法转移到其他钱包,某一方已验证的身份要重复使用或转移到未验证地址就变得困难得多。

这些方法都解决同一个问题:为智能合约提供一种防篡改的方式来检查资格,而无需可信方逐笔签字批准交易。

访问控制机制:在转账环节执行限制

一旦身份确立,机构就需要一种在代币实际转移时执行限制的方式。这通常通过智能合约层的访问控制来处理,主要有以下几种形式:

  • 代币层面的白名单: 代币合约本身会在允许转账继续之前检查已批准地址列表。这有时被称为白名单机制,在代币化证券和代币化基金中很常见,因为监管规定了谁有资格持有该资产。
  • 许可制流动性池: 在DeFi场景中,一些流动性池仅限持有特定凭证或通过合规检查的地址参与,让机构流动性能够与链上市场交互,而无需向网络上的每个地址开放参与资格。
  • 合规模块与可插拔规则引擎: 许多机构级实现方案不是将限制硬编码进代币,而是把合规逻辑分离到一个模块化组件中,直接引用身份注册表和可验证证明。这样规则可以更新、特定司法管辖区的需求可以叠加、不同代币类别可以应用不同规则集,而无需重新部署核心资产合约。

这些机制在灵活性、Gas成本和可审计性方面各有不同的取舍,正确的选择在很大程度上取决于具体资产、其监管分类以及它需要在哪些交易场所进行交易。

责任归属:智能合约层与界面层

一个影响重大的设计问题是:合规执行究竟发生在哪里。

智能合约层是代币标准、转账函数以及直接写入合约代码的身份注册表检查。这一层的执行是一致的,而且很难绕过:如果转账限制被写入代币合约,那么无论用户通过哪个界面与之交互,该限制都适用。这一层是机构级安全最为关键的环节,因为此处的缺陷可能会影响构建在其之上的每一个界面。

界面层位于智能合约之上,包括机构及其交易对手实际使用的前端、订单簿和托管集成。界面层的控制可以增加便利性,例如交易前筛查或更流畅的接入体验,但智能合约本身可以被直接调用,从而绕过任何特定界面。这意味着只在界面层提供的控制,与在智能合约本身中强制执行的控制并不相同,两者承载着不同的风险特征。

这种区分对风险管理很重要:理解智能合约在独立于任何特定界面的情况下自己强制执行了什么,能更清晰地看到真正的执行边界在哪里。界面层工具作为额外的保障和用户体验层,叠加在底层合约已经强制执行的内容之上。

安全、审计与出错代价

身份与访问控制逻辑实际上就是风险管理和合规代码。身份注册表检查或白名单执行函数中的bug,可能让受监管资产落入一个本无资格持有它的地址。这就是为什么专门针对合规逻辑的智能合约审计和安全审计在机构部署中扮演如此核心的角色。自2015年以来,OpenZeppelin已完成了900多次安全审计,在漏洞进入生产环境之前发现了10,000多个漏洞。这项专业能力可直接应用于身份与访问控制逻辑的审查,确保其在上线机构级部署之前就经过充分检验。

经过严格评估、久经考验的库和框架降低了细微逻辑错误的风险,而智能合约级执行与界面级便利之间的清晰分离也让这些审计更易于开展,因为审计人员可以直接分析执行边界,而不必跨技术栈的多个层追溯合规逻辑。

随着现实世界资产和代币化基金的代币化进程持续推进,进入链上金融的机构需要能在资产整个生命周期内可靠执行这些规则的结算基础设施,因为交易对手、司法管辖区和监管要求都会随时间而变化。

链上金融的前进之路

公链上的机构级身份与访问控制,意味着以机构对待现有金融基础设施的同等严谨程度来构建合规层。随着代币化规模扩大,那些把身份与访问控制构建在合约层的机构,将在监管机构、审计机构或交易对手直接检查代码时依然能够通过合规检验。

正在规划你的链上策略?

联系我们的机构团队 →

常见问题

为什么金融机构不能在没有额外身份控制的情况下使用公链?

公链默认是开放的,这意味着任何地址都可以与任何其他地址交易。金融机构在监管义务下需要识别交易对手并限制参与,因此需要在基础网络之上额外增加一层链上身份和访问控制。

在机构金融的语境下,什么是链上身份?

链上身份是指通过身份注册表、可验证凭证和不可转移代币等方法,将区块链地址与已验证信息(如KYC状态或认证资质)关联起来的机制,使智能合约能够在不依赖可信方逐笔审批的情况下检查资格。

代币化资产的访问控制是如何运作的?

访问控制通过白名单(有时称为whitelist)、许可制流动性池或可插拔合规模块等机制,限制谁可以持有或转让代币,这些机制会在转账完成之前检查资格。

合规是在界面层强制执行,还是在智能合约层强制执行?

智能合约层是执行一致且难以绕过的地方,因为无论使用哪个界面,合约都可以被直接调用。界面层工具在其上增加了便利性和筛查功能,但它们与智能合约级执行并行运作,而不是取代它。

为什么身份和访问控制机制需要安全审计?

因为这些机制本身就是风险管理代码,逻辑上的缺陷可能让受监管资产到达一个本不应有资格持有它的地址。专门针对合规逻辑的智能合约审计和安全审计有助于在部署之前发现这些问题。

  • 原文链接: openzeppelin.com/news/id...
  • 鸿途知科网 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
版权声明

本文仅代表作者观点,不代表区块链技术网立场。
本文系作者授权本站发表,未经许可,不得转载。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门