Creating a native on-chain governance on Hashgraph is similar to creating any kind of an on-chain governance system. For the first run there must be some special internal governance variables that might influence consensus parameters, node configuration or any other details of the core algorithm. Such variables should have two properties:
1. They can not be changed absolute freely only after a kind of a community voting.
2. They must be anchored somehow with the nodes or with the core algorithm.
For modifying on-chain properties there must be a special transaction, instead of a change value of a blockchain field transaction, there should be:
TR: I vote for changing the value of a governance variable - signed by the private key of an account that can actually vote for such a change. Such accounts might be associated with nodes, or with consortium members of the Hedera Hashgraph.
After the voting transactions are validated and ordered and the voting period might be at the end, each node can apply the result to the state individually. A possible algorithm might be:
- count the votes for a given change, if it is more than 50% apply to the change to the state.