Wednesday, August 16, 2017

Proof of Work

"A proof of work must have the following characteristics: a) have an adjustable "difficulty" which works under a very large range (bitcoin difficulty is ~150,000,000x higher today than at genesis and likely will go another 10x to 100x over next year). b) be very fast to verify (<100ms). Bitcoin has 52K blocks per year so someon bootstrapping 10 years after genesis woould need to validate 520K blocks in a timely manner. c) the input of the proof must be linked to a prior proof to prevent precomputation (Bitcoin uses the prior block hash as input for current block hash to prevent solving "future" blocks). d) the proof should be relatively compact (Bitcoin uses a 32 byte hash) e) the solution should be probabilistic. This means that given two competitors and one has 10x the computing power the smaller competitor should find ~9% of the solutions. Many problems are not probablistic such that the faster competitor will always arrive at a solution first. That would be bad from a security standpoint. f) require no outside "trusted" source or central authority for issuing or assigning work. h) have a mechanism to prevent duplicated work across the network without any communication to a peer or outside data source." - DeathAndTaxes

No comments:

Post a Comment