3 ms·
Excellent read. This is not for a general audience, but helped me get a nicer grasp on the fundamentals technology than I had before without getting too particu
by sadfaceunread 12y ago
Excellent read. This is not for a general audience, but helped me get a nicer grasp on the fundamentals technology than I had before without getting too particular in the under the hood stuff.
The "blocks are never final" idea is what I believe has led to some of the proposed 51% attacks on the bitcoin network.
Question: Does proof of work have to be a near 'lottery' system? Obviously it needs to be asymmetric, but are there other good options than hash collision?
- NoMoreNicksLeft 12y agoAt scale, some of the distributed problems are asymmetrical. When they're doing the protein folding stuff or checking for pharmaceutical activity in simulated drugs, it's much easier to confirm a hit than it is to find one... but the reason those are distributed is because they are such incredibly difficult problems.
- tromp 12y agoThe described proof-of-work system is known as hashcash http://www.hashcash.org/docs/hashcash.html http://www.hashcash.org/docs/hashcash.html which asks for a partial preimage of a hash function. There are indeed other proof-of-work algorithms. Probably the first one is Primecoin, which asks for a Cunningham chain of prime-numbers. My own Cuckoo Cycle, asking for a cycle in a huge graph, is another example, in which a single proof attempt takes hundreds of MB of memory, but verification is instant and takes no memory.
- theswan 12y agoSome other proof of work protocols: http://en.wikipedia.org/wiki/Proof-of-work_system#List_of_proof-of-work_functions http://en.wikipedia.org/wiki/Proof-of-work_system#List_of_pr...
- tromp 12y agoOr on the more detailed cryptocurrency wiki: https://en.bitcoin.it/wiki/Proof_of_work https://en.bitcoin.it/wiki/Proof_of_work
- awestroke 12y agoIt has to be trivial to verify yet really really hard to solve in the first place. Hash collisions has the added benefit of allowing variable difficulty
- igrigorik 12y agoWikipedia has a nice list of various proof-of-work functions: https://en.wikipedia.org/wiki/Proof-of-work_system#List_of_proof-of-work_functions https://en.wikipedia.org/wiki/Proof-of-work_system#List_of_p... As for "lottery", I believe the answer is yes and no. The basic point is to raise the cost of "faking" a confirmation, and how you do that is completely up to you - e.g. captchas are a great example! That said, the random part of the non-deterministic process provides a lot of really nice properties for a distributed system - fairness claims, etc. That said, this is a deep topic (with lots of caveats) in its own right.
- olalonde 12y agoThere are even alternatives to PoW for obtaining consensus such as Proof of Stake which doesn't consume much CPU power in theory.