Long Range Attack (explained here) is one of attacks against Proof of Stake. What kind of solutions are proposed to it?


It comes down to (1) having validator fault attribution (i.e. we can identify if and any bad actors) and (2) all active validators have a current deposit to have skin in the game.

From most recent Casper 101:

[Nothing at stake and long range attack] are solved via ideas from slasher (and its improved variations). The main points are that (1) validators are known, which allow for fault attribution at a validator level and (2) by having “slashing conditions” that strongly disincentivize certain actions, it is possible to mitigate these issues. Again, this example is crucial in understanding the Casper team’s view on consensus algorithm design: we can leverage economic mechanism design to a secure distributed system.

From Vitalik's 2014 post:

Originally, I thought that this problem was fundamental, but in reality it’s an issue that can be worked around. One solution, for example, is to note that every block must have a timestamp, and users reject chains with timestamps that are far ahead of their own. A long-range attack will thus have to fit into the same length of time, but because it involves a much smaller quantity of currency units its score will be much lower. Another alternative is to require at least some percentage (say, 30%) of all coins to endorse either every block or every Nth block, thereby absolutely preventing all attacks with less than that percent of coins. Our own PoS algorithm, Slasher, can easily be retrofitted with either of these solutions.

From Vlad's History of Casper part 2:

Signed commitments are only meaningful if the sender currently has a deposit.


Ignoring consensus messages from nodes who don’t currently have security deposits solves circumvents the long-range attack problem.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.