Search
Duplicate
Try Notion
Page icon

Poor Network Conditions

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:
MESSAGE TYPE
DESCRIPTION
MsgTypeSubmitProposal
Submit a new governance proposal
MsgTypeSetNetworkProperties
Update network-level properties/settings
MsgTypeVoteProposal
Cast a vote on an existing governance proposal
MsgTypeClaimCouncilor
Request to claim a councilor role
MsgTypeWhitelistPermissions
Grant certain permissions to an entity
MsgTypeBlacklistPermissions
Revoke certain permissions from an entity
MsgTypeCreateRole
Create a new network role
MsgTypeAssignRole
Assign an existing role to an entity
MsgTypeUnassignRole
Remove a role from an entity
MsgTypeWhitelistRolePermission
Grant specific permissions to a role
MsgTypeBlacklistRolePermission
Revoke specific permissions from a role
MsgTypeRemoveWhitelistRolePermission
Remove granted permissions from a role's whitelist
MsgTypeRemoveBlacklistRolePermission
Remove permissions from a role's blacklist
MsgTypeClaimValidator
Request to claim validator seat
MsgTypeActivate
Activate the consensus node that was previously inactivated for downtime
MsgTypePause
Temporarily pause the consensus node
MsgTypeUnpause
Resume a previously paused consensus node
MsgTypeRegisterIdentityRecords
Register new identity records
MsgTypeEditIdentityRecord
Modify an existing identity record
MsgTypeRequestIdentityRecordsVerify
Request verification for an identity record
MsgTypeHandleIdentityRecordsVerifyRequest
Handle incoming verification requests
MsgTypeCancelIdentityRecordsVerifyRequest
Cancel a previously made verification request

Parameters

NAME
TYPE
EXAMPLE
DESCRIPTION
poor_network_messages
[]string
MsgTypeSubmitProposal,MsgTypeSetNetworkProperties,…
A list defining the type of messages allowed during poor network conditions.

CLI syntax & examples

Callout icon
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

Proposals
Filter
Sort
Subcommand Path
CLI
DESCRIPTION
PERMISSIONS (VOTE/CREATION/SUDO)
Proposes to reset the ranking of all validators
Proposes to reset the ranking of all councilors
Proposes to jail councilors for violating the network's rules

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
Proposals