Introduction to difficulty and target
Every cryptocurrency has one thing in common, all of them have difficulty. Difficulty in cryptocurrency is an estimate of how difficult it is to find a block, in accordance to the target. Target in cryptocurrency is a 256-bit number that every node/clients share. You can find more information on target [here] (https://en.bitcoin.it/wiki/Target) and on difficulty here.
Espers and VRX difficulty retarget system
Espers have unique features, which is called Terminal Velocity RateX, also known as VRX. Simply put, VRX retarget system function is to make sure the difficulty for finding the next block will be calculated correctly. This is important to make the chain run smoothly. VRX utilize several block depth scan. This will allow for a quick adaptation for the mining or minting difficulty and it will make sure narrow window over desired block time.
This system allows inconsistencies in block spacing time since there will be significant spiking in the hash-rate or minting rate (Espers using hybrid PoW and PoS).
VRX system will create indexes for previous block (Default value is 6 previous block will be indexed). The system then compare the 6 block against each other, mainly for their block time, and will determine set spacing between each blocks.
The system then takes the determined block spacing and compares it against desired block spacing in what is called "Check Round" similar to the other retarget systems available but adjusts on a different curve which adapts quickly to large changes in the hashrate of the blockchain however also making sure to not adjust too much so as not to "stall" the blockchain. There is one Check Round per pair of blocks indexed so in most cases as stated previously using a six block count index depth VRX will have five Check Rounds.
After VRX runs through its checks it then determines whether it should change the difficulty either up or down depending whether the desired block time was overshot or rushed, the severity of which is limited to a maximum of doubling the previous block difficulty or halving it. Finally an average is calculated between the different pair calculated difficulty changes so that the most logical change in difficulty occurs that best suites the blockchain and submitted for the mining/minting network.
Conclusion
This article’s intention is to provide a general understanding of what VRX is and what it does. The main function of VRX is to make sure that Espers blockchain runs smoothly. The use of the VRX system can only be found in Espers and INSaNE blockchain projects. The VRX system will continue to evolve to become more robust and overall an effective solution to the blockchain difficulty retarget problem.