DocSpring Blog

2018 Bitcoin Programming Challenge

The puzzle has been solved!

Congratulations to Arpox, who was the first person to solve the final stage and claim the 0.125 BTC! They’ve posted an amazing write-up on Medium, so check it out if you want to see how they solved the puzzle.

Here are the Bitcoin transactions for all four stages:

I’ve published all of the source code on GitHub, and I’ve written a series of blog posts with the solutions:

I might do another one of these in 2019 or 2020. I’m not sure what kind of puzzle or competition it will be, but it should be a lot of fun! If you want to take part in the next one, you can sign up for the DocSpring Crypto Puzzle mailing list:

(No spam. I’ll only send an email about the next crypto puzzle.)

Welcome to the 2018 Bitcoin Programming Challenge!

This puzzle has four stages. You must solve each stage before you can proceed to the next stage. Completing a stage will give you the private key for a Bitcoin address. The first three stages have a prize of 0.005 BTC, and the final stage has a prize of 0.125 BTC: 1J8dc1baKVcg1gDocZSqf87pjUsKCx6AUw

If you’re the first person to complete a stage, you can claim the Bitcoins and transfer them to your own address. Good luck!

Before you begin, make sure you install a Bitcoin wallet program. You also need to know how to convert a 256-bit private key into the WIF format. Install the bitcoin-explorer command-line tool, or you can use this Ruby script.

1) PixelPerfect

The first stage is a CSS game called PixelPerfect, with 8 CSS puzzles. You are given some HTML, and you have to write some CSS that produces the target image.

If you want to skip the CSS game and start with a programming challenge, then you can start at stage 2:

2) Cubes

You are given a set of 3-dimensional blocks with different shapes. You must find the correct orientation and position for each block so that they form an 8x8x8 cube.