mirror of
https://github.com/luxfi/chains.git
synced 2026-09-24 00:26:00 +00:00
chains/thresholdvm: reconcile naming to LP-134/LP-7050 (kill teleportvm falsehood)
thresholdvm is a shared LIBRARY substrate, not a chain. Fix the stale/false naming across the package to the canonical model: - factory.go: the VMID comment claimed "T-Chain is reserved for TeleportVM, not yet built" — FALSE per LP-7050. There is no teleportvm and no T-Chain; teleport IS bridgevm (B-Chain, LP-6000). Rewrote to describe the value as the shared substrate VM consumed by M-Chain (mpcvm) + F-Chain (fhevm). - vm.go: package doc dropped the "mode"/"T-Chain label" framing for the library-substrate description; both M and F consume it, neither is T. - README.md / DESIGN.md / docs/M_CHAIN_INTEGRATION.md: removed the repeated false claim that the "T-Chain" name is retained for a standalone teleportvm (LP-6332). LP-6332 is superseded by LP-6000 (bridgevm) per LP-7050 §3. Reframed the M/F split as two chains consuming this library rather than one VM switched by mode. - LLM.md: corrected the "deprecated T-Chain shim / one-epoch grace-window migration" prose — T-Chain was never launched with live state (clean forward split, no migration), and vm.go/factory.go/fhe/ are the shared library substrate M/F consume, not a T-Chain shim. No code behavior changes; comments/docs only. Co-authored-by: Hanzo Dev <[email protected]>
This commit is contained in:
+10
-7
@@ -226,14 +226,17 @@ or boot-time failure, not a silent semantic bug.
|
||||
|
||||
## 11. References
|
||||
|
||||
Per LP-134 (Lux Chain Topology), the legacy T-Chain monolith is split into
|
||||
two operational chains served by this same `thresholdvm` substrate:
|
||||
Per LP-134 (Lux Chain Topology) and LP-7050 (Supersession Map), T-Chain is
|
||||
fully removed. Its threshold concerns decompose onto two chains that import
|
||||
this same `thresholdvm` **library** substrate in process:
|
||||
|
||||
- `thresholdvm` in **MPC mode → M-Chain** (CGGMP21, FROST, Corona-gen).
|
||||
- `thresholdvm` in **FHE mode → F-Chain** (TFHE keygen, encrypted EVM).
|
||||
- **M-Chain** (`mpcvm`, LP-7100) — CGGMP21, FROST, Pulsar-general threshold
|
||||
signing for bridge custody. Owns all threshold signing.
|
||||
- **F-Chain** (`fhevm`, LP-8200) — TFHE keygen, encrypted EVM, threshold
|
||||
decrypt. Owns all encrypted computation.
|
||||
|
||||
The standalone `teleportvm` (LP-6332) is unrelated and retains its own
|
||||
"T-Chain" naming for the cross-chain teleport message bus.
|
||||
There is no `teleportvm` and no "T-Chain": teleport IS `bridgevm` (B-Chain,
|
||||
LP-6000). LP-6332 is superseded by LP-6000 (see LP-7050 §3).
|
||||
|
||||
| LP | Topic |
|
||||
|---|---|
|
||||
@@ -244,5 +247,5 @@ The standalone `teleportvm` (LP-6332) is unrelated and retains its own
|
||||
| LP-132 | QuasarGPU Execution Adapter |
|
||||
| LP-134 | Lux Chain Topology — defines the M/F-Chain split |
|
||||
| LP-020 | Quasar Consensus 3.0 |
|
||||
| LP-6332 | teleportvm cross-chain message bus (separate "T-Chain") |
|
||||
| LP-6332 | teleport bus — SUPERSEDED by LP-6000 (bridgevm / B-Chain) per LP-7050 |
|
||||
| LP-5013 | T-Chain MPC Custody (deprecated, superseded by LP-134) |
|
||||
|
||||
+8
-6
@@ -22,16 +22,18 @@ shared by both chains.
|
||||
expose **interfaces only**; impls live in the chain that runs the
|
||||
protocol (CGGMP21 in M-Chain, TFHE keygen straddles M-Chain →
|
||||
F-Chain via the handoff envelope).
|
||||
- Do **not** introduce `t-chain` / `tchain` types here. The legacy
|
||||
`vm.go`, `block.go`, `factory.go`, `fhe/`, `cmd/` files in the
|
||||
parent directory are the deprecated T-Chain shim from LP-5013.
|
||||
They exist only for one-epoch grace-window migration, then are
|
||||
removed.
|
||||
- Do **not** introduce `t-chain` / `tchain` types here, and do **not**
|
||||
reintroduce a "T-Chain" chain. Per LP-134 / LP-7050 T-Chain is removed
|
||||
with zero remainder (it was never launched with live state — a clean
|
||||
forward split, no migration window). The `vm.go`, `block.go`,
|
||||
`factory.go`, `fhe/`, `cmd/` files are the shared **library** substrate
|
||||
(the ceremony VM + FHE code) that M-Chain and F-Chain consume — not a
|
||||
chain, no genesis, no validators.
|
||||
|
||||
## Status
|
||||
|
||||
- Substrate ships with Quasar 3.0 activation on **2025-12-25**.
|
||||
- LP-5013 (T-Chain) is **deprecated** by LP-134.
|
||||
- LP-5013 (T-Chain MPC Custody) and the whole T-Chain concept are **removed** by LP-134; see LP-7050 for the full supersession map (MPC→M-Chain, FHE→F-Chain, teleport→B-Chain/bridgevm).
|
||||
- Cert-lane enums `MChainCGGMP21=5`, `MChainFROST=6`,
|
||||
`MChainCoronaGen=7`, `FChainTFHE=8`, `FChainBootstrap=9`. Never
|
||||
reorder; appends only.
|
||||
|
||||
+13
-10
@@ -2,18 +2,21 @@
|
||||
|
||||
**ThresholdVM is a Go library, not a chain.**
|
||||
|
||||
Per LP-134 (Lux Chain Topology), the legacy T-Chain custody monolith is
|
||||
split into two operational chains, both served by this substrate:
|
||||
Per LP-134 (Lux Chain Topology) and LP-7050 (Supersession Map), T-Chain is
|
||||
**fully removed** with zero remainder. Its concerns decompose onto existing
|
||||
chains, each of which consumes this library substrate:
|
||||
|
||||
- `thresholdvm` in **MPC mode → M-Chain** — bridge custody for external
|
||||
wallets, threshold signing ceremonies (CGGMP21 / FROST / Corona-gen).
|
||||
- `thresholdvm` in **FHE mode → F-Chain** — TFHE keygen, encrypted EVM,
|
||||
confidential compute.
|
||||
- **M-Chain** (`mpcvm`, LP-7100) — bridge custody for external wallets,
|
||||
threshold signing ceremonies (CGGMP21 / FROST / Pulsar-general). Owns
|
||||
*all* threshold signing.
|
||||
- **F-Chain** (`fhevm`, LP-8200) — TFHE keygen, encrypted EVM, threshold
|
||||
decrypt, confidential compute. Owns *all* encrypted computation.
|
||||
|
||||
`chains/thresholdvm/` is the shared library; the runtime presence lives
|
||||
on M-Chain or F-Chain depending on which adapter the runtime registers.
|
||||
The legacy "T-Chain" name is retained **only** for `teleportvm`
|
||||
(LP-6332), an unrelated cross-chain teleport message bus.
|
||||
`chains/thresholdvm/` is the shared **library** these two chains import in
|
||||
process — it is not itself a chain and has no genesis, no validators, no
|
||||
block production. There is **no** `teleportvm` and **no** "T-Chain": teleport
|
||||
IS `bridgevm` (B-Chain, LP-6000). Any live identifier still naming "T-Chain",
|
||||
"ThresholdVM-as-a-chain", or "teleportvm" is stale.
|
||||
|
||||
```
|
||||
+--------------------------------+
|
||||
|
||||
@@ -4,7 +4,7 @@ This document describes how `chains/mchain/` plugs into the
|
||||
`thresholdvm` substrate when running in **MPC mode** (per LP-134).
|
||||
The same substrate, running in FHE mode, serves F-Chain — see
|
||||
`F_CHAIN_INTEGRATION.md` for that side. The legacy "T-Chain" name is
|
||||
retained only for `teleportvm` (LP-6332), which is unrelated.
|
||||
removed entirely: teleport IS `bridgevm` (B-Chain, LP-6000), there is no `teleportvm` (LP-6332 superseded by LP-6000 per LP-7050).
|
||||
|
||||
## Boot sequence
|
||||
|
||||
|
||||
@@ -11,7 +11,11 @@ import (
|
||||
|
||||
var _ vms.Factory = (*Factory)(nil)
|
||||
|
||||
// VMID is the unique identifier for ThresholdVM (M-Chain — Threshold MPC; T-Chain is reserved for TeleportVM, not yet built)
|
||||
// VMID is the unique identifier for the shared threshold substrate VM.
|
||||
// Per LP-134 / LP-7050 there is NO T-Chain and NO teleportvm: teleport IS
|
||||
// bridgevm (B-Chain, LP-6000). This VM is the shared library substrate that
|
||||
// M-Chain (MPC — threshold signing / bridge custody, LP-7100) and F-Chain
|
||||
// (FHE — confidential compute, LP-8200) run; it is not itself a chain.
|
||||
var VMID = ids.ID{'t', 'h', 'r', 'e', 's', 'h', 'o', 'l', 'd', 'v', 'm', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
|
||||
|
||||
// Factory creates new ThresholdVM instances
|
||||
|
||||
+7
-3
@@ -1,9 +1,13 @@
|
||||
// Copyright (C) 2019-2025, Lux Industries Inc. All rights reserved.
|
||||
// See the file LICENSE for licensing terms.
|
||||
|
||||
// Package tvm implements the Threshold VM substrate (M-Chain MPC and F-Chain FHE per LP-134).
|
||||
// The legacy "T-Chain" label predates the LP-134 split; new code targets M-Chain (MPC ceremonies
|
||||
// for bridge custody of external wallets) or F-Chain (FHE compute). See ../README.md.
|
||||
// Package thresholdvm implements the shared threshold VM substrate — a LIBRARY,
|
||||
// not a chain — consumed by M-Chain (MPC: CGGMP21/FROST/Pulsar-general threshold
|
||||
// signing for bridge custody of external wallets, LP-7100) and F-Chain (FHE:
|
||||
// TFHE compute / threshold decrypt, LP-8200). Per LP-134 / LP-7050 there is NO
|
||||
// T-Chain and NO teleportvm; teleport IS bridgevm (B-Chain, LP-6000). Any live
|
||||
// identifier still naming "T-Chain" or "ThresholdVM-as-a-chain" is stale.
|
||||
// See ../README.md.
|
||||
package thresholdvm
|
||||
|
||||
import (
|
||||
|
||||
Reference in New Issue
Block a user