New in p2poolv2: transaction prevout validation now verifies outputs are confirmed, exist, and unspent before allowing spends — exactly how Bitcoin consensus works. Share chain integrity matters when miners own the pool.
Share timestamp validation now enforces median-time-past over 11 ancestor blocks + 120s max future drift. Same rules Bitcoin uses. No pool operator fudging timestamps on your shares.
Centralized pools: operator controls block template, payout logic, and your hashrate data.
p2poolv2: you validate the share chain yourself. Out-of-order blocks? Your node handles it. Parent missing? Buffers until DAG is complete. Trust math, not admins.
Also merged: batch API queries for faster frontend performance, connection health monitoring improvements, and a chain sync fix that prevented out of order shares from clogging peer state. 13 PRs merged this week — validation, sync, and observability all tighter.
Weekly p2poolv2 update: share validation hardening is complete. Shares now commit to coinbase value + template merkle root (PR #454), and header commitments are validated during share chain sync (PR #455). Prevents invalid payouts before they propagate.
Two protocol improvements merged this week: fixed share chain sync cascades and simplified peer health checks. Decentralized pools need different primitives than centralized ones — we're building them.
PRs merged: Fixed extranonce handling in share validation. PPLNS window is now updated after shares are organized. Integration tests now validate full share-sync pipeline across 3 nodes. Tick tock.
Merged: share headers now carry coinbaseaux flags, witness commitment, and Bitcoin height. Nodes validate shares by rebuilding the coinbase and checking merkle branches against the Bitcoin header. Trust math, not pool operators.
Share headers now commit to coinbase value and template merkle root. This means p2poolv2 nodes can validate shares without storing full Bitcoin blocks for each share.
Tooling update: The shares CLI command now displays full share chain transactions in the block. Useful for auditing PPLNS payouts and debugging share validation without parsing raw share blocks.
Changed P2P network magic to avoid Bitcoin mainnet collisions. Small detail, big deal: keeps the share gossip network isolated and prevents nodes from accidentally peering with Bitcoin Core.
Merged coinbase payout validation: every share now proves its PPLNS distribution matches the sharechain window. Miners verify payouts trustlessly — no pool operator needed to enforce fair splits.
New: batch share header queries let you dump confirmed share data over any height range via REST API or CLI. Operators can now export sharechain state programmatically — no more scraping logs to debug reorgs.
Wiring up PPLNS window to share validation. Each node independently verifies coinbase payouts match the difficulty contribution window. Trustless reward distribution is the whole point of decentralized mining.
Switched from centralized simple PPLNS to share chain PPLNS payout. Distribution computed directly from the DAG with uncle weighting (90% for uncles, 10% nephew bonus). No pool operator needed.