There are around 300,000 transactions on POKT per day (96 blocks). Roughly 140,000 of these transactions are proofs and claims that only account for 2% of the POKT minted. This happens because nodes will submit claims and proofs for virtually any amount of relays, even if the amount is insignificant. I propose increasing the MinimumNumberOfProofs to 1000 to prevent these worthless transactions from being included into blocks, which would drastically reduce our blocksizes thereby reducing resource and storage requirements.
Abstract
The MinimumNumberOfProofs parameter is a parameter that declares the minimum number of relays served for a reward to be claimed. In order for the protocol to reward a node, the proof must meet this MinimumNumberOfProofs threshold. Transactions under this threshold fail on chain, but the client also validates that submitted proofs meet the threshold.
If this proposal were passed, the entire first bucket would be removed. This first bucket accounts for 43% of block size (with proofs) but only ~2% of rewards.
Motivation
With every gigabyte that the chain size grows by, that makes it more difficult to validate and maintain, especially for small node runners. If we want to be the most decentralized network, it is imperative that we have a small chain. Blockchains are immutable, and so anything that we put on the chain now, all of us will have to carry forever. We must make these optimizations now in order to build a healthier Pocket for the future.
Rationale
There are many reasons for decreasing block size.
Severe reduction in state growth
The network will grow an additional 141 gigabytes by V1 (18 months) at the current growth. This proposal will reduce that growth to 80 gigabytes if it is passed. (44% reduction)
Smoother block processing
If this proposal passes, it will decrease the block size from 2.6 MB to 1.5 MB. This will make block processing smoother and reduce the hardware requirements for a node.
Dissenting Opinions
This will reduce node rewards.
Yes, there will be a reduction in node rewards (roughly 1 POKT), reducing the network average by around 2%. However, this will reduce state growth by ~43%, which is well worth the cost. This analysis assumes that POKT price remains relatively stable in the short and mid-term. If there are significant changes this proposal can be revisited.
This proposal will save roughly 60 GB of storage between now and V1
50,000 nodes storing 60 GB of storage for month is $360,000
Between now and V1 this proposal will save $3,240,000, which negates the loss in node rewards
This completely negates any lost rewards node runners will earn between now and then.
The blockchain is immutable, so this storage will be around for as long as POKT is, costing the network even more. 50000 nodes storing 60GB for another 9 years will cost ~$20,000,000
This is only accounting for storage, and there will be savings in CPU, RAM, and IO as well.
Although this proposal hurts the node runner in the short term, on the long term basis this helps the entire network save money
Great, thank you. Just trying to make sure I fully understand the scope of the proposal, as well as everybody else.
I’m not sure $0.12/GB/month is the best comparison target, since for example OVH will add 2x 1.96 TB NVMe to a dedicated server build for $56/month, for a price per GB of around 1 cent per month. But compute and IO are incalculable so there’s that. With so many changing variables involved over time, number of nodes(down?), inflation(down?), POKT price(up?), storage prices(down?), it’s practically impossible to predict how this will go. But it’s a reduction in inflation, and I’m always down for that.
It looks like the blockers to moving forward here are:
1.) A slightly more granular look at the data (250, 500, 750)
2.) Some blockchain analysis on the results as they pertain to small chains (IE: Do low volume chains get completely cut out?)