This page contains information, documentation, and Jira issues related to communications work
Types of Communication in RChain
We can theorize that there will be 4 types:
Low-level, internal peer-to-peer communication Provides the peer network topology. Mechanism by which blocks are exchanged. Could also provide the basis for other node-to-node communication such as that used by consensus. Might be wholly unrelated to namespaces, except for things like selecting blocks to propagate, etc.
Contract-to-contract communication "via the blockchain" Transactional communication "between contracts" along a name. Consensus guarantees ordering and blockchain guarantees delivery of this type of communication.
Contract-to-contract communication off the blockchain Used for ephemeral communications, as in a chat application. Used for "dark" communication, for private data exchange, for example. Should cost but is perhaps less expensive than on-blockchain communication. Fewer (no?) guarantees about, e.g., delivery or order.
Contract-to-world communication Useful for statistics gathering over, e.g., node and network performance Inward-bound implementation for ask-the-web or get-human-consensus oracle operations. Outward-bound implementation for contracts that provide blockchain-based standard protocols (HTTP, NFS, etc.).