Risk Warning: Beware of illegal fundraising in the name of 'virtual currency' and 'blockchain'. — Five departments including the Banking and Insurance Regulatory Commission
Information
Discover
Search
Login
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt
BTC
ETH
HTX
SOL
BNB
View Market
Paradigm: Detailed explanation of NFT constant speed issuance sales agreement (CRISP)
星球君的朋友们
Odaily资深作者
2022-01-26 13:00
This article is about 1980 words, reading the full article takes about 3 minutes
We want to be able to quickly adjust the price when NFTs sell too quickly relative to the target price. On the contrary, we will gradually lower the price.

Author: Dave White, Frankie, Justin Roiland

introduce

introduce

This article introduces the Constant Rate Issuance Sales Protocol (CRISP), a pricing mechanism designed to sell NFTs at a target rate over time.

If we want to sell 100 NFTs per day, but can only sell 10, CRISP will slowly lower the "buy it now" price. If we wanted to sell 100 NFTs per day, but were actually able to sell 200, CRISP would rapidly increase the "buy it now" price with each new sale.

motivation

motivation

Imagine you have an infinite set of NFTs that you want to sell at a fixed rate - say 100 per day.

You can design an auction system to achieve this goal. You could sell all 100 in one auction, or maybe hold 100 different auctions, one NFT at a time.

overview

mechanism

overview

CRISP tracks the sales velocity of NFTs and compares it to the target velocity.

We want to be able to quickly adjust the price when NFTs sell too quickly relative to the target price. The higher the sales velocity compared to the target velocity, the faster we want to increase the price.

secondary title

sales velocity

We use Exponential Movement and or EMS to measure sales velocity.

EMS is an adjustment to the Exponential Moving Average, commonly used in quantitative trading, to measure the accumulation of a certain quantity over a recent weighted time window. It is computationally cheap and requires little storage space.

CRISP EMS is specifically designed to track the number of NFTs sold over a recent period defined by the average half-life of sales. A sale with an average half-life of 100 means that a sale 100 blocks ago would only add 1/2 of the current EMS.

EMS in block b is recursively defined as:

where S_b is a variable representing the number of sales that occurred in block b.

Given two blocks b_1 and b_2, assuming no sales occur between blocks, we have

secondary title

increase price

If the current EMS is higher than the target, then by definition, the sales velocity is too high. Therefore, we would like to charge more for the next NFT sale, as this will (probably) reduce demand, or at least increase revenue.

The faster we can sell NFTs relative to the desired price, the faster we can update the price. So, we define a variable

then set

where price rise rate controls how quickly the price reacts to the difference between the target price and the observed price.

secondary title

text

When the current EMS is below target, the sales velocity is too low. Therefore, we hope to charge less for the next NFT, making it a more attractive way to buy.

However, we want to lower the price slowly over time because we managed to hit our target velocity with the previous price, and we don't want to drop the price more than we have to.

Assuming that the last transaction occurred at price_{b_1} of block b_1, then the price of block b_2 is given by the following formula:

Among them, the price decay half-life controls the decay speed.

Since we only want to decay the price when the sales velocity is below the target, if the current sale is the first sale since the sales velocity was below the target velocity, we calculate the decay from the block when the sales velocity was below the target, not from the top The time since the first sale.

secondary title

complete example

the code

the code

Python notebook and Solidity implementations are available athttps://github.com/FrankieIsLost/CRISPin conclusion

in conclusion

We hope that CRISP can unlock a series of cool and interesting NFT dynamics.

appendix

appendix

Converting Target Sales Velocity to Target EMS: The Proof

Let's say our goal is to have 1 sale every nth block. Then, using formula (1), the EMS on the block of the k^{th} sale is

This is a geometric progression that converges to

So we can switch between target sales velocity and target EMS.

NFT
Welcome to Join Odaily Official Community