随着监管部门加强对区块链及密码货币生态的监管,关于ICO的狂野时代已经成为了过去时,这意味着区块链通证的发行行为很可能属于证券法的监管范围。
在这一背景下,为了让区块链创业公司向投资者提供符合监管的金融产品,而不违反证券法,证券通证发行(STO)解决方案应运而生。
与功能型通证不同的是,证券通证代表的是一种资产的部分或完全所有权。公司、房地产甚至知识产权的股票,都可以用一种证券通证来表示。
证券通证的好处,不仅适用于区块链融资,它还有可能改变传统的纸股范式,从而提高效率以及改善分配。例如,智能合约的很多应用,可以和证券通证一起使用,以优化公司治理中的投票表决,提高其透明度。
然而,如果没有标准,监管机构、开发者、KYC供应商、投资者、发行者、钱包以及交易所,就无法在同一个框架中共同工作。
目前,市场上已出现了多种STO标准尝试,而在本文当中,我们会简单介绍一下ERC1400、ERC1404以及ERC1410 这三种标准。
(图片来自:CoinSutra)
关于ERC-1400
ERC1400是证券通证标准,它是由Gosselin, Adam Dossa, Pablo Ruiz, 以及Fabian Vogelsteller共同撰写的标准,其中Gosselin 和 Dossa是在Polymath工作。而Ruiz具有国际商业和金融方面的背景知识,而Dossa则是一名以太坊开发者和网页设计师。
根据标准作者指出,ERC1400应该是和ERC20 以及ERC777标准相兼容的,但是证券通证与功能型通证有很大的不同,并且需要链上以及链下参与者之间进行更复杂的交互,因此该EIP标准具有能力进行强制转移,目的是以防法律诉讼,并用于资金追回。此外,通证也必须是不可替换的(或者至少是“部分可替换的”),ERC1400标准可以允许提供证券的各方,基于一组条件授予或拒绝交易。根据作者介绍,该通证标准需要用到ERC-1066。
想要查看完整的标准介绍?你可以访问这里:https://github.com/ethereum/EIPs/issues/1400
关于 ERC-1404
ERC-1404是由TokenSoft工程团队提出的通证标准,其设计目的就是为证券通证、通证化证券以及其它携带复杂要求的其它通证而准备的。
“过去一年里,我们一直在和发行商、顶级证券律师事务所以及主要的交易所交流,以便更好地了解他们对通证合规的需求,”TokenSoft创始人Mason Borda表示,“现在,我们很高兴能够制定一个全面满足这些需求的标准,为发行人遵守全球银行和证券法提供必要的工具。”
根据介绍,ERC-1404具有ERC-20通证标准的所有优点,例如,易于部署以及与以太坊网络的可互操作性。此外,该标准还提供了一些关键的改进,允许发行者实施监管性转让限制。
ERC-20通证提供了以下基本函数:
contract ERC20 {
function totalSupply() public view returns (uint256);
function balanceOf(address who) public view returns (uint256);
function transfer(address to, uint256 value) public returns (bool);
function allowance(address owner, address spender) public view returns (uint256);
function transferFrom(address from, address to, uint256 value) public returns (bool);
function approve(address spender, uint256 value) public returns (bool);
event Approval(address indexed owner, address indexed spender, uint256 value);
event Transfer(address indexed from, address indexed to, uint256 value);
}
而ERC-1404则在ERC-20标准的基础上,添加了两种函数:
contract ERC1404 is ERC20 {
function detectTransferRestriction (address from, address to, uint256 value) public view returns (uint8);
function messageForTransferRestriction (uint8 restrictionCode) public view returns (string);
}
其中,detectTransferRestriction
和messageForTransferRestriction
逻辑是给发行者使用的。
而唯一的要求指令detectTransferRestriction必须在通证的transfer以及transferFrom方法中进行内部评估。
如果在这些传输方法中,detectTransferRestriction指令返回了一个0以外的值,则交易应该被还原。
我们来具体讨论一下这两个函数的基本原理:
detectTransferRestriction:此函数是发行者强制执行通证传输的限制逻辑。例子包括,(1)检查通证接收者是否在白名单内,(2)检查发送者的通证是否在锁定期内被冻结等等。该函数实现仅面向发行者,另外,第三方可以公开调用该函数来检查转移的预期结果。因为这个函数会返回一个uint8代码,所以它允许函数调用者知道传输失败的原因,并将其报告给相关的对方。
messageForTransferRestriction:这个函数实际上是一个“消息”访问器,它负责以人类可阅读的方式解释一笔交易为什么会被限制。通过规范消息查找,开发者授权用户界面构建器,有效地向用户报告错误。
更多关于该标准的信息,你可以在这里找到:https://github.com/ethereum/EIPs/issues/1404
关于ERC1410
ERC1410通证标准是由Adam Dossa、(@adamdossa), Pablo Ruiz (@pabloruiz55), Fabian Vogelsteller (@frozeman)以及 Stephane Gosselin (@thegostep)共同撰写的通证标准。
其标准名为:部分可替代通证标准(Partially Fungible Token Standard)
ERC1410需要用到ERC-777,该标准是ERC-777的扩展,因此和ERC20 以及 ERC777是隐式兼容的。
该标准描述了一个接口,以支持所有者通证被分组为多个分支,每个分支由标识键以及余额表示。
更多关于该标准的信息,你可以在这里找到:https://github.com/ethereum/EIPs/issues/1410
注意,以上这些标准目前都处于草稿阶段,而要得到正式实施,需要它们进入“last call
”(最终调用)阶段。而一项提案从草案阶段,到最终进入最终调用阶段,通常需要经历很长的开发、编辑、实现以及漏洞修复周期,并且很多EIP最终并不会获得足够的牵引力。如果一个提案进入了最终调用阶段,那么它还需要至少等待2周的时间,以便社区进行评论或提出相关问题,换句话说,这些提案可能只是证券通证之路的一个开始。