The problem is complicated by the presence of insidious generals, who vote not only in favour of a suboptimal strategy, but also selectively. For example, if nine generals vote, four of whom support an attack, while four others are in favour of withdrawal, the ninth general may send a withdrawal vote to these generals in favour of withdrawal and one vote to attack the rest. Those who have obtained a withdrawal vote from the ninth general will withdraw while the rest will attack (which may not be good for the attackers). The problem is further complicated by the fact that generals must be physically separated and send their votes through messengers who might not vote or falsify false votes. When a user emits the same instance of a cryptocurrency more than once, it is a double-spending problem. To get a clearer picture, imagine spending the same $10 bill to make two different transactions at the same time. As you can imagine, this is not possible for cash transactions. But for digital currencies, this is a real possibility. We cannot always believe that users are acting in the best interests of the system. Repeated duplication of spending can and will not make the entire system relevant. It should be noted that the POW algorithm is not error-intolerant because it has a mathematical or algorithmic magic. This is only for sure because the mining process itself is extremely expensive.
If an attacker acquires more than 50% of the network`s hashing power, it would cost him $1.4 billion. Even if someone manages to get as much hash power and launch a 51% attack and start doubling the coins, it will be immediately devalued. So what`s typical of this story about computer systems is that computers are the generals and their digital communication system links are the messengers. Although the problem is formulated by analogy as a decision and security problem, it cannot be solved in electronics by cryptographic digital signatures, as errors can spread like false tensions through the encryption process. As a result, one component may appear defective for one component and defective for another, thus preventing a consensus on whether the component is defective or not. Several solutions were described by Lamport, Shostak and Pease in 1982.  They began by saying that the generals` problem can be reduced to the resolution of a „commander and lieutenant“ problem, in which loyal lieutenants must all act together and that their action must be consistent with what the commander ordered in the event that the commander was loyal: it can be solved in a more „realistic“ problem where the defective components are not intermediated. to lure others into a mistake. It is in this state of mind that practical algorithms have been developed.
The Byzantine margin of error means that the algorithm should allow the system to make a consistent and cohesive decision, even if some damaged elements are present in the network. The way it does this is to seek consensus within the distributed group. Consensus is a dynamic process for reaching agreement within a group and the method by which they can reach consensus is called the „consensus mechanism.“ The problem of reaching a Byzantine consensus was conceived and formalized by Robert Shostak, who called it a problem of interactive coherence. This work was done in 1978 as part of the NASA-sponsored SIFT project at the Computer Science Lab at SRI International. Sift (for Software Implemented Fault Tolerance) was the child of John Wensley`s brain and was based on the idea of using several versatile computers that would communicate in pairs of messages to reach consensus, even if some of these computers were defective.