[Proposal] Anoma Network Architecture

Network Architecture - ART Report

Introduction

  • motivation / angle of approach / models

    • compositional cryptographic identities
      • the external identity / internal identity system
    • actor model
    • heterogeneous trust & heterogeneous preferences
      • people want a subset of messages
      • both trust and preferences vary over time
        • which we want to be able to adapt to
    • heterogenous / sovereign domains
      • different requirements for different domains
        • authentication, protocols, etc
  • models to architecture & protocols

    • how these models lead to the proposed sw architecture & network protocols
    • e.g.
      • cryptographic identities + actor model
        • engines/nodes with cryptographic identities
        • associating network addresses with external identities
        • message routing based on cryptographic identities
      • compositional identities
        • unicast/multicast routing depending on the number of identities
    • overview of the network & sw architecture

Requirements

Design requirements for:

  • Network architecture & protocols

    • privacy/security/efficiency/etc considerations
    • node trust/reputation/measurements
    • sovereign domains architecture
    • intra-domain protocols
      • protocols/services provided (pub/sub, storage, etc)
      • join/authentication methods
      • topology maintenance/membership protocol requirements
  • inter-domain protocols

    • domain lookup/routing protocols
    • clustering/efficiency considerations
    • privacy considerations
  • Software architecture

    • engines & message passing requirements
    • interoperability, protocol versioning
    • language-independent serialization
    • modular transport system
    • measurements
    • allow network/protocol testing/evaluation with simulated network topology & nodes

Related work

  • mention other p2p libraries/frameworks with similar scope (e.g. libp2p, gnunet)

Network Architecture

  • describe overall network architecture
    • ext ids for addressing
    • sovereign domains
    • unicast/multicast messaging
  • describe each network protocol
    • messages types & protocol logic
    • how different protocols interact with / rely on each other

Software Architecture

  • describe engines & message passing, motivated by the actor model
  • describe each engine of the networking machine
    • what network protocols they implement
    • message flows between engines
  • protocol testing & evaluation
    • launch many nodes on the same machine
      • multiple nodes (set of actors) directly connected
      • network transport for simulation:
        • add delay + message loss

Future work

  • open questions/problems
    • inter-domain protocols
    • intra-domain protocols:
      • topology + pubsub
    • trust & reputation
  • improvements necessary
  • future research directions
4 Likes