Slashing vs freezing stake for undesired behavior


#1

Someone in the secretnodes telegram room suggested freezing node stakes as an alternative to slashing for undesirable behavior on the network.

Does anyone at enigma have thoughts on this alternative? For example is it an equivalent deterrent for undesirable behavior and if not is it at least well suited for specific types of undesirable behavior such as failure to maintain reasonable uptime?

It would be interesting to know how this might change security / Integrity assurances on the network.


#2

What do you exactly mean by freezing node stakes? Does it mean that the node is not able to participate in future worker selection for a given time and cannot move its stake?

This can be an interesting point and I need to think more about it / its implications to deter undesirable behavior


#3

Yes I think we’re on the same page as my understanding is the suggestion to freeze stake would mean the stake couldn’t be withdrawn or used for running a node for a period of time.


#4

Yes, to add to this:

Users have their service nodes running and their stake locked for X days (say 30 for this example). They can be ‘pinged’ or equivalent any given time – the reason for this would be to check for uptime.

If they get pinged and they are not online/active, they’re frozen. What that means is the owner cannot withdraw their stake, nor are they receiving rewards. After X days is over (say they started on Apr 1 --> 30 days later say April 30th) they can retrieve their ENG and either re-stake or take them offline.

Why I like this:

Freezing>Slashing is a better experience for stakers, especially good-faith ones who potentially may have just messed up their uptime. It is similar in the sense missing the opportunity cost of getting rewards would be akin to being slashed, but psychologically I think people are more in agreement ("I messed up, it makes sense I don’t get rewards).

I’ve seen this work in the wild, and work well on a small project called ‘Loki’ (A small fork of Monero) where stakers operate under these conditions. It’s been well received and everyone seems to enjoy it. FWIW after 30 days assuming your node operates honestly you would get your 25,000 ENG + whatever reward you received during the last time period and then you would either re-stake or do what you want with it!


#5

It’s an interesting proposal, if freezing happens at a time which is independent of a computation (e.g., I like the idea of pinging a node just to make sure it’s still a part of the network). I see some technical issues with this approach - for example., it has the downside of requiring additional transactions, and therefore fees.

As for intra-computations, I’d say freezing doesn’t act as a proper deterrent, but we should play with the time-outs in a way that makes any accidental slashing extremely unlikely.

Despite all of the above, I’d say that at this point, there’s a more likely than not chance that Discovery won’t have slashing for going offline. We’re still considering this, and it would depend on several technical considerations that we’re trying to address. If it’s not included, then potentially only slashing against explicitly malicious actors (i.e., nodes who submit bad results) would be included.