Initial Coretime Pricing

This is a proposal for the initial price of coretime.

Regarding the work validators are doing with coretime: there is some segregation of duties here from the work done being paid to the network by the parachains (i.e. validators who are in a backing group) vs validators being paid by the relay chain (which they already are). Can we draw any conclusions about the value of the work the validators are doing in backing/auditing parachain PoVs vs the value of them providing general security to the network? The following explores two of these options, after I tried many different approaches:

Coretime as a function of validation rewards

Given the definition of coretime as consisting of “two resources (data availability and execution time) expressed in an arbitrary ratio”, we propose the initial price of coretime should be based on these two factors. Current data availability is estimated at 0.83MB/s per core and maximum execution time is 2 seconds (given asynchronous backing). The current median block weight is roughly 1.8% of benchmarked maximum, even though buying coretime for one core gives access to power of the full core, it may be better to use the actual current usage pattern for initial pricing. Given this information, assuming a core allocation is for maximum PoV size (full block weight), and the amount of DOT validators are being paid right now for the work to secure the network being on average 1170 DOT/day, we can then estimate:

Data availability provided by a core:

((0.83MB/s)/1 core)

Multiplied by the expected execution time based on current median block weight/maximum PoV size:

* (1.8%) * (2sec/5MB)

And the conversions of blocks, time and current validator rewards:
* (14400 blocks/1 day) * (1170 DOT/14400 blocks) * 1 month

= 213 DOT/core/month base cost (@ current median weight)

= $1384.50 USD (@ $6.50/DOT, please see pricing footnote).

Coretime as infrastructure cost

Another approach is to use direct infrastructure costs as a benchmark.
Calculating networking costs, based on cloud bandwidth prices (taken from GCP region europe-west1) for receiving a maximum size PoV from at least 4 other validators for validation (given current backing group size of 5, egress is free) at a full core’s worth of weight (please see footnote at the end of this post about DOT and cloud prices used here):

(1 dot/$6.50) * ($0.085/1 GiB) * ((5MB/1 block) * 4 ) * 14400 blocks/day * 1 month = 112.98 DOT

Adding in compute costs, based on GCP n2-standard-32 VMs @ $1.71 an hour (theoretical maximum compute cost anyone should pay, which allows room for other task-specific processing beyond execution time (2sec)):

(1 dot/$6.50) * ($1.710784/1 hour) * (2sec/1 block) * 14400 blocks/1 day * 1 month = 63.17 DOT

= 112.98 + 63.17 = 176.15 DOT = $1144.98 @ $6.50/DOT

Additional considerations

In the case of coretime being a form of extended registration, we can take the registration fee as a representation of a “down payment” by locking the registration to the chain for the duration of the chain’s existence. This is an average of 1052 DOT, so at an opportunity cost of 15% (staking reward percentage) annually, this comes to 13.15 DOT/month. To initially subsidize cores somewhat it may be interesting to take this into account into the calculation and subtract 13.15 DOT from the initial monthly coretime fee, coming to:

Final coretime cost per month

based on validator fee:
199.5 DOT, or $1296.75 USD @ $6.50 USD/DOT per month.

based on infrastructure costs:
163 DOT, or $1059.50 USD at $6.50/DOT per month.

As we can see, both of these approaches are close to the same value, which is encouraging. They could either be averaged together to get a reasonable value, or if a DOT-only economy is preferred to cloud cost or vice versa, one could be taken over the other. I would suggest either an average, or slight bias toward the DOT-economy approach for simplicity in calculation not requiring an oracle; however, the real-world conversion would allow for more resilience to price fluctuation.

On-demand Coretime

On-demand coretime should be priced significantly higher than bulk at launch, but not too much as to discourage experimentation. I propose 2x.

Comments/concerns with these approaches:

Validators are already being paid by the chain. If coretime payments are burnt, then it becomes a way to recoup inflation from validator reward payments, and if it is paid to the network, it is reimbursement for validator fees. If one views Polkadot as a computing system made of distributed hardware, then since Polkadot is already paying/reimbursing the hardware operators for their time securing the network, CPU is already accounted for in the validator payment, and only bandwidth cost in validating parachain state transitions could be considered incurred by the validator operators above their current line of duty; however, they already have been doing this for some time and can already be considered part of their job in securing the network. This calculation, then, is based on an indirect-but-direct cost paying the network for hardware, with the added security the blockchain brings. I would also add that ignoring infrastructure cost isn’t prudent or possible, since the network runs on paid-for compute infrastructure, which is accessed both indirectly and directly (respectively) in these calculations.

Addressing the concern of tying initial coretime price to DOT price: this is difficult to calculate using only Polkadot-internal economies, and real-world cost for teams or developers obviously determines if coretime is inexpensive or not. In this framing, using a real-world price benchmark makes sense. Alternatively, this real-world pricing is accessed indirectly in the case of validator rewards, where they must remain profitable and ideal staking ratio has previously been adjusted in the past to maintain this balance of payment for infrastructure.

Kusama

Given the above formulas (and adjusting for backing group size of 3 on Kusama vs 5 on Polkadot, an average of 2KSM/day validator reward, and allowing for maximum block weight to account for experimentation), Kusama prices would be:

Validator onchain cost:
20.2 KSM = $767.60 USD @ $38/KSM

Infrastructure:
CPU: 10.80 KSM @ $38
Bandwidth: 9.66 KSM @ $38

= 20.46 KSM/core/month = $777.48 USD @ $38/KSM

Subtracting opportunity cost from registration (3.9 KSM/mo) results in:
16.3 KSM = $619.40 USD @ $38/KSM per month for validator fee approach or
16.56 KSM = $629.28 USD @ $38/KSM per month for infrastructure fee approach.

Reproducing Results

If you try these calculations yourself, pay attention to number of significant digits used as they can cause small discrepancies in outcome.

Pricing Footnote

To simplify these calculations I used a rounded number close to the current USD price of DOT/KSM (weekly average) for illustrative purposes only. Cloud pricing for these services fluctuates also, so CPU/bandwidth figures are based on a spot check and are within general range of expected prices.

19 Likes