The Veld Protocol

Version 2.0 — post-quantum, post-audit — 2026-04-17
What this document is: a complete description of the Veld protocol as it exists in the source tree at the date above. Every parameter is verifiable against include/core/constants.h. If this document contradicts the source, the source is authoritative.

1. Introduction

Veld is a proof-of-work cryptocurrency designed from first principles with two non-negotiable constraints:

  1. Post-quantum by default. Every signature on the chain is ML-DSA-65 (Dilithium-3, NIST FIPS 204). No secp256k1, no hybrid layer, no "migrate later." A shelved quantum computer becoming operational next year does not invalidate a single UTXO.
  2. Long-term participation is rewarded more than one-shot extraction. Solo mining, co-mining pool, vault-to-staker distributions, and a separate endorsement pool for validators together ensure no single actor extracts disproportionately more than their sustained contribution.

The project deliberately excludes features that have produced the most spectacular failures in other chains: bridges (cross-chain trust), smart-contract VMs (unbounded state transitions), and opaque pre-mines. Veld is a payment, staking, and validator chain. Nothing more.

2. Design Constraints

ConstraintValueRationale
Hard cap21,000,000 VELDFixed-supply scarcity; enforced at consensus
Block time60 sFast enough for practical UX, slow enough for confirmation
Annual emission cap1,000,000 VELD / yrFills to 21M over 21 years
SignaturesML-DSA-65 (Dilithium-3)NIST FIPS 204; resists Shor's algorithm
PoWVeldHash (1 GB memory-hard)ASIC resistance via memory-hardness
Max block size8 MBRoom for PQ scriptSigs (~5.3 KB each)
Max reorg depth100 blocksFinality guarantee
Coinbase maturity100 blocksSame as reorg depth — no cascade risk

3. Block Reward Structure

Every normal block emits exactly 1.9025 VELD (1,000,000 / 525,600). The emission is split four ways at the consensus level — no fee markets, no hidden MEV.

RecipientSharePurpose
Block winner (miner)50%Direct reward for finding the valid nonce
Co-mining pool20%Paid every 100 blocks to all miners by near-miss count
Vault20%Accumulates toward the next staker distribution (every 144 blocks)
Endorsement pool10%Accumulates toward the next validator distribution (every 144 blocks)
Transaction fees→ vaultAppended to the vault slice; not a separate recipient

Vault blocks: every 100th block routes 100% of the reward to the vault, bypassing the split. Over 100 blocks the vault receives 99 × 0.38 + 1 × 1.9025 ≈ 39.57 VELD, distributed every 144 blocks to stakers.

Mathematical integrity: at no point does the sum of coinbase outputs exceed the fixed block reward. Verified at consensus in include/core/blockchain.h (AddBlock) with overflow-safe aggregation.

4. Staking System

Staking is a commitment: you lock coins for a tier, and in return earn a share of vault distributions.

4.1 Stake lock mechanics

4.2 Tiers & multipliers

TierLockupMultiplier
17 days1.00×
214 days1.10×
330 days1.25×
490 days1.50×

Hard cap on combined mining-tier × lockup-tier multiplier: 3.00×. Enforced at distribution time.

4.3 Distribution

Every 144 blocks (~2.4 hours), the veld-distribute daemon reads the vault UTXO set, enumerates active stakers weighted by stake × tier_multiplier × mining_tier_multiplier, and broadcasts a single distribution TX paying each staker their pro-rata share. 100% of vault accumulation flows to stakers. Validators are paid from a separate endorsement pool (below), not from the vault.

4.4 Cooldowns and unstake

5. Validator & Endorsement System

5.1 Registration

5.2 Endorsement

5.3 Reward distribution

5.4 Governance quorum

5.5 Promo activations

A passed PROMO_ACTIVATION proposal can temporarily boost block rewards (max 2.0× multiplier, max 1,440 blocks, max 12% of current vault balance per activation, 30-day cooldown). All caps enforced at proposal-submit time and again at activation time.

6. Post-Quantum Cryptography

6.1 Algorithm choice

ML-DSA-65 (Dilithium-3), as standardized in NIST FIPS 204. Picked for:

6.2 On-chain footprint

6.3 Sighash

Bitcoin-style varint length prefixes for every count (inputs, outputs, subscript). Cryptographically bound to the prev-output scriptPubKey (not the scriptSig), preventing signature malleability on the signed hash.

6.4 Keyfile format

6.5 Browser signing

The wallet UI embeds an emcc-compiled WASM bundle (/dilithium.js, 39 KB single-file, base64-inlined). Browser-side generation, signing, and verification are identical to the native C++ path — proven by cross-platform round-trip TXs during the final audit.

7. Consensus & Network

7.1 Proof of work

7.2 Reorg & finality

7.3 P2P layer

8. Security Posture (audit-verified)

Two independent audits completed before the v1 launch:

  1. Static code audit — 18 findings across cryptography, consensus, transaction validation, networking, and secrets handling.
  2. Adversarial simulation — 37 attack vectors executed live against the 4-node cluster, including consensus attacks, transaction manipulation, staking griefing, vault drain attempts, validator forgery, RPC abuse, P2P flooding, and infrastructure probes.

Every CRITICAL and HIGH finding was resolved at the source-level. Representative fixes:

The full audit report is maintained in the project repository at docs/FINAL_AUDIT_REPORT.md.

9. Genesis & Launch

10. What Veld is not

By design, Veld does NOT include:

11. References


This whitepaper reflects the post-audit state of the protocol. Every parameter is verifiable against the source at include/core/constants.h. If this document contradicts the source, the source is authoritative.