LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资讯 > NFT 交易新方向:永不停歇的激进市场

NFT 交易新方向:永不停歇的激进市场

2020-03-11 区块律动BlockBeat 来源:区块链网络

原文标题:《激进域名》
原文来源:ENSUser(微信公众号:ensaddy)
作者:daddy.eth


推荐语:哈勃格税是 Glen Weyl 和 Eric Posner 在《激进市场》一书中提出一种新的物权模型,在这种框架下:所有的资产持有人需要为自己的资产公开标价,同时每年按照估价百分比交税;所有的资产都永久处于市场中,任何人可以按照该标价从持有人手中购入资产。哈勃格税旨在改进目前资源分配的效率,而它在传统场景下难以实现,例如如何构建一个财产永远标价待售的市场,如何让其他人能轻易「强行买走」别人的财产。但现在借助智能合约,有团队在 ETHLondon 上实现了 ENS 域名的激进市场,同时将可交易的租约加入其中,域名的使用权 (leasehold) 永久处于交易之中。也许域名不一定是适用于激进市场的合适商品,但是智能合约所赋能的新的市场模型或许值得探索。


译注:用哈勃格税重塑域名交易是 Vitalik 去年年底提出过的脑洞,在 ETHLondon 黑客松上实现了这样一个 Demo。ENS 域名本身就是 ERC721 标准的代币,得益于智能合约构建的激进市场,租赁权成为了一直在市场上流动的可交易代币,而使用权则作为租金收益的通证。这样改造 NFT 交易市场的思路虽然还称不上完善,但或许是许多项目可以借鉴的方向。



灵感来源



无论是 ENS 还是 DNS,域名抢注问题都算得上沉疴痼疾。许多遭抢注的域名被挂以天价,而且通常是掮客们把持着最热门的域名,只有当有人花大价钱收购后,域名才会被投入使用。

这个问题的解决方案之一是哈勃格税(Harberger tax),由 Glen Weyl 和 Eric Posner 在《激进市场》一书中提出。在这种系统下,所有的资产都总是被挂在市场中。资产当前的所有人会对资产进行估价,并根据估价按比例支付一笔预置税款。这样以来,商品和金钱会一直保持流动。

我们的 Dapp 激进域名 设计了一套由哈勃格税启发的所有权模型,允许个人持有者将 ENS 域名转入其中。我们同时借鉴了英国房地产市场中永久产权(freehold)和租赁产权(leasehold)的概念,毕竟我们的 dapp 是在 ETHLondon 开发的。

运行机制


ENS 域名的持有者可以针对自己的域名,创建并出售一个可交易的租约,并且获取全部的租金收入。

当域名持有人把符合 ERC 721 标准的 ENS 代币的所有权转移给激进域名(Radical Domain)智能合约时,他们会收到两个 ERC 721 代币:

?一个永久产权(freehold)代币,它无法对域名进行控制操作,但是能接收未来域名产生的所有租金收入。


?一个租赁产权(leasehold)代币,它能对域名发起控制操作(例如设置解析合约),但主要还是按照哈勃格税的规则,声明自身的售价,并且根据标价支付一定比例的租金。

单独持哪一种代币都无法变更相应 ENS 域名的所有权,但是任何同时持有永久产权代币和租赁产权代币的账户或合约都可以把 ENS 域名从激进域名合约中提走。

租赁产权代币总是在市场中「挂牌出售」(向 @simondlr [1] 致敬),任何时候都能在激进域名的网站或者 OpenSea 一类的市场中买入这个代币。而永久产权代币则由域名持有人决定是否要进行交易。

这样的设计有以下好处:

?为市场带来流动性;


?资产能产生持续不断的被动收入;


?使得急于出售的卖家能先收到一笔钱(最开始售出租赁产权代币的货款),同时在未来也能获取收入(以后的租金);


?激励了不囤积域名的行为。

当然也可以设计其它的模型,例如固定条款的可交易化租约。

实现方案


整个系统非常依赖 ERC721 非同质化代币(NFT)标准,它能在代币转账发生时对收款人地址调用 onERC721Received 函数。同时也有赖于 ENS 注册器的设计,域名所有者可以指定其它地址作为控制人(Controller)对域名进行除了转移所有权以外的其他操作。

ENS 域名的持有人可以将自己的 ERC 721 域名代币转移到 RadicalManager 合约中,从而实现域名的「激进化」。这是调用了 ENS 智能合约中的 safeTransferFrom 函数,从而唤起 RadicalManager 合约的 onERC721Received 函数,接着相应地调用 RadicalLeasehold 以及 RadicalFreehold 智能合约完成代币的铸造工作。

我们智能合约的编写受益于 Truffle 框架,OpenZepellin 以及 ENS 的帮助(感谢 @makoto_inoue[2] 对我们网站的协助)。

域名进行激进化的操作中,由最初的所有者设置年租金的比例(例如 10%)以及租赁产权代币的初始售价(例如 1 以太币)。接下来的租赁产权代币的持有人可以设置新的售价(例如 10 以太币),但他必须要按照相同的租金比例支付租金(10% x 10 ETH = 1 ETH/year)。永久产权代币的持有者则可以收到该租金,并且可以随时提走所有的租金。

租赁产权代币的所有者只要持有该代币,就能一直享有该 ENS 域名的独家控制权。

挑战


?Solidity 的各个版本存在较大的变化,同时把两个 uint256 类型的值编码成一个字节类型的参数十分困难。(Evert)?团队中的新人(Richard 以及 Kiki)感到学习曲线陡峭,知识量太大。?理解 ENS 智能合约,将 ENS 的概念设计(例如 controller)与 ERC721 标准(例如 operator)区分的过程很艰难。(Rosco)?在前端设计上我们切换了几种方案,但都各自对新手或者老手有一定的困难。

我们自豪的成果
从 BUIDL 的角度看,我们可以非常自豪地表示已经实现了核心合约的大部分功能。

我们对团队合作非常自豪,因为成员的技术背景和层次不一,每个人都做出了独特的贡献。

我们很自豪以太坊社区所构建的生态,从链、到工具、到这场盛会。

我们学到的东西


在项目中,我们发现的最有趣的收获在于 ENS 允许「控制人」(controller)进行除了转移所有权以外所有域名操作的设计。这省去了我们对合约添加追踪调用的工作,其它 ERC721 代币也应当借鉴这样的设计模式,使得激进市场的思路能适用到其它项目中。

未来的工作


我们想要将这个项目继续完善,并且期待有人能做出改进、贡献代码。在这个项目的工作中,团队里的开发新手都得到了宝贵的经验。

构建工具


?ens?erc721?javascript[3]?solidity[4]?typescript[5]

试一试


?GitHub Repo [6]?radical.domains [7]

References


[1] @simondlr : https://twitter.com/simondlr
[2] @makoto_inoue: https://twitter.com/makoto_inoue
[3] javascript: https://devpost.com/software/built-with/javascript
[4] solidity: https://devpost.com/software/built-with/solidity
[5] typescript: https://devpost.com/software/built-with/typescript
[6] GitHub Repo : https://github.com/rkalis/radical.domains
[7] radical.domains : https://radical.domains

来源链接:weixin.qq.com

  • 添加新手交流群:币种分析、每日早晚盘分析
  • 添加虎哥微信,一对一亲自指导:hugelunbi02
  • —-

    编译者/作者:区块律动BlockBeat

    玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

    LOADING...
    LOADING...