Skip to content

redengin/enmesh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

113 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Secure distributed communications enhanced by anonymity of LoRa

Objectives

  • Anonymous Communication
    • sender's location is obfuscated by the mesh network
  • Minimize contention for LoRa air time

Background

LoRa use has proliferated under Meshtastic and MeshCore creating LoRa hardware that is readily purchasable by users.

Reticulum is a proposed design for creating "sovereign" communication networks that bridge LoRa traffic over additional channels (e.g. internet).

LoRa Evolution

While novel protocols have increased the usage of LoRa, LoRa needs to evolve via consensus make efficient use of the bandwidth. The IETF has managed the evolution of the internet and should be used to evolve LoRa. see RFCs

Enmesh Physical Architecture

C4Component
    Container_Boundary(lora, "LoRa") {
      Component(repeater, "repeater")
      Component(wifi_repeater, "repeater <br> w/ WiFi")
      Component(companion, "companion")
    }
    BiRel(companion, repeater, "send/receive <br> LoRa packets")
    BiRel(companion, wifi_repeater, "send receive <br> LoRa packets")
    BiRel(wifi_repeater, wifi_router, "bridges local <br> LoRa to internet")
    BiRel(wifi_router, enmesh_endpoint, "bridges local <br> LoRa to internet")
    Container_Boundary(internet, "Internet") {
      Component(wifi_router, "wifi router")
      Component(enmesh_endpoint, "enmesh endpoint")
    }
    Container_Boundary(mobile_app, "Mobile App") {
      Component(mobile_app, "Mobile App")
    }
    BiRel(mobile_app, companion, "send/receive <br> LoRa packets")
    BiRel(mobile_app, enmesh_endpoint, "bridges local <br> LoRa to internet")

  UpdateLayoutConfig($c4ShapeInRow="2", $c4BoundaryInRow="2")
Loading

Universal LoRa Communication

Only a few local LoRa nodes need to support a bridge to support anonymous universal messaging via LoRa.

  • Yet Another LoRa Protocol? see RFCs
    • Rather than attempt to replace current protocols (Meshtastic and MeshCore), enmesh will support both.
    • if the current protocols don't adapt to Enmesh objectives, Enmesh will provide it's own LoRa protocol

The enmesh design describes how enmesh nodes connect local LoRa traffic (Meshtastic/MeshCore) to the world.

Repository Overview

  • MeshTastic Library - Rust implementation of MeshCore
    • TODO: MeshCore rapidly evolves, this should become a separate repo
  • MeshCore Library - Rust implementation of MeshCore
    • TODO: Meshtastic rapidly evolves, this should become a separate repo

About

Secure communication via LoRa, extended to to other networks (internet, LAN, etc.)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages