DinoX Puzzle #1 — Solution

DINOX
6 min readJul 8, 2021

As we value our community and how it’s growing, we decided to create an epic puzzle with lucrative rewards. Hidden inside the puzzle was a private key for a wallet with 0.5ETH and 1 DNX egg. These types of puzzles pop up from time to time in a variety of crypto projects, so we took inspiration and created our own. The idea was simple: take a standard private key of a wallet, load it with funds, and encrypt it into a dinosaur image.

People following us for some time could probably notice two unexpected features on the image that weren’t shown in any picture or promotional material before. First of them are the spikes on dino’s back. Even though the dino itself is occasionally used on teaser artworks, it was never before shown with spikes. The other feature was the jungle vines coming from the top of the picture and remaining behind the dino.

After a short time, we released a 3rd feature on the puzzle picture, and that was “the hint’ in the bottom last 3 pixels. This hint will be relevant later in this article, as it will show the best way of decoding the key.

JUNGLE VINES

Interested eyes would catch a few features of these vines. First, there are exactly 32 of them. This number is a good and interesting number, because it can show us that we are going the right way. Considering private keys for ETH wallets are 256 bits in length, it would be 32x8 to get the full necessary length in bits. The same interested eye should now be able to point out another visible feature on the vines — flowers on each of them. There are exactly 8 flowers on each one, and they are in two colors — dark green and light green. These two colors should indicate that we are looking for binaries spread around the vines, or in another language 0s and 1s. In the technology world, black means 0 and white means 1. In this puzzle, it was dark = 0 and light = 1. Let’s make an example:

One could see that there are many ways of putting the 256 long binary together, as it can be left to right, right to left, bottom to top, etc. We never said it would be easy! We didn’t want the puzzle to be solved in just a few hours, so by giving more options and ways of putting it together we could ensure it was a higher level of difficulty.

Solvers should write these numbers in groups of 8, for example in a table or in excel, and then put them together in different combinations as needed. The right way of doing it though, was to go from top to bottom on each vine, starting from the left and going to the right. The resulting binary then looks like this:

0000000011101110101010101001101011100101110111101100000000101011011011101010101010001101001101000100111000000011010011001110000110101010010101010010110111000010011111100001001001101001110011110101010010011010111100010001001011101001111010001010000110101010

DINOSAUR SPIKES

Similarly to the vines, one could notice that there are again 32 spikes. And the same thinking should be applied here too: Can we find 8 bits in every one of these? The answer is yes, but it’s not as straightforward as with the vines. These spikes are not just one pixel, dark and light. On the other hand, we can notice a few varying features that could help us find these 8 bits:

  • Every spike has a different color, and there are 4 colors in total
  • Every spike has a different width, ranging from 1 pixel to 4 pixels in width
  • Every spike has a different height, again, ranging from 1 pixel to 4 pixels
  • The spacing between spikes varies, ranging from 1 pixel to 4 pixels (from black border to black border)

So we have 4 features, each of them with an entropy of 4 (meaning it can have 4 different values). 4 features with entropy of 4 will give us exactly 8 bits. Easier to figure are number valued features. Let’s break it down with an example of the width of the spike:

If the spike has a minimum width of 1 pixel, we give it a value 0, if its width is 4 pixels, the value is 3. Putting it into binary the values then can be:

00, 01, 10 or 11 — as you can see, the feature can be written in 2 bits. 4 features times 2 bits equals the 8 bits we were looking for. There are just 2 questions left now for these spikes. What’s the order these bits should be put together? And how are the colors coded into these 2 bits?

The order once again is up to the solver to try and combine (but don’t stop reading, that’s where the hint will come handy). And the colors are the same way, but just so you know, it wasn’t random, as the color values range from darkest to lightest (from 0 to 3, or in binary from 00 to 11).

The right order and way of putting together these 8 spikes was:

Width, Height, Distance, Color

And to put all 32 spikes it should go from head to tail. The resulting 256 bit long binary is then:

0000001011001000010010101000111000010100000001101111100101000000000000010001111100110100111010111010100101101011100000011101100001010110101000001001000111001010110100001011111000111001011100001011111100101100100011101001011011111110100000000110000000100100

TWO BINARIES, WHAT NOW?

Well, there are only a few operations that can be done to combine two binaries of the same length so the resulting binary still has the same length. The most used is an operator called XOR (you can read more about it here for example https://en.wikipedia.org/wiki/Exclusive_or). Doing XOR with these two together, you end up with following binary:

0000001000100110111000000001010011110001110110000011100101101011011011111011010110111001110111111110011101101000110011010011100111111100111101011011110000001000101011101010110001010000101111111110101110110110011111111000010000010111011010001100000110001110

Now the last step would be to translate it into hexadecimals, so we can import it into our ethereum wallet. Doing so, you end up with:

0x0226e014f1d8396b6fb5b9dfe768cd39fcf5bc08aeac50bfebb67f841768c18e

Boom! That’s the key for the wallet with all the rewards!

Wait, what about the hint?

Ok, now this is where the method of solving the puzzle becomes more clear. First of all, surprisingly, only the most right part of the bottom line is important. Black and white varying stripes on the majority of the width is totally not important. Looking at the remainder, we are left with this:

We can already see a few features of this “barcode”. There are a few green lines, one “^” sign, and one green dot. There are blocks of black and white stripes with dark green spaces between, each of these blocks has a width of 8 pixels and the last block is a bit messy because there are 3 visible lines and the middle line contains colors of spikes.

Let’s unwrap the simplest blocks of stripes first. These are ASCII binary codes. So we need to translate those colors into binary first (black is 0 and white is 1) . From left to right it’s:

01001100 00110010 01010010 ^ 01010100 00110010 01000010

Then there’s a green dot, after which we can continue:

01010111 01001000 01000100

And then there’s the messy block with colors, from which we are going to take just the first line and we get:

01000011

Using ASCII translators or tables, we can translate these into:

L2R ^ H2T WHDC

These are short for: Left 2 Right ^ Head 2 Tail — Width Height Distance Color

The last block of stripes, the letter “C” then in the next two lines explains which color is which binary value: from dark to light yellow: 00, 01, 10, 11

So now we have all that we need. Values, orders, colors… the last thing was the XOR, which in technology uses the symbol ^.

We hope this breakdown was helpful and can assist you in solving future puzzles, whether it’s another one from DinoX or a different project. Stay tuned for more awesome giveaways, prizes and contests as we have a lot coming up soon!

About DinoX

DinoX World is a combat and strategy game in a sandbox environment. A beloved gameplay genre blended with a fan-favorite theme of dinosaurs. Players build dino kingdoms, rally resources to expand, build combative skills to occupy others, and due to the benefits of the metaverse, retain true ownership of the game.

Website | Telegram | Telegram Announcement | Twitter | Medium

--

--

DINOX

Multiplayer Metaverse Game – Dinosaurs and Adventurers