Files that live on Bitcoin Blake2b.
bitfiles reads and writes files stored directly in Bitcoin Blake2b transactions. There’s no server holding them: anyone with a copy of the chain can recover every file, byte for byte.
How bpub works
Files are written with bpub, which hides data in places Bitcoin already accepts as ordinary transactions.
- Encode. The file, optionally compressed, is cut into 31-byte chunks. Each chunk becomes a fake public key: a valid point on Bitcoin’s curve that nobody has a private key for.
- Fund. The fake keys are grouped into 1-of-N multisig scripts, with one real key in each so the outputs can be spent. A funding transaction pays a small amount to each of those scripts. On chain they look like ordinary P2WSH outputs.
- Reveal. A second transaction spends those outputs with the real key. Spending a P2WSH output publishes its script in the witness, and with it every fake key, so the whole file lands in the block.
- Read. Given the reveal’s transaction id, bitfiles pulls the scripts back out of the witness, reassembles the chunks, and checks them against the file’s hash.
bpub v5 also records an owner: the funding transaction locks a small ownership output to the owner’s key, and passing that output on transfers ownership of the file.
bitfiles works on Bitcoin and Bitcoin Blake2b, plus Signet for testing. Browse files or upload your own.
Support bitfiles
bitfiles is free, with no ads or accounts. Donations pay for the indexers and nodes that keep it running.
bc1qpp6xa8gswxhvnltsmmuk2yqs4aur9n2jqng4gs