Resumen
This work represents a consensus algorithm in a form of Tendermint?s realization which is based on Byzantine Generals problem. This algorithm is used in order to achieve consensus among the participants over the next block in blockchain in decentralized applications and payment systems with data representation in the form of blockchain. The main feature of the Tendermint consensus algorithm is that the protocol participants are special network nodes, who are called validators. The paper describes the consensus algorithm, data structures representing validator voices with some weight, and the Proof Of Lock Change mechanism. It has been proved the finiteness, correctness and validity of this algorithm in condition the number of validators which are isolated from the system or perform acts which do not correspond to the consensus algorithm does not exceed one third of the total number of validators. Analysis of Proof of lock Change mechanism was performed. It is shown that all possible variations of the consensus algorithm in which Proof of lock Change mechanism is not implemented have a serious defect the violation of finiteness property of consensus algorithm, which can lead to system failure.