Falcon PL

Technical white paper

Falcon PL

A quantum-safe participation ledger — Falcon Consensus + Falcon-512, with FPL at the centre.

Version 5.0 · August 2026

98%
Keyless treasury
Falcon-512
From genesis
4-of-6
Committee commit
PoPL
Work-weighted pay

Abstract

Falcon PL is a quantum-safe participation ledger. Settlement is a single hash-linked chain: one parent, one height, one hash. Falcon Consensus elects a packer from bonded seats, requires a 4-of-6 committee certificate to commit, and skips a silent packer so the height can still close. Every transaction, vote, and seal is Falcon-512. The native unit FPL pays security, liquidity, collateral, and rail work under one set of rules.

This paper specifies the system. It covers the ledger and roles, the agreement protocol, how a validator joins and leaves, the cryptographic binding, the supply and epoch economy, native markets and rails, and the attack surfaces those pieces create — with the defence that sits on each one. It is a description of the protocol, not a changelog.

§ 1

Introduction

A ledger that people will still trust in twenty years has to settle one history, pay the people who actually run it, and survive a world where classical signatures fail. Many fast chains leave validators unpaid, park most of the supply with a company, or plan to “add post-quantum later.” A certificate DAG can gossip well and still fail the operator test: there is no single tip a wallet can name.

Falcon PL takes the other shape. The chain is ordered. Participation is the product. FPL is the unit that measures who packed, who checked, who provided liquidity, who watched a rail, and who may claim at epoch payday. Signatures are Falcon-512 from height 1. Ninety-eight percent of supply sits in a keyless protocol treasury and leaves only through published emission rules.

Falcon PL
Product
FPL
Token
Falcon Consensus
Agreement
Falcon-512
Crypto
§ 2

System model

Honest seats share one parent hash, one height, and one state root. Time is loosely synchronised: pack and progress timeouts are wall-clock, but the lottery seed is the committed tip, not a clock. The public wire is a persistent peer mesh. Admin mutations do not travel on that wire.

RoleJobHistory kept
ValidatorPack when elected, vote on every height, refuse to pack while laggingLast 128 ledgers
HubGossip bodies, votes, and catch-up; do not invent historyRecent tail
ArchiveServe join snapshots and residual historyLong tail (up to the chain cap)

A seat is eligible for the lottery only if it is bonded, not jailed, and answering the mesh liveness channel. Bond is a slash target and a lottery ticket. It is not an interest rate. The committee at each height is six frozen seats: one packer and five checkers. A ledger becomes *the* ledger when four of those six have signed it. Confirmation beyond that is a separate hard quorum of the bonded set and does not replace the certificate.

  • Adversary: any number of unbonded peers, plus a minority of bonded stake that may go silent, lie, or double-sign.
  • Network: partial synchrony for liveness (progress timeout). Safety does not wait on a clock — it waits on a 4-of-6 certificate.
  • Crypto: every security-critical object is Falcon-512. There is no classical signing path for accounts, votes, or seals.
  • This paper describes the protocol as implemented. It is not a published BFT theorem.
§ 3

Ledger and state

State is an account map plus protocol objects (bonds, epoch pots, pools, loans, rail tips). A ledger is a signed body of transactions that takes one state root to the next. Height increases by one. The parent hash is the previous body hash. The next header carries the parent’s 4-of-6 certificate, so uniqueness is on the chain, not only in peer memory.

ledger_n+1.parent      = hash(ledger_n)
ledger_n+1.parent_cert = QC_4of6(ledger_n)
ledger_n+1.state_root  = apply(state_n, txs)

Transactions are sequenced per account. The mempool is gossiped and size-capped. Empty bodies are rejected: a packer who has nothing applicable must not seal. Fees escalate with mempool utilisation (1× / 2× / 4× / 8× / 16× the base minimum). Half of each fee is burned; the rest enters the validator pot at epoch settle.

ObjectRule
AccountsFalcon-512 identity; sequence number; multi-asset balances
BondOn-chain lock; min 1,000 FPL; 14-day unbond
MempoolCapped; reject when full; fee tier from utilisation
Ledger cap128 transactions; pack budget 1,000 ms
Public mintEpoch settlement only — not a user transaction
§ 4

Falcon Consensus

Falcon Consensus is a bonded-committee protocol. Stake seats a deterministic lottery. A small frozen committee commits the block. A skip certificate walks a dead packer. Post-quantum signatures bind every vote and seal.

At each height the eligible set is the bonded, non-jailed seats. The lottery seed is a hash of network id, height, committed tip, certified skips, and the eligible set. Integer reduction against total bond ranks packers. Honest nodes that share a tip compute the same ranking. Mesh pongs are pack permission, not election: an offline bonded seat is not selected.

eligible = bonded ∧ ¬jailed
seed     = H(network_id ‖ height ‖ tip_hash ‖ skips ‖ eligible)
rank     = lottery(seed, bonds)          # same tip ⇒ same #1, #2, …
committee = freeze(packer #1 + 5 checkers)
commit   = 4 distinct committee signatures
skip     = 4-of-6 after progress timeout, then next rank packs

The winner packs applicable mempool transactions under a 1,000 ms budget and proposes a non-empty body. Every full node verifies parent, height, packer identity, Falcon-512 seal, transaction signatures, and the resulting state root. Soft votes pipeline the body; the height commits when four committee members have signed. The next ledger records that certificate as parent_cert. Height 1 has no parent certificate.

StepWhat happens
ProposeRanked packer seals a non-empty body under the pack budget
VerifyEvery seat checks parent, packer, sigs, and state root
Commit4 of the frozen 6 — packer counts — form the ledger certificate
ConfirmHard quorum ceil(n × 0.6) of bonded seats; flag only, not the commit rule
SkipAfter pack budget + grace, committee may vote view-change on silence
SlashTwo different hashes at one height from one seat → jail and slash

If the winner is silent, the committee issues a skip (same 4-of-6 bar). View-change redraws the committee from the new view seed so a dead packer cannot pin the height. The same packer cannot reseal a second body at that height. Conflicting live proposals keep the first valid body; the chain does not rewind the tip to resolve them.

§ 5

Validator lifecycle

Users never join consensus. Operators do. The registry grows only through genesis and confirmed Bond transactions. A Hello must not invent a lottery seat. A joiner must not pack while it is behind the mesh tip.

1. Generate a Falcon-512 identity.
2. Fund the account and submit Bond (≥ 1,000 FPL).
3. Wait until that Bond is packed — the registry now includes the seat.
4. Start the node with --join against published seeds.
5. If tip = 0 or lag ≥ 2,048: pull a join-snap from an archive
   (tip state + 128 ledgers). Snapshots are not a live feed.
6. Close the residual gap with certified NeedLedgers.
7. Pong at the mesh tip. Only then is the seat lottery-eligible.
8. To leave: RequestUnbond → 14-day cooldown → CompleteUnbond.

Catch-up is two stages on purpose. A join-snap is a point-in-time copy of tip state plus a short certified tail, served only by nodes that advertise the archive role. Residual ledgers after that snap apply without re-verifying every historical Falcon signature; live packing still verifies every transaction. Light validators keep 128 ledgers in memory. They follow gossip. They are not fed the tip by the archive after they are live.

SituationProtocol response
New seat, tip 0Join-snap, then residual
Restart, lag ≥ 2,048Join-snap again, then residual
Restart, small lagResidual NeedLedgers only
Joiner still behindRefuse to pack; skip if the lottery still picks it
Bond not yet packedSeat is not in the registry — Hello cannot add it
UnbondingOut of the lottery immediately; funds locked 14 days
§ 6

Cryptography

Classical signatures (ECDSA, Ed25519) will not remain adequate for multi-decade financial infrastructure. Falcon PL uses Falcon-512 lattice signatures — NIST-aligned, hash-and-sign — for account transactions, consensus votes, and ledger seals, from genesis, not as a later migration.

  • Domain-separated payloads for LedgerOk, SkipPacker, ViewChange, and OnlineSetVote.
  • Voter identity must match the key. Empty, unknown, jailed, or unbonded voters do not count.
  • Local, deterministic verification. No external signing service on the consensus path.
  • Public binaries refuse development HMAC keys unless --allow-dev-crypto is set.
  • Admin commands ride a unix socket (mode 0600), not the public TCP wire.
§ 7

The FPL token

200B
Hard cap
98%
Protocol treasury
2%
Public bootstrap
CID epochs
Emission
AllocationSharePurpose
Keyless protocol treasury98%Epoch emission to validators, watchers, and LPs only
Community airdrop1%Public launch distribution
Faucet0.5%Onboarding and testing
Builder pot0.5%Core work, audits, growth contributions

Treasury funds leave only through protocol epoch emission. There is no human withdrawal key. Emission follows Continuous Inflationary Decline: a declining share of remaining treasury (first claimable epoch 30 bps). On public parameters the epoch is 7 days. Epochs 1–7 emit nothing so the mesh can stabilise. Claims are pull-based.

Epoch sliceShareWho
Validators55% + unfilled remainderBonded pack / check work
Watchers5%Rail work × presence
AMM LPs20%Active pool share; 0.5% cap per account
Lending LPs20%Active supply share; 0.5% cap per account
Fee remainder50% of fees after burnValidator pot
§ 8

Proof of Participation & Liquidity

PoPL is how the protocol pays useful work. It is not how the protocol chooses the next ledger. Lottery win alone does not pay. Empty seals do not exist. An idle bond earns nothing.

ActorWhat countsPay rule
PackerTransactions actually sealedHalf the validator pot, pro-rata
CheckerQualifying OK votes on accepted ledgersOther half of the validator pot
WatcherAccepted rail header or depositwork × (slots / 168), then cap
AMM / lend LPActive liquidity sharePro-rata inside the 20% bucket, 0.5% cap
presence_i = slots_active_i / 168
weight_i   = work_i × presence_i          # 0 if work_i = 0
pay_i      = min(cap, pot × weight_i / Σ weight)

A watcher heartbeat fills the current presence slot and adds zero work. Opening a tab is not a job. Self-written credit is not in the public transaction set. Unfilled LP and watcher remainder returns to the validator pot.

§ 9

Markets and rails

Native FPL sits beside represented assets from hardcoded rails. Value enters by lock-on-source, mint-on-Falcon, against protocol headers and deposits — not a federated mint authority as the end state. Once on the ledger, capital can sit in pools, supply lending markets, serve as collateral, or trade against FPL and stables.

RailRole
Falcon PLSettlement, FPL, lending, AMM, rewards
BitcoinPrimary SPV-style rail into wrapped BTC markets
EthereumETH corridor, same proof shape
BNBBNB corridor, same proof shape
XRPXRP corridor — ledger headers and protocol Payment deposits

Supported rails are genesis- or governance-listed. Arbitrary user-added bridges are not a day-one path. Public mint of native FPL remains epoch settlement only.

§ 10

Attack surfaces

Every mechanism above creates a surface. This section lists the surfaces the protocol is designed against, and the rule that answers each one.

SurfaceDefence
Sybil lottery seatsRegistry grows only via genesis and packed Bond txs. Hello advertises keys and tip; it cannot create a seat.
Equivocation (two hashes at one height)Packer or checker: slash the bond and jail. The same packer cannot reseal after view-change.
Silent or dead packerProgress timeout, then 4-of-6 skip. View-change redraws the committee so one seat cannot pin the height.
Lagging joiner elected packerRefuse to pack while behind tip. Live-but-lagging winners are skippable. Lottery requires a mesh pong.
Empty-seal farmingEmpty bodies are rejected. No qualifying work and no fees means zero claims.
Unbond and run (nothing at stake)RequestUnbond removes the seat from the lottery immediately. Funds unlock only after 14 days.
Long-range rewriteEach ledger carries parent hash plus the parent’s 4-of-6 certificate. Catch-up does not rewind a live tip.
Poisoned history / fake snapJoin-snaps come only from advertised archives. Residual apply is certified. Live packing still verifies every tx.
Forged or unsigned votesFalcon-512 over a domain-separated payload. Unknown, jailed, unbonded, or mismatched voter ids are dropped.
Native mint / self-creditCreditAsset is admin-only on a locked public wire. WatcherCredit is disabled. Work is rail header or deposit.
Mempool floodHard cap. Fee tier 1×–16× from utilisation. Submits below the suggested minimum are rejected.
Eclipse of a joinerPublished seeds plus archive ads. A partitioned joiner cannot pack. It cannot invent a competing certified tip.
Admin on the public portState-mutating operator messages are refused on TCP. Admin is a local unix socket, mode 0600.
Quantum break of accounts or QCNo classical signing path for txs, votes, seals, or peer identity. Falcon-512 from height 1.
Committee collusionCommit is 4 of a frozen 6. Confirmation still needs ceil(n × 0.6) of bonded stake. Bond is slashable.
False rail mintHardcoded rails. Mint follows an accepted header and deposit proof. Watchers cannot write their own work.

What the protocol does not claim: a formal safety proof under asynchrony, immunity to a majority of bonded stake, or that the current JSON-TCP mesh is a finished peer-discovery layer. Those are engineering and research tasks, not hidden by this list.

§ 11

Performance envelope

The pack budget is a maximum packing window (1,000 ms), not a fixed close clock. A ledger holds at most 128 transactions. When there is work and the committee is live, the tip can advance in a few hundred milliseconds. When there is no work, the chain does not mint empty height.

BoundValueMeaning
Pack budget1,000 msUpper bound to assemble one body
Progress timeout3,000 msSilence before skip / view-change
Transactions / ledger128Hard cap on one body
Mempool50,000Reject when full
Measured keep-up500 tx/sSubmit path stayed current under Falcon-512

Verify cost, committee fan-out, and host memory dominate before the signature scheme itself becomes a law of nature. Resource exhaustion (RAM) is a capacity limit, not a second history. Throughput claims above a measured keep-up are envelopes and are not used as product numbers.

§ 12

Governance

Bonded validators may propose bounded parameter changes. Hard rules — supply cap, keyless treasury, and core consensus safety — are not available for casual amendment. Class B money-rule changes take an amendment and notice of at least one epoch.

The live pre-public beta is network 2300. It is a genesis of this protocol, not a mainnet, and not a cash market. Mainnet follows a published ceremony, freeze pin, and external audit.

§ 13

At a glance

ItemDetail
ChainFalcon PL (Falcon Participation Ledger)
TokenFPL — 200B hard cap, 98% keyless treasury
ConsensusFalcon Consensus — lottery packer, 4-of-6 commit, skip failover
SignaturesFalcon-512 on txs, votes, and seals
JoinBond → archive join-snap → certified residual → pong at tip
LeaveUnbond, 14-day lock, out of lottery immediately
RewardsPoPL — pack, check, watch, provide liquidity
MarketsAMM, collateralised lending, hardcoded rails
Public mintEpoch settlement only

Appendix

Documents & downloads

Detailed engineering and security reports. The white paper above is the narrative; these PDFs are the deep dives.

↑ Contents