Decoding EOS — Mainnet Secrets and Easter Eggs

What an amazing day! The mainnet has officially launched—EOS transactions were opened up at 1300 UTC to the world! EOS is an exciting project that this today could be one of the most historic days of our lives.

In celebration of the launch, I thought it would be fun to write a little article about some of the hidden messages I have found in the keys and blocks of the mainnet… First, let me summarize how the mainnet launch has gone down.

After a week of testing, validation, deliberation, and some software updates from Block.One — the independent and self-appointed community of Block Producers reached 100% alignment and launched the mainnet officially. The mainnet is now a network of over 200 community nodes around the world synchronized with one another to produce the EOS Blockchain.

The mainnet boot process and snapshot injection of the EOS ERC-20 was led by an secret team known as the Appointed Block Producer (ABP). Although some people call it the “Anonymous Block Producer.” They are a team of network experts whose true identity was concealed for security purposes and was only known to a few neutral people.

The ABP has the huge responsibility of setting up the foundation of the blockchain that likely will be used by EOS forever. Additionally, the entire Block Producer Candidate community was on 24/7 “validation watch” — carefully checking the result of each of their steps without knowing what steps were taken. There were many teams performing validation on the chain as it was slowly released and synchronized to peers over 12 hours.

In technology, an “Easter Egg” is a hidden message, feature, or inside joke. Here are some of the little hidden “Easter Eggs” that the ABP team chose to create in their process. This is a testament to how technically prepared this team was that they also had prepared some interesting little gems in here for people to discover.

The genesis.json file is used by all Block Producer network nodes to identify the blockchain. The ABP team must have programmatically started their chain at a predetermined time as you can see below there is a pattern here:

{
"initial_timestamp": "2018-06-08T08:08:08.888",
"initial_key": "EOS7EarnUhcyYqmdnPon8rm7mBCTnBoot6o7fE2WzjvEX2TdggbL3",
"initial_configuration": {
"max_block_net_usage": 1048576,
"target_block_net_usage_pct": 1000,
"max_transaction_net_usage": 524288,
"base_per_transaction_net_usage": 12,
"net_usage_leeway": 500,
"context_free_discount_net_usage_num": 20,
"context_free_discount_net_usage_den": 100,
"max_block_cpu_usage": 200000,
"target_block_cpu_usage_pct": 1000,
"max_transaction_cpu_usage": 150000,
"min_transaction_cpu_usage": 100,
"max_transaction_lifetime": 3600,
"deferred_trx_expiration_window": 600,
"max_transaction_delay": 3888000,
"max_inline_action_size": 4096,
"max_inline_action_depth": 4,
"max_authority_depth": 6
}
}

You will notice that the time the chain was started is exactly 8:08AM 8.888 seconds. In China, “8” is like the lucky number “7” in the western world… but it’s even deeper than that… Chinese people place a lot of importance on the meaning of numbers — even the digits in their own phone numbers. The word for “8” in Chinese sounds identical to the word “fortune” so it is considered very good luck to have a lot of “8's” in any number.

This could mean that the ABP team was Chinese as it’s unlikely for westerners to be aware of the meaning here.

The first example we have seen is the public key of the eosio account. Notice anything here?

EOS7EarnUhcyYqmdnPon8rm7mBCTnBoot6o7fE2WzjvEX2TdggbL3

You can see the words “EARN” and “BOOT” in the above key. EOS keys are randomly generated from the cleos command, so discovering keys with words is an interesting challenge that the ABP team may have prepared ahead of time with scripts.

Next, take a look at the “last irreversible block” below — known as the “LIB” — this is where the chain was frozen for validation for 12 hours as the other BPC teams looked over the EOS.IO contracts and snapshot injection to verify that it was all done correctly.

{
“server_version”: “2d442085”,
“chain_id”: “aca376f206b8fc25a6ed44dbdc66547c36c6c33e3a119ffbeaef943642f0e906”,
“head_block_num”: 13338,
“last_irreversible_block_num”: 13337,
“last_irreversible_block_id”: “0000341972d3dcc6ae099ec7945c8da73c455fc366e3a070c1885cc196c57247”,
“head_block_id”: “0000341a8296bb8a8cae16ce2387bf08e2ca2f90e375b84c8bd559fe62ed649e”,
“head_block_time”: “2018–06–09T16:25:54”,
“head_block_producer”: “genesisblock”,
“virtual_block_cpu_limit”: 1992618,
“virtual_block_net_limit”: 1048576000,
“block_cpu_limit”: 199900,
“block_net_limit”: 1048576
}

As you can see above, it says 13337 — the numbers look like the word LEEET which is an old Internet pseudo-language called leetspeak where you use numbers to represent the roman characters they resemble.

This is a tip of the hat to the 1980's bulletin board systems (BBS). BBS are messaging boards that were a precursor to the modern internet. On these systems, users would dial in to remote servers and login with accounts. Those users with “elite” accounts were able to access special rooms and games on the servers. The spelling of l33t comes from a method of avoiding administrative filters on the messaging discussing hacking on some of these systems to gain elite access.

Example of a 1980’s BBS system where l33t h4xors communicated

The ABP team also created another interesting key for the genesisblock account with the word Host in it.

EOS8Yid3mE5bwWMvGGKYEDxFRGHostu5xCzFanyJP1UdgZ5mpPdwZ

This is the account that hosts the chain until there are 15% votes (150MM) and then the Block Producers will begin to rotate, so the word “host” is appropriate here.

Similarly to the hidden message in the coinbase of Bitcoin’s genesis block from Satoshi to the world, there is a message here on the exact transaction that hands over all of the accounts from the EOSIO account to the B1 account.

cleos get block 191..."data": {"from": "eosio","to": "b1","quantity": "10.0000 EOS","memo": "Never doubt that a small group of thoughtful, committed citizens can change the world; indeed, it's the only thing that ever has - eosacknowledgments.io"},"hex_data": "0000000000ea30550000000000004038a08601000000000004454f530000000098014e6576657220646f7562742074686174206120736d616c6c2067726f7570206f662074686f7567687466756c2c20636f6d6d697474656420636974697a656e732063616e206368616e67652074686520776f726c643b20696e646565642c206974277320746865206f6e6c79207468696e672074686174206576657220686173202d20656f7361636b6e6f776c6564676d656e74732e696f"}
...

I was really happy about this for several reasons.

  1. That the ABP chose to hide a message in this block is pretty cool.
  2. The message energizes and excites me. I really love the implied message that we are all “citizens of the world.” Additionally, that it points out the importance of individual actions. The fact that the actions of a few people can, and often do, affect the entire world, is inspiring. Igor from EOS Rio uncovered using his validation tool which reads the messages in all of the blocks and prints them.

Finally, to use the space here acknowledge all of the contributors to the development and launch of the EOS project. Take a look at eosacknowledgments.io, it’s like a digital dedication plaque to all of the people who have been recognized for their contributions to EOS. I believe there are still nominees who have not agreed to be listed publicly.

Screenshot of the 200 person calls with BPC’s from around the world during the past week.

Firstly, let me explain that whoever the ABP was or is — does not matter now. They have no power over the blockchain since they resigned their role and handed operations over to the genesisblock account this morning. There is no going back, the entire chain would have to be rebooted for them to regain “GOD MODE.” As of the point of their resignation, the EOS software is running the chain and now the citizens of the virtual world have a free, unmoderated blockchain to build things on.

The question was best answered by Brock Pierce and David Moss who were both witnesses on the call this morning, “We are all the ABP.” It took an entire community to launch the EOS blockchain this week. Coordinating a worldwide effort like this is a huge undertaking and I think that the entire Block Producer Candidate community has done a great job of working together this past week through video calls every 12 hours.

I actually hope some of the calls continue on a regular basis in the future because it’s really cool to be working with such a large crew of people interested in the same goal.

Questions? Comments? Feel free to write comment here or shootme a message @bensig on Twitter.