• v1.1.0 8f3195ed95

    ignotusnemo released this 2026-09-07 07:04:48 +00:00 | 0 commits to main since this release

    This is a mandatory protocol update. The new rules activate at block 95,125. Upgrade before that height.

    Upgrade

    v1.1.0 keeps the existing genesis, live State, wallet secrets, transaction format, exported receipts, recursive relation and authenticated matrices. Update nodes, GUI wallets and block-producing pool nodes before the activation height. Old nodes remain compatible before activation but cannot validate blocks under the activated rules. No restart at the activation height itself is needed for an already updated, running node.

    Protocol activation

    • Correct the ASERT fractional polynomial while preserving the exact legacy difficulty calculation for earlier blocks. The block target stays 20 seconds.
    • Encode HistoryStep terminals with canonical shared Merkle paths. Repeated authentication nodes are stored and transmitted once, then the original paths are reconstructed for the unchanged verifier and recursive relation.
    • Apply a 1,100,000-byte terminal limit to the canonical compressed encoding. Expanded decoding is also bounded. Before activation the legacy encoding and 1,048,576-byte cap remain in force. The block body has its own limit.
    • Allow eligible producers to use B255. Every mining session starts with B25 without a startup benchmark. Its first completed B25 preparation permits B255 for that session only if prepare_time × 4 <= 20 seconds. Ordinary fee-ordered selection determines the actual class within that capacity.
    • Apply the existing dynamic mempool fee floor only under real local load. Count or retained bytes reaching 80% enables it; both falling strictly below 50%, or an empty pool, reset it. Consensus State-growth fees are unchanged.

    Fixes and implementation improvements

    • Complete initial synchronization after an exact, verified commit of the selected tip, without waiting for a redundant probe of a moving chain. Retire disconnected manifest candidates and preserve valid source failover.
    • Continue partial mempool recovery in bounded batches. Preserve the 128-intent, 16 MiB response limits, one consumption-paced recovery lane, finite scans and 30-second per-peer request spacing. No idle seed polling is introduced.
    • Coalesce byte-identical gossip/direct deliveries without bypassing admission or suppressing required forwarding. Preserve selected bootstrap identity across authenticated reconnects and release replacement seed transports after a stable ordinary-peer handoff.
    • Replan Auto fees after a local fee rejection before admission, within the existing three-attempt limit. Explicit fees and accepted transactions are not silently increased. Evict intents that no longer meet the current consensus State-growth minimum, releasing their local reservations.
    • Prefer not to place coinbase or mandatory fund payouts in output slots of other pending local transactions. A bounded same-segment search falls back to the previous valid choice, so pending reservations cannot block mining or mandatory payouts. Amounts and recipients are unchanged.
    • Reduce repeated hashing, proof-leaf work, state copying and wallet I/O. Add conditional walletUtxoSnapshot polling with legacy RPC fallback. Preserve GUI address labels locally and append wallet artifact changes instead of rewriting entire collections.
    • Remove obsolete raw-segment Compact FRI opening code. Refine the wallet Johnson-bound analysis and update the Poseidon2b cryptanalysis audit without changing W65/H133, matrices or cryptographic protocol parameters.
    Downloads
  • v1.0.4 fedbe6e3c0

    ignotusnemo released this 2026-08-28 15:24:42 +00:00 | 25 commits to main since this release

    v1.0.4 introduces a separate operator credential for remote accounting and payout services through --operator-key TOKEN or --operator-key-file FILE. Its exact method allowlist and security requirements are documented in JSON-RPC authentication. Mining, node shutdown, wallet scanning or discovery, address management, unbounded wallet history or UTXO listings, and every other method outside the fixed allowlist remain denied.

    Synchronization after an authenticated snapshot now keeps the bounded exact-object route available for newer HeaderDAG-selected descendants inside the existing serving limit. The first authenticated target controls how long that route remains active, but no longer lowers its height ceiling. Unforced proactive manifests received while the verified post-snapshot tail is active return to HeaderDAG selection instead of installing a redundant second snapshot. Forced HeaderDAG decisions and targets beyond the serving limit still use normal snapshot synchronization.

    The mining credential remains restricted to getBlockTemplate and submitBlock, and mining and operator keys must be different. A non-loopback RPC listener now requires at least one scoped credential. Local CLI and GUI access remains passwordless when the connection is accepted from the actual TCP loopback address. If a client supplies an Authorization header, the credential is always validated and receives only its exact role, including on loopback.

    RPC authentication now uses constant-time comparison of BLAKE3 token digests, removes Authorization before request tracing, rejects browser Origin requests, disables WebSocket upgrades, limits request bodies to 1 MiB and preserves bounded JSON-RPC batch support. Key files must be regular owner-only files on Unix, inline and file credentials receive the same validation, and trace logging does not expose configured tokens or Authorization values.

    There are no consensus-rule, wire-protocol, proof-profile, matrix, port or storage-format changes. v1.0.3 and v1.0.4 nodes remain network-compatible, no data reset is required, and ordinary local CLI and GUI use remains unchanged. Node operators, pools and wallet users should update.

    Downloads
  • v1.0.3 6349f5f215

    ignotusnemo released this 2026-08-27 14:41:04 +00:00 | 30 commits to main since this release

    External-mining credentials are now restricted to getBlockTemplate and submitBlock. A worker token can no longer authorize wallet operations, node control or any other RPC method. Existing pool and worker commands using --mining-key TOKEN and --key TOKEN remain compatible. Operators can keep the credential out of process arguments with the new protected key-file options:

    parano1d --mode extminer --mining-key-file /secure/parano1d-mining.key
    parano1d-miner --key-file /secure/parano1d-mining.key
    

    Synchronization now switches to an authenticated snapshot once a node falls beyond the 18-block recent suffix, while retaining one bounded exact-object tail after a verified snapshot is installed. Snapshot selection and rebasing remain bound to the HeaderDAG-selected ancestry. Direct header responses must match the requested range, and direct header windows are capped so competing branches fit within the bounded HeaderDAG. This prevents long sequential catch-up, stale snapshot loops and arrival-order pressure on the header control plane. The existing 512-header direct window and 4,096-header disk-staged snapshot batches are unchanged.

    Wallet receipts now survive a chain-data purge and snapshot bootstrap until their permanent headers arrive. Outgoing transactions that reappear on a replacement branch are confirmed by logical transaction ID, and reorg duplicate removal releases the corresponding mempool slot reservations.

    The obsolete first-mainnet-run testnet cleanup has been removed. Starting a current release never deletes an existing data directory or wallet key as part of that retired migration.

    The GUI adds a clipboard button to the recipient field, estimates network hashrate over 30 blocks for a steadier display, and labels explorer transaction fees explicitly in NOID.

    There are no consensus-rule, wire-protocol, proof-profile, matrix, port or storage-format changes. v1.0.2 and v1.0.3 nodes remain network-compatible, and no data reset or configuration change is required. Wallet users, node operators, pools and miners should update.

    Downloads
  • v1.0.2 bf307a2879

    ignotusnemo released this 2026-08-26 13:26:50 +00:00 | 45 commits to main since this release

    This release closes browser-originated access to the default loopback wallet RPC. HTTP and WebSocket requests carrying an Origin header are rejected before JSON-RPC dispatch, while the native GUI, CLI and external miner remain available. Existing Bearer authentication for remote mining endpoints is unchanged. Required wallet addresses now reject an empty recipient instead of interpreting it as the all-zero owner.

    Synchronization and header handling now fail closed without losing recoverable progress. A full HeaderDAG evicts a losing leaf rather than allowing sibling headers to block the selected-chain extension. Retrying an interrupted compact recursive suffix preserves its original durable authority, and ASERT/MTP validation loads a missing RAM-window header from canonical MDBX or stops instead of guessing.

    The official external miner stops nonce search before its template expires and will not submit stale work. Scheduled development payouts now reserve their mandatory proof position before selecting user pages, keeping B25 and B255 selection on the documented effective-position boundary.

    Photo Key import now rejects obvious low-complexity sources. Images must be at least 32 × 32 pixels and contain at least 64 distinct decoded pixel values. The deterministic derivation for accepted photos is unchanged.

    There are no consensus-rule, wire-protocol, proof-profile, matrix, port or storage-format changes. v1.0.1 and v1.0.2 nodes remain network-compatible, and no data reset or configuration change is required. Wallet users, node operators, pools and miners should update.

    UPD: v1.0.2 has been updated with manual network fee control in the GUI and a fix for stale dynamic fee floors after the mempool clears.

    Downloads
  • v1.0.1 ea3e87cb78

    ignotusnemo released this 2026-08-23 17:26:40 +00:00 | 56 commits to main since this release

    This release fixes P2P memory growth observed under sustained public mainnet traffic.

    Transactions received through GossipSub are now forwarded only after local mempool and consensus admission. Invalid, stale and conflicting transactions are dropped locally instead of being amplified across the mesh. The networking stack now uses bounded GossipSub connection queues and drops stale messages that cannot be delivered to a slow peer in time.

    Snapshot synchronization now keeps transient terminal transport failures retryable, including when only one exact provider is available. Deep divergent catch-up can continue through the existing disk-backed exact-header staging path while remaining bound to the HeaderDAG-selected ancestry and fork choice.

    Cached direct addresses are tried before relay routes for the same peer. A failed address remains cached and the next available direct or relay fallback is tried, preserving restart and NAT reachability.

    Regular outbound seed and discovered-peer connections now use an ephemeral TCP source port instead of reusing the P2P listener port. This avoids VPN, NAT and stateful-firewall paths that drop symmetric 9600 -> 9600 flows. DCUtR keeps port reuse for hole punching.

    There are no consensus, wire protocol, proof profile, matrix, port or storage changes. v1.0.0 and v1.0.1 nodes remain network-compatible, and no data reset or configuration change is required.

    Downloads
  • v1.0.0 a0b82acf7c

    ignotusnemo released this 2026-08-21 14:52:20 +00:00 | 58 commits to main since this release

    Parano1d is a proof-native Layer 1 ordered by proof of work. Provable end-to-end post-quantum soundness against the NIST PQC Category 1 resource envelope under the explicit premises stated below.

    Wallet authorization is a zero-knowledge proof with no public key or digital signature in the consensus path. The miner proves the transaction logic and exact state transition. Every recursive HistoryStep verifies the proof carried by its parent. A full node verifies those proofs and materializes the proven state writes instead of replaying transaction execution from genesis. The transparent recursive proof stack uses binary tower fields and requires no trusted setup.

    Proof of work only establishes canonical order among already proof-valid transitions. Compact headers remain permanent, while complete block bodies are removed after the recent reorganization window. Saved payment receipts remain independently verifiable against the transaction roots in permanent headers.

    Mainnet profile

    Parameter Value
    Genesis timestamp August 21, 2026, 16:00 UTC (1787328000)
    Genesis block ID 860e70453390bf815718e933aa4927167a13d098b0151391eefd722ee1add610
    Target block interval 20 seconds
    ASERT reference epoch / half-life 6 blocks / 120 seconds
    Median-time-past / future drift 11 headers / 120 seconds
    Hard finality / maximum reorganization 18 blocks / 17 blocks
    Recent block bodies / undo retention 18 blocks / 36 blocks
    Initial / maximum State domain 2^24 / 2^32 slots
    State segment 2^16 slots
    State expansion 75% occupancy, requiring 10 of 18 finalized headers
    Default / large proof class B25 (m=22) / B255 (m=24)
    Transaction page 8 inputs, 2 outputs, 323 bytes
    Maximum logical transaction 128 pages, 1,020 inputs, 256 outputs
    Maximum ordinary user pages per block 255
    Proof of work Poseidon2b, 128-bit nonce
    P2P / local RPC port 9600 / 9601

    The initial subsidy is 50 NOID with no premine. For the first three target-time years, 90% goes to miners, 5% to the O(1) Network Fund and 5% to Parano1d Lab. The subsidy halves when the State domain expands and has a permanent floor of 1 NOID.

    Mining unlocks at the genesis timestamp.

    Production proof and security profile

    Parameter Value
    Committed trace field GF(2^128)
    Wide challenge field / support GF(2^256) / 2^255
    Poseidon2b width 4, x^7, 8 full rounds, 58 partial rounds
    Wallet / History and BaseFold queries 65 / 133
    B25 codeword 2^19 at rate 1/4
    B255 codeword 2^21 at rate 1/4
    Target FRI security 128 bits
    Provable Block-Tiwari FS-FRI security 127 bits
    Conjectured Block-Tiwari FS-FRI security 127 bits
    Sequential ideal-QROM boundary 64.707407428576 bits
    Category 1 gate-depth floor 173.273866314232 bits
    Margin over the 2^170 reference 3.273866314232 bits

    Under the explicit fixed-Poseidon2b delta and coherent response-cost premises, the executable theorem establishes end-to-end post-quantum soundness for State validation from genesis against the NIST PQC Category 1 resource envelope. The theorem, premises and exact-arithmetic certificate are published in noid_soundness.

    Downloads

    GUI packages contain the wallet, full node and built-in CPU miner. Core archives contain the daemon, CLI and external miner. Release assets are provided for Linux x86-64, Linux ARM64, Windows x86-64, macOS Apple Silicon and macOS Intel.

    Documentation ·
    Research ·
    Source code

    Downloads