A discussion thread for our research problem centred around flexible & self-governing architecture:
We are designing modular architecture to allow markets high flexibility to choose their configuration and blockchain behaviour, updates to be efficiently handled on-chain, and dynamic adaption to the network and environmental factors.
While the progression of a blockchain is usually well distributed among a number of validators, the factors that cover governance - setting various operational parameters, performing updates in the code or the algorithms, etc - are often far less distributed. To make things worse, many decisions cannot be voted on by the same structures the validators use - for example, validators might have an economic interest in keeping other validators out, and thus should not be responsible for membership decisions. Another issue is voting competence - some stakeholders may be in just as an investment and have little motivation to obtain all the knowledge needed for a competent vote. Other decisions that a self-governing blockchain needs to be able to make include for example
- The reward scheme: how are validators paied in a way that keeps them motivated to do their job, without increasing the transaction cost or motivating validators to be too big or too small ? How can we avoid validators to do a good job and not try to get away getting paid for the minimum work possible? (see also: #12)
- Validator Membership: How can we keep a validator set of validators that have sufficient performance, are well distributed, and can’t end up having a monopoly that can dictate prices ?
- Code updates: When and how is the implementation changed in a way that there is no single entity dictating the code and while avoiding hard forks ?
- Runtime parameters, such as timeouts
- Modular design with on-the-fly exchangeable components
- Self-governing update & parameter