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:
- 1CSSrZSSRf1RyShKGsYXwJzzsjPXi7p7gz (0.005 BTC)
- @loueed on Hacker News
- 1CubeqWWJp39eGEZt8S8K5MCc8XqmjsCNL (0.005 BTC)
- 1TrexT3K6sHy5N8qcAdbfSw8vvFK2JWy3 (0.005 BTC)
- 1J8dc1baKVcg1gDocZSqf87pjUsKCx6AUw (0.125 BTC)
- @Arpox on Medium
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.
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:
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.