Singular

Singular是一套EVM智能合约框架,它为不可置换资产提供了标准的通证化模型。包含singular类型合约的定义,可适配singular资产和其他如ERC20、ERC721等资产的钱包接口,以及一套实现singular资产去中心化交易的规则。

基本资产合约singular的设计如下

1、一笔资产关联唯一的智能合约账户。账户是资产的所在地,人们可以很容易地通过如Etherscan等公共服务浏览到该token的相关信息;

2、 Singular token的所有者必须是ISingularWallet的合约账户。其他非合约账户无法直接拥有Singular token,这个设计很大程度上与以太坊的帐户抽象模型(讨论)的思路相同,该模型将会在Ethereum的未来版本中进行部署;

3、它支持push所有权转移和push所有权转移模式。在直接转移中,当前所有者可以将token所有权的传递请求给到接收者帐户,接收者帐户可以选择在该交易中接受或拒绝价格。然而,在间接所有权转移中,当前所有者会保留交易token直到更换拥有者,token的地址被传递到线下的某处。当接收方认为该出价符合预期时,它会发出另一个单独的交易请求来完成交易;

4、运营方。ISingularWallet账户可以指派运营方协助进行所有权转移,让运营者代表所有者管理资产token是一种通用的模式 (如ERC721和ERC777),人们发现处理token交易很方便。当前token所有者可以为接下来的所有权变更指定一个运营者,但是直接设置token的运营方会污染token接口;

5、时间锁(Timelock)。当一个人要通过调用approveReceiver()函数出价购买某人的资产时,需要有规定截止时间的参数,在这期间,接收方可以随时通过调用accept(...)参数获得token的所有权,同时这将反过来发送一个通知给他的前所有者更新它的状态,甚至跨链。一个重要的设计是:资产所有人不能在报价期间进行更改操作。这实际上是一种期间锁定状态,相比之下,无论是ERC20还是ERC721或者是它们的任何衍生品都不能为转移交易提供内置的期间锁定;

6、 Token交换和出售是通过中间媒介TradeExecutor实现的,它是一个部署在一个公开的地址上的自运转的智能合约,并在所有权管理上受到Singulars的信任;

7、适配器将token转化为可交易的Singulars,并封装在ERC20和ERC721中,这为建立去中心化的资产交易平台奠定了基础。