Concept
The robustness of the KIRA network is maintained by a set of active consensus nodes who ensure the smooth operation and security of the system. However, external factors or unforeseen events can sometimes hinder their ability to maintain the integrity of the network. Such a scenario where the number of active consensus nodes drops below the defined min_validators network property is termed as "Poor Network Conditions".
This condition could be attributed to various potential causes:
Malicious DOS/DDOS attacks targeting consensus nodes not utilizing sentry nodes.
Coordinated interference from multiple ISPs used by consensus nodes.
Anomalies in DNS servers or incorrect address routing.
Failed network upgrades leading to unexpected behaviors.
Global political events affecting internet connectivity, like the "Great Firewall 2.0".
Among other unforeseen circumstances...
Ensuring Network Safety
The primary objective during poor network conditions is to safeguard user assets until the network regains its strength. The poor_network_max_bank_send network property is instrumental in this context. It dictates the upper limit for asset transfers during compromised network states. By equating this value with the max_tx_fee, the network can prevent potential asset misappropriation by malicious entities.
Furthermore, custodians can monitor the min_validators and poor_network_max_bank_send to decide whether to accept transfers from a network or a fork, especially if the consensus nodes count dips below the safety threshold. Essentially, these measures deter malicious consensus nodes from gaining undue advantages, such as attempting to sideline honest consensus nodes for their own gain.
Restricted Transaction Types
In light of such situations, the network can determine which Transaction Message Types are permissible. This proactive approach halts any unexpected network activities until a sufficient number of nodes is available for secure chain operation.
The default set of allowed messages during poor network conditions are:
Parameters
CLI syntax & examples
Each CLI command and proposal process in KIRA requires specific permissions. These permissions must be added to the account's whitelist or obtained as sudo permissions for direct changes. Refer to the Roles & Permissions documentation for more details. $SIGNER represents the transaction signer's account name or address. For instructions on setting common flags as environment variables, such as $FLAGS_TX and $FLAGS_QR, see the CLI flags configuration section
Governance
Transactions
N/A
Queries
sekaid query customgov
poor-network-messages
Query Allowed Messages
Retrieve a list of allowed transaction message types during poor network conditions using the poor-network-messages command.
Bash
Copy
sekaid query customgov poor-network-messages $FLAGS_QR | jq