The solver is getting ready to publish his own walk-thru explaining how he decoded the painting. And when you read it you will see that 1) It didn't require to be brute forced. 2) I'll quote him here as he hasn't published the document yet, but he says "Number of permutations of the three data channels multiplied by the number of possible interpretations of channel states yields in 48 options."
So after reading how befuddled people are on this thread that there were too many possibilities and it wasn't fair, I see why this person walked away with the prize and I think he did a fine job. I'm looking forward to his published walk-thru, as it shows he is a brilliant and logical thinker.
Maybe you guys read my summary ?
I will follow with a tradition shared by
yt_coin_artist and
yt_co.in and red out the important pieces
All elements of the puzzle solution were disclosed in the open in this thread of bitcointalk forum before or on Jan 28th. It is:
0. alphabetcanary figuring out the pacemaker and the only route to read through the segments. Without the pacemaker the solution would not be possible (too many possibilities to order segments to do the search).
1. smracer suggesting to include the blob as the 4th stream of data (joint effort with zbyszek2) and I may say modestly that I liked and forced that idea too
2. crax0r figuring out that the pacemaker was just the artefact of the 0s on each second flame length xored by the key-string 011010
3. bug.lady, sblitz - observation, that the ISO-8859-1 and the Code Page 437 were full byte encodings and they were in essence the same encoding when restricted to digits and letters. Maybe it wasn't mentioned, but one (one who was looking for such things after crax0r's remark) could see that digits and letters had encodings starting with 0 as the first bit, and having every 8th bit equal 0 aligned nicely with the information that each flame coded 4 bits and every second flame height was 0 (after xoring).
4. zbyszek2 noted that the bit streams were correlated with each other - it kind of suggested that they should be the part of xor too.
What crax0r had wrong was that the xoring by the key-string 011010 was not restricted to length only, but it went in a kind of circle throughout all bit streams, but it could be figured out as per the observation 4 and moreover one was able to see that in that way the 0x1x1x pacemaker was preserved too.
Thus, the length stream (with the 0s) was bound to be the first bit of 4 for each flame and what was left was:
1. to figure out the coding (what value is 0 and what is 1) for remaining 3 data streams (2^3=8 possibilities here) and
2. the order of the remaining 3 streams (3!=6 possibilities),
which totalled to
6x8=48 possibilities. It was only a matter of time that it would be figured out by somebody on this forum.
(...)