3 ms·
Bitcoin needs a problem (any problem) that is computationally difficult to solve in order to be able to offer certain security guarantees. This arbitrary proble
by mrb 16y ago
Bitcoin needs a problem (any problem) that is computationally difficult to solve in order to be able to offer certain security guarantees. This arbitrary problem was chosen by its designer:
For a given target T, find X such as SHA256(SHA256(X)) < T
It is correct that in and of itself this computation is useless. But exactly like http://en.wikipedia.org/wiki/Hashcash http://en.wikipedia.org/wiki/Hashcash it is vital for it to be difficult to solve. In fact the whole network adjusts T dynamically to keep up with the fantastic exponential hash rate growth of the network these last 13 months: http://blog.zorinaq.com/?e=49 http://blog.zorinaq.com/?e=49
- tocomment 16y agoCould you use rainbow tables to speed this up?
- mrb 16y agoNo because parts of X are effectively variable, change all the time, and depend on things not controlled by any single entity (transactions, block chain, etc). Technically X is a block header https://en.bitcoin.it/wiki/Protocol_specification#Block_Headers https://en.bitcoin.it/wiki/Protocol_specification#Block_Head... Miners change the 'nonce' part of X to attempt to satisfy the above equation.