bitcoin-dev
[BIP Proposal] Buried Deployments
Posted on: November 17, 2016 10:10 UTC
Pieter Wuille, a bitcoin developer, has proposed getting rid of checkpoints on the blockchain.
Checkpoints have been used by bitcoin developers to prevent attacks, but they are not intended as a security feature. Developers have the ability to control the "true chain", and checkpoints can be used to help them do so. However, Wuille believes that if review is good enough to catch unintended consensus changes, it should also be able to catch the introduction of an invalid checkpoint. Instead of embedding checkpoints in the code, Wuille recommends users validate the full chain without checkpoints, select their own checkpoints, and place them into config. Eric Voskuil, CEO of libbitcoin, argued that checkpoints place control of the "true chain" in the hands of those selecting the checkpoints, potentially leading to centralization. Wuille countered that developers already have this possibility and good review and release practices can deal with the risk. In addition, Wuille noted that the use of checkpoints makes it hard for users to be smart and embeds them in the code. Wuille also discussed buried softforks, which he considers a change that modifies the validity of a theoretically construable chain from invalid to valid, rather than a fork at all. He suggested that avoiding the ISM checks for BIP34 and BIP66 all the time could improve performance optimization. However, Voskuil found this approach unsupportable and saw no security, performance, or feature benefit in it.