Avatar
AVB
8671a6e5188f73e7746ccf0dd169bf4a6785438b72c121f83bfffd04f88194d1
Historian, builder of tools, maker of chocolates and code. AVB_21 on X LN: mr21@walletofsatoshi.com
Replying to Avatar Ross Ulbricht

nostr:nprofile1qyxhwumn8ghj7mn0wvhxcmmvqyehwumn8ghj7mnhvvh8qunfd4skctnwv46z7ctewe4xcetfd3khsvrpdsmk5vnsw96rydr3v4jrz73hvyu8xqpqsg6plzptd64u62a878hep2kev88swjh3tw00gjsfl8f237lmu63q8dzj6n showed me nostr recently. Reminds me of a writeup I did back in 2021 on decentralized social media:

https://rossulbricht.medium.com/decentralize-social-media-cc47dcfd4f99

I'll be mirroring my X account here and hopefully finding some good conversations.

Thank you for all you do.

If you accept a CBDC as payment, you're also going to love living in a 15 minute city gulag.

Anyone know a European company that can print / create playing card-sized cards in bulk?

I'm creating something and I think it's time to make it into a physical thing 😉

Part 9 of the 12 Food for Thought writings is done.

"Orange is the new Orange" (a look at the Bitcoin art scene)

https://allesvoorbitcoin.substack.com/p/orange-is-the-new-orange

Overview

Entropy Seed Phrase Poker generates cryptographically secure seed phrases using a card-drawing game powered by high-quality randomness. It combines two decks (blue and orange) to map card pairs to words from the BIP-39 wordlist, ensuring robust entropy for secure seed phrases (11 or 23 words).

Randomness Source

The system primarily uses LavaRand, which fetches randomness from Cloudflare's drand (distributed randomness) service, pulling 173 rounds of 32-byte randomness for high entropy. If drand fails, it falls back to crypto.getRandomValues, a cryptographically secure pseudo-random number generator in modern browsers, ensuring uninterrupted operation.

Rejection Sampling

To ensure unbiased random numbers, the system employs rejection sampling in the getRandomInt function. It discards random bytes that would bias the result (e.g., for a max value of 10, it rejects bytes ≥ 250 to avoid modulo bias), guaranteeing uniform distribution for card selection and word mapping.

Shuffling Algorithm

The decks are shuffled using the Fisher-Yates (Knuth) shuffle, an unbiased algorithm that rearranges cards randomly. Each shuffle uses LavaRand or fallback randomness to determine swap indices, ensuring every permutation is equally likely. Two instances of decks are maintained, with pre-shuffling to optimize performance.

Card-to-Word Mapping

The blue deck (32 cards: 8 ranks × 4 suits) and orange deck (64 cards: 13 ranks × 4 suits + 12 "X" cards) produce 2048 possible pairs (32 × 64). Each pair is mapped to a BIP-39 word (2048 words) via a modulo operation: pairIndex = blueIndex * 64 + orangeIndex, then wordIndex = pairIndex % 2048. This ensures each draw selects a word uniformly.

Entropy Calculation

Each BIP-39 word represents 11 bits of entropy (log₂(2048) = 11). For an 11-word seed, the total entropy is 121 bits; for 23 words, it’s 253 bits. The entropy is displayed as wordCount * log₂(2048), rounded to the nearest integer, reflecting the cryptographic strength of the seed phrase.

Checksum and Security

The Calculate Checksum feature validates seed phrases by computing a SHA-256 hash of the word indices’ binary representation, using the first few bits as a checksum (per BIP-39). The system wipes sensitive data (seed phrase, randomness buffer) from memory when requested, enhancing security.

Technical Notes

The application runs over HTTPS to protect data in transit. Users are warned if accessed over HTTP (except localhost). The UI supports light/dark modes, and the code is open-source on GitHub for transparency and verification. For best practice you can download (control-s) save as... the html page to run it locally. Or use the manual version of this page that relies on physical card shuffles you can perform yourself.

Want an open-source, fair, automatic and/or handmade way to have a seed phrase?

Don't rely on whatever a chip in some hardware wallet does.

Rely on your own shuffling of cards, or the entropy of lavalamps in order to shuffle and deliver fair entropy.

https://allesvoorbitcoin.be/toolsguides/seedphrasepoker/

(github project is in the footer)

I've created something I wanted for a long time now: a two card deck "poker" pair method for creating seed phrases.

It's just something I've built and love. Hope anyone likes it (it looks more simplistic than it is:)

https://stacker.news/items/941069

Built a whole set of tools for myself.

And a fun 'say-le clock' time chain ticker with quotes and BG music, and releasing a math tool this weekend.

Finally possible

https://allesvoorbitcoin.be/sayleclock/

I've built something new, and it's mathematically beautiful.

Few more tests and calculations and it will be open to the public.

Lage kwaliteit kranten....

The Bitcoin ecosystem has a lot of temporary commensalism.

Black Monday memes

3rd release in 3 days.

Fixed a lot of stuf.

Invent, work, iterate fast 😉

I claim " Randomizer 3000 " has more entropy than most hardware wallet generated seed words (run it locally, but online for excellent results).

https://github.com/avbpodcast/randomizer3000/releases/tag/randomizer3000_2025_04_07

https://allesvoorbitcoin.be/toolsguides/randomizer3000/

Bad market breeds bad oneliners.

The "randomizer 3000"

A tool to pick near-perfect entropy for your seed phrases.

It uses a wide range of entropy, from mid-range to die-hard (quantum generated, lavalamp, and much more)

v 2025.04.06

md5

EABF597AC3006516916DDB7798421175

sha256

42EA38F9BD711A75AA8CEC5BB122CC9D08AAEC7036A540AEAFFDF7D203383700

https://allesvoorbitcoin.be/toolsguides/randomizer3000/

The "randomizer 3000"

A tool to pick near-perfect entropy for your seed phrases.

It uses a wide range of entropy, from mid-range to die-hard (quantum generated, lavalamp, and much more)

md5

EABF597AC3006516916DDB7798421175

sha256

3464254D41B7C16113BCA59EE60F109802D4059EC7CC58A8F60D350A86D1E28B