LPsLux Proposals
Multi-Party Computation
LP-7050

Chain-Topology Supersession & Migration Map

Living

The single authoritative record of what moved where when T-Chain was removed and the threshold/MPC/FHE/bridge LP cluster was decomplected to one-concept-one-LP. Maps every retired construct and LP to its canonical successor.

Created
2026-05-18

Abstract

LP-134 (Lux Chain Topology) removed T-Chain entirely. LP-0130 (Chain Topology, UTXO Ownership, and Fee Model) then extended the canonical roster to 10 chains: P X + C D Q Z A B M F (adding D-Chain, LP-9000, the DEX / CLOB matching chain that was previously folded into C-Chain / X-Chain scope). This LP is the single place that records what every retired construct and LP became, so a reader of an old LP can always find the canonical replacement. It is a pointer table only — it does not redefine any chain or primitive (those live in their own canonical LPs).

Forward-only: there is no "T-Chain also-supported" mode and no grace window. Any live identifier still naming T-Chain, ThresholdVM, or teleportvm is stale. Any live identifier still naming the Go package thresholdvm is stale — the package was renamed to mpcvm on 2026-07-03 (chains/mpcvm/, node/vms/mpcvm/); the ThresholdVMID + ThresholdVMName constants were removed the same day.

1. T-Chain is removed — concern → chain

T-Chain braided four orthogonal concerns. Each now has exactly one owning chain:

Former T-Chain concernCanonical chainCanonical LP
MPC / threshold signing / bridge custodyM-Chain (MVM)LP-7100
FHE / encrypted EVM / threshold-FHE decryptionF-Chain (FVM)LP-8200 (+ runtime LP-167)
Teleport / cross-chain messaging / bridge relayB-Chain (bridgevm)LP-6000
Consensus-threshold Pulsar ceremonyQ-Chain (QVM)LP-4450
ML-DSA→Groth16 rollup (was co-located)Z-Chain (ZVM)LP-063
The thresholdvm Go packagerenamed to mpcvm (2026-07-03) — hosts M-Chain VM + shared threshold primitives + F-Chain FHE runtime adapters~/work/lux/chains/mpcvm
The ThresholdVMID / ThresholdVMName constantsremoved (2026-07-03); split into MPCVMID/FHEVMID (LP-0130 §1)luxfi/constants/vm_ids.go
The name "T-Chain" / "teleportvm"removed — teleport is bridgevm

2. Superseded chain / VM LPs

LPWhat it wasNew statusSuperseded by
LP-141Threshold VM (braided MPC signing + threshold FHE)SupersededLP-7100 (signing) + LP-8200 (FHE)
LP-5013T-Chain MPC CustodySupersededLP-7100
LP-7000T-Chain core threshold specSupersededLP-134 + LP-7100 + LP-8200
LP-7013T-Chain MPC custody & swap-signature layerSupersededLP-7100
LP-7014T-Chain CGGMP21 threshold ECDSASupersededLP-7100 + LP-4720
LP-7330T-Chain ThresholdVM specificationSupersededLP-7100 + LP-8200
LP-5331T-Chain FHE implementation guideSupersededLP-8200
LP-1137Native swap on T-Chain/X-Chain/Z-ChainSuperseded (retitled)M-Chain / X-Chain / Z-Chain (see LP-1137 redirect)
LP-7200legacy F-Chain slotSupersededLP-8200 (F-Chain now in 8xxx privacy range)
LP-034Bridge VM (legacy short-number)SupersededLP-6000

3. Teleport → B-Chain (bridgevm)

Teleport is the bridge. All teleport-protocol LPs redirect to the canonical B-Chain spec (LP-6000):

LPWhat it wasSuperseded by
LP-6016Teleport Cross-Chain ProtocolLP-6000
LP-6021Lux Teleport ProtocolLP-6000
LP-9110Teleport Protocol StandardLP-6000
LP-6329Teleport Bridge System IndexLP-6000
LP-6332Teleport Bridge Architecture (unified)LP-6000

Retained as distinct concerns (not dups): LP-068 (private cross-chain transfer = F-Chain ∘ B-Chain), LP-3810 (bridge token standard, LRC), LP-6015 (bridge↔MPC composition), LP-6331 (detailed BridgeVM annex). See §7 flags.

4. Threshold / MPC / FHE primitive dedup (one primitive → one LP)

Crypto primitives are canonical in the 4xxx range; the older 7xxx precompile drafts and legacy short-numbers redirect to them:

ConceptCanonical LPSuperseded duplicates → canonical
FROST threshold Schnorr (family root)LP-4710LP-7104, LP-7321, LP-154 → LP-4710
FROST-Ed25519 ciphersuiteLP-4711LP-7310 → LP-4711
FROST-secp256k1 / Taproot ciphersuiteLP-4712LP-7320 → LP-4712
CGGMP21 threshold ECDSALP-4720LP-7322, LP-155 → LP-4720
Corona (Module-LWE threshold, Ringtail-derived)LP-4440LP-4470 (ring-lwe mislabel), LP-7324 → LP-4440
Pulsar (threshold ML-DSA-65, FIPS-204)LP-4450LP-073 → LP-4450
Magnetar (hash-based, threshold SLH-DSA)LP-4540LP-181 → LP-4540
Per-asset threshold key managementLP-4740LP-7334 → LP-4740
LSS dynamic signer rotation (resharing)LP-4730LP-7333, LP-077 → LP-4730
Threshold + MPC family indexLP-4700LP-019, LP-076 → LP-4700 (pure index)
Threshold cryptography library (Go)LP-7340

Crypto canon (do not regress): Corona = Module-LWE (NOT Ring-LWE); Pulsar = threshold ML-DSA-65; Magnetar = SLH-DSA (hash-based, the real assumption diversifier). Canonical PQ precompile slots: 0x012204 Pulsar, 0x012205 P3Q (kind-byte sig dispatch), 0x012206 Corona, 0x012220 starkfri. (Magnetar slot 0x012207 vs reuse-of- 0x012203 is flagged in LP-4540 for owner resolution.)

5. FHE cluster consolidation

FHE decomposes into: primitive (LP-066 TFHE), GPU kernels (LP-013), runtime (LP-167, canonical single-source-of-truth), and the F-Chain that runs it (LP-8200). The four LP-137-FHE-* scratch drafts folded in:

LPWhat it wasSuperseded by
LP-137-FHE-TYPINGFHE-GPU domain typing systemLP-167
LP-137-FHE-PERFORMANCEGo/GPU bench parity analysisLP-167
LP-137-FHE-THRESHOLDthreshold-FHE service layerLP-167 + LP-8200
LP-137-TFHE-REAL-THRESHOLD-SPECreal no-reconstruct threshold decrypt (security blocker, RESOLVED)LP-8200 + LP-167

6. Learning order

The pedagogical reading order over this cluster — Foundations → Primitives → Protocols → Chains → Systems, with prerequisite edges — is LP-10006 (Learning Path: Threshold / MPC / FHE / Chains). Start there to learn the stack in order.

7. Open flags (owner review)

  • B-Chain: LP-6000 (Final, concise) vs LP-6331 (Draft, 3313-line detailed BridgeVM). Both claim to be the B-Chain/BVM spec. LP-6000 is treated as canonical here; whether LP-6331's detail folds into LP-6000 or LP-6331 becomes the canonical detailed spec needs an owner decision.
  • LP-3810 Teleport/Bridge Token Standard is an application-layer LRC token interface, not the bridge VM — kept as a distinct concern, flagged for owner confirmation.
  • Magnetar precompile slot 0x012207 vs reuse of 0x012203 — see the FLAG in LP-4540.
  • Dual numbering bands (legacy LP-0xx/1xx vs LP-4xxx/7xxx) are reconciled within this cluster; the corpus-wide dual-band migration is a scoped follow-up, not done here.

8. Implementation status — spec ahead of code (2026-07-02)

The LP-level decomposition above (M-Chain and F-Chain as distinct chains sharing the thresholdvm substrate) is the target; the running node has not yet been split. This section records the gap honestly so the migration is trackable and no reader mistakes the spec for the current binary.

Claim in this LPCurrent codeAnchor
T-Chain removed; roster is P/C/X/Q/Z/A/B/M/FGenesis registry still lists one T-Chain (Letter "T", constants.ThresholdVMID, aliases threshold/thresholdvm/mpc); no M-Chain or F-Chain rownode/genesis/builder/registry.go:65
thresholdvm is a shared substrate for MVM + FVMthresholdvm package still braids MPC signing and FHE compute in one VM (vms/thresholdvm/fhe GPU ops alongside the signing protocols)chains/thresholdvm/, vms/thresholdvm/fhe/
M-Chain = MPC signing (LP-7100); F-Chain = FHE (LP-8200)node/LLM.md labels thresholdvm itself as "M-Chain" and describes it as "Threshold MPC and FHE" — the overloaded namenode/LLM.md:103,211,233

Migration work (tracked): (1) add M-Chain/F-Chain genesis rows; (2) split the thresholdvm package so signing (M) and FHE (F) are separately instantiable — they may share constants.ThresholdVMID and disambiguate by CreateChainTx.BlockchainName (per LP-134), so this is a builder/registration change, not a new VMID; (3) correct the node/LLM.md label. Until then, treat "M-Chain"/"F-Chain" as the canonical spec names for concerns the binary currently serves from the single overloaded T/thresholdvm.

Why the split matters (not cosmetic). Braiding MPC-signing key material with FHE compute in one VM complects the bridge-custody trust surface with the encrypted-compute surface: a fault in the FHE evaluation path shares an address space with the threshold-signing shares that authorize bridge withdrawals. The clean M/F separation is a security boundary — see proofs/universal-bridge-attestation-soundness.tex for the composition argument (bridge soundness rests on M-Chain threshold-signature unforgeability, which must not share a fault domain with F-Chain FHE).

Copyright and related rights waived via CC0.