Floating-Point Nakamoto Consensus [combined summary]



Individual post summaries: Click here to read the original discussion on the bitcoin-dev mailing list

Published on: 2020-10-15T16:02:09+00:00


Summary:

The proposal of Floating-Point Nakamoto Consensus (FPNC) aims to improve the network by avoiding ambiguity and enabling determinism. It assigns floating-point fitness values to blocks, giving miners two valid options when mining a block with high rewards but close fitness to the minimum. Miners can either build on top of that block or replace it, with increasing probability as the block subsidy decreases. While this incentivizes reorgs, the author argues that adding more precision can prevent confusion and allow for immediate decision-making without waiting for chain extensions. The proposal is not related to SegWit but can be implemented in any blockchain using Nakamoto Consensus. A complete implementation of FPNC is available in the provided links.The article discusses vulnerabilities in Nakamoto Consensus and proposes a solution called Floating-Point Nakamoto Consensus. This solution increases the cost of replacing the current winning block, making it harder for adversaries to create a hard fork and disrupt the network. The author emphasizes the need for fully decentralized solutions to Byzantine fault-injection and disagreements. Floating-Point Nakamoto Consensus prevents re-org chains from going beyond a single block, expediting consensus formation. The dominant chain is incentivized, eroding support for weaker chains. The article concludes that any blockchain using Nakamoto Consensus can be modified to use Floating-Point Nakamoto Consensus.In an email thread, Lord James HRMH suggests adding more bits of precision to avoid confusion in selecting the highest-work chain. Waiting for further chain extension may not be necessary if the network can immediately decide based on higher proof of work and greater precision. The email also discusses the threat model of an eclipse attack and how malicious miners can manipulate disagreement in the network. The attacker keeps the disagreement open until their transactions are validated on the honest chain, replacing it with the chain generated by dishonest miners.The article explains how Floating-Point Nakamoto Consensus improves consensus generation by introducing a fitness test. The most recently formed block with the highest local fitness score is preferred, eroding support for weaker chains. A soft fork can be used to implement Floating-Point Nakamoto Consensus, allowing patched and non-patched nodes to coexist. The article concludes that any blockchain using Nakamoto Consensus can be modified to use a fitness constraint like Floating-Point Nakamoto Consensus.The author discusses the use of work and fitness in Bitcoin consensus. Work is an unbiased estimator of computational effort, while fitness introduces bias without additional valuable information. The question of introducing the historic block hash as a consensus-critical parameter is argued against, as it adds unnecessary randomness to chain selection. The author argues that delaying or preempting messages is cheaper than producing better fitness scores, creating a race condition. The article also mentions ongoing malicious mining campaigns and proposes solutions to mitigate them.In an email exchange, Larry Ruane shares his open-source POW network mining simulator that simulates Bitcoin's POW and can be modified for variations. Mike suggests actively pinging nodes running weaker blocks to inform them of new blocks. Larry's project receives praise, and Mike plans to provide a PR. The GitHub link for Larry's project is included.The context of another conversation involves an exploit condition in Bitcoin's network. The speaker responds to Mike's argument, highlighting the unlikelihood of certain conditions and the need for more time before disclosure of exploits. They emphasize the importance of security fundamentals and the risks of change in Bitcoin.In a separate email conversation, ZmnSCPxj raises concerns about growing disagreement in mining capacity and the need to avoid ambiguity in consensus. They discuss an exploit that was reported to the Bitcoin-core security team and cannot be fixed by Floating-Point Nakamoto Consensus. The need for more time before disclosure is highlighted, along with the importance of sensible disclosure policies.Overall, the articles and conversations discuss vulnerabilities in Nakamoto Consensus, propose solutions like Floating-Point Nakamoto Consensus, and address various threat models and exploits in Bitcoin's network.


Updated on: 2023-08-02T02:42:52.955847+00:00