Blockchain Protocol Upgrade

The Internet Computer blockchain is governed by the Network Nervous System (NNS), its algorithmic governance system. One of the many duties of the NNS is to orchestrate upgrades to the Internet Computer to a new protocol version, when the community has adopted a upgrade proposal. Making upgrades to any blockchain requires solutions to several challenging problems posed by the nature of a decentralized system including how to allow arbitrary changes to the protocol, preserve state of all canister smart contracts, minimize downtime, and roll out upgrades autonomously.