Hacker News new | ask | show | jobs
by drog 1397 days ago
There is no designated class of slashers.

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.

4 comments

I am one of the maintainers of the Go implementation of Ethereum proof-of-stake, called Prysm (github.com/prysmaticlabs/prysm) and also implemented a "slasher" in Go that can be used to slash malicious validators. Anyone can run a slasher and you don't need to have 32 ETH to do so. As long as your slasher software can prove that a validator committed a slashable offense, you can submit this proof to any full node to proceed with slashing the malicious actor. It is permissionless, global, and we only need a few honest slashers in the world for the system to work correctly
In fact, here are the instructions anyone can use to run a slasher at home https://docs.prylabs.network/docs/prysm-usage/slasher
By "A few", how much do you mean? Or is that a dynamic number? How does it get defined? Who can change it later, if it's mutable?
Security is maintained with at least one slasher.

And there is no upper limit on the number of slashers.

Thank you for all your work on Ethereum.
How many full nodes are there?
You can run the slasher this way but won't get the associated reward.
>There is no designated class 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

I know about that but thanks for your comment - I’ll clarify what I mean.

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.

Slashing is only detrimental to the bad actor if the fork fails. If the fork succeeds, then there is no penalty for a malicious fork.

This is why they are limiting the number of validators.

On either fork, anyone can submit proof of your equivocation and get you slashed.

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.

Your links do not say that there is a designated class of slashers. They just say that it is resource intensive relative to its rewards, so not everyone will want to be one. Anyone who chooses to, however, can be one.
Your links contradicts your statement. It's absolutely true that there is no designated class of slashers. Who do you think designates slashers?

Anyone can be a slasher, just as anyone can be a staker (as long as you have 32 Ether).

Thank you. Given all the other radical changes in PoS plans that have slipped by during the years, that one threw me off (:
You know this will be hacked right? 2 layers of jargon, billion dollars? It’ll be a “hack”