1. Full corpus run
The B3Chain test corpus is one shell script —
contrib/testing/tools/run-full-corpus.sh
— that runs every layer of verification end-to-end and writes a
summary.json + per-test .log into
contrib/testing/results/<utc-timestamp>/. Below is
the latest published run.
| ID | Suite | Result | Duration | Notes |
|---|---|---|---|---|
| cpp_pow | C++ pow_tests (b3chain-specific) | PASS | 0.2 s | magic bytes, ports, DNS seeds, early-diff guard, B3PoW hash, budget |
| cpp_b3pow_scratch | C++ b3pow_scratch_tests | PASS | 0.2 s | 4 cases incl. consensus vectors C++ ↔ Python parity |
| cpp_b3pow_cache | C++ b3pow_cache_tests | PASS | 0.2 s | LRU eviction, thread-safe lookup, cache-pair re-use |
| cpp_crypto | C++ crypto_tests | PASS | 0.7 s | BLAKE3 primitive, AES, ChaCha20, HKDF, etc. |
| cpp_validation | C++ validation_tests | PASS | 0.2 s | block validation, chain selection, mempool |
| phase11_master | Phase 11 self-audit (run-all.sh) | PASS | 3 m 30 s | 11 audits PASS — see § 2 |
| verify_b3pow | B3PoW-Scratch reference verifier | PASS | 3 s | offline check against b3pow_consensus_vectors.json |
| feature_b3pow | Functional test feature_b3pow.py | PASS | 1 s | spec-version, dual-hash, budget, header-cap on a live regtest node |
| stratum_pool | Stratum pool audit (P-1 … P-4) | PASS | 1 s | 14 / 14 checks (10 static + 4 node-test) |
| stratum_v2 | Stratum V2 audit (S-1 … S-6) | PASS | 4 s | 17 / 17 checks (11 static + 6 node-test) |
| bitcoin_inh | Bitcoin inheritance audit (full ctest + functional) | PASS | 2 h 11 m | captured separately at run 20260519T095923Z |
| compare_all | BLAKE3 vs SHA-256d compare suite | PASS | 31 s | throughput + algorithm-properties table |
All 12 / 12 corpus stages PASS. Raw logs live next to the
summary.json in the same results directory and are
committed to the repo for permanent traceability.
2. Phase 11 self-audit
| ID | Audit | Result | Notes |
|---|---|---|---|
| C-1..C-4 | Supply cap & halving | PASS | 9 / 9 checks |
| H-1 | PoW / block-ID isolation (B3PoW-Scratch v1.1.1) | PASS | 10 / 10 checks |
| H-1.1 | B3PoW verifier wall-clock budget enforcement | PASS | 6 / 6 checks (static + ctest) |
| H-1.2 | B3PoW LRU scratchpad cache | PASS | 6 / 6 checks (static + ctest) |
| H-1.3 | HEADERS-batch verification cap | PASS | 4 / 4 checks (static) |
| N-1 | Network isolation | PASS | 15 / 15 checks |
| W-1 | Bitcoin address rejection | PASS | 8 / 8 checks (36 addresses) |
| B-1 | SIMD BLAKE3 differential (primitive only) | PASS | 4 / 4 checks (1 037 inputs) |
| B-2 | Rebranding regression | PASS | 6 / 6 checks |
| W-2 | HD wallet coin_type 9333 | PASS | 9 / 9 checks |
| A-1 | 51% double-spend simulation | DEMO | 4 / 4 checks (regtest) |
Detailed property descriptions in
doc/SECURITY-AUDIT.md.
3. Performance markers
run-all.sh4. Reproduce
# 1. Build the node + tests.
cd b3chain && mkdir -p build && cd build
cmake .. -DBUILD_TESTS=ON && cmake --build . -j$(nproc)
# 2. Run the full corpus. Skip the 2-hour Bitcoin-inheritance step
# with SKIP_BITCOIN_INH=1 if you have already run it once.
bash ../contrib/testing/tools/run-full-corpus.sh \
../contrib/testing/results/$(date -u +%Y%m%dT%H%M%SZ)
# 3. Or run individual suites manually.
./bin/test_bitcoin --run_test=b3pow_scratch_tests
./bin/test_bitcoin --run_test=b3pow_cache_tests
python3 ../contrib/testing/verify-b3pow.py
python3 ../test/functional/feature_b3pow.py
bash ../contrib/testing/audit/run-all.sh
bash ../contrib/testing/compare/run-all-compare.sh