About Velocity
Velocity is a blockchain constraint protocol system that acts as a tripple check to ensure that blocks that are submitted to the blockchain are valid. Click “Read Bluepaper” to read more.
Velocity BluePaper
(Prototype Whitepaper)
Contents:
1 - Intro
2 - Importance
3 - Looking ahead
1 - Intro:
Velocity is a re-written feature originally known as "pulse" found in Frycoin. Upon stumbling across this unique feature it
became quickly apparent that although significant amounts of code would need to be re-done the feature itself had a very
good premise in both security and chain stability aspects. This made it very desirable. Work began to rewrite the code about
two weeks ago and has been successfull despite a few small setbacks and bugs that do not actually affect chain stability or
coin operation in any way other than intended.
2 - Importance:
The key importance of Velocity is to constrain the chain with the parameters already defined within the code as apposed to
having things like block spacing and other properties act almost as a suggestion to the chain's operation rather than rule
and law so to speak. This is very important in the sense that sudden increase in hashrate or possible attacks are still a
vulnerability despite the best retarget systems out there being implemented to control block spacing along with network fees,
possible invalid ballance issues while sending transactions and other portions of the blockchain that are enforced with a
double check but still suseptable to an attack wether it be temporary or a double spend that is confirmed and causes users of
the network grief and losses which is unnaceptable.
This is done by the Velocity system being a "tripple check", even after a block during generation has seemingly met all
requirements and is then produced it is now no longer immidiately accepted. Instead it is checked again for inconsistancies and
possible other exploits.
Most notably users will see rejected blocks during the mining or minting phase (or both depending on coin properties),
despite the tendency to assume that there is something wrong with the chain as it is rejecting blocks this is in fact a
completely normal and a welcomed operation.
Reasoning is that rapid block times, incorrect fees, insufficient ballance and other issues can be manipulated by a
talented programmer with malicous intent. To guard from these kinds of situations Velocity checks the generated block against the
chain parameters, first it Velocity checks the block for proper spacing, if the block was generated too quickly it thus has
not met one of the main parameters for the chain and is promptly rejected, staving off possilbe attacks and any kind of
sudden increase in hashrate.
Next the system verifies that previously the client that sent a transaction (if it sent one in the previous block) was in
fact a valid transaction by comparing previous ballance vs current ballance along with fees paid vs minimum fee required to
pay. If any of these parameters are not met (mind you these are standard chain parameters and nothing outlandish) then the
block is again rejected despite being generated successfully.
Thus this system secures the chain, making it more stable, predictable, and overall reliable, instilling confidence that
the blocks that are accepted are indeed blocks that are proper.
3 - Shortcomings:
Currently the biggest shortcoming is that this feature is still a prototype system and in its implementation into the
Espers blockchain (which is a fully hybrid system utilizing both PoW and PoS simultaniously) caused small glitches with the
retarget system which was not functionining properly to begin with as users may remember seeing very rapid block times and the
chain rushing over the course of time since its launch until block 650K when Velocity was finally implemented and the chain
secured more thoroughly.
That being said users will note that the blocks accepted are spaced very nicely at a minumum of 3.5 minutes without fail
and that the chain moves forward smoothly.
Users will also note that however PoS reports incorrectly stating that a reward is due either immenantly (0 seconds) or
even states that the user is not staking PoS (whic is not true).
These are merely false reports and users that leave their client running will in fact both stake and mine perfectly
normally despite seeing rejected blocks, which simply indicates that the Velocity feature is working to secure out chain.
Next the transaction verification and previous balance checks are currently turned off until such a time as the checks
become flawless, the implementation for these specific checks are still being developed to properly assertain those sections of
chain parameters.
Espers itself also being a hybrid blockchain requires a more intuitive retarget approach to reduce rejected blocks and
cause the system to properly generate blocks so that Velocity becomes not merely a life support system but merely a security
check to a stable and properly operating chain. This is planned to be resolved in the upcoming week.
Users of a Velocity implemented chain may also note that INSANE has now been implemented with this feature, however the
issues with Espers will not be apparent in INSANE because INSANE is not a pure PoS coin/token now which does not have the
shortcomings of a hybrid system (the shortcomings being that hybrid tokens were never intended to stay hybrid save for Espers and
a very select few that suffer from the same rapid block time issues as Espers had suffered from prior to Velocity being
implemented) and thus will not have the same issues listed above, in this case INSANE will see only the benefits of Velocity
running as a security check merely stabilizing the blockchain further and making it more robust.
4 - Looking ahead:
Overall the system can be expanded to eventually include more checks, more verification and a even more stringent
implementation that may adapt to any kind of features that are added or removed. This makes the system very adaptable and less of
a hassle to work with as it can grow with the coin/token and as it becomes more refined and mature so will this new
security feature called Velocity.