ty for feedback to Patches & Adam Hurwitz
Who cares about defining a "solo staker"?
Airdrops to solo stakers have a lot of people talking about the definitions of a "solo staker". Those who did the work to come up with lists to identify solo stakers had to make some choices about who qualified as a solo staker and who didn't. Understandably, it ruffled the feathers of people who self-identify as solo stakers, some of whom have supported the Beacon Chain since Genesis. Without hard and fast delineations, the whole thing can feel a little gatekeepy, so I'm going to try my best to bring some clarity.
First, we should talk about why it matters. These airdrops are intended to reward those who bring the most decentralization to the chain. These are the non-professional, "indie", independent operators of validating nodes. They're a last line of defense against corruption, collusion, and censorship on Ethereum. They're disorganized, erratically engaged, difficult to identify, and nearly impossible to sway in any sort of private interaction. It would be extremely difficult to convince a bunch of solo stakers to collude to benefit some large entity or to comply with changing laws in one of the world's many jurisdictions.
Data has also shown that 'non-professional, indie, independent operators' are also often much more responsible when it comes to network health - when a supermajority client was at nearly 90%, the leading group of minority client users were Rocket Pool node operators and solo stakers. At the time, rated.network was reporting that professional operators ran an average of 600 validators per node whereas independent operators ran 4 validators per node. Client distribution across nodes was healthier than across validators, loosely indicating that smaller, independent node operators were more conscientious about running minority clients.
So, with that in mind, I aim to sort groups not just by where they run hardware but how much control they have over the software that they run and whether decisions can be made for them.
Keep in mind - this aims to be an extremely simplified set of definitions that don't necessarily fully capture the spectrum of variables that could go into measuring the amount of value that a validator setup brings to the chain. Without the ability to directly observe some of these variables (e.g. where is the BLS key and who has access to it?), it's simply not possible to take them all into account at this time.
Defining the terms
Solo staker: Anybody who runs one or more 32 ETH validators. They custody their keys, know their specific validator indices, and actively choose their software. This means they must have control over what clients they're running and whether or not they're using mevboost or only building blocks locally. No dependence on location of hardware.
Home staker: Anybody who runs hardware at home. This can be a 32 ETH validator or be using a protocol that lowers the financial barrier of running a validator (Rocket Pool minipools, DVT). This definition is dependent on the location of the hardware. Not all home stakers are solo stakers and not all solo stakers are home stakers.
Remote staker: h/t to adamhurwitz.eth for this one. This is someone who runs their hardware away from where they live. This can be someone who's using a bare metal service (renting a dedicated server at a data center) or a digital nomad who runs it at a friend's house (me!). This person actively chooses their software and custodies their keys. They can be running a 32 ETH validator or be using a protocol that lowers the financial barrier (Rocket Pool minipools, DVT). This definition is dependent on the location of the hardware.
Managed staker: Someone who uses a Staking as a Service provider who controls their config. They deposited ETH (either 32 or something like a minipool), they know their specific validator indices, but they aren't able to choose their clients. In some instances, they may have control over something like whether or not their validator uses mevboost, but control is indirect - you have to ask your provider to turn it on or off.
Liquid staker: Someone who deposited any amount of ETH in return for a receipt token like cbETH, stETH, rETH, etc.
Staker: Anyone with ETH on the Beacon Chain.
And it can all get a bit muddier, so we can mix and match these terms. You can be a home solo staker, or you can be a remote solo staker. A home staker isn't necessarily a solo staker - they can be a home DVT staker or a home minipool staker, just as long as they've got the hardware at home. Bonus, some people are home genesis stakers or remote genesis stakers! (Genesis stakers deposited at the inception, or genesis, of the Beacon Chain). It can get even muddier when a staker is running their software on a combination of hardware in their home and in a data center. What would I call that? For now... an edge case :)
In general, I think I'll stick to describing a staker as:
"{Where}{How} staker"
e.g. home solo staker, remote solo staker, home minipool staker
TL;DR:
I would argue that the first three (solo stakers, home stakers, & remote stakers) are all a class of independent operators [of validating nodes]. This is the important distinction to make because these are the operators who are in a position where nobody can make decisions for them.
Do we want to address the supermajority situation? An independent operator can switch from the supermajority client to the minority client. Anyone who doesn't manage their config must badger their provider and hope that they understand the situation in time to make the change and that the team has the engineering resources to do so. Do we want the chain to be censorship resistant? An independent operator can decide, without needing permission from anybody, to build blocks locally instead of using mevboost.
Using solo staker lists for rewarding independent operators
Back to airdrops - we love to reward people who put in the work to secure the chain but the tricky part comes in identifying these independent node operators. Being disorganized, disparate, and difficult to identify is a feature for decentralization but a bug for reward mechanisms. At the moment, our best lists are GLC's lists. One is more inclusive than the other and, if you're a project looking to do an airdrop, we recommend that you use List A or contact GLC to discuss the differences. We also have recommendations on some do's and dont's to best ensure that independent node operators are actually able to claim.
At the beginning, there were only solo stakers and professional operators. As Ethereum's Proof of Stake consensus layer has grown and changed, the landscape has shifted around these definitions and I think it's time to start working on better characterizing the different ways that people choose to stake.