作者:DaveWhite,Frankie,JustinRoiland
原文标题:《ConstantRateIssuanceSalesProtocol》
编译:Kyle,DiFi之道
介绍
本文介绍了恒定速度发行销售协议,这是一种定价机制,旨在随着时间的推移以目标速度销售NFT。
如果我们想每天卖出100个NFT,但实际只能卖出10个,那么CRISP会慢慢降低“立即购买”的价格。如果我们想每天卖出100个NFT,但实际能够卖出200个,那么CRISP会在每次新卖出时迅速提高“立即购买”的价格。
我们提供了一个Pythonnotebook来模拟这个机制的行为,以及一个参考Solidity实现。
潮玩制造商Funko将与Paramount合作推出基于《阿凡达传奇》的NFT系列:7月30日消息,美国潮玩上市公司Funko与跨国大众媒体和娱乐公司Paramount Global达成合作,计划推出基于《阿凡达传奇》(Avatar Legends)世界的NFT系列。Avatar Legends x Funko Series 1 Digital Pop!将于8月9日在NFT平台Droppp发布。(Bitcoin.com)[2022/7/31 2:48:38]
动机
想象一下,你有一套无限数量的NFT,你想以固定的速度出售——比如每天100个。
你可以设计一个拍卖系统来实现这个目标。你可以在一次拍卖中出售所有100个,或者可能举行100次不同的拍卖,每次拍卖一个NFT。
波卡借贷协议 Parallel Finance 完成 500 万美元战略融资:金色财经报道,波卡借贷协议 Parallel Finance 宣布以 5 亿美元的估值完成 500 万美元战略融资,投资机构包括 Coinbase 、StarkWare 和Google Ventures 前负责人创立 Section 32。Parallel Finance 首席执行官 Yubo Ruan 表示,Parallel Finance 在第二季度计划分两批进行 B 轮融资,每批 2000 万至 3000 万美元,估值未定。(Coindesk)[2022/4/5 14:05:14]
但是,拍卖的用户体验可能非常笨拙——拍卖需要花费gas,我们希望用户能够随时购买其中一个NFT,而无需等待拍卖终止。
机制
分析 | 以太坊Parity客户端存在安全隐患,可能会意外导致主网“分叉”:PeckShield安全人员研究发现,由于以太坊Parity客户端存在某种缺陷,当它收到一个问题区块时,下个有同样哈希的合法区块将不被处理。具体而言:攻击者可向Parity客户端发送合法header+非法body,使得之后的合法区块header+body被Partiy客户端过滤,但可以被geth等客户端接收,进而可能会导致以太坊主网意外“分叉”。Parity客户端目前占以太坊主网的22.08%,主要应用于矿池、交易所等相关节点。PeckShield安全人员建议,矿池和交易所节点应尽快升级Parity新版本或将节点迁移至geth客户端,同时应适当提高区块确认块数。[2019/12/31]
概述
CRISP跟踪NFT的销售速度,并将其与目标速度进行比较。
动态 | Parity发布首个使用Rust编写的Zcash客户端Zebra Alpha版本:据BTCManager报道, Zcash已经宣布发布Zebra Alpha版本,这是第一个完全用Rust编程语言编写的Zcash客户端。根据6月17日的新闻,Rust由Parity Technologies开发,将作为Zcash的替代产品,允许开发人员在Zcash区块链上轻松构建DApp。[2019/6/19]
当NFT的销售速度相对于目标价格过快时,我们希望能够快速调整价格。与目标速度相比,销售速度越高,我们想提高价格的速度就越快。
另一方面,当NFT的销售速度相对于目标速度太慢时,我们不希望过于仓促降低价格。毕竟,在过去的某个时候,有足够的需求来支撑当前的价格。因此,随着时间的推移,我们会慢慢降低价格。
销售速度
我们使用指数移动和或EMS来衡量销售速度。
EMS是对指数移动平均线的调整,通常用于量化交易,以衡量某个数量在最近加权时间窗口内的累积。它的计算成本很低,并且需要很少的存储空间。
CRISPEMS特别是用来跟踪最近一段时间内出售的NFT数量,该时间段由销售平均半衰期定义。平均半衰期为100的销售意味着100个区块前的销售只会增加当前EMS的1/2。
区块b中的EMS递归定义为:
其中S_b是一个变量,表示在区块b中发生的销售数量。
给定两个区块b_1和b_2,假设区块之间没有发生销售,我们有
我们可以使用上述公式将目标销售速度转换为一个目标EMS。假设我们的目标是每n个区块进行1次销售,那么目标EMS应该是
提高价格
如果当前的EMS高于目标,则根据定义,销售速度则太高了。因此,我们希望为下一个NFT销售收取更多费用,因为这会减少需求,或者至少会增加收入。
相对于期望的价格,我们卖出NFT的速度越快,我们更新价格的速度就越快。所以,我们定义一个变量
然后设定
其中价格上涨速度控制价格对目标价格和观察价格之间差异的反应速度。
在此示例中,我们在200个区块的周期内对CRISP进行建模。我们的目标是每100个区块进行一次销售,并使用700个区块的销售半衰期。在给定的时期内,我们看到每50个区块发生一次购买,这超出了我们的目标。这会在每次购买时将EMS推高,价格也会相应做出反应。
降低价格
当前EMS低于目标时,销售速度太低。因此,我们希望为下一个NFT收取更少的费用,使其成为更具吸引力的购买方式。
但是,我们希望随着时间的推移缓慢降低价格,因为我们设法以之前的价格达到了目标速度,而且我们不希望降价超过我们必须的水平。
假设最后一笔交易发生在区块b_1的price_{b_1},那么区块b_2的价格由下式给出:
其中价格衰减半衰期控制衰减速度。
因为我们只想在销售速度低于目标时衰减价格,如果当前销售是自销售速度低于目标速度后的第一次销售,我们从低于目标时的区块开始计算衰减,而不是从自上次销售以来的时间。
在此示例中,我们在300个区块的周期内对CRISP进行建模。同样,我们的目标是每100个区块进行一次销售。在给定的时间段内,只有一次购买发生在第200个区块。我们看到当前EMS在前200个区块上缓慢下跌,但价格直到第100个区块左右才开始下跌,此时当前EMS跌破目标。由于购买后,EMS仍然低于目标,价格没有上涨。
完整示例
一个较长时间段的CRISP示例。起初,购买速度太高,所以每次购买都会涨价。经过一段时间的没有购买,价格和购买速度大致稳定。
代码
Pythonnotebook和Solidity实现可在?https://github.com/FrankieIsLost/CRISP?获得。
结论
我们希望CRISP能够解锁一系列酷炫有趣的NFT动态。
如果您发现任何问题或想到任何改进,我们很乐意听取您的意见!您可以在Twitter上通过@_Dave__White_、次销售的区块上的EMS为
这是一个几何级数,收敛于
因此,我们可以在目标销售速度和目标EMS之间进行转换。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。