LPsLux Proposals
Research
LP-6490

LuxDA Node Modularization

Draft

LuxDA Node Modularization specification for LuxDA Bus

Category
Core
Created
2026-01-02

Abstract

This LP defines how LuxDA Bus components are packaged into a single Lux node binary with configurable modules.

Motivation

This specification formalizes the component design, ensuring consistent implementation across the LuxDA ecosystem.

Specification

1. Module Architecture

┌─────────────────────────────────────────────────────────────┐
│                        Lux Node                             │
├─────────────────────────────────────────────────────────────┤
│  ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐          │
│  │ Header  │ │  Relay  │ │   DA    │ │  Store  │          │
│  │  Chain  │ │         │ │         │ │         │          │
│  └─────────┘ └─────────┘ └─────────┘ └─────────┘          │
│  ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐          │
│  │  Index  │ │  Chat   │ │  TFHE   │ │ Gateway │          │
│  │         │ │   SDK   │ │  Orch   │ │         │          │
│  └─────────┘ └─────────┘ └─────────┘ └─────────┘          │
├─────────────────────────────────────────────────────────────┤
│                    Core Runtime                             │
│  (P2P, Storage, Crypto, Config, Metrics)                   │
└─────────────────────────────────────────────────────────────┘

2. Configuration Profiles

# Full node profile
profile: full
modules:
  headerchain: true
  relay: true
  da: true
  store: true
  index: true
  chat: true
  tfhe: false
  gateway: true

# DA operator profile
profile: da-operator
modules:
  headerchain: false
  relay: true
  da: true
  store: true
  index: false
  chat: false
  tfhe: false
  gateway: true

# Messenger profile
profile: messenger
modules:
  headerchain: false
  relay: true
  da: false
  store: false
  index: false
  chat: true
  tfhe: false
  gateway: false

3. Module Interface

type Module interface {
    Name() string
    Dependencies() []string
    Start(ctx context.Context, runtime *Runtime) error
    Stop() error
    Status() ModuleStatus
}

type Runtime struct {
    Config   *Config
    P2P      *P2PNetwork
    Storage  *StorageBackend
    Crypto   *CryptoProvider
    Metrics  *MetricsRegistry
}

4. Resource Requirements

ProfileCPURAMStorageBandwidth
Full4 cores16 GB500 GB100 Mbps
DA Operator2 cores8 GB2 TB1 Gbps
Messenger1 core2 GB10 GB10 Mbps
Validator8 cores32 GB1 TB1 Gbps

LP-6490 v1.0.0 - 2026-01-02

Rationale

The design follows established patterns in the LuxDA architecture, prioritizing simplicity, security, and interoperability.

Backwards Compatibility

This specification introduces new functionality and does not modify existing protocols. It is fully backwards compatible with existing implementations.

Security Considerations

Implementations must validate all inputs, enforce access controls, and follow the security guidelines established in the LuxDA Bus specification.