As a public permissionless network, Polkadot utilizes a mechanism to disincentivize offenses or bad behavior and incentivize good behavior.
There are several major validator offenses including Backing Invalid, ForInvalid Vote, AgainstValid Vote, Equivocation, Double Seconded Equivocation, and Seconded + Valid Equivocation.
Polkadot counters these offenses with a series of punishments, including slashing, disabling, and reputational changes.
Offenses On Polkadot
There are six main validator offenses on Polkadot.
-
Backing Invalid - This offense occurs when a para-validator backs an invalid block.
-
ForInvalid Vote - A ForInvalid Vote occurs when a validator votes in favor of an invalid block.
-
AgainstValid Vote - An AgainstValid Vote offense occurs when a validator votes against a valid vote and wastes network resources.
-
Equivocation - An Equivocation happens when a validator produces two or more of the same block or vote. This could be a GRANDPA and BEEFY Equivocation, which occurs when a validator signs two or more votes in the same round but on different chains. The second is the BABE Equivocation, which occurs when a validator produces two or more blocks on the Relay Chain in the same time slot.
-
Double Seconded Equivocation - Within a backing group of 5 para-validators, only 5 backed parablocks are possible. Each parablock requires exactly one seconded and at least two more valid votes from five potential backers. This limits the number of parablocks the system must deal with while still providing Relay Chain authors a degree of choice. Backers must decide the parablock they wish to second. However, they cannot second another parablock. If a second vote is discovered, they will be punished.
-
Seconded + Valid Equivocation - This occurs when a malicious node seconds something and then pretends to be someone who just said it was correct after another assumes responsibility. Nodes could use such a tactic to shed their responsibility. However, the offense is flagged when a system notices two conflicting votes.
Punishments On Polkadot
Polkadot punishes offenses on the network depending on the severity of the offense. The three main punishments on Polkadot are slashing, disabling, and reputational changes.
Slashing
Slashing occurs when a validator misbehaves on the Polkadot network, with the validator and their nominator losing a percentage of their staked DOT. This could range from 0.01% to even 100%, with the slashed DOT being sent to the Polkadot treasury. Slashes only occur for active validators for a given nominator, and they cannot be mitigated by having other inactive or waiting nominations. They also cannot be mitigated by the validator operator running separate nodes.
A slash can occur during equivocation or disputes. For equivocations, a slash of 0.01% is applied for as little as a single equivocation. The slashed amount increases incrementally as more validators equivocate. When it comes to disputes, a slash could be the result of a validator attempting to misrepresent the contents of a block. In such cases, a slashing penalty of 100% could apply.
Disabling
Disabling prevents validators from performing specific actions after they have committed an offense on the network. Disabling is further divided into on-chain disabling and off-chain disabling.
Reputational Changes
Minor offenses on Polkadot are punished through reputation changes. When validators connect on Polkadot, they use a reputation metric for their peers. The system increases their reputation if they provide valuable data and behave appropriately. However, the system reduces their reputation if they misbehave and provide faulty data. If a validator loses enough reputation, their peers can temporarily close their channels.
Disclaimer: This article is provided for informational purposes only. It is not offered or intended to be used as legal, tax, investment, financial, or other advice.
* This article was originally published here
No comments:
Post a Comment