Author: Gregory Maxwell 2014-07-04 11:37:26
Published on: 2014-07-04T11:37:26+00:00
A user named Andy Parkins shared an idea about creating an ASIC-proof proof-of-work algorithm on July 4th, 2014. However, the formulation proposed by the user was deemed not workable due to several reasons. The verification costs were very high and would make it infeasible to use Bitcoin on mobile devices and force many people using wallets onto centralized service providers which they'd have to trust to process their transactions. Making verification costly would also make it much less reasonable to provide zero knowledge proofs for data in Bitcoin—closing off a whole set of useful tools like strongly private proofs of solvency, and strongly private bitcoin-backed pseudonymous identities. Furthermore, this design would completely preclude lite nodes (SPV nodes) which are the most popular Bitcoin wallets. There are ways to make what the user is trying to accomplish work with fewer tradeoffs that have been suggested before. This includes using the candidate block header to randomly select one or a few random entries in the set of spendable coins (UTXO set), which are then included in the hashing. If the UTXO set is also committed in every block via a hash tree when the miner finds a solution, he can also extract a compact membership proof that shows the UTXO he included in his hashing were the right ones. However, even with these fixes, there is no guarantee that this would be helpful as specialized high-efficiency hardware for mining may still exist. This specialized hardware might look more like a massively parallel flash or DRAM array with integrated computation. By shifting costs from operating energy to gate-count, it moves the total costs into hardware which is one-time and amortized over use, potentially creating an advantage for earlier/larger participants. Additionally, a CRAM-like design might also have massive throughput advantages compared to commodity hardware operating in a bus-limited mode. Despite the limitations and potential issues, the discussion surrounding these ideas is important for learning and advancing the technology.
Updated on: 2023-05-19T19:02:09.277999+00:00