hypothetical: Could soft-forks be prevented? [combined summary]



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

Published on: 2017-09-18T06:40:18+00:00


Summary:

In a discussion on the bitcoin-dev mailing list, the topic of preventing soft forks in cryptocurrency software is explored. Daniel Wilczynski suggests that built-in wipeout protection would be a better solution to protect the majority from threatening a minority with a wipeout in the event of a soft fork scenario. This can be achieved through automated consensus critical checkpoints or other mechanisms. However, implementing built-in wipeout protection would turn soft forks into hard forks.The conversation also delves into the possibility of creating an un-soft-forkable cryptocurrency. Andrew Poelstra suggests that designing for maximal fungibility and transaction structures that minimize interaction with the blockchain could minimize the surface for transaction censorship. Simone Bronzini proposes a simple cryptocurrency where only the public key and amount are indicated in the transaction output, but acknowledges that it could still potentially be soft-forked. The primary goal of this thought experiment is to prevent new functionality from being added arbitrarily.ZmnSCPxj argues that it is impossible to prevent soft forks entirely. They provide examples of anyone-can-spend scripts that are currently disallowed from propagation but could still be included in a block by a miner. ZmnSCPxj also notes the possibility of miners running secret soft-forking code. The only way to prevent soft forks is to hard fork against them. Adam Back expresses concern about the potential manipulation of consensus rule changes through political means. He seeks solutions to prevent the tyranny of the majority that could undermine network-wide consensus rule changes.The article mentions that soft forks create a new class of transactions that interact with DAOs. Ethereum, for example, can't soft fork and always has to hard fork. Dan Libby is interested in the possibility of a cryptocurrency with immutable consensus rules. Soft forks rely on anyone-can-spend transactions, and removing them could effectively prevent soft forks. It is also possible to programmatically avoid/ban soft forks.The discussion on preventing soft forks continues, with Adam Back and ZmnSCPxj pointing out the practical challenges of banning anyone-can-spend outputs and the possibility of miners running soft-forking code secretly. Soft forks apply further restrictions on Bitcoin, while hard forks do not. The only way to prevent a soft fork is to hard fork against it. The goal of creating an un-soft-forkable cryptocurrency is discussed, but it is noted that preventing new functionality may be the primary objective of this thought experiment.In conclusion, preventing soft forks entirely is considered impractical, as there are too many potential scriptPubKey options. Soft forks can apply further restrictions on a cryptocurrency, and miners can run soft-forking code without the rest of the community knowing. Hard forking against a soft fork is the only way to prevent it. The possibility of creating a cryptocurrency with immutable consensus rules is explored, with considerations for fungibility and minimizing interaction with the blockchain. However, the feasibility of preventing soft forks and the practicality of implementing these ideas are also questioned.


Updated on: 2023-08-01T21:52:43.536907+00:00