Lattice-based digital signature scheme selected by NIST for standardization as FN-DSA (Draft FIPS 206). Live on Tidecoin since genesis (December 27, 2020) — over 2.4 million blocks signed.
FALCON combines NTRU lattices and the GPV hash-then-sign framework [Gentry, Peikert, Vaikuntanathan, STOC 2008]. Three stages: key generation, signing, verification.
R_q = Z_q[x] / (x^512 + 1), q = 12,289h = g · f^(-1) mod qB = [[g, −f], [G, −F]]nonce ← rand(40 bytes)c = H(nonce ‖ message)sig = ffSampling(B, c)sig_compressed ≈ 666 bytesc = H(nonce ‖ message)s1 = c − s2 · h mod q‖(s1, s2)‖² ≤ bound~28,000 verifications/secFALCON-512 has the smallest combined PK + signature size of any NIST post-quantum standard — critical for blockchain where every byte is stored forever and replicated across all nodes.
| Property | FALCON-512 | ML-DSA-44 | XMSS (QRL) | ECDSA (BTC) |
|---|---|---|---|---|
| Signature size | 666 B | 2,420 B | ~2,500 B | 71 B |
| Public key | 897 B | 1,312 B | ~1,300 B | 33 B |
| PK + Sig | 1,563 B | 3,732 B | ~3,800 B | 104 B |
| Stateless | ||||
| NIST standard | Draft FIPS 206 | FIPS 204 | RFC 8391 | — |
| Quantum-safe | ||||
| Verification speed | ~28,000/s | Fast | Moderate | ~10,000/s |
FALCON's signing normally requires high-precision floating-point arithmetic — vulnerable to side-channel leaks through power, electromagnetic or timing channels. Tidecoin uses PQClean integer emulation: no FP, no branches on secrets, no timing leaks.
Full key recovery through electromagnetic emanation measurements.
ePrint 2021/772100% key recovery from a single power trace on ARM Cortex-M4 devices.
arXiv 2504.00320All FP arithmetic computed via uint64_t integer operations. The C double type is never used.
Custom barrel-shifter emulation for shifts with secret shift counts.
Table lookups read every element. Zero timing correlation with key material.
Identical behavior on 32-bit, 64-bit, little-endian and big-endian platforms.
Formal correctness of the emulated floating-point verified [Becker & Howe, ePrint 2024/321].
Existing wallets require no key migration — the same keys produce tighter signatures after AuxPoW activation.
| Property | Legacy | Strict |
|---|---|---|
| When | Pre-AuxPoW (current mainnet) | Post-AuxPoW (upcoming) |
| Norm bound | 43,533,782 (relaxed) | 34,034,726 (standard PQClean) |
| Max signature size | 690 bytes | 752 bytes (padded 666) |
| Verification | Backward-compatible with early signatures | Tighter security margins |
The legacy norm bound is a relaxed threshold adopted for backward compatibility during Tidecoin's early operation — it is not the pre-2019-fix value (the 2019 sampler bug affected the lookup table and rejection formula, not the norm bound). Keys are identical in both modes; only signature creation and verification bounds differ.
No. In August 2019, Markku-Juhani O. Saarinen discovered two severe bugs in the Falcon Gaussian sampler. A 2025 retrospective [ACM CCS 2025] demonstrated that ~50 million buggy signatures could enable full key recovery.
Thomas Pornin published the fix on September 18, 2019. Tidecoin's genesis block was mined on December 27, 2020 — over 15 months after the fix. Tidecoin has always used the post-fix PQClean implementation.