PROJECT BOREAL - 20 GiB DATASET RESEARCH NOTE
8 November 2026 | Candidate, not a consensus change

CONCLUSION
A 20 GB or 20 GiB DAG does not prevent ASICs. It may make some existing
hardware incompatible and increase memory cost, but new ASICs can attach
external memory. CPU RAM, FPGA memory and specialized architectures remain
possible. How many bytes are actually touched, dependencies between reads,
arithmetic, verification and time-memory tradeoffs matter more than allocation
alone. A shared DAG is not a separate 20 GiB requirement per hashing core.

ETHASH PRECEDENT
Ethereum's primary documentation explicitly records that ASICs were developed
despite Ethash's memory-hard design. Ethereum's execution-spec documentation
also describes light verification using a cache and regenerated data items.
These are precedents, not security proofs for a new construction.
https://ethereum.org/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/ethash/
https://ethereum.github.io/execution-specs/src/ethereum/ethash.py.html

UNITS AND PARTICIPATION
20 GB = 20,000,000,000 bytes. 20 GiB = 21,474,836,480 bytes.
Use explicit byte counts in a consensus specification. Neither leaves useful
headroom on a nominal 20 GB card. A 16 GB GPU cannot hold the full dataset in
local VRAM. Nominal 24/32 GB devices are candidates only; leave capacity for
the runtime, display, scratchpads, outputs and job data. GPU memory capacity
does not establish competitive performance. NVIDIA lists the RTX 5090 at 32 GB.
https://www.nvidia.com/en-us/geforce/graphics-cards/50-series/rtx-5090/

RECOMMENDED EXPERIMENT
Measure 4, 8, 12, 16 and 20 GiB allocations where supported. Keep kernel and
traffic parameters controlled. Compare end-to-end useful work per joule and
capital cost across CPU RAM, multiple NVIDIA GPUs and AMD. A high-memory
minimum narrows participation and may concentrate mining, so do not make it
a protocol rule merely to exclude existing hardware.

ADDED SOURCE
miner/dag_probe.cu is a synthetic allocation/fill/dependent-read probe.
It is NOT a cryptographic DAG, proof of work, ASIC-resistance demonstration,
security primitive or hashrate benchmark. Non-cryptographic dataset entries
can be regenerated cheaply: a real miner could bypass storage in this toy.
This intentionally demonstrates why an allocation alone proves nothing.
The probe materializes memory to measure accesses, not to impose a secure
memory-hard requirement. Logical read bytes are not measured DRAM traffic.
It checks 16 GPU lane outputs by independent host reconstruction when run.
No CUDA compilation or hardware run has been performed here.

BUILD / RUN AFTER INSTALLING A COMPATIBLE CUDA TOOLCHAIN
cmake -S miner -B build -DCMAKE_CUDA_ARCHITECTURES=native
cmake --build build --config Release
./build/dag_probe 4 256
./build/dag_probe 20 256
On Windows use build\Release\dag_probe.exe.
Use an idle GPU; this creates real compute/memory load. Stop other GPU jobs
first. The program rejects allocations without a 1 GiB free-memory reserve.
That reserve is an operational starting point, not a universal guarantee.
Record GPU, driver, toolkit, power limit, clocks, temperatures, wall power,
free memory and source revision alongside output. Repeat only after checking
correctness and temperatures. A synthetic probe result cannot predict the
hashrate of an unspecified final mining algorithm.

FURTHER DESIGN REQUIREMENTS
Specify deterministic epoch data, seed commitments and bias resistance,
dataset generation cost, verifiable item derivation, address selection,
mixing, target encoding and domain-separated final hashing. Bound light-node
verification and invalid-work rejection. Measure reduced-memory attacks,
on-demand recomputation, caching, host-memory spill and large-batch sharing.
Do not introduce frequent algorithm changes as an untested ASIC guarantee.
Post-quantum signatures are a separate security requirement from mining.

STATUS
The earlier 8 GB GPU compatibility goal remains an open research option.
This note evaluates a larger candidate; it does not silently replace the
whitepaper or establish a final network requirement. Daily scheduled reviews
are configured. There is no continuously running node or live coin to monitor.
