The network_identifier specifies which network a particular object is associated with.
In blockchains with sharded state, the SubNetworkIdentifier is required to query some object on a specific shard. This identifier is optional for all non-sharded blockchains.
The block_identifier uniquely identifies a block in a particular network.
The transaction_identifier uniquely identifies a transaction in a particular network and block or in the mempool.
The operation_identifier uniquely identifies an operation within a transaction.
The account_identifier uniquely identifies an account within a network. All fields in the account_identifier are utilized to determine this uniqueness (including the metadata field, if populated).
An account may have state specific to a contract address (ERC-20 token) and/or a stake (delegated balance). The sub_account_identifier should specify which state (if applicable) an account instantiation refers to.