Skip to content

Releases: ailerov/VeilRoot

VeilRoot v0.26.2.2

Choose a tag to compare

@github-actions github-actions released this 04 Sep 22:11

VeilRoot Core — VNS/Nostr Protocol Hardening

This release completes a major hardening pass over the VeilRoot Naming Service (VNS), Nostr service descriptors, heartbeat validation, and Merkle-proof authentication.

VNS / Nostr Security

  • Hardened Nostr event authentication with full BIP340 Schnorr signature verification.
  • Added strict validation that the Nostr event public key matches the VNS registrant key.
  • Added full NIP-01 event-ID reconstruction and verification.
  • Rejects malformed, incorrectly encoded, or cryptographically invalid Nostr signatures and event IDs.
  • Applied authenticated Nostr event handling to service descriptors and heartbeats.
  • Hardened service-descriptor publishing so events are authenticated before being relayed.

VNS Service Descriptor Validation

Service descriptors are now authenticated against blockchain state before being accepted:

  • VNS domain identity validation.
  • Registrant public-key validation.
  • VNS V1 fingerprint validation.
  • Registration transaction Merkle-proof validation.
  • Descriptor version validation and deterministic version selection.
  • Detection and rejection of conflicting descriptors using the same version.
  • Multiple configured Nostr relays are supported for redundancy without granting relay authority.

Heartbeat Security

Heartbeat processing now validates the complete proof chain before updating on-chain domain health state:

  • Nostr event signature verification.
  • Registrant-key verification.
  • Domain verification.
  • VNS fingerprint verification.
  • Registration transaction Merkle-proof verification.
  • Heartbeat candidate selection across configured relays.
  • Validated heartbeats are queued for application by the blockchain owner thread.

Merkle Proof Hardening

  • Added bounds checking for VNS registration transaction leaf indexes.
  • Prevented integer underflow in transaction-count validation.
  • Added Merkle proof depth limits to reject malformed proofs exceeding the supported path representation.
  • Merkle verification continues to validate the supplied registration transaction against the actual block Merkle root.

Database / Compatibility

  • Maintained compatibility with legacy VNS V1 LMDB domain records.

  • Existing registrations remain readable while supporting the current multi-relay domain record format.

  • Kept the VNS V1 fingerprint construction stable for compatibility with existing registrations:

    domain + registrant public key + fee tier

Testing

  • VNS/Nostr test suite: 7/7 passed.

  • Verified rejection of:

    • incorrect registrant keys
    • forged event IDs
    • missing descriptor versions
    • incorrect event kinds
    • incorrect domains
  • Successfully tested the complete real-world VNS lifecycle:

    registration → heartbeat → service descriptor publication → domain resolution

  • Updated binaries successfully deployed across the test network.

  • Targeted regression testing confirmed the updated core changes remain functional.

Diagnostics

Added explicit logging for successful:

  • Nostr signature verification.
  • VNS fingerprint verification.
  • VNS Merkle-proof verification.

These logs make the authentication chain observable during node operation and troubleshooting.

Relay Model

Nostr relays remain untrusted transport/storage infrastructure.

Relay availability does not grant authority over a VNS domain; descriptors and heartbeats are accepted only after cryptographic and blockchain validation.

Download Hashes

If you would like to verify that you have downloaded the correct file, please use the following SHA256 hashes:

VeilRoot v0.26.2.1

Choose a tag to compare

@github-actions github-actions released this 03 Sep 20:00

VeilRoot v0.26.2.1 Release Notes

This patch fixes critical issues discovered after the v0.26.2.0 release, specifically around VNS domain transactions and relay display.

Fixes

  • Correct varint encoding for VNS extra nonce length
    Registration, update, and transfer transactions now encode the TX_EXTRA_NONCE length as a proper varint. This fixes transaction construction and parsing failures for payloads ≥128 bytes. Previously, domains with multiple relay URLs could fail to register or update.

  • Correct varint parsing in blockchain
    The VNS extra parser now reads the varint length correctly, allowing registration, update, and transfer payloads to be identified and processed as intended.

  • Display all configured relay URLs
    The wallet domain_info command now lists every relay URL stored in the domain record (up to three), not just the first one.

  • Return all relay URLs in RPC
    The get_domain_record RPC response now includes a relay_urls array with every configured relay, while maintaining the legacy relay_url field for backward compatibility.

Download Hashes

If you would like to verify that you have downloaded the correct file, please use the following SHA256 hashes:

VeilRoot v0.26.2.0

Choose a tag to compare

@github-actions github-actions released this 03 Sep 15:15

This release focuses on security hardening, multi-relay domain support, and LMDB write-path stability.

Security & correctness

  • Fixed Nostr event ID verification by computing IDs with SHA-256, matching the signer and eliminating heartbeat/descriptor mismatches.
  • Hardened Nostr event verification to require BIP340 Schnorr signature verification against the registrant public key.
  • Rejected mismatched or stale heartbeat and service descriptor events.

Multi-relay domains

  • VNS domain records now support up to three Nostr relays.
  • Registration and update transactions accept multiple relay endpoints.
  • Legacy single-relay records are automatically migrated to the first relay slot on read.
  • Added handling for legacy single-relay domain update tag 0x03.

LMDB write-path stability

  • Replaced shared write cursor usage with transaction-local cursors across:

    • block/tx/output writes
    • txpool and VNS writes
    • alt blocks and VNS domain removal
    • governance and vote writes
    • policy write paths
    • proposal execution records
  • Fixed a crash on ARM builds caused by concurrent LMDB write transactions from the background Nostr heartbeat fetcher and block sync thread.

  • Nostr heartbeat results are now queued and applied only by the blockchain-state owner thread after block processing.

Other fixes

  • Domain fee burning validation for RingCT registrations.
  • Bulletproof+ generation adjustment for burn/treasury outputs.
  • macOS release workflow Homebrew fix.
  • Various governance, vote, txpool, and alt block cursor lifetime fixes.

Verify

Use the provided SHA256 checksums to verify the release archives.


No pre-mine. No VC. No central organization.

VeilRoot v0.26.1.0 — Anonymous Domains, Proof-of-Liveness, Private DAO

Choose a tag to compare

@github-actions github-actions released this 01 Sep 11:47

VeilRoot Name System (VNS) launches as a fully private, decentralized alternative to ICANN.

Built on a Monero-derived privacy blockchain and integrated with Nostr, VeilRoot introduces:

  • Anonymous registration: ring signatures, stealth addresses, Bulletproofs, Dandelion++.
  • Health-based validity: domains stay active only while their relays publish valid heartbeat events with Merkle proofs.
  • Double-dot namespace: example..free with permissionless extensions.
  • Nostr service discovery: relay events carry onion/IPFS/HTTPS endpoints tied to an on-chain fingerprint.
  • On-chain DAO: stake-age weighted voting with homomorphic threshold-decrypted tallies and automated treasury release.
  • Burned tiered fees: 0.1 VNS to 10,000 VNS, with no token speculation.
  • 20,000,000 VNS max supply, 18% locked treasury, dynamic reward formula.

For those not familiar with these technical terms

With VeilRoot, you can now:

  • Register a domain without giving your name, email, or any personal information. No KYC, no identity leak.
  • Keep a website or service online through Tor or IPFS, while the domain itself proves that your relay is alive and legitimate.
  • Be confident that a domain is not squatted forever: if its relay stops publishing valid heartbeat events, the name eventually becomes available again.
  • Create your own extension, like yourname..free or yourname..art, without asking anyone for permission.
  • Run a whistleblower site, an uncensored newspaper, or a private community without revealing who operates it.
  • Control the project through a private, permissionless DAO where votes are cast anonymously and treasury funds are released only by on-chain consensus.

This is the initial public release, containing source code and prebuilt Linux/macOS binaries.


Verify

Use the provided SHA256SUMS file to verify archive integrity.

Source

The complete source tree is included in this release.


No pre-mine. No VC. No central organization.