5 ms·
> There are two key equivocation rules a validator must follow, taken from the Gasper paper: > > Double vote - no validator makes two distinct attestations for
by TacticalCoder 4y ago
> There are two key equivocation rules a validator must follow, taken from the Gasper paper:
>
> Double vote - no validator makes two distinct attestations for the same target block
>
> Surround vote - no validator makes an attestation that surrounds or is surrounded by a previous attestation
Which are both punished by having the saked ETHs being "slashed" (32 ETHs staked, you end up losing 16 of the 32).
I never understood that: it opens a door for a huge attack in that it's now impossible to safely "stake". Ethereum devs says you can safely stake in that staked ETHs aren't at risk of being stolen (the key to stake and to move the ETHs aren't the same, so it's impossible for an attacker to steal the 32 ETHs) but...
An attacker accessing a staking node can, on purpose, double vote or surround vote to get the ETH slashed. The difference between losing 32 ETHs or 16 ETHs is not that big (sure, in the case of slashing at least the attacker doesn't get them, but for the person losing the ETHs, it doesn't make a huge difference).
So it's impossible to stake without risking your ETHs getting slashed, even if the staker is honest.
Here's my prediction: we'll see exactly that attack on slashing nodes, people are going to lose ETHs and we'll see excuses to the tune of "you didn't securize your node well enough".
I do think it should be possible to stake without that risk (just as it is possible to hold the private keys to cryptocurrencies on hardware wallets because, well, computers are all too often insecure).
Here's another prediction: some are going to come up with HSM to stake ETHs (maybe they already exist?). The risk of getting people's ETHs slashed is just too big.
- capableweb 4y ago> So it's impossible to stake without risking your ETHs getting slashed, even if the staker is honest. I mean, the entire point of staking your ETH is to say "Hey, I'm willing to risk these ETH to \"prove\" that I'm a honest validator and that my node is secure. If I fuck up, I'm willing to accept the punishment". Without risking those ETH, it means nothing to stake ETH, and would break down the idea behind it. I'm not sure if you fundamentally miss the idea behind staking, or if I'm missing something obvious in your critique of staking.
- TacticalCoder 4y agoWait... Couldn't the same argument be used simply to move coins? "My keys, my coins. If I fuck up by holding my keys on an insecure computer, I deserve my coins to be stolen.". Yet there are HSM / hardware wallet so that it becomes way harder to "fuck up". There's a difference between a nefarious actor having its own ETH slashed and a nefarious actor finding a way to have an honest actor's ETH slashed. Isn't it possible to imagine secure hardware device to stake ETHs instead of having to run validation code on general, insecure, purpose computers which gets owned all the time? I literally mean that: the same as hardware wallet to stake/validate instead of sign transactions. I think you got my critique right: I find it's folly to stake on general purpose computers.
- bhaak 4y ago> Wait... Couldn't the same argument be used simply to move coins? "My keys, my coins. If I fuck up by holding my keys on an insecure computer, I deserve my coins to be stolen.". Yes. The blame of coins getting stolen is often laid 100% on the victim. Who would have thought that being a bank is hard? /s > There's a difference between a nefarious actor having its own ETH slashed and a nefarious actor finding a way to have an honest actor's ETH slashed. Only for the owner of those ETH. For the network, they don't look different. Because of the decentral nature I don't think the network can even have a different view. > I think you got my critique right: I find it's folly to stake on general purpose computers. The part about general purpose computers wasn't clear from your original post. I too read it as "staking is inherently unsafe in general".
- capableweb 4y ago> I think you got my critique right: I find it's folly to stake on general purpose computers. Validators are not supposed to run on general purpose computers you use for other things, they are supposed to be extra hardened against attacks, as they WILL be targeted. A validator won't be running on the same machine someone does general web development on, where you download random packages over npm for example. If someone does run a validator on a machine where they are randomly trust 3rd party code from a public registry, they have zero sense of security. If you run them in a hosted server environment, you better trust that environment to be really secure. If you run it at home, you really need to know what you're doing in regards to software, hardware, networking and physical access. Just like you're not supposed to run production banking infrastructure on home computers, validators are not supposed to run in that environment either.
- whatisweb3 4y ago> An attacker accessing a staking node can, on purpose, double vote or surround vote to get the ETH slashed. What is the incentive for them to do that? If the node is secured physically they would need to break into a person's house and decrypt whatever security setup they might have in place. The whistleblower reward is typically fairly small, probably not worth the criminal behavior.
- TacticalCoder 4y ago> What is the incentive for them to do that? They could be short trading ETH. They could just want to create havoc. Why did people deface websites long before online ransoms were a thing? I don't think bad people need many incentives to do bad things. I may be wrong of course. > If the node is secured physically they would need to break into a person's house and decrypt whatever security setup they might have in place. But that's not how most exploit work. Most exploits, and by very far, are 100% software. I mean: it's for the very reason that computers aren't devices to be trusted that many are protecting their coins using hardware wallets. I don't know what software is needed to stake Ethereum but I'm pretty sure it involves a huge software stack. Seriously: I don't understand how, on one hand, there are people holding the keys to move their ETHs on hardware wallets who are, on the other hand, staking these ETHs on a purely software stack. It makes approximately zero sense to me. If you're certain your node can be trusted to safely stake your ETHs (as in: there's not risk of your ETHs getting slashed in two), why bother with a hardware wallet? Just keep the private keys that allows to move your ETHs on your node too, because you consider it's safe anyway? I don't know: I may be all wrong on this but it sure makes no sense to me.
- whatisweb3 4y agoIn Eth2 PoS the validator has two keys: signing key, and withdrawal key. They are derived from the same mnemonic seed phrase that can be kept in cold storage. The signing key must be stored on the device doing the staking, but the withdrawal key does not need to be, it is only secured by cold storage.
- 4y ago