3 ms·
One of the most known compute based PoW algorithms is the one used by Bitcoin. Basically it goes like this: You are challenged to use some piece of data given
by codetrotter 3y ago
One of the most known compute based PoW algorithms is the one used by Bitcoin.
Basically it goes like this:
You are challenged to use some piece of data given to you, and to add some data to it, which will produce a hash with a given number of leading zeroes.
For example let’s say I challenge you to find a sha3 hash of (“response to codetrotter for comment 37255449 on HN” + any data of your choosing), with difficulty set to 3. Meaning that in order for me to accept the hash, it has to have at least three leading zeroes.
The higher the difficulty, the higher number of leading zeroes I ask for from you. Which in turn means it will take you more time to find. Because the only way to find a fitting hash is to try a bunch of different data until you find a fitting hash.
The neat thing is that while it takes a lot of time for you to find a matching hash, it is trivially simple for me to validate your claim when you’ve found a matching hash.
For this kind of PoW, people have developed software that runs on GPU faster than most CPU can do. And then they developed specialised hardware to be even faster - ASICs.
That in turn is where memory-based algorithms come into play. To make the people with GPUs and ASICs not have an advantage over others.