Today, with the news that Kraken has suspended staking, I would like to do a popular science and analysis on staking:

 

-Essentially, the most important thing about Staking is to see the ownership of the two private keys.

-Due to the different ownership rights of the two private keys, 4 types of Staking solutions were born

 

I believe that with this super long thread, you can have a deeper understanding of Lido, Rocket, Coinbase, Kraken, SSV and Ebunker.

 

If Ethereum is regarded as a company, the validators (Validators) responsible for Staking are employees. Its job is to verify the legality of transactions, and then package the blocks and put them on the chain (although the work of building blocks has now been slowly outsourced to MEV service providers).

First of all, as a verifier, you need to prove your employee identity. After all, not everyone can verify it casually. After paying the 32ETH deposit, you need to hold a certificate to work (ie: [verification key]).

 

Theoretically, the first step in staking is to create a verification key. Then, you can stamp each transaction with your verification key, which is your work ID.

 

Second, Ethereum thoughtfully designed a second private key for receiving the deposit just mentioned (32ETH).

 

When you become a verifier, you will need to fill in a "withdrawal address." It is the address where you will withdraw your principal and salary in the future, and the private key of that address should theoretically be in your hands (ie: [withdrawal key]).

 

Let me use an analogy, this is your salary card.

 

I think everyone understands the purpose of these two private keys: ① verification key (work certificate), ② withdrawal key (salary card).

 

Next, based on the different ownership of the two private keys, four Staking solutions were born:

-CEX class

-Pooled Staking

-SaaS category (Staking as a Service)

-Solo class

Four Staking divisions of the Ethereum Foundation

Solution 1 CEX type/fully managed

If you use an exchange staking solution, such as Binance, Coinbase or Kraken which just announced today that it will stop staking services. You will find that you have never created a [verification key] or filled in a [withdrawal key], so this is standard "full custody".

 

So where are these two keys?

-Verify that the key is in Binance Pool or Coinbase Pool

-Withdrawal keys are in the cold wallets of Binance and CB

 

You don’t have to go to work at all (to participate in verification), and your salary card is also given to the exchange to keep for you. This plan is the most worry-free and has a guarantee.

 

But it is not suitable for people who pursue decentralization. After all, FUD happens every day, and now it seems that the United States does not even allow you to do this.

 

Option 2 Large Pool Staking (Pooled Staking)

This is the staking plan of Lido and Rocket Pool. You still don’t need to create two Keys, which are managed by Lido and Rocket. So what’s the difference between it and an exchange?

 

Let’s talk about the verification key first:

Exchange: Obviously, it only operates one company, itself.

 

Lido: Lido 1.0 has 29 professional operators, and Lido entrusts them with the management of ETH, so the verification keys are relatively scattered, and each of the 29 operators gets a part. It is equivalent to saying that Lido is a group with a strong working group of 29 people. You don't have to work yourself, let the professionals from the working group help you work. Therefore, the operator takes 5%, and Lido takes another 5%.

 

Rocket Pool: Rocket Pool can have countless operators. Anyone with a machine/cloud server + 16 ETH can become an operator. It can be said that Rocket Pool is a crowdsourcing platform. It has a group of Meituan riders who bring their own electric vehicles (machines/cloud servers) and computer rooms to help you run nodes.

Of course, they also have to take a commission.

 

Let’s talk about the withdrawal key:

It is necessary to add another principle here: What is the process of Staking withdrawal?

 

My previous post briefly introduced Shanghai upgrade and cash withdrawal, portal → https://twitter.com/0x_Todd/status/1619950421124206593?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1619950421124206593%7Ctwgr%5E%7Ctwcon% 5Es1_&ref_url=https%3A%2F%2Fmirror.xyz%2F0x17f3F81860345567482E1D232FB5B6f8bD77f3Bd%2FmcgqcKozJPlcLfP1G3dv5JDAUpcYJ6-Eu4ND08xSTiQ

 

As we all know, Ethereum is two chains: Ethereum 1.0 (execution layer) Beacon Chain (consensus layer). When you go to Stake, the first step is to remit ETH to the Ethereum 1.0 Beacon vault address (https://etherscan.io/address/0x00000000219ab540356cbb839cbe05303d7705fa), and then Beacon Chain will generate the corresponding eth for you at the consensus layer.

Note that these ETH are locked, not destroyed on 1.0, or cross-chained to the beacon chain, it is just locked and mapped.

On-chain steps for staking

After the Shanghai upgrade, cash withdrawal will be a new transaction type. When you withdraw money:

 

1. Your node notifies Beacon Chain and sends a withdrawal signal

2. Queue up

3. After you are queued, Beacon Chain notifies the Ethereum 1.0 treasury.

4. The treasury address of Ethereum 1.0 will send money to the address you specify, such as 0xTodd.eth

 

Therefore, the so-called [withdrawal key] is essentially the private key of the address 0xTodd.eth.

 

Lido & Rocket’s withdrawal key gives you three more layers:

1. You notify Lido\RPL that I want to withdraw cash

2. Lido\RPL notifies the operator that a certain node wants to withdraw cash

3. The operator notifies Beacon Chain that a certain node wants to withdraw cash.

4. Queue

5.Beacon Chain notifies Ethereum 1.0 vault

6. Use the treasury address of Ethereum 1.0 to withdraw funds from the treasury to Lido\RPL

7. You destroy stETH\rETH, and the Lido\RPL smart contract will send money to your address.

 

PS: If you switch to an exchange, step 7 is for CZ\Armstrong to directly add the balance to your Binance\Coinbase center account.

 

For the large pool subcategory scheme,

Steps 1, 4, 5, 6, and 7 are all impeccable and are purely on-chain operations.

The weak link is in steps 2 and 3⚠️.

 

Theoretically, the big pool sub-type scheme can refuse your withdrawal. For example, if you are sanctioned by the US OAFC for using Tornado, then steps 2 and 3 can be done without sending you a letter.

 

Why I call it the "big pool" solution is because the withdrawal addresses of all its nodes are filled in with the same address, which is the withdrawal smart contract address of Lido\RPL.

 

Of course, for CEX, they still have great progress.

 

However, due to the existence of operating space in steps 2 and 3, this type of solution becomes a solution that is very close to "full hosting". After all, the withdrawal key is still theoretically owned by the big pool, and what you hold in your hand is only the "withdrawal address" of the "withdrawal address".

 

Therefore, for plans that do not control the final destination of funds, I tend to classify them as "full custody".

 

Some Rocket Pool supporters often claim that it is completely decentralized, and this slogan is deeply rooted in people's hearts.

 

But when you read this thread, you will know that it is the verification key part, which is decentralized and anyone can be a verifier (Lido V2 is also working hard to achieve this).

 

As for the withdrawal key, as a user, you are still unable to participate, and your assets are still lying quietly in the third-party wallet.

 

Of course, compared to exchanges, Lido and Rocket only have one or two more steps, but are more decentralized, which is still a good compromise. Especially for Lido, the liquidity of stETH is very good (currently far surpassing all other LSD solutions), which is an important plus point.

 

Option 3 SaaS (Staking as a Service) category/small pool subcategory

By the third step, Staking becomes even more fundamentalist. I personally have a certain fetish for decentralization, especially after experiencing a series of CEX thunderstorms.

 

I just made an analogy, the verification key is the work permit; the withdrawal key is the salary card.

 

So, people will naturally think, is there a plan to let others work for me while I receive my own salary?

 

There is no such beautiful thing in real life, but the Ethereum network does, which is SaaS or VaaS (Validator as a Service). Let’s take the non-managed mining pool Ebunker as an example.

 

The first thing we need to do is to make the verification key into a keystore and give it to the Ebunker Pool. Next, a professional mining pool will maintain the block production of this node. At the same time, the withdrawal address is my own, which means I have the final right to withdraw Ethereum.

 

To summarize:

[Verification key], one for me and one for the mining pool;

[Withdrawal key], only I have it.

 

That is: I work in the mining pool/I get the money/The mining pool gets the commission.

 

What is the difference between this solution and the big pool subclass? The difference is:

 

Pooled class, the withdrawal address is unified (i.e. Lido\RPL vault), so it is a "big pool".

In the SaaS category, everyone fills in their own withdrawal address, so it is a "small pool".

 

PS: I came up with the terms big pond and small pond. I think this is very vivid and easy to understand🥰.

 

Then you may ask, like SaaS, if the mining pool does not help you broadcast on the Beacon chain, you still cannot withdraw cash?

 

The key is here, because you have your [verification key] in your hand. If the worst happens, for example, the mining pool becomes rogue, you can still run the node and broadcast it yourself.

 

At the same time, you still have the [Withdrawal Key] in your hand, so you can withdraw cash in person and get your principal back intact.

 

In the big pool sub-type solution, after the worst case occurs, you do not have this ability, because you have neither verified the key nor withdrawn the key.

 

Then you may ask the second question, in the SaaS solution, can the small mining pool take my money and run away? This is the ingenuity of Ethereum's Staking design, because when you create a node, you fill in your withdrawal address, and the mining pool cannot tamper with it. Therefore, even if the mining pool becomes rug, your principal will never be taken away by the mining pool, because the difficulty of stealing it ≈ attacks Ethereum itself.

In the big pool plan, after the worst happens, it can theoretically run away with the money. Very simply, it just upgrades its treasury contract and transfers its ownership to the attacker. Of course this is the worst case scenario and the probability of it happening is very small.

 

In order to counter this, Lido introduced multi-signature to manage smart contract upgrades; Rocker Pool seems to be very secretive about this matter, and there is currently no relevant content where it discusses contract upgrades.

 

Therefore, if you don’t want to work part-time (after all, 7*24 operation and maintenance nodes are not an easy job) and have security requirements (no third-party management of funds), choosing SaaS service is a good choice. In addition to Ebunker, there are also some mining pools that provide similar "non-custodial" services, which can be found on Rated.

 

Of course, there are also disadvantages. All non-managed SaaS categories do not have LSD solutions. The reason is also very simple. If someone doesn’t know your private key, how dare they send you a passbook (LSD)? Of course, some SaaS mining pools will also provide large pool plans, and the large pool plans can be given to LSD.

 

To put it more concisely: Whoever holds the private key determines whether LSD is allowed. CEX and large pool plans are both acceptable, but small pool and Solo plans are not acceptable.

 

After the upgrade in Shanghai, the maximum withdrawal time for Ethereum is 1-2 months. The liquidity of the SaaS-type small pool plan is also guaranteed to a certain extent. Therefore, this is also my personal favorite plan. It saves worry/a little trouble/doesn’t keep things private. Giving keys to others/APR is good. (Prerequisite: you have more than 32 ETH, otherwise use LSD)

 

The fourth category of solutions: Solo category

 

Finally, let me introduce you to the ultimate Holy Grail, Solo Staking.

As the name suggests, Solo is a solution that plays by itself without introducing any third parties, and is decentralized and secure to the fullest.

 

Solo miners have their own verification key and withdrawal key. The advantages are obvious, it is safe, no one takes a commission, adds diversity to Ethereum, and... meets the needs of the spiritual world!

 

The disadvantages are also obvious: working on it yourself requires costs: time cost (maintaining it), capital cost (renting a server/building a physical computer room). If there is no 24-hour maintenance, your APR will be slightly lower because there is a penalty.

 

For example, the current block production efficiency rate of the entire network is 97%. Vitalik may be a Solo miner. Even as professional as him, he can only achieve 96% efficiency. Rocket Pool is even lower. It is crowdsourced and has only 95% efficiency. .

From: Rated

I think the threshold for Solo is at least 10K Ethereum, that is, more than 30 groups of nodes. On the one hand, it takes into account the stability of the block generation (it is also very uncomfortable if you cannot grab MEV blocks). On the one hand, income does not equal costs.

 

However, if you have enough ether, even more than 30K or 50K, then you can consider hiring someone to run it. After all, it is cheaper to pay wages than to be commissioned by a large/small pool based on a percentage, and the surplus will definitely be more.

 

And, Solo is the eternal Holy Grail. If the number is large enough, I strongly recommend studying Solo. The quantity is less than 100K, it is recommended to review categories 2 and 3.

 

Additionally, insert a branch line.

What is SSV used for? SSV is actually a researcher of DVT technology. It is not a competitor with the above four types of solutions for the time being, but a cooperative relationship. DTV is used to split the verification key.

 

After your verification key is split into 4 parts, the beauty is:

① If one operator goes offline, other operators can immediately make up for it;

② At the same time, each operator does not know the complete verification key, which makes the verification process more decentralized. It can make Lido, SaaS and Solo solutions stronger.

 

Finally finished writing this article! Although it is very long, I hope this analysis can help you thoroughly understand the relationships, similarities and differences between all staking solutions. Everyone is welcome to mark and review at any time.

 

last of the last! Everyone is welcome to be a validator! Make your contribution to Ethereum network security🧐

Author of this article:

0xTodd | Nothing Research Partner