ChatterBox vs Meshtastic: Mesh Capabilities

ChatterBox

All ChatterBox devices in a channel or private cluster participate in that group’s decentralized packet cache.

The ChatterBox decentralized packet cache is an encrypted, cluster-wide multi-device storage mechanism, which automatically stores and propagates packets toward their destination, using smart meshing.

All ChatterBox devices do this automatically

Private Clusters

Whenever possible, meshing is not used, and packets are simply transmitted directly between the sender & recipient instantly

  • Send encrypted message & data to devices in range, beyond range, and even powered off devices

  • Decentralized & evolving knowledge of connectivity throughout the cluster

  • Direct messages route packets on the most efficient path

  • Broadcast uses a message’s priority & expiry to quickly route to all devices in your cluster

  • DMs are allowed up to 24 hours to deliver, meaning each hop will cache that long if necessary, until full delivery is verified

  • Broadcasts are allowed up to 2 hours; the message will get as far as it can before it expires


Signed Delivery Confirmation

Automatic with every direct message

  • Upon receipt & validation of a DM, the recipient automatically generates a signed / un-fakeable delivery confirmation, routing it back to the sender.

  • The sender will see a check mark once this completes.

  • For broadcasts, delivery is shown as complete as soon as at least one other device has accepted the message


Packetization / Packet Striping

  • All messages are broken into packets

  • The source, order, and method in which packets arrive does not matter. Packets for a single message can arrive from multiple devices, multiple frequencies, or even multiple methods (LoRa / MQTT).

  • Regardless of how packets arrive, the end recipient is able to piece them back together, validate the signature, and decrypt the message


ChatterBox Channels

  • ChatterBox channels are encrypted and fully utilize frequency hopping and digital signatures

  • ChatterBox channels have less capabilities than private clusters and correspond more closely to Meshtastic

  • With ChatterBox channels, meshing is controlled mainly by the expiry you set on a message

  • Any other devices in the channel will validate the signature, and if it’s good, cache and help to push the message along until expiry

  • There is no path planning, simply an effort to push the message far and wide quickly

  • Channels still use a distributed packet cache, but the trickling of packets is not deterministic, and simply pushes away from the sender until expiry.

  • Devices powered off or out of range when a message is sent in a channel can still receive the message if they power on or come within range prior to the message expiry.

Meshtastic

Meshtastic corresponds more closely with the less functional ChatterBox channels than what is recommended: private clusters.

Meshtastic has no distributed packet cache mechanism or any knowledge of state / connectivity throughout a channel.

Connectivity Knowledge

Devices are only aware of other nodes in the same “channel” immediately within range.

Devices do not share connectivity knowledge of others beyond range.

Mesh Logic

For the most part, devices that receive a message blindly repeat the message without any verification it ends up where it needs to go.

In a newer version of Meshtastic, the mesh routing is slightly more deterministic, in that if a receiving device has built enough state to believe it can get the message to the end destination, it will use that for the next hop.

Delivery Confirmation

There is no reliable / signed delivery confirmation. When a message is sent, the sender may receive an unsigned / unverifiable “ack” that means either a node has received the message or possibly something else has received the message.

That “confirmation” means it might get where it’s going, or it might not.

For a message that was sent via LoRa / mesh, there is no way to know if the recipient actually received the message.

Delivery to Powered Off Devices

Generally, things in Meshtastic happen in “live time”, and if a device is not powered on or is out of range when a message is intended for it, the message is lost.