The Predecessor of Casper FFG: the Minimal Slashing Condition

Although PBFT enjoys instant finality, it is fragile against collusion. Therefore, a punishment mechanism is necessary to prevent byzantine behavior. In the event that a node breaks a rule, it will be subject to economic loss. Adjusting the behavior of the node through an economic law is in fact the design philosophy of PoS: any node that deposits enough (as established by the protocol), can participate in the consensus. Therefore PoS-based consensus can also be defined to be permissionless.

Here is a clarification of the meaning of “permissioned.” We will say that a protocol is “permissionless” when any node can freely join and quit. However, if the blockchain must maintain a list of the nodes, when a new node joins, we could argue there is some share of “permission” to be granted. By the same token, from the perspective of PBFT, the voting nodes shall be selected from the permissioned list.

The next question is: Which behaviors should be punished? Vitalik carefully researched PBFT and found that PBFT requires only four rules (PBFT predicates) to ensure that the consensus works well.

Vitalik summarizes these four rules in this article and calls them PBFT’s “Minimal Slashing Conditions.” Any violation of these 4 rules will cause the deposit to “slashed.” The four rules are the following:

1. Sending a commit requires seeing 2/3 prepares. 2. If you make a prepare in some epoch pointing to some particular previous epoch, then you need to have seen 2/3 prepares in that epoch, and those prepares must point to the same previous epoch. 3. If you make a commit during some epoch, then you clearly saw 2/3 prepares during that epoch, and so any future prepares that you do should better be referencing that epoch or something newer. 4. You can’t prepare twice in a single epoch.

These 4 rules can be further reduced to 2:

1. A validator must not publish two distinct votes for the same target height. 2. A validator must not vote within the span of its other votes.

These two rules are the minimal slashing condition for Casper FFG. Next, let’s take a closer look on Casper FFG to see how it works and what it improves.