DNA Provenance
GasHammer embeds provenance markers at every layer — binaries, HTTP traffic, on-chain calldata, telemetry storage, and source files. These markers enable attribution, auditing, and forensic identification.
Ref: RFC-0011.
Binary Canary
Every GasHammer binary contains a canary string in the .rodata section:
GasHammer — Adversarial load testing for rollup infrastructure.
Copyright (c) 2025-present Don Johnson.
https://github.com/copyleftdev/gashammer.
Licensed under BSL-1.1.
This string survives strip, UPX compression, and Docker layer squashing. Detect it with:
strings <binary> | grep GasHammer
The canary is defined as GASHAMMER_CANARY in gashammer-common/src/build_info.rs.
Build Metadata
Every binary embeds structured build metadata, accessible via --version:
| Field | Source |
|---|---|
GASHAMMER_NAME | "GasHammer" |
GASHAMMER_VERSION | Cargo.toml version |
GASHAMMER_BUILD_SHA | Git SHA at build time |
GASHAMMER_BUILD_TIME | RFC 3339 timestamp |
GASHAMMER_COPYRIGHT | "Copyright (c) 2025-present Don Johnson" |
GASHAMMER_LICENSE | "BSL-1.1" |
GASHAMMER_URL | "https://github.com/copyleftdev/gashammer" |
HTTP Headers
Every outbound HTTP and WebSocket request includes:
| Header | Value |
|---|---|
User-Agent | GasHammer/<version> (<build_sha>) |
X-Powered-By | GasHammer/<version> |
X-GasHammer-Version | Semantic version |
X-GasHammer-Build | Short git SHA |
The hive REST API also returns X-Powered-By on every response.
On-Chain Markers
Calldata Magic Bytes
Every transaction generated by the workload engine includes the magic bytes 0x47484D52 (“GHMR”) in the calldata. This enables on-chain identification of GasHammer-generated transactions.
Defined as CALLDATA_MAGIC: [u8; 4] = [0x47, 0x48, 0x4D, 0x52] in gashammer-workload/src/templates.rs.
Account Derivation Path
Test accounts use the HD derivation path:
m/44'/60'/0'/0'/0x4748/{index}
The 0x4748 segment encodes “GH” (GasHammer) in hex. This makes the derivation path itself a provenance marker. Defined as DERIVATION_MARKER: [u8; 2] = [0x47, 0x48] in gashammer-workload/src/account.rs.
Telemetry Storage
Parquet file footers include metadata fields:
| Key | Value |
|---|---|
gashammer.version | Software version |
gashammer.build | Build SHA |
gashammer.run_id | Associated run UUID |
gashammer.copyright | BSL-1.1 notice |
Prometheus Metrics
All metrics use the gashammer_ prefix. This is enforced by convention and verified in tests.
Source Files
Every .rs file includes the BSL-1.1 license header:
#![allow(unused)]
fn main() {
// Copyright (c) 2025-present Don Johnson
// Licensed under the Business Source License 1.1 (the "License");
// ...
}
This is enforced by scripts/check-license-headers.sh in CI.
Docker Images
Container images include OCI labels:
| Label | Value |
|---|---|
org.opencontainers.image.title | gashammer-hive / gashammer-edge |
org.opencontainers.image.source | GitHub repository URL |
org.opencontainers.image.vendor | Don Johnson |
org.opencontainers.image.licenses | BSL-1.1 |
Summary
| Layer | Marker | Detection |
|---|---|---|
| Binary | GASHAMMER_CANARY | strings | grep GasHammer |
| HTTP | X-Powered-By, User-Agent | Request/response headers |
| Calldata | 0x47484D52 | On-chain data inspection |
| Accounts | 0x4748 in derivation path | Derivation path analysis |
| Parquet | gashammer.* metadata | Parquet footer inspection |
| Metrics | gashammer_* prefix | Prometheus queries |
| Source | License header | check-license-headers.sh |
| Container | OCI labels | docker inspect |