Blockchains need a process to manage funds and incentivize maintenance and protocol updates long into the future. These potentially contentious processes fall under the scope of blockchain governance. There are three branches to blockchain governance: core developers, full nodes, and the foundation:
- Core developers – Each blockchain has a core software repo that is closely managed by a team of core developers who have a process to add or remove code to the repo. The core developers are like the legislative branch: they have the power to create code and add it to the core repository, but they do not have the power to put it into effect.
- Full nodes – A “full node” is any computer that runs the full version of a blockchain’s software. Miners are a specific subset of full nodes who run specialized mining software, but many other full nodes run full versions of the software without actively mining. Full nodes are like the judicial branch of blockchains. While the legislative branch can make as many laws as they want, the judicial branch can choose not to implement those laws if it finds them to be unlawful.
- The foundations – Most blockchains have a “foundation” or organization that manages its funds and reimburses its core developers. While the foundation/organization can influence the roadmap, they do not execute it. Blockchain foundations also often have influential figureheads, somewhat like a country’s president or executive branch.
Blockchain governance is a balance between the core developers, the full nodes, and the foundation. The software developers can release new code, but the changes will not go into effect unless the full nodes implement them. The nodes depend on the software developers to build and publish the updates needed to improve the protocol, but they can create a contentious hard fork if they disagree with the core developers’ decisions. The foundation can decide which core developers to support and influence the overall direction of the roadmap and protocol, but it cannot execute the vision without the support of the core developers and full nodes. Although coin holders do not typically directly influence the process of updating the blockchain, they indirectly influence it by how they choose to use their cryptocurrency.