And there is no upper limit on the number of slashers.
Not true. In your defence, I also only learned this today.
https://docs.prylabs.network/docs/prysm-usage/slasher https://lighthouse-book.sigmaprime.io/slasher.html
It’s just the specifics of how this works - slashing is part of the protocol in the sense that I described: when you are chosen to create a new block and you have proof that someone violated the rules then you include this proof in your proposed block and update balance. Any validator can do it including the smallest of home stakers.
More details here. https://github.com/ethereum/annotated-spec/blob/master/phase...
Here we have slashing fields in the block body where you insert your proofs of slashable offense. There are functions with a “slash” in the name that describes precise state transition.
The hard part of slashing is finding these proofs because you have to do more work than necessary to detect slashing and produce proofs - that’s what this software does. It’s more expensive to run a slasher but you need only one and it does not matter who runs it, anyone can run it. The link that you sent says that this slasher broadcasts proofs by default - that way anyone can include it.
This is why they are limiting the number of validators.
There are currently over 400,000 full-fledged validators. The maximum supported number of validators is the number of ETH divided by 32, or about 3.75 million. Scaling is the reason the limit wasn't made even higher, by lowering the ETH per validator.
Anyone can be a slasher, just as anyone can be a staker (as long as you have 32 Ether).
Slashing is part of the protocol and to slash somebody you have to prove it to the protocol that they broke rules of slashing. One of the rules is that you can't create two different blocks in the same slot (block number) i.e. you can't deliberately fork.
There is a designated place in the block of the beacon chain where you can put signatures of the different blocks in the same slot as a proof and nodes will slash validator that produced that signatures (update his balance). Anyone can find these signatures, and block proposers of the new blocks will include them into the chain.