Collections

Bitimage

Corey Phillips turned photographs into seeds in 2019. The kitten fell in a week. The second image needs a passphrase nobody has posted.
load
getCollection("bitimage")
puzzles
2 · 1 solved · 1 unsolved
prize recorded
0.01097033 BTC
still unsolved
0.010019 BTC
known material
1 public keys · 0 private keys
bitcoinstarted 2019-06-28 to 2019-07-03 open bitimage/kitten in the playground

The puzzle

Corey Phillips wrote a three part series on turning a photo into a private key. Hash the image bytes, use the hash as BIP39 entropy, derive along m/84'/0'/0'/0/0. Then he funded two addresses from two images and posted them. The first image was Andreas Antonopoulos's kitten tweet. Solved in six days. The second adds a BIP39 passphrase on top of the image hash, and it's still open.

What the records carry

This is the collection that exercises the entropy part of the key builder. The kitten record has a derivation path, no phrase, and an entropy block with the hash and where it came from:

src/collections/bitimage/kitten.ts
export const bitimagePuzzleKitten = bitcoinPuzzle({
  id: "bitimage/kitten",
  address: p2wpkh(
    "bc1q57euh23y3qs2f9d5mtwpax5lqecfvrdkqce82a",
    "a7b3cbaa248820a495b4dadc1e9a9f0670960db6",
  ),
  sourceUrl: "https://corey-lyle-phillips.medium.com/…",
  startedAt: "2019-07-03 02:48:04",
  status: Status.Solved,
  pubkey: compressed("021209b131dfbd1efcfe15b1d1e92002653f5fc98e9ff6cb73a0d70153dbe58463"),
  key: derivation("m/84'/0'/0'/0/0").entropy(
    "1808d35318ac7cb98b69ff9779b699d6a631f15e0b353ac89b7c4020774832ed",
    source(
      "https://twitter.com/aantonop/status/603701870482300928",
      "Antonopoulos kitten tweet (May 2015)",
    ),
  ),
  prize: 0.00095133,
  solvedAt: "2019-07-09 21:26:12",
  assets: assets({
    puzzle: "kitten/puzzle.jpg",
    sourceUrl: "https://twitter.com/aantonop/status/603701870482300928",
  }),
});

A path and an entropy hash aren't a secret in the library's sense. secretOf wants a phrase, so hasPrivateKey() is false here and verifyPuzzle answers unavailable. The hash is the puzzle's statement of what the seed was built from, kept for whoever wants to reproduce the derivation. The second record marks its passphrase as Required instead of inventing one.

Status

One solved, one open. The open one is bitimage/kitten_passphrase, 0.01 BTC, and the image is in assets/bitimage/.

Every puzzle

One page each: the record, the transactions and the live balance.

bitimage.all()2 puzzles

1 solved 1 unsolved

  1. kitten solved
  2. kitten_passphrase 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.