The consensus algorithm, as the core technology of blockchain, provides mechanism support and guarantee for the realization of functions such as decentralization, openness, autonomy, information tamperability and anonymous traceability, and realizes efficient achievement of strong and final consistency in distributed system. The consensus algorithms are divided into the previous classical distributed consensus algorithms and the subsequent blockchain consensus algorithms by taking the emergence of bitcoin as the time node. On this basis, the consensus algorithms are further classified according to the implementation principle, the typical algorithms are selected, and then the discussion is focused on decentralization, scalability, security, consistency and so on. Firstly, a general model of blockchain consensus algorithm is proposed, and the basic definition of consensus algorithm is given. Secondly, while introducing the characteristics of the classical distributed consensus algorithms, the distributed consistency algorithms and their improvements such as the two armed forces problem, the Byzantine generals problem, the FLP impossibility theorem, the CAP theorem and Paxos algorithm are studied, and then the execution process and functional characteristics of the algorithm are analyzed. Thirdly, the blockchain consensus algorithms are divided into POW consensus algorithm, POS consensus algorithm, POW+POS hybrid consensus algorithm and POW/POS+BFT/PBFT hybrid consensus algorithm according to different implementation principles and application scenarios. The algorithm flow is given respectively after selecting representative algorithms in each category, and then the specific application scenarios are deeply analyzed. Finally, the research hotspots and development directions of blockchain consensus algorithms in performance and scalability, incentive mechanism, security and privacy, parallel processing and so on are pointed out.