3 ms·
Mining is solving some kind of puzzle. If not a lot of blocks get mined, the difficulty the puzzle is reduced. This way the system automatically balances so min
by tinus_hn 4y ago
Mining is solving some kind of puzzle. If not a lot of blocks get mined, the difficulty the puzzle is reduced. This way the system automatically balances so mining a block costs about as much as you gain when you solve the puzzle first.
- gjvc 4y agoI do wish people would not use the term "puzzle" when talking about bitcoin and proof-of-work. The word "puzzle" conveys some sort of strategy and approach beyond trial-and-error. Instead of a puzzle, it is a brute-force search.
- deleted 4y ago[deleted]
- nullc 4y ago> it is a brute-force search That usually causes people to assume its a finite haystack with a single needle, e.g. something that has progress, and bitcoin mining doesn't. A lottery is a better analogy but carries its own misunderstandings. All analogies are imperfect. :)
- tinus_hn 4y agoIt’s a huge but finite haystack with a lot of needles, the number of needles depends on the difficulty.
- nullc 4y agoInternal state of sha256 is 512 bits, though the inputs the user can control are limited to about 300 bits. In any case, it's larger than the believed number of atoms in the observable universe. The important point is that there is no progress, each attempt has an independent probability of success. Imagining it as an infinite haystack with a difficulty controlled density of needles still yields the right understanding.
- acjohnson55 4y agoI think of it more like a raffle. But yeah, I share your frustration. Writers fixate on finding the right analogy instead of focusing on the actual problem being solved: randomly choosing a block decider out of an open set of candidates, with no central selection infrastructure.
- tromp 4y agoWould you say that other proof of work puzzles such as Cuckoo Cycle [1], which asks for a fixed length cycle in a large random bipartite graph, is a brute force search as well? Because that one is certainly not solved by trying all possible cycles. [1] https://github.com/tromp/cuckoo https://github.com/tromp/cuckoo