47
bitcoin challenger
Original Reddit Post
https://www.reddit.com/r/Bitcoin/comments/9kq7it/introducing_the_310_btc_bitcoin_challenge/
Prize Wallets
310btc (unsolved)
https://blockexplorer.com/address/39uAUwEFDi5bBbdBm5ViD8sxDBBrz7SUP4
0.31btc (unsolved)
https://blockexplorer.com/address/3NPZiNWiD7cCfXZa1D8tnEZBPgQ884cVw7
0.2btc (solved)
https://blockexplorer.com/address/1G7qsUy5x9bUd1pRfhVZ7cuB5cMUP4hsfR
0.1btc (solved)
https://blockexplorer.com/address/1446C8HqMtvWtEgu1JnjwLcPESSruhzkmV
0.1btc Solution
The grid at the bottom is hex characters
511
B20
332
328
410
530
22B
0FE
52E
D0F
7A1
65B
52C
7E7
511
2F6
56F
C4B
Above that on the image is OCT 2 2018 in small print.
Using 20181002 as a shift key, shift all the original hex values to new value as shown below.
Original Hex
511
B20
332
328
410
530
shift
201
810
022
018
100
220
decrypted hex
310
310
310
310
310
310
Original Hex
22B
0FE
52E
D0F
7A1
65B
shift
181
002
201
810
022
018
decrypted text
1AA
0FC
32D
5FF
78F
643
Original Hex
52C
7E7
511
2F6
56F
C4B
shift
100
220
181
002
201
810
decrypted text
42C
5C7
490
2F4
36E
43B
The first 310 repeating line is an indicator telling you you did it right so can be stripped, which leaves you with 12 sets of hex numbers, which when converted to decimal are all less than 2048.
Hex
1AA 0FC 32D 5FF 78F 643 42C 5C7 490 2F4 36E 43B
To Decimal
426 252 813 1535 1935 1603 1068 1479 1168 756 878 1083
Which you can map to bip39 seed words for the wallet using 1-2048 index
https://github.com/bitcoin/bips/blob/master/bip-0039/english.txt
cry buyer grain save vault sign lyrics rhythm music fury horror mansion
Alpha Channel Extraction for Salted String 1
Retrieve the alpha channel color code from the image via any chosen method (python, gimp, photoshop). Almost all pixels will have a value of 255 minus a few areas. A row of pixels on line 310 and 2800 pixels long has some modified values along with a square in the middle of the image.
The square in the middle of the image is a QR and when scanned directs you to https://bitcoinchallenge.codes/register-310/
The remaining line at the top is a binary sequence. The first 2800 pixels will be either alpha value 253 or 254, pixels 2801+ are 255 and can be discarded. Convert 253=1 and 254=0 to get a binary string.
0101010100110010010001100111001101100100010001110101011001101011010110000011000100111001010100010011001101001001001011110010111101010110010000110100100000110000010101010011001101100011010101100111010001001001010101000101101000110011011000110110101101001001010011000100101001101110010101010110001101100100010100000101100000110011010001110111001100110101011100010110101001100100010001100011000101010101011010100101101000110011011011010100000101100110011101000100011101101001011101100111010001000110010110010100010000001010010011100011010101011010010000110101001101101011010000100111100101101110011011100101011001110001010000100110000101110111011011000011010001110000001110000111011101001011010011110011000001001111001110000111101001001001001101100100010000110000010000010011000100101011010101100100010101010110010000110101010101111001010001010111011001000101011001010100111001101111010101010110011001000111011000110101001100110000010001010110110000111001011001000011100100110011011101100111001101010000011110000110001001100111001101110000101001000100001101010110000101110110011101010110011001010001011100110101001101100011011001110111001101101011001100110101000101000101011101000111000100111001001011110100110100110100010001000110111100110011001100100100111101001011010001100110010101110001001100000011000000101111001100110100111001110010011110000101011101001111011100110100110101101101011010000011001101000001010110000110110101000100011110100111010101110101010110100011000001110001011011010101101001100001010010010011011101110010011001010011000100110110000010100100011001100011010110000100100101110010011011010101000001010000011010010101000101000100010011110100100001010010011000110011011101110111011101000011000001101110011001110011011001110001010011000110100101001110011110100011011101010110011100010100010101010011010100100101010001100100011110000101000001001111011000010110100001001011010001100101001001101011010101110101010000111000011100110101010000101011010101010111001000110010011110010010101100110010011010010101101000110010010011000100010101100001011110000100111000001010010011010011011101010101010110100111000101100011010100000111011101011001011001110110110100110110010001100110111101001011010011110101011001101010011011100111000101100100011001010110011100110011001100000101001000110010001101110110101001100011001101100100000101101111010001100101000001111001010100100101101000110010011001110011100000101011010001010100101001001101011100000011001101101110001011110111000001100110001110010011010001101111010100110100001101001100010001010101011101101011011000110011000001101111011100110000101001101010010010000011100101000100011100010110001001001101001101100100010001010101011100000111010001110101001100110100100001001010011000100100000101010110011101110101100001010001001111010011110100001010
and then convert this to ASCII to get the text below.
U2FsdGVkX19Q3I//VCH0U3cVtITZ3ckILJnUcdPX3Gs5qjdF1UjZ3mAftGivtFYD
N5ZCSkBynnVqBawl4p8wKO0O8zI6D0A1+VEVCUyEvEeNoUfGcS0El9d93vsPxbg7
D5avufQsScgsk3QEtq9/M4Do32OKFeq00/3NrxWOsMmh3AXmDzuuZ0qmZaI7re16
FcXIrmPPiQDOHRc7wt0ng6qLiNz7VqESRTdxPOahKFRkWT8sT+Ur2y+2iZ2LEaxN
M7UZqcPwYgm6FoKOVjnqdeg30R27jc6AoFPyRZ2g8+EJMp3n/pf94oSCLEWkc0os
jH9DqbM6DUptu3HJbAVwXQ==
The start of this string is "U2FsdGVkX1" which converts to "Salted__" in b64 to ASCII which indicates openssl was used to make it.
Red Channel Extraction for Salted String 2
Reviewing the grey bits channel of the image shows that not every pixel follows normal grayscale of R=G=B. In a few cases, specifically on line 310 where alpha was changed we can see R=GB is not valid and spans the full 2944 pixels of the image.
This time you will extract the LSB (least significant bit) of the Red channel for row 310 via any prefered method. This will give you the binary string below.
1011010101000110101100011000010010000100111100110001101011001111101001111100110110000010111011111001100011110111110100001101010101101000011101011101010110001011100110101100110010011100011110010011000011101001110110101000110111011001000100000011011110101100000000100110000010000011110000010110100010101101110011001110111111011111111011001100010100000111000010100011101001110100110000100001101110010001011100011010101001100011100011000000111110110011101111001110000110001010001010110010101100010001010011000101000100011100010101000000111001011001101110010000101100010111101111001000110101000011111110100100100101010011001100000010010101011001010010101001000000000000011001101111000010011110111111011110010100111000000101001001001010011001111000100010100100100110100100100101101111101010110001000101100010011000111000110010101110001000110000110000111111000111001101000010010000111100111101110010001001001000101010000111110101000110100101001110110111011001111100001000011010111101110101101000000111000101001101111101000000001101011010011100101101011111000001111101011000111011000100110001111110010111000001011110010100100000111001101011011000101111110010000011111000001111001101111011101110100101101000100100101000101001001000101000010110010001100011111000110000111111101101001000110101001100100010001000110101010100011001101111000111010111111100010110001110110001010110010111101000000111111010001100100000100101010101000100001101100110000111000011001110101001011000010111110011100011000010010101011111010010010101011000010000010111101111001101111000101000100110100100001001000000100110110100001011001000111001111011100001011111100011011110110101010010001101110011000000101011110001110000000011110010001000011100000010101111010111100110000001001111111101100100100111000011010111010010010101001011110100100000111001011100101111000000110011001011100011001100111000111011011000000110000101011110011000111110011101101011101111001111001010010100001101011010111111010101101010101000110111001101100001101101010011001101100101101010010111001101101100111011101010011110100001111011000111110101101100101100100010101010101001011000111010011100101011111000100010100110100110001001001011001001101110011001000010110100101100001010100110010101100100011000111010011011100110101001100011001100110011111010110111001101110010001001010110011100110010011011111010010000101110011010111110000110101011011010010111001101100110001100011111010100101110101011010110110010100011111100110010010001110100001000111110011001110001101100101110010000101011001011110010110011101110101010100010010100100111001100111110010000100011001111010110010101101101111100011010111011100011101001110110110010110010011011101110101010100011111000101110001010110011001011011110110101100111011011111010101001100010001010011110101110110000101100001011110101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
You will already notice you are onto something as all the bits after the 2800th pixel are zeros which is when the alpha channel binary ends so you can remove those. XOR these 2800 bits with the 2800 bits from the alpha channel to get the binary below.
1110000001110100111101111111011111100000101101000100110010100100111111111111110010111011101111101010101110111110111111111111101000111110001101101001110110111011110011111111111111111111001011110100010010100000100011101101011111101010011100110101110011100101010011100010101011101101100101000000101111001001100111001011011111101100101010111011011000110010011110110101000000010000100001000010101011000100000110111111000001010000111000010100111011010101110010001010011011100011010111010101111101010111000101010001010100010110000110100011101100000011111110100101100001111100111111101111010000101101100101000001111100100010011100100100010000101110001001101010010001110000010111101000011111010101101100101101010101110111001011001110100011010000110101000110110100010110110100110110101011000001100100100001110111001110101000000111111011110001100001100111100110000010010100010110101001010011101000100100010000001111110010110010111001110110110100011000000111100000100101001011111110001110101000001111001010010101010011111011001001101010010111101100000100011011001100101011011101001101011001100111100111000110011101101011011001000011100000011100010101000100111110110110111101001010010000111100101010011100100011010000011100011101011001101110101010100010101111011100001101110100111100101110100000111101101110001011110101111011010101011011111110100101100010010011010011111110001010100011011101101010100000001111101101100100000011000010111000100010011001100100011011011100001110110100110010010010011001000000110110110011000111001011001101100101110110011110111100011110100100000000010000100011110000110000101110111010100010101110100000001111111001001011110000010110011110000111100001111001101001000011011110000101010101011111000011000001001110010101011000111110101110100010000010001101001001110001001000011101101000110100101100001111111011100101100010101111111101001001111001110100000000010000100100010101001001011011010100000000111010111010011010101100010001101111101111111110111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
Again you will notice that after pixel 1960ish all the values become the same again indicating something is going on. Flip the bits (swap 1 and 0) to make the trailing string all zeros and convert the string to hex (you can also remove extra trailing zeros). You will notice it starts with “1F 8B 08” which is the header for a gzip file.
1f8b08081f4bb35b0003444154410005c1c96244300000d0bb5f7128158ca31ab1d5126bf4366348135449cd84afef7bd53be40faf1eb12a37591ca2a0a8eaeae9e5c4fc05a783010bd26be0dd8dbbd1d95b8fa1782a4d2a88d3172f2b92e92c953e6de2315f810e79867dae95ac5dbbf034d1892e7e1f6b40715f0d6ab04d95a13ee4cd48b29986398949bc7e3abb0490b5bc356372f8e299155d423c8b0d17c2474284aa405a76cb01d5c8957f049bf3d1dd99b923c4b36d9bf24ce34c9a2610e16ffbdc3cf4457517f01b43e98787865bc87aaa0f3ec6a9c145df72d8ede25cb4f011a7500b618bfef6eada4aff145953b904010000
Convert this string to b64 and then decompress the file however you want. (online works too http://www.txtwizard.net/compression)
b64
H4sICB9Ls1sAA0RBVEEABcHJYkQwAADQu19xKBWMoxqx1RJr9DZjSBNUSc2Er+971TvkD68esSo3WRyioKjq6unlxPwFp4MBC9Jr4N2Nu9HZW4+heCpNKojTFy8rkukslT5t4jFfgQ55hn2ulaxdu/A00Ykufh9rQHFfDWqwTZWhPuTNSLKZhjmJSbx+OrsEkLW8NWNy+OKZFV1CPIsNF8JHQoSqQFp2ywHVyJV/BJvz0d2ZuSPEs22b8kzjTJomEOFv+9w89EV1F/AbQ+mHh4ZbyHqqDz7GqcFF33LY7eJctPARp1ALYYv+9uraSv8UWVO5BAEAAA==
Decompressed gzip
U2FsdGVkX1+WPMJQISUVUvGRg7p4zCX4jIODIGb6b6cAreXFxv0WOxgCeSw9K+im
THiWMkRq45FsPXHs3TjYqcJz7QzQ8HeM340EwWQWXAi0fVy+r6NPmiJRgMgMqLCu
4Q9o/WkNyHxvPScNgG9jf8gskggx10FiTcoyF1KE+nxjmRkEuj7uQQsPrrlRP3sj
ll4KXhAzrGQZi5E4sajQOBGQfaJjei5fHXXO6sxeYsFcuxzo3JdMOF3JFYQtuUDY
The start of this string is "U2FsdGVkX1" which converts to "Salted__" in b64 to ASCII which indicates openssl was used to make it.
Mirror Mapping
Mirroring the 6 curves about the vertical axis x=1412 connects them all to 10 characters.
Original Image
The original image found to have generated this image is located below. It has been converted to grayscale and had the following photoshop filters applied. Stained Glass, Texture and Graphic Pen.
https://www.goodfreephotos.com/albums/other-landscapes/light-shining-through-the-trees-in-the-forest.jpg