Lux Proposals
← All proposals
LP-0168Proposedpqml-dsameshidentitygossip

LP-168: Mesh Identity, Gossip & Payments (PQ)

Abstract

LP-168 mirrors Hanzo HIP-0077 into Lux. Every Lux-attached device, MCP

endpoint, container, validator, and light client derives its keypair

from one HD mnemonic; the signing key is ML-DSA-65 (FIPS 204), the

same primitive Lux consensus already uses for per-validator identity

(luxfi/crypto/mldsa, luxfi/pulsar/sign). The mDNS TXT record

carries the 20-byte ML-DSA address; the ZAP handshake

(luxfi/consensus protocol/zap) carries the full pubkey plus a

fresh signature over the server-supplied nonce; cross-LAN propagation

rides on the Lux consensus mesh under the canonical

LUX_STRICT_PQ profile. Payments settle on Lux as ML-DSA-signed

promise/receipt pairs.

This LP does not redefine the protocol. The wire format, key

derivation paths, gossip namespace shape, and receipt schema live in

HIP-0077. LP-168 pins the Lux-side facts that HIP-0077 leaves to the

operator: the profile, the genesis allocation rule, the luxfi/*

package surface.

Mirrored fields


ProfileID:           0x01  (ProfileLuxStrictPQ)
ProfileName:         LUX_STRICT_PQ
HashSuiteID:         SHA3_NIST                (0x01)
IdentitySchemeID:    ML_DSA_65                (0x42)
FinalitySchemeID:    PULSAR_M_65              (0x52)
HighValueSchemeID:   PULSAR_M_87              (0x53)
ProofPolicyID:       STARK_FRI_SHA3_PQ        (0x10)
AllowedBackends:     SP1_COMPRESSED_STARK, RISC0_SUCCINCT_STARK,
                     P3Q_PLONKY3_STARK_FRI, STONE_CAIRO_STARK_CPP,
                     STWO_CIRCLE_STARK
MinSoundnessBits:    128
MinHashOutputBits:   384
RequireTransparent:  true
ForbidPairings:      true
ForbidKZG:           true
ForbidTrustedSetup:  true
ForbidClassicalSNARKs: true
ForbidDevProofs:     true
ForbidFallbacks:     true

Source of truth: luxfi/consensus/config.LuxStrictPQProfile; resolve

at runtime via config.ProfileByID(config.ProfileLuxStrictPQ). The

profile hash is pinned at genesis and bound into every Q-Chain cert

(LP-170).

Lux-specific bindings

Compliance

A Lux node that consumes LP-168 MUST refuse ZAP handshakes from peers

whose advertised profile is not ProfileLuxStrictPQ or a strict

superset, and MUST refuse mesh gossip records whose proof_system_id

maps to a forbidden marker (0x80 GROTH16_BN254_FORBIDDEN_IN_PQ,

0x81 KZG_FORBIDDEN_IN_PQ).

References