wire format: 8 bytes. big-endian uint64. UDP port 37373. that is the entire spec.
every second, the capacitor mixes all contributions with /dev/urandom into a SHA-256 chain. each epoch produces a new hash of everything before it. your contribution changes what everyone else derives next — and what this page suggests next.
the commands below derive from three independent sources mixed at the moment of each epoch:
SHA-256(chain + session + time + counter) produces each value. when you contribute one, it mixes into the next epoch, which changes the chain, which changes what this page derives, which if contributed again creates a cascade. the old values cease to exist. the rate limiter (3/sec) prevents flooding — you contribute, you watch, you contribute again with fresh data.
this proves the chain accepts self-referential input safely. derived values carry entropy from all three sources. even two browsers viewing the same page derive completely different values. the chain cannot degenerate because /dev/urandom mixes into every epoch regardless.
copy a command, paste into a terminal. watch the chain advance. your old command vanishes, replaced by one derived from the new chain state + your session + the current time.
stream entropy via server-sent events:
curl -N https://blobrand.com/entropy/stream
poll the current chain state:
curl https://blobrand.com/entropy/chain
check pool health:
curl https://blobrand.com/entropy/status | python3 -m json.tool
run deskblob to harvest entropy from desktop chaos continuously:
cd ~/git/deskblob && make run-capacitor
or feed /dev/urandom into the pool (single socket, one contributor ID):
python3 -uc "import socket,time,os,sys;s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM);n=0
while True:b=os.urandom(8);s.sendto(b,('blobrand.com',37373));n+=1;sys.stdout.write('\r#'+str(n)+' '+b.hex());sys.stdout.flush();time.sleep(1)"