Aranya Documentation An overview of the Aranya project

Graph vs. Channel Communication

Overview

This page explains the key differences between graph-based and channel-based messaging in the Aranya system.

Graph Data

Graph data refers to information that is stored directly within the Aranya graph structure. This data:

  • Is subject to policy enforcement
  • Has persistence guarantees
  • Is consistently synchronized across authorized nodes

Channel Data

Channel data refers to information that flows through an Aranya channel but is not stored within the graph structure itself. This data:

  • May be validated and authorized by policies (if ephemeral command)
  • Doesn’t have any persistence guarantees
  • Is used primarily for real-time data exchange

Decentralized Peer-to-Peer Data Exchange

Aranya provides interfaces for secure peer-to-peer data exchange, guaranteeing data delivery between endpoints, without the need for a centralized infrastructure governing your data. There are two ways data can be exchanged between endpoints:

  1. Low-Throughput Broadcast (On-Graph): Guaranteeing eventual delivery of your data to your endpoints through perpetuated syncing between peers to create a consistent end state. This broadcast can be one endpoint to one endpoint or one-to-many endpoints.

  2. High-Throughput (Off-Graph): Lowest latency, bulk encryption of your data through secure channels.

The figure below outlines the data flow between two endpoints, both with an Aranya instance and an application which will utilize the data. The two instances will leverage any transport that has been configured between the endpoints to exchange data via either the sync protocol (on-graph) or a high-throughput data exchange (off-graph), both defined below.

A diagram showing endpoint integration

Figure: Endpoint Integration Overview Diagram

The attributes governing the use of on-graph and off-graph, and when each would be best to use, can be seen in Table 1 below.

Feature On-Graph Off-Graph

Primary Use

(Core Functionality)

Control plane (Aranya commands) Data plane (data)

Secondary Use

(Other ways to use the core functionality in addition to main intention which may be advantageous for your use case)

Limited Data plane messages (commands with embedded data) Channel Control messages (ephemeral commands)
Distribution Broadcast across all sync connections (mesh and multi-hop support) Point-to-point (no multi-hop)
Throughput Low throughput (100s of messages/sec depending on available transport and size of network) High throughput (limited by transport)
Latency Higher latency due to overhead of graph operations Low latency
Direction Unidirectional (two unidirectional sync connections used to sync bi-directionally) Unidirectional

Message Encryption

(Application Layer)

Optional (note, transport layer may provide its own encryption) Automatic
Resilience/Recovery Highly resilient No built-in recovery other than what is provided by underlying transport
Authorization Asymmetric keys Symmetric key
Authentication Per message Per message

Table 1: Attributes of On-Graph vs. Off Graph Data Exchange