A coinbase transaction is special: it has no normal previous-output inputs and is handled differently from ordinary mempool transactions.
Previously verified VTA source defines COINBASE_MATURITY = 8.
The supplied paper records historical reward/emission figures; current live reward requires exact release and block-height tracing.
| Area | Finding | Status |
|---|---|---|
| Coinbase transaction | VTA transaction validation treats coinbase specially; a coinbase transaction is not accepted as an ordinary mempool transaction. | Source verified |
| Coinbase scriptSig | The previously reviewed transaction checks require the coinbase scriptSig to meet the legacy size bounds. | Source verified |
| Coinbase maturity | VTA main.h defines COINBASE_MATURITY = 8; the maturity calculation was previously verified in main.cpp. | Source verified |
| Historical reward | The supplied VTA paper documents an 8,000 VTA genesis reward and a stated 6,414 VTA block reward with a 0.5% weekly reduction. | Paper evidence |
| Premine | The supplied paper describes an 8.4 billion VTA premine. | Paper evidence |
| Total supply statement | The supplied paper states approximately 20,999,999,999.9769 VTA total supply. | Paper evidence |
| Current subsidy calculation | No current network-wide subsidy value is asserted here without tracing the exact release implementation and block height. | Not established |
| Coinbase reward + fees | A complete release-pinned block-validation test should verify the maximum permitted coinbase value against subsidy plus collected fees. | Test required |
| Independent overpay test | No custom block with an intentionally excessive coinbase reward was executed against VTA Core in this package. | Not measured |
1. Pin exact VTA Core release / commit. 2. Identify the block-subsidy/reward calculation. 3. Trace height-dependent reward changes. 4. Construct a valid test block/coinbase at a controlled height. 5. Verify subsidy + fees boundary. 6. Increase coinbase output by 1 unit → expect block rejection. 7. Test coinbase scriptSig size bounds. 8. Verify coinbase output maturity = 8. 9. Attempt spending immature coinbase → expect rejection. 10. Spend after maturity → verify normal script/input checks.