Central to all cryptocurrencies is their consensus algorithm: how do network participants agree on which transactions are valid and which are counterfeit. Cryptocurrencies achieve consensus through a wide variety of means but regardless of how the algorithm is built, certain properties must be satisfied. This article outlines the fundamental properties needed to determine counterfeit transactions in addition to pointing out some properties that either hinder consensus or open the system to other vulnerabilities.

In a decentralized network, the responsibility of consensus generation is distributed among a set of network participants, or validators. Users can participate on the network without validating themselves, by observing the validator output.

All participants must have a way to agree on validators.

When network participants are presented with conflicting information from validators, either accidentally or maliciously, they need to make a decision on which information to accept. On an open and decentralized network with no predefined judges, participants do this by following the majority opinion of the validators. If the majority opinion of the validators is malicious, the reliability of consensus cannot be guaranteed.

At least a majority of validators must follow the algorithm.

Following the submission of a counterfeit transaction, two phases must be resolved before participants can positively identify an accepted transaction. The existence of an attempted counterfeit transaction must first be identified, followed by a second period of negotiation by the validators. Once the negotiation has completed, the transaction is finally deemed valid.

Participants must be able to identify when validators have accepted a transaction.

Additional assurance past transaction acceptance

Some consensus algorithms have the property of increased assurance of transaction acceptance over time. These algorithms organize transactions into smaller, partial agreements linked together in an ongoing chain where older transactions are pushed farther away from the front. Each partial agreement has a certain difficulty to undo and is chained to accumulate this difficulty together, making it increasingly difficult to undo old transactions. Algorithms that use this describe a threshold which is the number of links from the front it takes to be assured it is statistically improbable for a transaction to be undone.

The claim is the ever-increasing depth, past the threshold, of a transaction received is beneficial to the holder because of the increasing improbability it can be undone. This claim critically misses a property of currency: held currency only has value if it can eventually be spent. If there were a situation where depth of a receiving transaction remained but a spending transaction could not be created, what’s held would have no value regardless of whether it can be undone.

Increased transaction assurance over time is unnecessary because the value is tied to the weakest, most recent transaction.

Punishing malicious validators

Certain consensus algorithms possess the property of punishing deviations from the algorithm; the goal is to induce good behavior from the validators by making bad behavior costly. This means in addition to a consensus algorithm there also needs to be a punishment algorithm. Just as if the consensus algorithm fails, counterfeit transactions are accepted, if the punishment algorithm fails, good participants are incorrectly punished. Attackers can target the weakest agreement algorithm and either counterfeit transactions directly or punish good network participants until they can no longer participate, allowing bad actors to go unpunished.

Punishment schemes are unnecessary because the system is only as secure as the weakest agreement algorithm.

Difficult validation

Several consensus algorithms contain the property of consensus being difficult to generate. While high difficulty to undo a transaction is necessary to determine transaction acceptance, difficulty when validating doesn’t contribute to any of the essential properties. Difficulty in validation is a cost to the network, makes transaction processing slower, and should be minimized.

Difficulty to undo validation is the only fundamental requirement, difficulty in validating transactions is unnecessary.

Since we have outlined the fundamental properties of consensus, we can optimize algorithms that focus on these properties. They can be designed to reduce cost, which makes the system more desirable from an economic efficiency standpoint. Additionally, we can design a system with superior performance through eliminating unnecessary effort.