Collections

Ballet wallets

Three Ballet cards with BIP38 keys printed on them. One decrypted for 0.0011 BTC. Two hold a bitcoin each. One waits on a passphrase and one on its encrypted key.
load
getCollection("ballet")
puzzles
3 · 1 solved · 2 unsolved
prize recorded
2.00117358 BTC
still unsolved
2.00007358 BTC
known material
1 public keys · 2 private keys

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 verifyPuzzle answers unavailable with WIF is encrypted.

src/collections/ballet/AA007448.ts
export const balletPuzzleAA007448 = bitcoinPuzzle({
  id: "ballet/AA007448",
  address: p2pkh("1LL6Xy92LwGDRfQP9fBU7f1477cEKctr7c", "d406e9a3e9969c600cf2075631600d2079e5fe40"),
  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.

ballet.all()3 puzzles

1 solved 2 unsolved

  1. AA007448 solved
  2. AA009926 unsolved
  3. AA012381 unsolved

every name is a page · the key icon marks a published private key

@agntn/puzzles·MIT license· Public data about public puzzles. Balances come from the chains' explorers through the worker, cached for five minutes. Every key here was public before it landed in a record.