prevent misconfiguration of blockchain parameters
The following parameters in genesis.json are related
1) Fees for proposals
a. proposal create (22)
b. proposal update (23)
c. proposal delete (24) -- Not sure how relevant this is.
2) SON Parameters
a. "son_pay_max": 20000000,
b. "son_deregister_time": 120,
c. "son_heartbeat_frequency": 20,
d. "maximum_son_count": 15
Any new proposal which tries to misconfigure the parameters should be prevented
Following are some of the relations
1) ("proposal update fees"| "proposal create" | "proposal delete" ) < (son_pay_max/(10000 * maximum_son_count))
2) son_heartbeat_frequency < son_deregister_time
There might be more parameters like these that could be checked during propose_parameter_change operation.
Similarly:
"extensions": {
..........
"son_pay_time": 600,
"son_deregister_time": 300,
"son_heartbeat_frequency": 60,
"son_down_time": 180,
.......
}
son_down_time, son_deregister_time and son_pay_time should be greater than son_heartbeat_frequency.
Instead of giving all them absolute values, we should instead give them relative values ie
"extensions": {
..........
"son_pay_time_frequency": 10,
"son_deregister_time_frequency": 5,
"son_heartbeat_frequency": 60,
"son_down_time_frequency": 3,
.......
}
which will mean as same as below:
"extensions": {
..........
"son_pay_time": 600,
"son_deregister_time": 300,
"son_heartbeat_frequency": 60,
"son_down_time": 180,
.......
}
Edited by Kiran Kumar