Is Proof-Of-Work simply a decentralized clock?

by Gregory Trubetskoy   Last Updated February 13, 2018 18:27 PM

I have not seen anyone explain Proof-Of-Work this way, so I thought I'd share it here, I'd be curious to know if I'm completely off.

It seems to me that PoW is simply a distributed decentralized source of ticks, a clock, to which data can be "tied"?

The challenge of Proof-Of-Work is a singleton problem (for lack of a better term), i.e. there is only one instance of it in the universe. This means that it is known to every participant, and anyone working on it is affecting the outcome.

Most importantly even if one is participating in complete secrecy until a solution is found, it still affects the outcome.

An analogy might be looking for the largest known prime. You don't need to tell anyone you decided to find one, you only announce when and if you actually find one. Your participation makes finding a solution a possibility, whereas if no one ever looks for the largest prime, it will never be found.

The difficulty algorithm adjusts in such a way that a solution is found on average every 10 minutes. It's a distributed decentralized clock which ticks on average once every 10 minutes. The miners make it possible through their participation, and curiously, miners do not need to tell anyone they are participating, they only need to communicate with others if and when a solution is found.

The clock has an interesting property - you can tie data to its ticks, simply by making the data the input to the SHA. A solved block is nothing more than simply an event that happened exactly at the tick of this clock.

And essentially this is all that Proof-Of-Work does for the blockchain: it provides ticks of a clock, to which events can be tied. Everything else is an "add-on" to this "feature", e.g. using the Merkle tree we can cryptographically record the ordering of the ticks. But without the "PoW clock" none of it would be possible.

Tags : proof-of-work


Answers 1


Yes, PoW is a decentralized clock not just for tying information to a specific time (a timestamp can do this perfectly fine) but to prevent spam attacks on the blockchain itself.

The question comes up, how can you add data to everyone's ledger all at once continuously and efficiently? If there is a single tx at a time queue system then things will be unbearably slow.

If the ledger is open for everyone to add verified transactions then what's to stop someone from just adding transactions on transactions and filling up everyone's node?

PoW exists to solve this problem by creating something like a flood gate that allows only a set amount of transactions per time. The difficulty aspect of PoW exists to adapt to the changing nature of computing power against the network.

The clock has an interesting property - you can tie data to its ticks, simply by making the data the input to the SHA. A solved block is nothing more than simply an event that happened exactly at the tick of this clock.

This is so an attacker can't just use the same verified data to add blocks and blocks of transactions. Think of a block mined by the miner as a one time use token that let's the block be added.

An analogy might be looking for the largest known prime. You don't need to tell anyone you decided to find one, you only announce when and if you actually find one. Your participation makes finding a solution a possibility, whereas if no one ever looks for the largest prime, it will never be found.

This portion isn't entirely correct. For you to test if a block you've mined is correct (because mining is entirely a guessing game) you need to ask the network if the block is valid. More than likely the node you just asked will say no and you begin the search again.

Although I should note that the amount of failed attempts is not factored by the difficulty algorithm

arshbot
arshbot
February 13, 2018 18:19 PM

Related Questions


How does Proof of Burn work?

Updated June 27, 2017 02:27 AM


Brief observation of various Consensus Algorithms

Updated February 13, 2018 13:27 PM