Ballet wallets
Ballet wallets
bitcoin
Three BIP38 encrypted keys printed on physical wallets.
- Author
- Bobby Lee
- Prize recorded
- 2.00117358 BTC
- Still unsolved
- 2 · 2.00007358 BTC
Census
- solved
- 133%
- unsolved
- 267%
- public keys
- 133%
- private keys
- 267%
Access
- Load
getCollection("ballet") - Showballet/AA007448 in the playground
- Listall 3 in the playground
The puzzle
Ballet sells physical wallets. A card with an address and a BIP38 encrypted private key printed on it, the passphrase under a scratch panel. In July 2020 Bobby Lee posted three of them as a challenge, encrypted key visible, panel intact. One had a small balance and its passphrase was found within a week. The other two hold a bitcoin each and are open for different reasons, below.
What the records carry
A Ballet record starts from encryptedWif(payload, { passphrase }). When the passphrase is known, the record also carries the decrypted WIF and the hex, and the data gate decrypts the BIP38 payload with native scrypt to confirm the two agree. When it isn't, the record has the payload alone. hasPrivateKey() is still true, because an encrypted key is a representation of the key, and verify answers unavailable with WIF is encrypted.
export const balletPuzzleAA007448 = puzzle({
id: "ballet/AA007448",
chain: "bitcoin",
address: "1LL6Xy92LwGDRfQP9fBU7f1477cEKctr7c",
sourceUrl: "https://x.com/bobbyclee/status/1289004702122643456",
startedAt: "2020-07-24 05:46:12",
status: Status.Solved,
pubkey: compressed("0351a7b8675ac06922080803608908267ec7f5bf93ecdd78969083647ac8a67d0d"),
key: hex("a5b9247400b7e31e54481f14828ced3a538af280e9eeb1229196c3cb5e7ecdde")
.wif("L2mrYyo5a6rpyQdC88UitNeH5n1rAqPcq8Qv5gwtQE8KTvW3ZTeH")
.encrypted("6PnWfKaBfDW6mFFhhFsbNRHnVgojUhdf2b5NXP3FfwXiQ69MxEzVK2J4cH", {
passphrase: "335Y-K745-C8WT-4D2W-80WP",
}),
prize: 0.0011,
solvedAt: "2020-07-31 01:52:18",
assets: assets({
puzzle: "AA007448/puzzle.jpg",
sourceUrl: "https://x.com/bobbyclee/status/1289004702122643456",
}),
});
Each record ships the photo of its card under assets/ballet/.
Status
ballet/AA009926 has its encrypted key on the record and no passphrase. ballet/AA012381 is the other way round: the passphrase is known, the encrypted key never made it onto the record. Ballet's XXXX-XXXX-XXXX-XXXX-XXXX passphrases aren't in any wordlist, so the bitcoins are still there.
Every puzzle
One page each: the record, the transactions and the live balance.