Author: bitcoin ml 2020-09-25 15:18:17
Published on: 2020-09-25T15:18:17+00:00
In a recent email exchange, Thomas raised concerns about what would happen if a node with a patch and no history starts to sync and some random node gives it a block with a better fitness test for say height 250,000. The proposed solution is known as Floating-Point Nakamoto Consensus. It makes it more expensive to replace an already mined block vs creating a new one, and by resolving ambiguity of competition solutions, it helps achieve global consumers more quickly. Nakamoto Consensus is the process of proving computational resources in order to determine eligibility to participate in the decision-making process. If the outcome of an election were based on one node (or one-IP-address-one-vote), then representation could be subverted by anyone able to allocate many IPs. In this consensus model, the proof-of-work requirements for the creation of the next valid solution have the exact same cost as replacing the current solution. There is no penalty for dishonesty, and this has worked well in practice because the majority of the nodes on the network are honest and transparent, which is a substantial barrier for a single dishonest node to overcome. The security of the Bitcoin network depends on the finite number of worker threads and connections that can be serviced by these workers. When a rude client occupies all connections, then a pigeonhole principle comes into play. An attacker can leverage an eigen-vector of computational effort to keep the disagreement in balance for as long as it is needed. No mechanism is stopping the attacker from adding additional computation resources or adjusting the eclipsing effect to make sure the system is in balance. As long as two sides of the network are perfectly in disagreement and generating new blocks, the attacker has intentionally created a hard-fork against the will of the network architects and operators.During a split in the blockchain, each side of the network will honor a separate Merkel-tree formation and therefore a separate ledger of transactions. An adversary will then broadcast currency deposits to public exchanges, but only on the weaker side, leaving the stronger side with no transaction from the adversary. Any exchange that confirms one of these deposits is relying upon nodes that have been entirely eclipsed so that they cannot see the competing chain - at this point anyone looking to confirm a transaction is vulnerable to a double-spend. The Nakamoto Consensus holds no guarantees that its process is deterministic. In the short term, we can observe that the Nakamoto Consensus is empirically non-deterministic, which is evident by re-organizations (re-org) as a method of resolving disagreements within the network. DeFi (Decentralized Finance) and smart-contract obligations depend on network stability and determinism. Failure to pay contracts, such as what happened on “black Thursday”, underscores the importance of maintaining these properties.The security of smart contracts on a blockchain network can be compromised in the event of a hard fork, resulting in secured loans accidentally falling into redemption. This is because a contract may execute only to have the transaction on the ledger be replaced due to a split in the network or a default caused by a weaker chain. To prevent this, a fully decentralized solution must be implemented, such as Floating-Point Nakamoto Consensus. This system makes it more expensive to replace the current winning block and ensures that the most-fit solution is chosen over a weaker one.Floating-Point Nakamoto Consensus adds a fitness test to determine the overall fitness score of a block, making it harder for weaker chains to supplant dominant chains. The nodes would prefer to mine on the chain with an overall fitness score of +3.262. This can be implemented as a soft fork, allowing both patched and non-patched nodes to coexist while benefiting from herd immunity in overall network stability. An example implementation has been submitted as a PR to the Bitcoin core and can be adapted by other networks. In Floating-Point Nakamoto Consensus, all nodes conduct traditional Nakamoto Consensus, and if two solution blocks are advertised for the same height, a floating-point fitness value is calculated, and the solution with the higher fitness value is propagated to all neighbors. All nodes are incentivized to support the solution with the highest fitness value, making it easier to preserve global consensus. The fitness test evaluation needs to ensure that no two competing solutions can be numerically equivalent. Thus, each successive n+1 solution variant of the same block-height must consume half of the remaining finite keyspace, making it harder for an adversary to waste their time making a 19 where n+1 was not greater.A new consensus algorithm called Floating-Point Nakamoto Consensus has been proposed as a modification to the traditional Nakamoto Consensus used in blockchain networks. This new algorithm allows for determinism to take hold, avoiding ambiguity and resolving disagreement more quickly. Adapting, patching, and protecting the network is a constant effort to avoid attacks against cryptocurrency networks that undermine developer guarantees.
Updated on: 2023-06-14T15:38:07.393207+00:00