About this page
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: 

  1. 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.
  2. 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.
  3. 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.
  4. 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.).
Issues in current sprint