@adlrocha + @joobid: My True Story as a Validator in Medalla
Give a warm welcome to our first guest writer!
Today I have the pleasure of featuring the first “guest publication” of this newsletter. Last week I wrote about Ethereum 2.0, whose first phase successfully launched the past 1st of December. As a result of that post my good friend (and former colleague at Telefónica) Jorge Ordovás texted me with the following message: “I was a validator in Medalla, do you want the screenshots for a future publication?”. And this is how he triggered the idea of guest publications, why writing about something I don’t know and I haven’t personally experienced when I can invite the experts on stage. So without further ado, please give a warm welcome to Jorge Órdovas sharing his “True Story as a Validator in Medalla”.
I always wondered how it would feel to be a Bitcoin miner. A real one. Not like some nerd running a Bitcoin node at home just for fun with the remote hope of being lucky enough to find a hash with enough 0s. I wanted to become an actual miner with high probabilities of adding a new block to the chain. In the good old days I didn’t have the chance of experiencing this feeling, because when I ran my first Bitcoin node in 2013 the network’s hash rate was already too high for individuals (like me) to become part of the Bitcoin mining ecosystem without a huge investment in hardware.
So when the Medalla network launched this August, I realized that thanks to Ethereum 2.0 and Proof-of-Stake I would be able to get rid of the thorn in my side and become an actual miner. So this is the story of how I became “the chosen one” to validate and add to the chain a new empty (and exciting either way) block which became part of the Beacon Chain. Push the “get started” button to start!
The Medalla testnet is not available anymore, but when I started in August the first tests of the Beacon Chain were being carried out before its deployment in production (event that happened this past 1st of December!), Web Archive demonstrates Medalla actually existed then and that it is not some fake testnet I am inventing myself: https://web.archive.org/web/20200731102150/https://medalla.launchpad.ethereum.org/
Ethereum 2.0 is multi-client. The most popular client is Prysm. Thus, I decided to install the Prysm for my mining adventure. While my client was synchronizing with the Beacon Chain (process that lasted around 7h), I started downloading and running a Medalla validator client to generate the required validator credentials (using the official tool). This tool creates a set of validator keys and stores them locally. With my validator keys ready, I kindly asked for 32 GoETH to the Goerli faucet using Metamask in order to have enough funds to become a validator.
Chain synced ☑️, validator credentials ☑️, enough funds to become a validator ☑️. With these prerequisites completed, I used the official Medalla launchpad to formalize my deposit to be accepted as a validator. After several clicks where they basically explained what Ethereum 2.0 is (and what risks we assume as validators), I uploaded my validator credentials and waited for the magic to happen.
I connected my Metamask account where I had the 32Goeth required to become a validator, and sent the transaction to the deposit smart contract, I was finally a step closer to my dream of becoming a miner!
If at any moment you wanted to check the state of your deposits, and whether they had been accepted in the Beacon Chain already, you could go to https://beaconcha.in and look for your public key (which was stored in the file deposit_data-NNNNNNNN.json).
The waiting was hard, but once I was accepted as a validator in Medalla (with the id 63192 in my case) I could continue with the process. Even if I wasn’t eligible to participate in PoS yet I was already a validator in Medalla! Exciting, right?
While waiting to become active in the network, I imported the keys I used to deposit the validator stake into my Prysm client:
And ran my beacon node in Medalla (using a Ethereum node in Infura; this is optional, but if we do it, we do it properly):
And finally, I started my validator, waiting for the logs to change… for 12 long days…
I can't fool you, I was starting to become quite impatient waiting to become the miner I was destined to be. But it finally happened, my Medalla validator was activated and it began participating in the validation process as an attester.
Day after day I checked the statistics to see if the magic had happened, and the Beacon Chain had chosen me as a proposer (you can check information about the Ethereum 2.0 networks and your validator at https://beacon.etherscan.io/ and https://beaconcha.in)... but time passed and little by little my spirit fell (although the mathematics said that the process would take a while). I actually had to wait less than I thought to achieve my goal: Medalla wanted me to propose a block. And I fulfilled my destiny!
With this goal reached, my node remained active for days actively participating in the validation process, and getting rewarded for it. Until I decided to try something else: to become a malicious actor, a stone in Medalla's shoe, an attester who does not confirm, and what is worse: a proposer who does not propose when it is selected. Do not blame me, I just wanted to check that the security assumptions in the Beacon Chain were right, for better or worse.
I stopped my validator and day after day the network waited without any luck for my vote as a participant in the committees. I was being penalized little by little, until that happened, and with all the pain in my heart, the network asked me to propose a new block ... but I wasn't there to do my job. I was responsible for a hole in this epoch, and a big red bar marked the end of my reputation.
And that is how my journey as a Medalla validator ended. I hope my story helps you if you are considering becoming a validator in Ethereum 2.0 mainnet (I guess the process would be really similar to what it was tested in Medalla). Miners and validators of the world, may the force be with you!
If you loved this article as much as I did, give Jorge some love! And if this guest publication had made you think “damn! I would also love to have a piece featured in this newsletter!” do not hesitate to contact me. I would love to have a new guest publications once every one or two months. — @adlrocha