Skip to content

Obscura v7.0.3

Latest

Choose a tag to compare

@victor-tucci victor-tucci released this 10 Sep 06:52
c919b68

Beldex v7.0.3 Release Notes

We are pleased to announce the release of Beldex v7.0.3.

This release includes significant wallet improvements, security hardening, Proof-of-Stake (PoS) fixes, P2P reliability improvements, transaction pool fixes, and database recovery enhancements.

What's Changed

🔐 Wallet & RPC Improvements

  • Added background wallet synchronization using only the view key, enabling wallets to synchronize without requiring the spend key.
  • Enhanced the Wallet API to improve wallet synchronization and related operations.
  • Fixed explicit JSON value extraction in wallet operations.
  • Fixed malformed get_transactions parameters when fetching transactions from the transaction pool.
  • Improved multisig signing security logic.
  • Added bounds validation for BNS decryption.
  • Restricted sensitive wallet RPC commands when running with --restricted-rpc.
  • Improved wallet RPC parameter validation and security handling.
  • Improved mempool key-image handling.

🛡️ Security & Validation Improvements

This release includes multiple security hardening changes identified through code review and audit activities:

  • Added safeguards for master node lookups before accessing key-image unlock information.
  • Added validation for version-list sizes before writing to fixed-size arrays.
  • Enforced equal vector lengths when processing tx_extra_master_node_register.
  • Hardened the PoS commit-reveal process.
  • Fixed unsafe worker_index access.
  • Added additional validation across wallet, RPC, P2P, and transaction-pool components.

⚡ Proof-of-Stake Improvements

  • Fixed PoS round state logic to ensure correct handling of round transitions.
  • Hardened the PoS commit-reveal mechanism against invalid or unexpected state handling.
  • Fixed worker-index handling to prevent unguarded memory access.

🌐 P2P & Flash Sync Improvements

  • Improved P2P response handling by correlating NOTIFY responses with their corresponding requests.
  • Added safeguards and limits for flash-sync height handling.
  • Fixed P2P chain-entry response correlation.
  • Improved IPv6-related P2P handling.
  • Fixed stuck flash-height tracking.
  • Improved handling of exclusive-node fallback scenarios.

These changes improve the reliability and robustness of node synchronization and peer communication.

💾 Transaction Pool Improvements

  • Added safeguards around master node lookups during transaction-pool processing.
  • Fixed key-image conflict list handling by removing duplicate entries.
  • Made transaction removal operations idempotent.
  • Improved mempool key-image handling and validation.

🗄️ BNS & Database Reliability

  • Fixed the SQLite read-width predicate used by BNS.
  • Improved BNS decryption and database handling.
  • Added periodic persistence of the master node list, reducing the risk of database loss following an unclean shutdown.
  • Improved BNS database recovery after an unclean shutdown.
  • Fixed cached blockchain height handling after blockchain recovery and database clearing.

These changes improve database resilience and recovery following unexpected node or system shutdowns.

Contributors

We would like to thank all contributors who helped improve Beldex in this release:

New Contributors

A special welcome to our new contributors:

Upgrade Recommendation

We recommend that projects integrating with Beldex update to v7.0.3 binaries and libraries to benefit from the latest security fixes, wallet enhancements, synchronization improvements, and stability updates.

Please use the v7.0.3 binaries and libraries for integration and testing, and share your test results with the Beldex development team.