The Velocity System Blockchain governance and constraint technology

in #bitcoin8 years ago

Capture.PNG

Velocity BluePaper

The Velocity System

Blockchain governance and constraint technology

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

successful despite a few small setbacks and bugs that do not actually affect chain

stability or coin operation in any way other than intended.

Importance

The key importance of Velocity is to constrain the chain with the parameters

already defined within the code as opposed 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 balance issues while sending transactions and other

portions of the blockchain that are enforced with a double check but still

susceptible to an attack whether it be temporary or a double spend that is confirmed

and causes users of the network grief and losses which is unacceptable.

This is done by the Velocity system being a "triple check", even after a block

during generation has seemingly met all requirements and is then produced it is now

no longer immediately accepted. Instead it is checked again for inconsistencies 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 balance and

other issues can be manipulated by a talented programmer with malicious 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 possible 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 balance vs current balance 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.

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 simultaneously) caused small glitches with the

retarget system which was not functioning 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 minimum 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 imminently (0 seconds) or even states that the user is not staking PoS

(which 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 ascertain 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 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.

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.

Sort:  

Do you have a website?

Yes, the bluepaper can be found at http://blockchainsecurity.co.uk