Our commitment to decentralization: Why we locked up 32 ETH

Kseniya Lifanova
Upstate Interactive
7 min readJan 12, 2021

On December 1, 2020, the long-awaited Beacon Chain was deployed. The Beacon Chain, also known as Phase 0, marks the first phase of Ethereum 2.0. Although the Beacon Chain doesn’t change the Ethereum we use today, it is the first major step to making the transition to proof-of-stake.

The Basics

Proof-of-stake is a consensus mechanism and is different than the proof-of-work consensus mechanism that Ethereum uses today. The goal is the same — to process a batch of transactions into a block and add it to the Ethereum blockchain. However, the method of getting to the goal is different.

In proof-of-work, hardware is purchased for “mining.” Mining means verifying transactions to create a new block and earn a reward by solving a complex computational puzzle. Mining Ethereum and Bitcoin only required a basic computer when the blockchains were first deployed, but now the hardware needed is quite expensive as the popularity of mining has grown. If many people are mining, having a powerful machine increases your chances of solving the computational problem first.

In proof-of-stake, rather than “mining”, participating nodes are “staking.” In Ethereum, staking is the act of depositing 32 ETH to activate validator software. A validator is randomly chosen to propose a block, and if their block is finalized, they win a reward. If the validator proposes a block with fraudulent transactions, they risk losing their entire stake. The rest of the validators are voting on the blocks and earn a reward for this, though much smaller than a proposer validator. In short, the incentive to behave correctly is there.

There is an ongoing debate about which consensus mechanism is better. Proof-of-work has undoubtedly proven to be a robust and secure consensus mechanism, but there are benefits of proof-of-stake. Most importantly, proof-of-stake allows for sharding which helps to increase the transaction throughput. For Ethereum, deemed the “world computer” whose network has been clogged because of a virtual cat application, an increase in throughput is instrumental to its success. Staking also makes it easier for people to run a node since it doesn’t require a huge investment in hardware.

To get an in-depth explanation of the Beacon chain and proof-of-stake, we recommend this article.

Why

Now the question is — to stake or no? Staking for ETH2 is not for the faint of heart. The Beacon chain is Phase 0, the first out of a four-phase approach to fully transition to the proof-of-stake Ethereum chain. Staking your ETH means you are locking it up for at least one year. Yes, staking offers yields but keep in mind that this yield decreases as more validators come online. You’ll also need a total of 32 ETH if you want to run your own validator node.

However, at the heart of it all is the most fundamental question:

Do you want to be part of the community that lays the foundational building blocks of the new Ethereum?

Our answer is yes.

The yield that we’ll make is a nice bonus, but it’s more about supporting the growing blockchain community, strengthening the Ethereum network, and committing to a decentralized world.

The remainder of this article will outline our journey. We followed this tutorial and the DAppNode documentation to get our node set up. We won’t go into the detailed steps since they are outlined in the tutorial, but we’ll get into the decisions we had to make and roadblocks we hit. It may be helpful to you or inspire you to run your own validator node. We highly encourage this.

Hardware 🖥

The first decision we needed to make was how we were going to run our Ethereum node. Running a virtual node with a cloud service was an easy option that we quickly eliminated. Although we respect anyone’s decision to use this configuration, running a decentralized node with a company like Amazon feels counterintuitive to us. We also considered purchasing a pre-configured validator node from Avado or DappNode. Given that we aren’t hardware experts, the idea of pre-configured hardware that requires minimum setup sounding appealing to us.

After several conversations and some soul-searching, we opted to purchase our own hardware and use DappNodeOS. With all the tutorials and community support, we figured we had enough resources to figure this out on our own. What can we say, we love a good challenge!

Here’s what we ended up buying:

Intel NUC 10 i7–10710U

32GB laptop RAM (16GB x 2)

2TB SSD (we splurged)

Ethernet Cable

You’ll also need the following for temporary use:

8GB USB

Computer monitor

Keyboard with USB

Setting up the hardware was surprisingly simple. All you do is unscrew the bottom of the NUC, slide in your SSD and RAM chips, and screw it back together. Then you plug in the ethernet cable, monitor, keyboard, and 8GB USB that you downloaded the DappNode OS on. Boot everything up and go through the series of questions.

Configuring DappNode 💾

The only snag we hit with this step was a question that was not included in the tutorial or the DappNode documentation:

Force UEFI installation?

The first time around we selected “No” (that sounded like the right answer), but after completing the setup, the DappNode OS wouldn’t boot up. We reinstalled and went through the questions again, answering “Yes” to the UEFI Installation question and it worked! At the end of the process, you will get to a large QR code on the screen. These are your credentials for the VPN to log into the device.

VPN 🌎

The next thing we needed to do was download and set up a VPN so we could access our machine without having to use wifi.

We got stuck at this step for a while…

We were able to scan the QR code on our phone to download the VPN file, but how do you securely move that file to your laptop? If anyone gets access to this file they can access your node. We ended up transferring the file through iCloud and immediately deleting it off iCloud. Maybe this wasn’t the best way, but we couldn’t think of another. We had trouble with connecting and after some troubleshooting with our ports and settings, we finally got it connected.

Once connected, you can go to my.dappnode where you see the dashboard of your device.

When you first get to this dashboard, you’ll go to the DAppStore and download everything you need. We downloaded Goerli Geth for the ETH1 testnet, Geth for the ETH1 mainnet, and Prysm Pyrmont for the Beacon Chain client. Goerli Geth took a few hours to sync whereas Geth took about 30 hours.

We already had our Metamask set up with 32 testnet ETH, and our hardware wallet with 32 real ETH. As suggested by many, we went through the process of setting up our validator and staking ETH on the testnet Launch Pad first. Once we felt ready, we switched over to mainnet and hooked up our hardware wallet. Then we went to the Mainnet Launch Pad and went through the process on mainnet. Even after our practice run with testnet, we went through the instructions slowly, reading all of the warnings. We triple-checked the mainnet deposit contract:

0x00000000219ab540356cBB839Cbe05303d7705Fa

At last, we clicked the Confirm button on Metamask…

Transaction failed 🙄

People, don’t forget to change the setting on your Ledger wallet to allow Contract Data. This allows your wallet to interact with a smart contract. Once we fixed this, we were able to confirm the transaction!

And that’s it, we did it. Overall, it was a fun learning experience and we’re happy to support the security of the system. We are currently in the queue to officially stake on ETH2, which should start on January 25th:

This validator has been processed by the beacon chain and is currently waiting to be activated. It will approximately be activated on Jan 25, 2021, 5:11 AM during epoch 12358. Make sure your nodes and your client is up and running before the countdown reaches zero.

Here is our ETH2 node baby:

A big thank you to Raymond Durk for the tutorial we used. We don’t know you, but we couldn’t have done it without you!

Also, a shout to my brother Gregory Lifanov (a hardware wizard) for helping us set up the hardware and install the operating system.

If you have any questions or get stuck when setting up your node, feel free to reach out: team@upstateinteractive.io.

To stay up-to-date with Upstate Interactive, sign up for our newsletter.

👾

--

--