Skip to content

[Feature] TRON Post-Quantum Signature Migration #6793

@Federico2014

Description

@Federico2014

Summary

Introduce post-quantum (PQ) digital signature support at the TRON protocol layer. The first activation enables only Falcon-512 as the sole post-quantum signature algorithm, covering all consensus-flow signatures. The design principle is to leave the Account structure unchanged — the address field carries both ECDSA- and Falcon-derived addresses in an "algorithm-agnostic" way. New PQAuthSig fields are added to Transaction, Block, and HelloMessage payloads, and verification is routed to the matching path based on which signature field is set. The entire capability is gated by an on-chain governance proposal.

Target timeline: launch the testnet in Q2 2026, completing the deployment ~3 years ahead of the industry-projected quantum-threat threshold (~2029) and positioning TRON as the first major public blockchain to complete a full PQ migration.

Problem

Motivation

All major blockchains today (TRON, Bitcoin, Ethereum, BNB Smart Chain, etc.) use elliptic-curve cryptography (ECDSA) for consensus-flow signatures. The security of ECDSA rests on the discrete-logarithm problem — billions of years for a classical computer, but only minutes for a quantum computer running Shor's algorithm. The industry widely projects the quantum-threat threshold to arrive around 2029; on Bitcoin alone, over 6.9M BTC (~1/3 of supply) sit at addresses whose public keys are already exposed.

Cryptographic migration itself is highly complex: protocol changes, third-party security audits, and adoption across wallets, exchanges, and contract ecosystems typically take a long time. Waiting until the quantum threat actually arrives is too late — the work must start now.

Current State

  • All TRON transaction and block signatures currently use secp256k1 ECDSA, with addresses derived as 0x41 ‖ Keccak-256(ecdsa_pk[1:])[12..32]. The protocol layer carries no post-quantum-signature fields.
  • The TVM precompiles ValidateMultiSign, BatchValidateSign, and ECRecover all depend on ECDSA and cannot be directly reused for PQ signatures, which require an explicit public key as an input parameter.

Post-Quantum Algorithm Challenges

PQ algorithms, like ECDSA, are based on public-key / private-key pairs, but porting them to the protocol layer raises several core challenges.

Explicit public-key transmission — the core problem to solve in this cycle

ECDSA has the Swiss-army-knife ecrecover: given a 65-byte secp256k1 signature, the node can recover the public key (65 bytes) and derive the account address (21 bytes). This lets the TRON transaction carry no public key at all; all upper-layer protocols rest on this implicit convention.

Falcon, ML-DSA, SLH-DSA, and other PQ algorithms have no equivalent recover primitive:

  • Falcon key recovery is still at the academic-research stage; BouncyCastle 1.84 has not yet exposed any related API.
  • ML-DSA / SLH-DSA do not, by design, support recovering the public key from a signature.

In other words, to verify a PQ signature, a node must first obtain the full public key — that is the first problem this round of protocol changes must solve. The concrete design choice boils down to where to store the public key. We weighed two paths:

  • Option A — store the PQ public key on chain; transactions only reference it. The transaction body still grows ≥ 5× because the Falcon signature alone is ~11× the size of an ECDSA signature. Additional costs: passively activated accounts have no public key on file, account state inflates significantly, wallets cannot sign without reading real-time on-chain data, and the protocol layer itself requires substantial new design — on-chain key-storage layout, the reference mechanism used from transactions, key-rotation semantics, etc. — none of which has a validated, mature precedent in any major chain today, translating into notable stability risk.
  • Option B — carry the PQ public key inside each transaction. Benefits: minimal protocol intrusion (account state fields are unchanged), zero friction for passively activated accounts, and stateless signing from wallets / SDKs. The only downside compared with Option A is that the transaction body grows ~10× (a cost that can be optimized over time).

Weighing the three dimensions of "minimal intrusion into the existing protocol, lowest first-release implementation cost, smallest ecosystem-side change", we choose Option B. The protocol-size cost is mitigated chiefly by Falcon key-recovery, with a possible BLOCK_SIZE increase as a benchmarked follow-up, whereas Option A's architectural problems (passive activation, state inflation, Account-structure breakage) would be virtually irreversible once shipped. Implementation details are covered below in Proposed Design.

Per-signature size inflation — known cost, optimizable in stages

A side effect of carrying the public key is the jump in signature footprint: a Falcon-512 public key + signature is ~25× the ECDSA size, and the average transaction body grows ~9.5×. The table below compares ECDSA against three PQ candidates:

Algorithm Public key Signature
secp256k1 ECDSA 33 B (compressed) 65 B
Falcon-512 896 B ≤ 752 B (variable)
ML-DSA-44 1312 B 2420 B
SLH-DSA-128s 32 B 7856 B

Ten ML-DSA / SLH-DSA transactions combined would approach or exceed the block-size cap (2MB) — Falcon-512 is the only PQ algorithm whose size profile is viable this cycle, which is why we select it as the sole algorithm.

This constitutes a material protocol-layer overhead and is treated as an explicit trade-off rather than a minimized concern. As the initial launch design — with PQ adoption expected to stay low (< 10%) in the early phase — the size growth is acceptable and not a launch blocker. Concrete post-launch optimization paths can be rolled out as adoption ramps up:

  • Falcon key-recovery mode — trims roughly 9% off per-transaction wire size by reconstructing the public key from the signature instead of carrying it.
  • BLOCK_SIZE increase — available as a fallback, but only via a separate dedicated TIP through the standard governance process. The change affects FullNode bandwidth, state growth, block-propagation time, and archive storage, so it must not be bundled with this PQ rollout.

Proposed Solution

Proposed Design

Core design principles: the Account protocol structure is completely unchanged. The account address is derived from the signing public key via Keccak-256, and the derivation is decoupled from the signing algorithm — ECDSA and Falcon public keys share the same slicing rule and produce addresses in the standard 21-byte T-prefixed form (e.g. TTW663tQYJTTCtHh6DWKAfexRhPMf2DxQ1).

Transactions and blocks add a PQAuthSig field to carry the full PQ signature along with its public key. This field coexists with the original signature field; it is neither a replacement nor mutually exclusive, except for block signatures, where only one of the two may be set. Nodes dispatch verification based on which field is present:

  • signature takes the ECDSA path, using ecrecover to recover the public key from the signature;
  • pq_auth_sig takes the PQ path, reading the embedded public_key directly.

After obtaining the public key, both paths converge on the same permission-check flow: derive address → match against Permission.keys[] → accumulate weight → compare against threshold. A single transaction may carry a mix of ECDSA and Falcon signers, with their weights pooled into one sum.

1. New PQ signature structure

message PQAuthSig {
  PQScheme scheme     = 1;   // Mandatory; UNKNOWN_PQ_SCHEME (proto3 default) is rejected at validation time. See Compatibility for rationale.
  bytes    public_key = 2;
  bytes    signature  = 3;
}

enum PQScheme {
  UNKNOWN_PQ_SCHEME = 0;   // proto3 default value (reserved per API-evolution convention)
  FN_DSA_512        = 1;   // Falcon-512 (enabled at first launch)
  reserved 2 to 15;        // Future expansion: ML-DSA / SLH-DSA ... (protocol-reserved)
}

// Example: the transaction body gains a PQAuthSig field
message Transaction {
  ...
  repeated bytes signature = 2;
  ...
  repeated PQAuthSig pq_auth_sig = 6; // newly added field
}

2. Four PQ signature channels and field additions

Channel Field Relationship with ECDSA
Transaction repeated Transaction.pq_auth_sig = 6 May coexist; a multi-sig account can be authorized by a mix of ECDSA + Falcon signers, and the transaction is accepted once accumulated weight ≥ threshold
SR block production BlockHeader.pq_auth_sig = 3 — by delegating its witness permission to a new quantum-resistant account, the SR account enables PQ block production while keeping the SR address unchanged Mutually exclusive with witness_signature — only one may be set
Relay handshake HelloMessage.pq_auth_sig = 12 (set / verified by RelayService) Mutually exclusive with HelloMessage.signature — only one may be set, determined by whether the local node has an ECDSA or PQ key configured
TVM signature verification Three new precompiles (see §5) The public key must be supplied as an input parameter; coexists with ValidateMultiSign, BatchValidateSign, and ecrecover

3. Address derivation (identical form to ECDSA derivation)

falcon_address = 0x41 ‖ Keccak-256(falcon_public_key)[12..32]

The address stays 21 bytes with the T prefix, fully compatible with the existing ECDSA address format; only the hash input differs. Collision probability is algorithm-independent and remains at 1 / 2^160.

4. Signature target (unchanged)

  • Transaction signature target: txid = SHA-256(Transaction.raw)
  • Block signature target: blockHash = SHA-256(BlockHeader.raw)
  • Relay-identity signature target: SHA-256(BigEndian(timestamp)) (inherits the existing ECDSA digest construction)

5. TVM precompiles (three new, input layout aligned with EIP-8052)

Address Name Algorithm Energy
0x16 VerifyFnDsa512 (single signature) FN-DSA / Falcon-512 4000
0x17 ValidateMultiFnDsa512 (algorithm-agnostic account multi-sig, MAX_SIZE=5 signatures) ECDSA + Falcon-512 ecdsaCnt × 1500 + pqCnt × 2000
0x18 BatchValidateFnDsa512 (batch independent verification, MAX_SIZE=16 signatures) FN-DSA / Falcon-512 cnt × 2000

All three are gated by the ALLOW_FN_DSA_512 governance proposal. We do not reuse 0x09 / 0x0A because the PQ verification interface verify(pk, msg, sig) → bool provides no way to recover the public key — the caller must supply the full public key explicitly.

Note: the energy figures above are placeholders. Final values will be set through JMH benchmarking and calibration against existing ECDSA precompile pricing — see Open Questions §2 for the calibration plan.

6. Governance activation

Proposal Number Scope
ALLOW_FN_DSA_512 99 All Falcon-512 signature channels (Tx / Block / HelloMessage) + TVM precompiles (0x16 / 0x17 / 0x18)

7. Performance

Metric ECDSA Falcon-512 (with public key)
Verify time 1195 μs 114 μs (~10× faster)
Sign time 3177 μs 1905 μs (~1.7× faster)
TRX transfer avg size 175 B ~1670 B (~9.5×)

TPS ceiling scales with the blended average transaction size against a roughly constant block-byte throughput of ~666 KB/s:

PQ adoption mix Blended avg tx size TRX TPS ceiling
0% PQ (pure ECDSA, today) 175 B ~3809 (baseline)
10% PQ + 90% ECDSA ~325 B ~2054 (≈54% of baseline)
100% PQ (worst case) ~1670 B ~399 (≈10% of baseline)

During the transition, Falcon adoption is expected to stay well below 10% — the launch-phase assumption from §Per-signature size inflation above. The 10% row should therefore be read as a conservative upper-bound scenario rather than the expected launch steady state. Exact launch-phase TPS impact still needs measurement, but the current expectation is that PQ adoption will remain low enough for throughput impact to stay manageable and not block launch.

As adoption ramps up, Falcon key-recovery mode and a possible BLOCK_SIZE increase are available as follow-ups (see §Per-signature size inflation).

Key Changes

Module Changes
Protocol New PQScheme enum and PQAuthSig message; Transaction.pq_auth_sig=6, BlockHeader.pq_auth_sig=3, HelloMessage.pq_auth_sig=12
Crypto New crypto/pqc package, wrapping BouncyCastle FalconSigner (FNDSA512); PQSchemeRegistry static dispatch table centrally manages seedLength / signLength / pkLength / deriveHash / verify / computeAddress metadata
Actuator AccountPermissionUpdateActuator accepts Falcon-derived addresses as Key entries; getTransactionSignWeight accounts for pq_auth_sig weight
Framework TransactionCapsule.validatePQSignature / BlockCapsule.validatePQSignature run in parallel with the existing ECDSA path; JSON / RPC exposes the pq_auth_sig field
Consensus The SR block-production path dispatches signing / verification based on which BlockHeader field is set; LocalWitnesses supports localwitness_pq.keys for pre-derived keypair configuration (operator-side offline generation, no on-node keygen — sidesteps BC Falcon FFT / FPR cross-platform FP drift)
Net HelloMessage gains a pq_auth_sig field. On the FastForward path, RelayService signs HelloMessage with whichever key (ECDSA or PQ) the local node is configured with. On the verification side, it runs a four-step strict check — scheme registered + scheme activated on chain + public-key / signature length match + derived address bound to witness — before invoking PQSchemeRegistry.verify
VM Three new precompiles: VerifyFnDsa512 (0x16), ValidateMultiFnDsa512 (0x17), BatchValidateFnDsa512 (0x18); gated by VMConfig.allowFnDsa512()
Governance New ALLOW_FN_DSA_512 on-chain proposal; ProposalUtil strictly rejects invalid values and duplicate settings before activation
Config config.conf gains localwitness_pq.scheme / localwitness_pq.keys fields (HOCON structure)

Impact

Security

  • Adds quantum-resistant signing capability, closing the systemic risk of accounts being hijacked in the post-quantum era.
  • Falcon signatures are only accepted after ALLOW_FN_DSA_512 passes — before activation, the existing ECDSA channel is fully unaffected. Post-activation, PQ can be disabled via a reverse governance proposal under the standard 27-SR maintenance-cycle timing (a faster emergency channel is itself out of scope this cycle — see Future Phases).

Implementation Validation Plan

Governance gating is only one layer of the security rollout. Because this change introduces a new post-quantum cryptography path for consensus-flow signatures and new TVM precompiles, implementation-level validation should be planned explicitly before mainnet activation.

Current direction:

  • External audit — an independent cryptographic and implementation review is intended to complete before mainnet activation. The exact sequencing relative to the Q2 2026 testnet phase and the ALLOW_FN_DSA_512 governance vote is still under discussion.
  • Audit disclosure — the activation discussion should be informed by public audit material. The current expectation is to publish at least an audit summary before the SR vote; whether a full report can be published, and the exact disclosure window, still need to be finalized.
  • Bug bounty coverage — the rollout should evaluate explicit PQ security coverage for crypto/pqc, PQSchemeRegistry, and the 0x16 / 0x17 / 0x18 precompiles, including whether these components require a higher bounty tier than ordinary protocol bugs.

These items are part of the security-readiness work for the PQ rollout and will be updated once the audit, disclosure, and bounty plan is finalized.

Stability

  • ECDSA and Falcon coexist at the protocol layer; existing structures and state fields such as Account and Permission remain completely unchanged.
  • The SR block-production path uses configuration-driven, pre-derived keypairs; FullNodes never run key generation, which structurally sidesteps the cross-platform floating-point key-drift risk in BC Falcon's FFT / FPR routines.

Storage Impact

Open question — no conclusion yet. This is an unresolved area that requires dedicated stress testing before mainnet activation.

DB write amplification: with transaction bodies ~9.5× larger, will RocksDB / LevelDB show non-linear degradation in write throughput, compaction frequency, or disk I/O? Is there a tipping point at some PQ-share threshold? The stress-test plan is tracked in Open Questions §1 — please raise data, numbers, or counterexamples in the comments on this issue.

Developer Experience

  • TVM side: a one-line staticcall to 0x16 / 0x17 / 0x18 suffices for Falcon verification — no need to implement PQ algorithms inside the contract.
  • Wallets / SDKs only need to extend key management, address derivation, signature construction, and node-capability detection; the existing AccountPermissionUpdateContract path handles in-place account upgrades.
  • Permission is algorithm-agnostic at the protocol layer — no changes required in wallet / exchange / contract parsing logic.

Account Migration

Regular accounts can choose either of the two paths below:

  • Path 1: in-place permission replacement (zero asset movement) — an AccountPermissionUpdateContract that simultaneously adds a Falcon-derived Key and rebalances the Permission so that no ECDSA-only signature set can meet the threshold.

    ⚠️ The rebalancing step is mandatory for quantum safety. Simply adding a Falcon key while leaving the existing ECDSA key with enough weight to meet the threshold alone provides no actual PQ protection — a quantum attacker who breaks the ECDSA key still controls the account. The Falcon key in that case adds only key-management overhead, not security.

    Any configuration that requires at least one Falcon signature in every passing signature set is acceptable. Examples:

    Configuration ECDSA-alone meets threshold? Safe?
    keys=[ECDSA w=1, Falcon w=1], threshold=1 yes (either alone) No — same as today
    keys=[ECDSA w=1, Falcon w=1], threshold=2 no (both required) Yes — both required
    keys=[ECDSA w=1, Falcon w=2], threshold=2 no (ECDSA w=1 < 2) Yes — Falcon alone still works
    keys=[Falcon w=1], threshold=1 (ECDSA removed) n/a Yes — strongest

    Operators choose the strictness based on tolerance for ECDSA continuity during the transition. Once the rebalancing is in effect, the old account address, assets, contract bindings, cross-chain whitelists, and DApp integrations are all preserved. Costs: the one-shot permission-update fee plus the standard MultiSignFee for any subsequent multi-sig transaction.

  • Path 2: asset migration, deprecating the old account — generate a brand-new Falcon account, transfer all TRX / TRC10 / TRC20 / staked / delegated assets to the new account (staked / frozen resources must first be released via UnfreezeBalance / UnDelegateResource, then wait out the unlock window), and finally deprecate the old account. This fully cuts off the quantum attack surface, at the cost of transfer fees, the unlock waiting period, and address-change adaptation across external systems (exchanges, DApps, cross-chain bridges, contract whitelists).

  • SR accounts — after Falcon is enabled on mainnet, complete the Witness Permission switch and configure the pre-derived keypair via localwitness_pq.scheme / localwitness_pq.keys.

  • Wallets / SDKs / exchanges / block explorers — need to extend key management, address derivation, signature construction, node-capability detection, and pq_auth_sig field parsing. Falcon keypairs can be generated with TRON's Toolkit via the --key-factory command.

Compatibility

  • Breaking Change: No (before ALLOW_FN_DSA_512 activates, node behavior is identical to today's mainnet).
  • Default Behavior Change: Disabled by default; activation requires passage of the 27-SR on-chain proposal vote.
  • Strict scheme validation: the PQScheme field is mandatoryUNKNOWN_PQ_SCHEME = 0 (proto3 default) is rejected at validation time by PQSchemeRegistry.resolve(), not aliased to FN_DSA_512. The ~1 byte varint saved by aliasing is not worth losing the input-validation signal, particularly as future schemes (e.g. ML_DSA_44) are added.
  • JSON-RPC / HTTP API: transactions, blocks messages, and HelloMessage JSON gain a pq_auth_sig field; legacy formats are unaffected.
  • The PBFT module will not introduce post-quantum signatures for now, to minimize the scope of impact.

Open Questions / Discussion Points

This section lists open questions in the current design that require community discussion and stress-test validation. Data, observations, and reference cases are welcome in the Issue comments — the goal is to reach consensus before mainnet activation.

1. Stress-test scope at intermediate PQ adoption ratios

The TPS reduction itself is largely deterministic from average transaction size against block-byte throughput (see §7 Performance table). What needs validation is the second-order effects beyond that arithmetic, which split cleanly along the block-size axis.

1a. Fixed block size

Block size limit stays unchanged. Stress test confirms that no implementation-layer surprise lurks beyond the deterministic TPS drop.

Concern What stress-test confirms
Per-block verify CPU Falcon verify (~113 μs) is ~10× faster than ECDSA (~1.2 ms); per-block verify CPU should drop, not rise. Confirm empirically and rule out unexpected JVM/GC behavior.
Block-propagation latency A block with N% PQ traffic is larger in bytes even if tx count drops. Propagation is bandwidth-bound — verify SR miss rate stays within SLO as PQ share rises.
Mempool footprint & admission Per-tx memory footprint grows ~10×. Verify admission throughput, eviction behavior, and memory pressure under flood.
DB write throughput Confirm LevelDB/RocksDB write throughput stays linear in bytes-per-second, with no compaction-stall surprises under sustained 10–50% PQ share.

Pass criteria: SR miss rate, mempool admission throughput, per-block verify CPU, and DB write throughput all stay within current operating ranges across the 10%/20%/30%/50% PQ-share scenarios.

Follow-up: run stress tests at the four PQ-share points and publish block-latency, miss-rate, and DB-I/O curves as governance decision input.

1b. Increased block size

Separate governance decision, only considered if sustained PQ share makes the deterministic TPS reduction from 1a a real user-facing bottleneck.

If triggered, the evaluation would cover:

  • Propagation latency under larger blocks at 2× / 4× block size; correlation with SR miss rate
  • DB write amplification — compaction overhead, write-stall frequency, SSTable size distribution
  • Archive storage growth — chain growth rate and cost impact for archive node operators
  • New-node sync time as a function of historical block-size mix

Tracked separately and would require its own TIP if it leads to a block-size parameter change.

2. Fee model and user cost

With transaction bodies inflating ~9.5× and no adjustment to quotas such as getFreeNetLimit / getTotalNetLimit:

  • Precompile energy calibration — the placeholder figures listed for 0x16 / 0x17 / 0x18 in §5 (4000, ecdsaCnt × 1500 + pqCnt × 2000, cnt × 2000) need to be finalized through JMH benchmarking and cross-calibrated against existing ECDSA precompile pricing (e.g. ValidateMultiSign at 1500 / sig) so that PQ-vs-ECDSA economics stay coherent across both the precompile path and the transaction-signature path.
  • Extra cost in typical scenarios — covering (a) single-signer transfer, (b) multi-sig N-of-M transfer, (c) AccountPermissionUpdateContract upgrade, (d) contracts that call the PQ precompiles.
  • Logical waiver opportunities — amortizing the "one-shot disclosure" of public keys (for example, not charging again after the first signature), discounting the PQ-migration AccountPermissionUpdateContract fee, batch-amortizing PQ verifications for large contracts, etc.
  • Cross-chain reference — how do Ethereum / Solana / Algorand price PQ verification or large signature structures? Are those approaches worth borrowing?

Follow-up: produce a "PQ migration user-cost estimate" table, finalize the three precompile energy figures with reproducible benchmarks, and draft a governance proposal covering the waiver mechanism.

3. Smart-contract layer PQ readiness

Major contracts (TRC20 leaders, cross-chain bridges, institutional custody) may use ecrecover or self-implemented signature verification:

  • Inventory — Which contracts use the "self-verify → authorize" pattern?
  • Onboarding path — How can they progressively call the PQ precompiles (0x16 / 0x17 / 0x18) without breaking existing ECDSA callers?
  • Transition capability — Do we need a standardized "dual-signature compatible" mode (contract accepts both ECDSA and PQ, either one valid)?

Follow-up: collect requirements from major contract owners and maintain a "contract PQ onboarding reference + upgrade checklist".

4. Wallet / hardware-wallet / SDK adoption path

Unified guidance for wallets such as TronLink and Wallet-cli, hardware wallets such as Ledger and Trezor, and SDKs such as TronWeb and Trident:

  • Key derivation — How is BIP-39 + BIP-32 extended to support Falcon-512? Do we need TRON-specific coin_type / purpose?
  • Hardware wallets — Ledger Nano S has insufficient RAM (4 KB vs. ~50 KB needed for Falcon keygen); when do Nano X / Stax / Flex begin adaptation?
  • SDK APIs — A unified spec for the signing API, pq_auth_sig field layout, and node-capability probing (getChainParameters → ALLOW_FN_DSA_512).
  • Industry references — Is the Solana Firedancer Falcon design or the Algorand state-proof wallet adoption flow worth aligning with?

Follow-up: publish TIP-XXX: Wallet & SDK PQ Adoption Guide, including recommended derivation paths, signing pseudocode, capability-probe interfaces, and a compatibility test matrix.

Future Phases (out of scope this cycle)

  1. SR emergency-proposal channel: 6-hour voting window, 22/27 threshold, immediate effect — intended as a pre-positioned emergency-response capability for safety-critical switches.
  2. FORBID_ECDSA_SIGN proposal: the entire network accepts only Falcon signatures, instantly cutting the quantum attack surface.
  3. ZK proof for asset recovery: introduce RecoverAccountByZkContract; dormant accounts prove ownership using their ECDSA private key, while active accounts prove ownership using their wallet seed — both relying on quantum-resistant SNARKs (Plonky2 / STARK). See Ethereum Research: How to hard fork to save most users' funds in a quantum emergency.

Risk Hedging — ML-DSA-44 as Audit Fallback

Falcon-512 is the primary choice, but FN-DSA / Falcon-512 is still at the draft FIPS 206 stage — NIST has not yet finalized the standard. The specification could still shift during the formal-publication review cycle, and our implementation will be audited against a moving target, leaving meaningful audit risk. To de-risk this, a parallel ML-DSA-44 implementation should be developed in tandem as a backup. The protocol design makes the swap cheap:

  • Both schemes share the same PQAuthSig wire structure — only the scheme enum value differs. No Transaction / BlockHeader re-design required.
  • PQSchemeRegistry is already a plug-in dispatch table; adding ML-DSA-44 means registering one extra SchemeInfo + SignatureOps.
  • The ML_DSA_44 slot is reserved in the PQScheme enum (reserved 2 to 15).

If activated as the launch algorithm, ML-DSA-44 keeps the same migration story and timeline, at the cost of a larger per-transaction footprint (~3700 B vs Falcon-512's ~1650 B) until further optimization. The option value is high: ML-DSA-44 was finalized as FIPS 204 in August 2024 — it is the NIST primary post-quantum signature standard and the natural fallback if Falcon-512 fails audit.

References

Additional Notes

  • Do you have ideas regarding implementation? Yes
  • Are you willing to implement this feature? Yes

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions