0x的STO解决方案

关注0x协议进展以及ZRX投资价值

本文整理翻译自0x Blog 文章Compliant peer-to-peer trading

免责声明:本文不提供或替代法律建议。在运营Relayer时,需要考虑许多法律要求。请咨询您自己的法律顾问。


本文要点提炼:

  • 合规币的潜在交易者必须遵守“了解您的用户”(KYC)和“反洗钱”(AML)要求。
  • 我们引入了有权限的流动性池的概念,确保只有满足特定要求的以太坊地址才能使用该资产池。Relayer可以选择应用一组或多组权限,让机构投资者更容易地与满足相同合规性要求的投资者进行交易。

在0x,我们设想一个世界,所有形式的价值都表示为公链上的Token。公链备受瞩目,就是因为它们无需权限,全球可访问,对一些经济效率不高的地区的金融市场资产尤其有吸引力。虽然机构将受益于运行在区块链上的全球金融市场,但他们通常需要服从所在的司法管辖区额外的合规要求。本文将探讨如何将各种不同的合规性规则应用于0x协议上的交易活动,为服务机构投资者做好准备。

我们首先会介绍权限Token的概念,并演示如何使用以太坊智能合约自动强制执行Token的所有权规则。接下来,我们分别探讨了不同的交易所与权限Token的兼容性问题。最后,我们将介绍权限流动性池的概念,它允许0x Relayer对它们运营的交易对强制执行任意规则。


权限Token

权限Token直接在Token的智能合约代码中对传输进行限制,将所有权限制在满足特定要求的以太坊地址中。除了交易限制之外,这些Token与任何其他ERC20 Token一样。权限Token最常见的实现非常直接:每次transfer调用Token的功能时,Token的智能合约都会检查注册表合同,确认Token接收地址是否已注册到白名单,判断为“是”才能成功完成交易。

许多团队正在开发权限Token:

  • Harbour最近发布的R-Token标准,与其合规产品相结合,将促进向各个司法管辖区的合格投资者和机构发行合规的Token化证券产品。
  • OpenFinance创建了智能证券标准(S3),其目标与此类似,并计划为使用0x协议的证券Token推出一个完全合规的二级市场。
  • Polymath创建了ST-20 Token,用于在其平台/协议上将证券Token化。
  • 最近,Zeppelin提出了一个通用框架(TPL),用于创建权限Token和授权注册表处理权限。

与中心化交易所的兼容

对于通过中心化交易所交易的权限Token,其注册表的管理者必须将该交易所全部账户列入白名单。而对于新增用户,中心化交易所会为{用户,Token}组合生成唯一的存款地址,并允许中心化交易所在存款地址和冷存储之间转移Token,因此向注册表添加账户是一项成本很高的工作,并且需要注册管理机构和中心化交易所之间有效协调。

合规是另一个问题。注册表管理者无法轻易确认中心化交易所的用户是否满足注册表的要求。如果监管机构要求注册表管理者证明中心化交易所的所有交易都是合规的,管理者将无法提供证据,因为中心化交易所的内部活动是不透明的。

与去中心化交易所的兼容

大部分基于以太坊的去中心化交易所与权限Token不兼容,他们要求交易者将Token从钱包存入智能合约,这类型的交易所包括OasisDEX,EtherDelta / ForkDelta,IDEX和Kyber。

0x协议的智能合约管道的设计是在交易执行时直接从交易者的以太坊账户中提取Token(钱包到钱包交易)。交易限制融合到了Token中,自动应用于所有相关的0x交易,即把交易限制在具有相同权限的用户中。

有权限的流动性池

权限Token非常适用于类似证券这样的,对所有权有严格监管要求的资产。无论Token是否有权限限制,机构和Relayer可能都需要满足额外的合规要求才能进行交易。

0x协议的第2版将允许开发人员将自定义智能合约插入到0x管道(参见ZEIP18)中,以扩展其功能。这将开启各种令人激动的可能性,其中就包括有权限的流动性池,它可用于确保一些0x订单仅可由符合某些要求的以太坊地址访问。一个Relayer创建有权限的流动性池的方式如下:

  1. Relayer部署一个我们称之为过滤器的以太坊合约 ,接受一个或多个0x订单,核对订单满足一组条件后,将它们转发到0x 的交易合约以进行结算。Relayer可以在过滤合同中强制执行他们想要的任何条件,对于本次示例,过滤合同要求交易双方都在KYC注册表中。
  2. 只有订单发起者(maker)在过滤器合约的地址中,Relayer才会将订单放到订单簿(orderbook)。如果订单成交者(taker)试图绕过过滤器合同,将订单发送到0x的交易合约,交易将会失败。
  3. Relayer的订单簿(orderbook)只包含通过过滤合约传入0x交易合约的订单,确保所有访问订单簿的交易者都满足KYC要求。

由于权限流动性池是可选项,因此Token可以同时在有权限的和不设权限的流动性池中进行交易。两个池子的唯一区别是能够访问它们的交易者(可能存在重叠)。具有特定合规性要求的机构可以与满足相同要求的对手方进行交易,而没有这些限制的交易者两者都可以选择。

Solidity伪代码

创建过滤合同相对简单。下面提供的Solidity伪代码定义了一个条件性成交订单(conditionalFillOrder)函数,该函数在执行交易之前检查交易双方是否在任意注册表合约中列出。

function conditionalFillOrder(
Order order,
uint takerTokenFillAmount,
bytes signature)
public
{
require(registry.isMember(order.maker));
require(registry.isMember(msg.sender));
exchange.fillOrder(order, takerTokenFillAmount, signature);
};

0x管道,过滤器和注册表合约之间的清晰分离使多个Relayer可以引用单个注册表。这对交易者来说很方便,他们只需进行一次身份验证,便可以在不同的Relayer和dApp中使用这个链上的证明。由于注册表合约由KYC提供商管理,可以假定该提供商会保密用户详细信息,因此Relayer不会涉及交易者的个人信息,Relayer也无需承担获取和管理此信息的麻烦。

最后的想法

未来12个月将由即将出现的合规Token和参与Token经济中的机构投资者来定义。围绕ICO的非理性繁荣可能正在减弱,对合规的Token化证券日益增长的渴望正越来越强烈。同样的混乱循环将重演,疯狂的创新爆发将把我们带入新的无法预料的方向。然而,这次将有一些类似的规则,同时机构投资者将有机会参与这次旅行。一个主要的新兴主题是将复杂的合规规则编码为智能合约。在复杂规则是现状的世界,0x协议的模块化架构将成为P2P交易的理想选择。

(完)


【点击题目可跳转】

0x 2.0 6个重大升级功能介绍 |治理的价值 | 做市工具 | 使用0x协议构建商业的18个创意(1–6) (7–12)(13–18) | 在DEX上市的5大好处 | 0x协议2.0 | 生态构造 | 功能演进 | 治理思路 |治理路线图 | ZRX与治理的关系

【最新动态】

0x协议2.0 版本9月25日正式发布

16 dApp 即将或正在使用0x协议

19 relayer即将或正在使用0x协议

【0x Project相关链接】

官网 | Twitter | Blog | Rocket | Reddit

0x爱好者微信公众号