顶级的 NFT 可能花费数万甚至数百万美元。大多数散户投资者都无法接触到它们,不同的团队正在通过将 NFT 分割来解决这个问题。碎片化是将 NFT 锁定到金库中,然后铸造一些可替代份额作为 ERC-20 代币的过程。碎片化既有利于 NFT 产品所有者,也有利于股权购买者。份额买家现在可以负担一小部分 NFT。NFT 的所有者可以通过出售部分 NFT 来了解它们的价值,并在不出售整个 NFT 的情况下看到一些流动性。
有许多团队正在处理这个问题,而 Fractional 是这个领域的顶级项目之一。
在 Fractional 协议中,NFT 所有者可以通过创建一个金库来分割自己的 NFT。每个金库包含一个 NFT 篮子 (表示为一个 NFT 代币),该篮子本身包含许多 NFT。NFT 所有者将获得所有部分的所有权代币,他们可以将这些代币出售给份额买家。
金库的创建者有权每年收取一笔管理费。金库创造了新的部分所有权代币作为管理者的费用。该协议通过具有治理控制的最大费用百分比参数来防止费用百分比过高。
如果某天有人想拥有整个 NFT 篮子,他可以通过向金库发送等量或更多的 ETH 来启动拍卖。拍卖完成后,拍卖赢家将收到 NFT,部分所有权代币持有者可以索取已支付的 ETH。
创建金库并设置其参数
**
**
为了创建一个金库,ERC721VaultFactory#mint 需要以下信息 :
-
Name -金库名
-
Symbol-金库符号
-
代币- NFT(或 NFT 篮子) 地址
-
id—NFT 的 id
-
listPrice -NFT 的初始价格
在金库工厂的初始化期间,
ERC721TokenVault
会创建一个合约,并在每个金库的初始化中重用其逻辑,以节省 gas 和存储空间。每个金库都有自己的合约,但逻辑只存在于一个地方。该函数用它的参数对初始化函数签名进行编码,然后将调用数据传递给代理,该代理把 delegatecall 传递给预先创建的代币金库合约。ERC721TokenVault#initialize 初始化分割 ERC-20 代币,给管理员创建总供应,并设置总底价 (标价 x 供应)。在金库初始化之后,它将 NFT 从所有者处转移到金库。
每个代币库都可以通过拍卖购买,其默认长度为 7 天。管理员可以通过调用 ERC721TokenVault#updateAuctionLength 来更新金库的拍卖长度,但它必须在协议设置的允许范围内。
管理员还可以通过调用 ERC721TokenVault#updateFee 来更新金库的费用。必须低于协议规定的最高管理者费用百分比。随着管理费用的更新,管理者还可以要求在金库中的任何费用。
创建一个 NFT 篮子并存储 / 取出 NFT
**
**
在代币金库智能合约中,每个金库只能持有一个 NFT。 Fractional 允许金库通过 NFT 篮子的概念来持有多个 NFT。一个 NFT 篮子本身就是一个 NFT,由于它有一个以太坊地址,它可以拥有多个 NFT。要创建一个 NFT 篮子,调用 IndexERC721Factory#createBasket 来创建一个新的 IndexERC721 篮子。它铸造的代币 0(篮子) 属于工厂。篮子所有权随后转移到 msg.sender。
创建篮子之后,可以通过调用 IndexERC721#depositERC721 将 NFT 存储到篮子中。
篮子所有者或任何被批准的用户也可以通过调用 IndexERC721#withdrawERC721 从篮子中取 N 出 FT。
转移金库份额
金库份额是 ERC-20 代币,它们可以在地址之间自由交易。当交换发生时,金库份额从流动性池转移到买方。钩子 ERC721TokenVault#_beforeTokenTransfer 被定义,它在每次传输之前运行。它做了三件事。
首先,如果发送方正在转移他所有的金库份额,金库将烧毁他的不可转让的金库 NFT,这代表他的金库所有权。
第二,如果接收者不拥有一个金库 NFT,金库会为他铸造一个。
最后,如果当前没有拍卖,且发送方的期望售价和接收方的期望售价不同,则根据发送方和接收方的转让金额加权的期望售价调整底价。
更新期望售价
**
**
金库份额可以通过调用 ERC721TokenVault#updateUserPrice 来更新他们想要的出售价格。底价是每个金库份额所有者基于其份额的期望销售价格的加权平均值。用户可以添加 / 删除 / 更新他们想要的销售价格。
如果没有投票代币,或者用户是唯一的份额所有者,它会将底价设置为用户的权重乘以期望价格。
如果用户不再想投票,该函数将从底价中删除用户的加权价格以及投票代币的数量。
如果用户是第一次投票,并且底价已经由其他份额所有者确定,那么在将加权价格添加到底价之前,该函数会检查用户的期望销售价格是否在金库平均底价的最小 / 最大底价系数之内。
类似地,如果用户正在更新期望的销售价格,该函数将进行相同的检查,只是它在平均底价计算中删除了旧的加权价格。新的加权价格被添加到底价中,旧的加权价格被从底价中删除。
最后,它在 userPrices 映射中设置用户所需的销售价格。
发起拍卖
**
**
拍卖可以通过调用 ERC721TokenVault#start 来启动。 它是一个 payable 函数,因为函数调用者必须发送价值至少等于金库底价的 ETH 作为起始出价。为了开始拍卖,还必须对底价达成共识。通过比较投票代币的数量和协议的最小投票百分比来检查它。
拍卖的结束时间戳是当前区块时间戳加上拍卖长度。它的状态由不活跃变为活跃。当前价格为 msg.value 和获胜的地址是 msg.sender。
在拍卖中出价
**
**
其他投标人可以通过调用 ERC721TokenVault#bid 提交他们的投标。 每个出价必须至少将价格提高协议的预定义最低出价增幅。
如果距离拍卖结束时间不足 15 分钟,拍卖时间将延长 15 分钟。
然后该函数将当前出价最高的人存入的 ETH 作为 WETH 返回给这个用户。基于合约定义_sendETHOrWETH 的方式,我认为发送 WETH 而不是 ETH 是为了防止恶意合约通过定义恶意 fallback 函数来攻击金库。
结束拍卖
**
**
通过结束时间戳的实时拍卖可以通过调用 ERC721TokenVault#end 来结束。它将拍卖转换 live 为 ended,并将金库的 NFT(或 NFT 篮子) 转移到获胜地址。
拍卖结束后,金库份额所有者可以调用 ERC721TokenVault#cash 来赎回他们从拍卖中收集的 ETH 份额。如果份额所有者是智能合约,则发送 WETH。金库份额随后被烧毁。
兑换金库 NFT
**
**
如果买家不想通过拍卖,他也可以通过控制所有金库的份额供应来获得完全的 NFT 所有权,然后调用 ERC721TokenVault#redeem。该函数烧毁所有份额并将金库 NFT 转移给用户。拍卖状态转换为 redeemed。
对付有恶意的管理员
**
**
如果存在恶意的管理员,治理可以通过调用 ERC721TokenVault# kick 来指定另一个地址作为管理员,从而投票将管理员踢出去。
申请费用
**
**
管理员收取管理金库的费用。ERC721TokenVault#claimFees 可以被调用,以向管理员和管理人员创造 ERC-20 金库份额。年费是金库总份额供应的一定比例,每秒钟都会滴到管理者和治理者手中。只要当前区块时间戳和最后一个声明的时间戳之间已经过去了一段时间,费用就可以索赔。如果金库是通过拍卖购得的,则无法收取费用。
到目前为止它做得怎么样 ?
**
**
让我们从平台的一些高级统计数据开始 :
下面我们可以看到所有成功分割并拍卖的 NFT 的结果 (目前有 9 个),比较标价和最终拍卖价格的“利润”。
https://dune.xyz/queries/96146/204625
以及更复杂的查询,得到一个碎片 NFT 的隐含值。我们首先从分割的 NFT 的 ERC20 代币所在的 DEX 池中获取最近的交易,然后取汇率的美元价值,并将其乘以该代币的总供应。
据此,我们得到 59 个不同的 NFT 池,其隐含估值分布如下 :
https://dune.xyz/queries/96482/204676
最后,我们可以看看一段时间内的总交易量 :
总结
**
**
Fractional 允许 NFT 持有人在不出售全部资产的情况下看到其 NFT 的流动性,同时也允许价格发现。买家现在可以通过 Fractional 的金库份额购买他们以前无法负担的昂贵的 NFT 份额。不同的协议采用不同的方式进行 NFT 的分块 / 收购,而 Fractional 选择了 AMM +拍卖作为其主要机制。我还在研究另一种名为 Spectre 的协议,它不相信低流动性高滑点的 AMM 用于分割代币和收购的链上拍卖。它结合了铸币厂和掉期交易的方式进行收购,这取决于资金池的流动性,它还利用闪电收购而非拍卖的方式进行去分割。我很想知道哪种机制最终会被更广泛地采用。
Source: https://medium.com/coinmonks/dissecting-the-fractional-protocol-dc3867584bdb
关于
**
**
ChinaDeFi - ChinaDeFi.com 是一个研究驱动的 DeFi 创新组织,同时我们也是区块链开发团队。每天从全球超过 500 个优质信息源的近 900 篇内容中,寻找思考更具深度、梳理更为系统的内容,以最快的速度同步到中国市场提供决策辅助材料。如果您是从业者希望获得更多海外最新技术方案及项目信息,可以查看 Gavin 的“每日文章”笔记 https://day.chinadefi.com (内容可能比较生涩,但是相信可以带来帮助)。
Layer 2 社区 - 我们正在组建专业的 Layer 2 社区,欢迎对 Layer 2 感兴趣的区块链技术爱好者、研究分析人与 Gavin (微信 : chinadefi)联系,共同探讨 Layer 2 带来的落地机遇。同时欢迎加入 ChineDeFi 社区(微信联系:cndefi),敬请关注我们的微信公众号 “去中心化金融社区” 。