Address construction starts from public-key material and derives a payload used by the address format.
Human-readable encoding adds a version/prefix and checksum before Base58 serialization.
The exact VTA address prefix/version-byte values should be read from the pinned release source, not guessed from another coin.
| Area | Finding | Status |
|---|---|---|
| Base58 concept | Base58 is an encoding layer; it is not a cryptographic authorization mechanism by itself. | Architecture |
| Checksum concept | Base58Check-style addresses include checksum data so decoding can detect common transcription/corruption errors. | Architecture |
| Version/prefix | An address version distinguishes the intended address format/network namespace. | Architecture |
| VTA version bytes | Exact VTA prefix/version-byte constants are intentionally not hard-coded here without release-pinned source evidence. | Needs VTA source pin |
| Public-key encoding | Compressed/uncompressed public-key representation affects the derived key-hash payload and therefore the resulting address. | Protocol concept |
| Address vs script | A valid address string does not prove that a transaction spending its associated output is valid. | Verified architecture |
| Wrong checksum | A modified Base58Check string with an invalid checksum should be rejected by the decoding/validation layer. | Format rule |
| Invalid prefix | A syntactically decodable address with an unexpected network/version prefix should not be treated as a valid VTA destination. | Format rule |
| Live VTA address test | No live address-generation/decoding corpus was executed by this package. | Not measured |
1. Pin exact VTA Core release / commit. 2. Locate base58.cpp / address classes / destination encoding. 3. Record exact version bytes and payload length. 4. Generate a fresh test key on a disposable wallet. 5. Derive its address using VTA Core. 6. Decode the address and recompute the checksum independently. 7. Flip one character → expect checksum failure. 8. Change the version byte → expect wrong-network/prefix rejection. 9. Test compressed and uncompressed public keys. 10. Confirm the decoded destination maps to the expected scriptPubKey.