Johnson-Nyquist Thermal Noise and True Random Number Generators, Where a p-bit Gets Its Randomness
A p-bit needs a fresh random number every time it updates, and that number can come from a program or from physics. Johnson-Nyquist noise, the random voltage across any resistor above absolute zero, is the physical source that thermodynamic chips and several true random number generators draw on. A true random number generator, or TRNG, turns such noise into bits that no program could predict.
In short, every p-bit machine with published results so far uses either a seeded software generator or physical noise built into the device. A USB true random number generator gives physical randomness to an ordinary computer, but at a rate tens of millions of times too slow for a large p-bit machine. The choice of source can shift a measured result, so it belongs in the design of any test of substrate independence.
What Johnson and Nyquist found
John B. Johnson at Bell Telephone Laboratories measured a random voltage across resistors that depended only on their resistance and temperature, whatever the material. He reported it in Thermal Agitation of Electricity in Conductors, Physical Review 32, 97 to 109, in July 1928. Harry Nyquist explained it in the same issue, in Thermal Agitation of Electric Charge in Conductors, pages 110 to 113. The charge carriers in a conductor move at random because of heat, and their motion produces a voltage.
Nyquist’s result gives the size of that voltage. Its mean square equals 4kTRΔf, where k is Boltzmann’s constant, T the temperature, R the resistance and Δf the bandwidth of the measurement. A 1 megaohm resistor at room temperature, measured over a 1 megahertz bandwidth, shows about 130 microvolts of noise. The value depends on temperature and on nothing that a designer could program, which is the property a random source needs.
Where a p-bit gets its random number
A p-bit takes the value +1 with a probability set by its input and −1 otherwise. To decide, it compares the input with a fresh random number at every update. The table lists the sources used in the systems this site has covered.
| Source | Used by | Physical | Same output from the same seed |
|---|---|---|---|
| Mersenne Twister, PyTorch’s CPU generator | This project’s p-bit emulator | No | Yes |
| mulberry32 | The Ising console on the Thermodynamic Computing hub | No | Yes |
| Linear-feedback shift register | The FPGA p-bits of Camsari’s group | No | Yes |
| Philox | The GPU reference in the same paper | No | Yes |
| Resistor thermal noise, through a modular entropy multiplier | Infinite Noise TRNG | Yes | No |
| Avalanche noise in a diode, with an optional radio circuit | OneRNG | Yes | No |
| Avalanche noise in a semiconductor junction | TrueRNG v3 | Yes | No |
| Thermal switching of a nanoscale magnet | Stochastic magnetic tunnel junction p-bits | Yes, inside the p-bit | No |
The last row is a p-bit whose noise and logic are one device. William Borders, Ahmed Pervaiz, Shunsuke Fukami, Kerem Camsari, Hideo Ohno and Supriyo Datta built eight such p-bits from modified magnetoresistive memory cells and factored integers up to 945 at room temperature. They reported it in Nature in September 2019. Thermodynamic chips such as Extropic’s take the same route with standard transistors.
The source can shift the result
The choice of generator showed up in a measurement. In Kerem Camsari’s one million p-bit FPGA computer, the authors compared their FPGA machine with a GPU running the same spin glass. On 50,653 p-bits the decay exponents were 0.2637 on the FPGA and 0.2693 on the GPU. The authors attribute the small gap to platform differences in random number generation, shift registers against Philox, and in arithmetic. Both sources were pseudorandom, and the measured exponent still moved in the third decimal place.
A test of whether a property survives a change of substrate therefore has to treat the noise source as a variable. A change of hardware usually changes the random source at the same time. Without a run that changes only the source, a shift in the result cannot be assigned to either one.
What a USB true random number generator can do
The open design of the Infinite Noise TRNG states its physics and its numbers. Its modular entropy multiplier amplifies thermal noise in a switched-capacitor loop with a gain K set by two resistors, and each output bit carries about log2(K) bits of entropy. With K = 1.82 that is 0.864 bits. The designer’s first three boards produced 300,000 bits per second each, with a measured 259,000 bits of entropy per second, within 0.5 percent of the prediction. Adjacent output bits are correlated, so the host software whitens them with the Keccak hash before use, while the raw stream stays available for health checks.
OneRNG collects entropy from an avalanche diode circuit and optionally from a radio circuit, whitens it, and presents it over USB. Its hardware layout and firmware are published under GPL licences, so a user can check the whole noise path. Both devices carry Open Source Hardware Association certification, DE000006 and NZ000001.
The rate sets the use. If each p-bit update takes one 8-bit random number, 259,000 bits of entropy per second would feed about 32,000 updates per second. That figure is this site’s arithmetic. The one million p-bit FPGA machine made 10¹² flips per second, so a single USB generator is tens of millions of times too slow to drive it directly. On a desk, a TRNG can drive a small software sampler slowly, or it can seed a fast pseudorandom generator so that the seed itself comes from physics. The thermodynamic computing hardware guide lists these generators, with their prices and stock, beside FPGA boards that can run p-bit lattices.
What this means for the consciousness question
Functionalist emergentism, the view this site works under, predicts that a system’s properties follow from its organization. For a p-bit network, the organization includes the probability with which each unit flips, and a good pseudorandom generator and thermal noise produce the same probabilities. On that view, a property of a p-bit network should not depend on whether its randomness came from a formula or from heat, as long as the statistics match.
Brains run on physical noise. Ion channels open and close at random, and synaptic release fails at random. Swapping a seeded generator for a true random source, with everything else fixed, is one of the cleanest substrate tests that exists, because it changes only the origin of the noise. The FPGA comparison above shows the test needs high precision. Two pseudorandom sources already moved one result in the third decimal place.
Comparison to The Consciousness AI
The project’s emulator, models/thermodynamic/p_bit_emulator.py, draws every p-bit’s random number from a seeded PyTorch generator. The seed makes every run repeatable, which the project needs for preregistered tests and for exact reruns. The repository has no interface to any hardware random number generator, and no result of the project has been run with physical noise. A TRNG would not make any of the project’s results physical. It would add one controlled variable, the origin of the randomness, to a software experiment.
What is known and what is not
Known on 30 October 2026. Thermal noise in a resistor follows Nyquist’s 1928 formula and depends on temperature and resistance. Open USB generators turn thermal or avalanche noise into bits at hundreds of thousands of bits per second, with published designs. Stochastic magnetic tunnel junctions have served as physical p-bits since 2019. In one large FPGA study, the random source was one of the factors behind a small difference in a measured exponent.
Not known. Whether any property of a p-bit network, beyond its statistics, depends on whether its noise is physical. Whether physical noise sources stay unbiased enough across millions of p-bits on one chip. Whether the random processes in brains do anything that matched pseudorandom statistics would not. The wider effort to agree criteria for consciousness in any system is reviewed in the race to define AI consciousness.