mirror of
https://github.com/luxfi/corona.git
synced 2026-07-27 02:50:34 +00:00
Forked from github.com/luxfi/corona @ d09b2c2. Pulsar inherits the
2-round signing math byte-equal but adds blockchain-grade key
lifecycle and a SHA3-based domain-separated hash profile for
permissionless validator-set rotation.
Inherits from upstream Corona (byte-equal):
- Sign1/Sign2/Combine 2-round signing math
- Lattice ring R_q = Z_q[X]/(X^256+1), q = 0x1000000004A01
- Module-LWE / Module-SIS hardness
- NTT, Discrete-Gaussian Ziggurat, MAC layer
Replaces from upstream:
- Broken Feldman-style DKG (pseudoinverse-recoverable). Replaced
with: (a) one-time foundation MPC ceremony / trusted-dealer
Bootstrap; (b) Pedersen DKG over R_q (research, dkg2/) hiding
under MLWE on B / binding under MSIS on [A | B].
- Trusted-dealer-per-epoch lifecycle (wrong shape for permissionless
rotation). Replaced with Verifiable Secret Resharing (VSR) every
epoch under the persistent group public key.
Key-era lifecycle (KeyEraID / Generation / RollbackFrom):
- KeyEraID bumps only at Reanchor (rare governance event)
- Generation bumps every Refresh / Reshare under the same GroupKey
- RollbackFrom records prior generation reverted from (0 = forward)
- Activation cert (QUASAR-PULSAR-ACTIVATE-v1) gates new generations
under the unchanged GroupKey
Pulsar-SHA3 hash profile (NIST FIPS 202 / SP 800-185):
- Hc: cSHAKE256("PULSAR-HC-v1", transcript) → challenge
- Hu: cSHAKE256("PULSAR-HU-v1", transcript) → XOF stream
- TranscriptHash: TupleHash256("PULSAR-TRANSCRIPT-v1", parts...)
- PRF: KMAC256(key, msg, "PULSAR-PRF-v1")
- MAC: KMAC256(key, msg, "PULSAR-MAC-v1")
- Pairwise: KMAC256(kex, encode(...), "PULSAR-PAIRWISE-v1")
- Default suite is Pulsar-SHA3; Pulsar-BLAKE3 retained as optional
non-normative fast profile. HashSuiteID is bound into transcripts.
- Implementation at pulsar/hash/ with HashSuite interface.
- All KATs regenerated under SHA3 profile; vectors in
luxcpp/crypto/pulsar/test/kat/.
Nebula root binding (TranscriptInputs + ActivationMessage canonical
bytes, all bound under TupleHash256):
chain_id, network_id, group_id,
key_era_id, old_generation, new_generation,
old_epoch_id, new_epoch_id,
old_set_hash, new_set_hash,
threshold_old, threshold_new,
group_public_key_hash,
nebula_root,
hash_suite_id,
implementation_version,
variant.
Packages:
primitives/ Shamir over R_q, Lagrange, hash helpers
sign/ 2-round sign math (byte-equal upstream)
threshold/ GroupKey, KeyShare, Signer types
reshare/ VSR kernel — Refresh (HJKY97 zero-poly), Reshare
(Desmedt-Jajodia), commit (Pedersen R_q), complaint,
transcript, pairwise KEX, activation cert
hash/ HashSuite interface; PulsarSHA3 (default), PulsarBLAKE3
dkg2/ Pedersen DKG over R_q (research, reference only)
keyera/ Lifecycle wrapper: Bootstrap → Reshare → Reanchor
papers/ LP-073-pulsar paper (sections + bibliography)
cmd/*_oracle/ KAT generators (Go ↔ C++ byte-equal validation)
DESIGN.md is the single source of truth:
- The Pulsar metaphor (rotating beam over persistent body)
- Vocabulary stack per LP-105: Nebula / Photon / Lumen / Beam /
Pulsar / Pulse / Prism / Horizon / Quasar
- Pulsar ≠ Lumen (PQ stream is separate, planned)
- Pulsar / Lens / LSS three-layer architecture
- Bootstrap Dealer vs Signature Coordinator
- No-slashing failure ladder (timeout → retry → rollback → reanchor)
- MVP VSR vs Robust VSR phasing
- Borrowed-brand terms ("X-Wing" used casually) replaced with
"hybrid KEM" / "Hybrid Lumen Handshake"; X-Wing cited only as
the IETF combiner primitive name where exact reference matters.
Tests: full suite green
hash 5+/5+, keyera 5/5, reshare 45+/45+, threshold, sign, dkg,
dkg2, primitives, networking, utils, corona_oracle_v2 KAT —
all pass.
Honest claim: the crypto primitives are not new (HJKY97,
Desmedt-Jajodia97, Wong-Wang-Wing02, Corona, Hermine, Threshold
Raccoon all exist). The novel contribution is the systems
composition: a permissionless-consensus deployment architecture that
turns static two-round PQ threshold signatures into a dynamic,
leaderless, validator-rotation-tolerant finality layer.
Companion docs: papers/lp-073-pulsar/ (academic paper); LP-073 +
LP-103 + LP-105 in github.com/luxfi/lps; threshold/protocols/lss/
lss_pulsar.go (LSS adapter wrapping this kernel).
123 lines
4.1 KiB
Plaintext
123 lines
4.1 KiB
Plaintext
Lux Ecosystem License
|
|
Version 1.2, December 2025
|
|
|
|
Copyright (c) 2020-2025 Lux Industries Inc.
|
|
All rights reserved.
|
|
|
|
TECHNOLOGY PORTFOLIO - PATENT APPLICATIONS PLANNED
|
|
Contact: licensing@lux.network
|
|
|
|
================================================================================
|
|
TERMS AND CONDITIONS
|
|
================================================================================
|
|
|
|
1. DEFINITIONS
|
|
|
|
"Lux Primary Network" means the official Lux blockchain with Network ID=1
|
|
and EVM Chain ID=96369.
|
|
|
|
"Authorized Network" means the Lux Primary Network, official testnets/devnets,
|
|
and any L1/L2/L3 chain descending from the Lux Primary Network.
|
|
|
|
"Descending Chain" means an L1/L2/L3 chain built on, anchored to, or deriving
|
|
security from the Lux Primary Network or its authorized testnets.
|
|
|
|
"Research Use" means non-commercial academic research, education, personal
|
|
study, or evaluation purposes.
|
|
|
|
"Commercial Use" means any use in connection with a product or service
|
|
offered for sale or fee, internal use by a for-profit entity, or any use
|
|
to generate revenue.
|
|
|
|
2. GRANT OF LICENSE
|
|
|
|
Subject to these terms, Lux Industries Inc grants you a non-exclusive,
|
|
royalty-free license to:
|
|
|
|
(a) Use for Research Use without restriction;
|
|
|
|
(b) Operate on the Lux Primary Network (Network ID=1, EVM Chain ID=96369);
|
|
|
|
(c) Operate on official Lux testnets and devnets;
|
|
|
|
(d) Operate L1/L2/L3 chains descending from the Lux Primary Network;
|
|
|
|
(e) Build applications within the Lux ecosystem;
|
|
|
|
(f) Contribute improvements back to the original repositories.
|
|
|
|
3. RESTRICTIONS
|
|
|
|
Without a commercial license from Lux Industries Inc, you may NOT:
|
|
|
|
(a) Fork the Lux Network or any Lux software;
|
|
|
|
(b) Create competing networks not descending from Lux Primary Network;
|
|
|
|
(c) Use for Commercial Use outside the Lux ecosystem;
|
|
|
|
(d) Sublicense or transfer rights outside the Lux ecosystem;
|
|
|
|
(e) Use to create competing blockchain networks, exchanges, custody
|
|
services, or cryptographic systems outside the Lux ecosystem.
|
|
|
|
4. NO FORKS POLICY
|
|
|
|
Lux Industries Inc maintains ZERO TOLERANCE for unauthorized forks.
|
|
Any fork or deployment on an unauthorized network constitutes:
|
|
|
|
(a) Breach of this license;
|
|
(b) Grounds for immediate legal action.
|
|
|
|
5. RIGHTS RESERVATION
|
|
|
|
All rights not explicitly granted are reserved by Lux Industries Inc.
|
|
|
|
We plan to apply for patent protection for the technology in this
|
|
repository. Any implementation outside the Lux ecosystem may require
|
|
a separate commercial license.
|
|
|
|
6. DISCLAIMER OF WARRANTY
|
|
|
|
THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
|
|
7. LIMITATION OF LIABILITY
|
|
|
|
IN NO EVENT SHALL LUX INDUSTRIES INC BE LIABLE FOR ANY CLAIM, DAMAGES
|
|
OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
|
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE.
|
|
|
|
8. TERMINATION
|
|
|
|
This license terminates immediately upon any breach, including but not
|
|
limited to deployment on unauthorized networks or creation of forks.
|
|
|
|
9. GOVERNING LAW
|
|
|
|
This License shall be governed by the laws of the State of Delaware.
|
|
|
|
10. COMMERCIAL LICENSING
|
|
|
|
For commercial use outside the Lux ecosystem:
|
|
|
|
Lux Industries Inc.
|
|
Email: licensing@lux.network
|
|
Subject: Commercial License Request
|
|
|
|
================================================================================
|
|
TL;DR
|
|
================================================================================
|
|
|
|
- Research/academic use = OK
|
|
- Lux Primary Network (Network ID=1, Chain ID=96369) = OK
|
|
- L1/L2/L3 chains descending from Lux Primary Network = OK
|
|
- Commercial products outside Lux ecosystem = Contact licensing@lux.network
|
|
- Forks = Absolutely not
|
|
|
|
================================================================================
|
|
|
|
See LP-0012 for full licensing documentation:
|
|
https://github.com/luxfi/lps/blob/main/LPs/lp-0012-ecosystem-licensing.md
|