VTA Benchmark
Deep Technical Audit

P2P Message Inventory + Relay

This audit maps the legacy peer-to-peer message layer used by the reviewed VTA Core codebase and separates message transport, object announcement, object request, and object relay/validation. It does not treat the existence of a message handler as proof that every peer will relay or accept the object.

Protocol

LOCAL EVIDENCE

Local VTA Core reported P2P protocol version 70002.

inv

RELAY SIGNAL

Inventory messages advertise known objects before requesting their payload.

getdata

REQUEST

Peers request announced objects by inventory identifier/type.

Network-wide relay

NOT MEASURED

No live network-wide propagation study is claimed here.

Message Lifecycle

Object Createdblock / transaction invannounce identifier getdatarequest payload block / txpayload transfer Receive → Parse → Validate → Accept / Reject → Relay Transport success alone does not establish consensus acceptance. Previously audited validation and mempool rules form the acceptance boundary. Block pathannounce → request → validate→ chain processing → relay Transaction pathannounce → request → mempoolchecks → relay policy Evidence boundaryNo measured propagation latencyor relay coverage is claimed.

Message / Function Matrix

SurfaceRoleAudit interpretationStatus
versionPeer handshake / capability informationPreviously covered by the handshake compatibility audit.Audited
verackHandshake acknowledgementUsed as the transition into normal peer messaging.Audited
invInventory announcementAnnounces object identifiers before payload transfer.Architecture
getdataObject requestRequests data identified by inventory entries.Architecture
txTransaction payloadPayload is subject to transaction/mempool validation before acceptance/relay.Cross-audited
blockBlock payloadPayload enters block validation and chain-processing path.Cross-audited
notfoundUnavailable object responseShould be treated as an object-availability signal, not successful delivery.Release-pin required
addrPeer-address sharingConnects to the separate DNS/peer-discovery audit.Cross-audited
Relay policyWhether accepted objects are forwardedDepends on object type, peer state and policy/validation conditions.Detailed test needed

Important Boundaries

Transport

Network framing, message start bytes, size limits and checksums determine whether a payload can be parsed as a network message.

Validation

Block and transaction validity is a separate layer. A well-framed message can still be rejected.

Relay Policy

Mempool/standardness rules can affect transaction relay without changing consensus validity.

Measurement Gap

This page does not claim propagation speed, percentage of peers reached, or network-wide relay success.

Release-Pinned Test Plan

1. Pin exact VTA Core release / commit.
2. Enumerate all message commands handled by the release.
3. Map inv type values to block/tx object classes.
4. Send inv for a known object.
5. Observe getdata request.
6. Return block/tx payload.
7. Record accept/reject reason.
8. Observe whether the accepted object is re-announced.
9. Test unknown object → notfound behavior.
10. Repeat across two isolated nodes.
11. Measure first-seen timestamps for propagation.
12. Repeat with valid and invalid objects separately.
13. Distinguish relay policy from consensus validation.
Evidence rule: A message being present in source code is not the same as proving that the live network currently uses it in a particular way. Network-wide relay behavior requires controlled multi-node measurements.
VTA Benchmark — P2P Message Inventory + Relay Audit. Current local protocol value 70002 is a local node observation, not a network-wide measurement.