VTA Benchmark
Deep Technical Audit

Reindex + Blockchain Recovery + Database Repair

This audit examines what a node can reconstruct from block data when its local indexes or chainstate are damaged. Reindexing, rescanning and rebuilding state are different operations; none should be treated as a generic “repair” button.

Reindex

RECOVERY

Rebuilds local block/index state from available block data according to the node's implementation.

Rescan

WALLET

Wallet rescan and blockchain reindex address different layers and should not be conflated.

Database Repair

TEST REQUIRED

Actual corruption recovery requires controlled failure experiments on a disposable node and exact release.

Recovery Flow

Block Dataavailable chain files Reindexrebuild local index Chain ValidationPoW + links + tx rules UTXO Rebuildchainstate Recovered Nodecompare with reference Three recovery layers Reindexing local blockchain indexes ≠ rebuilding UTXO state ≠ rescanning wallet transactions. The exact command behavior must be verified against the VTA release being tested. Safe verification backup → disposable copy → recovery → compare never experiment on the only wallet copy Evidence gap No controlled VTA corruption/reindex experiment has been executed here.

Audit Matrix

AreaFindingStatus
Reindex conceptReindex is a local reconstruction operation based on available blockchain data; it should not be described as a universal database repair mechanism.Architecture
Chain validationRecovered blocks still have to satisfy the node's consensus validation rules.Consensus boundary
UTXO rebuildRebuilding spendable state is distinct from rebuilding a block index.Architecture
Wallet rescanA wallet rescan is a wallet-layer operation and is separate from chainstate recovery.Architecture
VTA command behaviorExact reindex/recovery flags and their historical behavior require a release-pinned VTA Core source/manual check.Needs source pin
Crash recoveryNo controlled interruption during block/UTXO updates was performed.Not measured
Database corruptionNo deliberate corruption test or low-level database repair was performed.Not measured
Reference-node comparisonA proper recovery test should compare tip, block metadata and selected UTXO state against a clean reference node.Test method

Controlled Recovery Test Plan

1. Use a disposable VTA Core node.
2. Preserve a clean reference copy.
3. Record tip, block index and wallet state.
4. Stop the node cleanly.
5. Create a controlled damaged-copy scenario.
6. Test reindex/recovery on the copy only.
7. Verify chain tip and block metadata.
8. Verify UTXO state against the clean reference.
9. Test wallet rescan separately.
10. Record runtime, errors and recovered state.
11. Repeat with a simulated interrupted shutdown.
12. Do not use the experiment on the only production wallet/data copy.
Safety rule: Never test corruption or recovery against the only copy of a real wallet. Keep wallet.dat and private-key material offline and backed up before any destructive experiment.