Lux Proposals
← All proposals
LP-0173Proposedpqml-dsatx-authenvelopetuple-hash

LP-173: TxAuthEnvelope

Abstract

LP-173 mirrors HIP-0086 into Lux. Every Lux strict-PQ transaction

is signed via a TxAuthEnvelope whose transcript is built using

TupleHash256 (SP 800-185) with cust string TX-AUTH-V1 over

`(profile_id, chain_id, account_id, nonce, payload_hash,

identity_scheme_id, hash_suite_id)`. Signature is ML-DSA-65; the

verifier is unmodified FIPS 204 ML-DSA.Verify.

Mirrored profile


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)
MinSoundnessBits:    128
MinHashOutputBits:   384
RequireTransparent:  true
ForbidPairings:      true
ForbidKZG:           true
ForbidTrustedSetup:  true
ForbidClassicalSNARKs: true
ForbidDevProofs:     true
ForbidFallbacks:     true

Lux-specific bindings

Compliance

A Lux validator on LUX_STRICT_PQ MUST refuse transactions that do

not carry a valid TxAuthEnvelope. Permissive profiles (0x02) may

accept both during operator-controlled transitions.

References