Upgrading a permissionless, consensus-based distributed system like Bitcoin is extremely challenging due to its decentralized nature. Nodes cannot simply be forced to upgrade like in a permissioned system. Instead, upgrades must be implemented carefully as soft forks to maintain backward compatibility and avoid network splits. The transaction malleability problem and need for scaling led to the development of Segregated Witness, which moves signature data out of transactions to allow for soft-fork block size increases and prevent attacks on layer-2 solutions. Overall, distributed consensus systems require innovative technical solutions to upgrade protocols while preserving decentralization.