SPK Tokenomics and Economy

in SPK Network5 months ago (edited)
Authored by @disregardfiat

spkcovertokecoc.png


SPK - Proposed Tokenomics

Modeling a Commodity

One of the most persistent questions around SPK Network has been how we manage the issuance of the SPK Token. Stepping back to view the big picture SPK Network aims to incentivize decentralized file storage. The obvious good points are a more resilient option for storage, and the ability for everybody to BYO hard drive and get a little benefit from keeping it online and promises kept.

Let's look at this issue from a few perspectives:

  • You are 3speak and have a mountain of videos to store. Your only good options right now are to provide your own storage or pay a cloud provider to store files. Both have a downside of single points of failure: lose your domain, your AWS account, etc, and your Network largely goes up in smoke. You are more than willing to pay for the storage but prefer a more resilient option and one that your patrons can provide. So, you buy SPK tokens to purchase storage contracts.
  • You are an average Joe who doesn't want to trust his files to Google Cloud. Same issues as before, one tweet away from losing your cloud storage. So, you buy SPK to pay for your own file storage. As an added bonus, you can effectively sell your unused BROCA by marketing storage contracts
  • You are an internet user who keeps a NAS online at home and wouldn't mind selling that space.

There is obviously a market here, and the AWS revenue is not tiny. But some questions remain... how do we know 1 SPK token will allow 6 Gigabytes of storage?

I'm glad you asked :)

Once SPK is in its powdered form, it will render up to 1,000,000 BROCA that recharges every five days. Each BROCA is worth 1 KiloByte of Storage for 30 days. If you keep up with the recharge rate, it will buy 6 Gigabytes over that same 30 days. Once we have files stored on the Network, we can track the total BROCA payouts and have proved that a portion of the Network exists in operation.

Based upon these "Proofs of Access" we can prove a file exists, and infer information about the Network as a whole. Let's say we check 10% of our files every day, and 95% of the files are proven. We can confidently say that the total storage available in the Network is higher than the current storage.

Now, how do we use that? Let's assume the total storage is some multiple of the current storage, and just to be a little frugal, let's call that multiple 2. Thus, we have a target storage rate of "50%". Because BROCA recharges in 5 days, it would actually take 30 days to double the amount of data storage(in equilibrium). We can use this buffer time as a physical test and feedback mechanism for any changes in SPK APR. Let's examine the cases:

  • The economy is relatively at equilibrium, people upload data with HIVE posts, buy SPK to store files... growth is assumed to be 2x in 24 months. The actual utilization rate falls between 45% and 55% daily. SPK is minted to align with a doubling in 24 months.

  • The APR was a little hot as utilization starts falling below 45%. SPK minting grinds to an immediate halt, and all transfers and trades carry a .5%(45% utilization) to 5%(0% utilization) fee that gets burned, therefore lowering total SPK while not punishing the staked. The storage nodes will still get a portion of the LARYNX proceeds that day, and while SPK prices may not fall with the deflation, the price of BROCA should fall and increase utilization.

  • The Market is HOT: A new dApp has come online, and suddenly, everybody wants to store their files on SPK Network. The utilization rate jumps by as much as 8% in a day. Provable storage appears to double in a month, and the SPK APR also takes a hefty jump. The total SPK issued could approach an absurd number, but it still represents the exact same thing, the ability to store 6 Gigabytes. The new SPK still goes to the service providers who now can sell their in-demand SPK to fulfill the desire to store on Network, and hopefully bring more storage back to the economy.

image.png

We will adjust the BROCA cap based on how hot the utilization rate, if it's high BROCA cap will jump as well so we can access more APY than the 58% theoretical max. But the floor will remain. In a steady state, any contracts purchased with this change will have to get more BROCA from a different source, but there should be SPK available now to cover the difference.

That about wraps up our proposed tokenomic model for SPK regulation. No cap, no constant inflation, but economic expansion and contraction based on the physical proven usage of the Network's storage. If you want to think about this proposal like HardDiskTether... it might be preferable. It represents a real-world proven commodity. Unlike Tether, we don't have a centralized entity to hold a USD balance, we need to rely on the networks validators to prove storage capacity exists, which takes time and responds to feedback.

Of course, this differs from what's in the lite paper, but it is in response to feedback. So now that it's taken shape, we are again asking for feedback.

One of the biggest hurdles of starting this Network will be... starting this Network. We already have SPK tokens in the wild, roughly 30,000 of them(180TB). Which means with out changes SPK could be deflationary as soon as we launch. So, our current proposal is to start the target utilization rate at a multiple of the initial utilization rate and then increase that target until it reaches 50%. This should allow the Network to grow into its initial valuation without as many bumps.

I believe 3Speak has somewhere in the neighborhood of 300TB of videos, which means there should be nearly 100,000 SPK to cover just their usage. Considering that the current holders of SPK and LARYNX can set up services relatively free on the token side while costing on the infrastructure side should allow a terrific organic bootstrapping of the Network.

Bootstrapping

So, let's set this all in motion. SPK Network goes live, ~20-30 accounts set up a validator, and ~100 set up storage nodes. By and large, the current token resources are applied to those services. By this, I mean we haven't talked much about LARYNX... and generally, the thousands of accounts that hold LARYNX Power continue to have it delegated the same.

dApps and users start uploading files to the Network, storage nodes tell the Network they'll store some files... and validators prove access.

Each day there is a bucket of larynx for sale, when these are powered up they can be delegated to determine mining efficiency. Going on a standard deviation, the poorest 15.9% get no multiplier, the mid 68.2% get a 2x multiplier, and the richest 15.9% get a 3x multiplier. The multipliers level out perfectly(2x mean, 2x mode) and the incentives align to building the Network out laterally.

Basic step chart

SPK will be minted and go to the service providers [FYI: SPK rewards may go out to the delegators, with your feedback, (for instance, one out of 4)]. The profits from the LARYNX sale that day will also be distributed to the service providers. In the future, the SIP may be leveraged to stabilize the market with an AMM.

Delegators should receive perks directly from their delegates. Such as a storage contract and auto-renewal of contracts and additions, as well as services such as live streaming or encoding. This is where the network effect is interesting.

Depending on the mining efficiency and what's stored, each storage provider will get a portion of the SPK generated that day if the network utilization is growing. So, the service providers that have proved their storage... receive the SPK.

Technical

Every day, we total the contract BROCA (validated)

var totBroca = 0
for(var acc in cbroca){
  totBroca += cbroca[acc]? cbroca[acc] : 0
}

Track exponential moving averages and use this number to increase or decrease the max BROCA rate(100,000 per SPK in 5 days) to accommodate network growth better.

const oldEMA = stats.broca_daily_ema
const oldDailyTrend = stats.broca_daily_trend
stats.broca_daily_ema = parseInt((totBroca - oldEMA) * 0.1 + oldEMA) 
stats.broca_daily_trend = parseInt(stats.broca_daily_ema - oldEMA)

The Utilization Calculation; 51408 comes from how contracts are rewarded internally. There are equal parts to 3 storage nodes, an equal part to any additional node(assumed 1/2 of contracts have this tail), and an equal part for the validator. Additionally, we will not reward validations that happen more than 2 STDDEVs away from the mean elapsed time, bringing 95.2% forward. spk.t is the total powered SPK.

stats.utilization = parseInt((totBroca * 10000) / (spk.t * 51408) / stats.vals_target) 

Bootstrapping Algo:

if(!stats.target_utilization)stats.target_utilization == stats.utilization * 2
else if (stats.target_utilization < 5000)stats.target_utilization += 10
else if (stats.target_utilization > 5000)stats.target_utilization = 5000

APR Determination

const diff = stats.utilization - stats.target_utilization
if (diff > 500) { //utilization
  stats.spk_clawback = 0
  stats.spk_interest_rate = 5140 * (240 - parseInt(diff-500 / 20)) // Growing SPK Size comiserate with network utilization.
  if(stats.spk_interest_rate < 5140)stats.spk_interest_rate = 5140
} else if(diff > -500){
  stats.spk_interest_rate = 51408 * 24 // Assumes Storage Size will double in 24 months.
  stats.spk_clawback = 0
} else {
  stats.spk_interest_rate = totBroca + 1 // off
  stats.spk_clawback= parseInt(diff / -10) // .5% clawback minimum 5% maximum
}

Mint SPK as a portion of proven storage

var newSPK = parseInt(totBroca / stats.spk_interest_rate)

---

This are the proposed tokenomics. Let us know your feedback, suggestions and ideas in the comments below.


Vote for our Witness:


About the SPK Network:

The SPK Network is a decentralized Web 3.0 protocol that rewards value creators and infrastructure providers appropriately and autonomously by distributing reward tokens so that every user, creator, and platform can earn rewards on a level playing field.

Sort:  
Loading...

This can be a game change for storage decentralization. I can't wait.

I read with great interest and the overall idea of a dynamic rate of minting of SPK based on network storage demand (if I understood this correctly) sounds good to me. A part that perhaps I'm missing is about a corresponding SPK sink - how does the supply diminish if there is less demand for storage?

I also tried to follow the examples of various scenarios but couldn't. So overall, a piece of feedback is that I'm pretty unsure of my understanding of how the network tokenomics are going to work.

Minting APR is only applied to Proven SPK (service providers).
To get storage from the network you have to Power SPK, which then gives your a resource credit to keep files stored on network. There isn't a reason to have a burnable sink unless:

Network usage goes down. When this happens it means people have let contracts expire(less storage) so our ability to probe the storage ecosystem has been diminished. At this time a transaction fee(on all liquid transactions and DEX trades) is applied with the fee being burned to reattain equilibrium. This fee does not effect anybody using the token for storage, and the feedback mechanism should work to keep the price of storage reasonable.

A progressive transaction fee kicks in on SPK tokens to punish those moving coins out to flexes and reward those remaining staked