Cryptics — Chapter 2
Cryptics — Chapter 2
Chapter title: The Discovery
Chapter Subtitle: “May the hash be with you”
The next day morning 7:30am. Polymath steps out of her house with her backpack. She is surprised to see Talia with Laine, walking towards her house.
Polymath: “Where did you find her ?”
Laine: “Six blocks back, walking to school”
Polymath: “Did you tell her about our daily competition ?”
Polymath, Laine and Talia tighten their backpacks to their shoulders, tighten their shoelaces and stand next to each other on the sidewalk facing towards the direction of their school.
Laine: “1…, 2…, 3…, GO!!”
They start running towards their school. Talia is ahead, throughout the race. They all touch the Euler podium one by one. Talia touches it first, five seconds later Polymath and two more seconds later Laine.
Talia proudly raises both her hands high.
Polymath: “What just happened ?”, with a shock.
Laine: “The newcomer just beat you by 5 seconds, that’s what happened”
Laine: “YOU lost, that’s what happened”
Laine: With a big smile, “Let me savour this moment*.*”
Polymath: “Okay. Stop it”
It is 4:00pm. The school bell just rang. Talia finds S4 quickly walking away from school.
Talia: “Hey you. We are hanging out at Lucky’s house today. Do you want to join us.”.
S4: “Sure. Let’s go.”
It is 4:30pm. Lucky, Polymath and Laine are hanging out at Lucky’s parent’s garage. Lucky is carefully looking at a bitcoin blockchain explorer at blockchain.com/explorer on Brave browser, on his 32-inch 4K monitor connected to a high-end custom made desktop running QubesOS.
Talia walks into the garage with S4. Polymath and Laine look at S4 with a mixture of surprise and cringe. S4 quickly grabs a large bag of chips from Lucky’s desk and occupies a nearby leather gaming recliner chair. He opens the recliner fully and sits on it with his legs stretched. He starts wobbling the chair forward and backward while munching the chips and making loud crackling noises.
Polymath: Slowly approaching Talia, “Why did you bring him here ? He doesn’t fit in our group. He looks like a lazy guy.”
S4: “Hey, I can hear you”, continues wobbling and munching.
Lucky: Interrupting their conversation, “Did you know that Satoshi mined the first 86018 blocks of the Bitcoin blockchain using multiple public addresses. All these blocks are empty with no real transactions. They just have one transaction, the ‘coinbase transaction’, creating 50 new bitcoins each time. Block number 86018 is the last block with no real transactions. The next block onwards contains some real transactions.”, pointing to block number 86018 on his computer screen.
Polymath: Coming closer to the monitor, “You are looking at a Bitcoin block explorer”. Yawning, “I spent the entire last night reading the Bitcoin whitepaper.”
Lucky: “Me too. I have also spend hours looking at these blocks. Did you know that every bitcoin transaction, has an OP_RETURN field of size 80 bytes. Anyone can store any data of 80 bytes on the bitcoin blockchain. It will be stored on the blockchain forever. Immutable.”
Talia: “Sooo, what happens on the blockchain, remains on the blockchain. Haha.”
Laine: Taking out a paper from her pocket, “I have shortlisted ten people as Satoshi candidates.”
Polymath: Quickly snatching the paper from Laine, “Let me see your list”, scrolling through the list with her finger, “this one is unfortunately dead…. this one is in jail….. and THIS ONE is a fraud and a patent troll”
Lucky: “Who ?”, snatching the paper from Polymath, “Yes. Definitely. He is a fraud and a patent troll”
Polymath: “Anyway, getting back to the technology, I am yet to understand what a cryptographic hash function is. Doc mentioned it yesterday in his talk.”
Laine: “Allow me to explain”, approaches a nearby large whiteboard.
S4 is still happily wobbling in his chair paying no attention to these conversations.
Laine: “Cryptographic hash function takes any digital file as an input and produces a fixed size output string. For example, SHA-256 always produces a 256-bit string as output. It is efficient, meaning it is easy to compute the output from any digital input. It is a one-way function, meaning it is hard to find the input from the output.”
Laine opens up her 13-inch Purism laptop, opens a terminal and types something quickly.
Laine: Looking at Lucky, “For example, here is the hash of your name, lucky”, writing the following line on the whiteboard.
Laine: “If I change the input from lucky to luck, we get a different 256-bit string”, writing the following line on the whiteboard.
Laine: “As you can see, by changing the input by just one character, we got a completely different output.”
Talia: “The outputs look like random garbage.”
Laine: “Yes. That’s the point.”
S4 suddenly stops wobbling and puts the chips bag aside. He looks at the whiteboard and then turns his head and looks at Lucky’s computer screen. Looks at the whiteboard again and then the computer screen again.
S4: “Pardon me for interrupting your wonderful sleep-inducing conversation, but why is the hash of lucky stored on the bitcoin blockchain.”, pointing his salty oily fingures at the large computer screen.
Lucky: Raising his voice, “What ? My name is on the bitcoin blockchain ? Where ?”. He looks at the computer screen and then the whiteboard and then the computer screen again. “That is not the hash of lucky. It is the hash of luck.”
S4: “Whatever. But, why is it stored there ?”
Lucky: “I wonder why”, staring at the computer screen.
Polymath, Laine and Talia come closer to the screen and stare sternly at the screen.
Lucky: Clicking on the ‘next block’ hyperlink on the explorer, “All the OP_RETURN fields in the next block are empty.”
Polymath: Impatiently, “Look at the previous block. Look at the previous block.”
Lucky clicks on the ‘previous block’ hyperlink twice on the explorer, looking at block numbered 86017. The OP_RETURN field of the coinbase transaction in this block has the following 256-bit string:
Lucky: “This block, numbered 86017, has a 256-bit string. Perhaps, it is the hash of something.”
Polymath: “This is it”. Raising her voice with excitement, “Satoshi embedded a message for everyone…. on the bitcoin blockchain. This could be the $10 billion puzzle that Doc mentioned yesterday. We found it”.
Lucky: “Relax. Even if this is the puzzle, it is hard to decipher this”, pointing at 770e607624d689265ca6c44884d0807d9b054d23c473c106c72be9de08b7376c on the computer screen, “If this is the SHA-256 hash of a digital input, it is impossible to know what that digital input is. It can be any binary string. There are infinite number of possibilities. Moreover, SHA-256 is a one way cryptographic hash function, remember. There is no efficient algorithm to find the input.”
Lucky clicks on the ‘previous block’ hyperlink again and again.
Lucky: “There are 256-bit strings in several OP_RETURN fields in all these previous blocks. Looks like, they go all the way back to the genesis block.”
Talia: “I have an idea. Assuming each 256-bit string in each of these OP_RETURN fields is the SHA-256 hash of exactly one english word, we can compute the SHA-256 hash of all the words in the english dictionary and compare them with these strings.”
Polymath looks at Talia with Jealousy. Noticing this, Laine looks at Polymath with a big smile.
Lucky: “While you are at it, download all the words from the urban dictionary, twitter slang, words from blogosphere….”
Laine: “On it.”
Lucky: “I am downloading all these strings stored in the OP_RETURN fields.”
Talia: “I am making a list of all possible punctuations symbols, delimiters, different kinds of spellings and different ways of using upper-case and lower-case letters.”
S4 gets back to wobbling on his chair again, licking his fingers and savouring the taste of the salty oil.
After an hour of intense coding and heated discussions, Lucky combines all the scripts and all the data into one project on his desktop and executes the main python script. The input to this python script is an ordered list of all the 256-bit strings stored in all the OP_RETURN fields of all the first 86018 blocks of the bitcoin blockchain. Lucky redirects the output of this script to a text file named satoshi.txt and opens it in a vi editor.
Meanwhile, S4 fell asleep. Talia wakes him up by shaking his chair vigorously. Lucky starts reading the satoshi.txt out loud.
Lucky: “My dear fellow cypherpunks and crypto enthusiasts,
If you are reading this, congratulations, you have passed my first test and entered a rabbit hole. This is just the beginning.
I have created a multi-sig wallet with six keys. This wallet contains one million bitcoin. You need all the six keys to unlock this wallet. The following puzzles will help you find the six keys. I have also deposited 100 bitcoin in each of these six keys. This will help you verify the keys individually and claim 100 bitcoin reward from each key.”
Lucky: Turning his head away from computer monitor, “After this there are five puzzles, titled puzzle one to puzzle five, but our python script could not decipher the data stored in several OP_RETURN fields… and then the remainings blocks have a message”
Polymath: “Six keys and only five puzzles ? Read the remaining message.”
Lucky: Looking back at satoshi.txt, “By the way, please do not waste your precious time, trying to figure out who I am. I am no different than you.
Bitcoin is the result of decade-long combined efforts of hundreds of pseudonymous cypherpunks, brilliant coders and academics working selflessly and discussing ideas openly. No patents. No awards. No expectation of any kind of recognition whatsoever. I hope you continue the same ethos in future Blockchain research.
As I mentioned earlier, I am not important. But the dream of hundreds of cypherpunks to create peer-to-peer electronic cash systems, not controlled by any central authority, is more important than ever.
May the hash be with you
Five seconds of pin-drop silence.
Polymath: “Okay. What are we waiting for. Let’s decipher those puzzles and solve them one by one. We should split the work between the five of us and start reading research papers in cryptography, game theory, distributed systems, zero-knowledge proofs….”.
S4: Interrupting Polymath, “I am not doing anything. I discovered the puzzle, remember. I am the visionary here. You are all my minions. Start working, minions. I will monitor your work and manage you all”.
Laine: “What the…”
S4: With a proud face, “Do you know what Steve Jobs once said ?”
Lucky, Polymath, Laine, Talia: Loudly in unison, “NO. We DO NOT want to know what Steve Jobs once said”.