A method for blockchain-based consensus, the method comprising: storing, by a database of a blockchain node, consensus data needed for performing a consensus procedure, wherein the consensus data can be invoked by a first server and a second server during the consensus procedure, wherein the blockchain node is included in a blockchain and comprises the first server, the second server, and the database; in response to determining that the first server is faulty before the consensus procedure: receiving, by the second server in place of the first server, a consensus message that is sent by another device participating in the consensus procedure; obtaining, by the second server in place of the first server, based on the consensus message, consensus data from the database, the consensus data corresponding to the consensus message; in response to determining that the first server is faulty during the consensus procedure: receiving, by the second server in place of the first server, a consensus message that another device participating in the consensus procedure reattempts to send, wherein the another device reattempts to send the consensus message when the another device sends the consensus message but receives no response after a specified time; obtaining, by the second server in place of the first server, based on the consensus message, consensus data corresponding to the consensus message from the database; executing the consensus procedure by the second server based on the obtained consensus data to generate a consensus result, in response to determining that the first server is faulty before the consensus procedure or during the consensus procedure; and storing, by the second server, the consensus result in the database, if the first server is faulty. storing, by a database of a blockchain node, consensus data needed for performing a consensus procedure, wherein the consensus data can be invoked by a first server and a second server during the consensus procedure, wherein the blockchain node is included in a blockchain and comprises the first server, the second server, and the database; in response to determining that the first server is faulty before the consensus procedure: receiving, by the second server in place of the first server, a consensus message that is sent by another device participating in the consensus procedure; obtaining, by the second server in place of the first server, based on the consensus message, consensus data from the database, the consensus data corresponding to the consensus message; receiving, by the second server in place of the first server, a consensus message that is sent by another device participating in the consensus procedure; obtaining, by the second server in place of the first server, based on the consensus message, consensus data from the database, the consensus data corresponding to the consensus message; in response to determining that the first server is faulty during the consensus procedure: receiving, by the second server in place of the first server, a consensus message that another device participating in the consensus procedure reattempts to send, wherein the another device reattempts to send the consensus message when the another device sends the consensus message but receives no response after a specified time; obtaining, by the second server in place of the first server, based on the consensus message, consensus data corresponding to the consensus message from the database; receiving, by the second server in place of the first server, a consensus message that another device participating in the consensus procedure reattempts to send, wherein the another device reattempts to send the consensus message when the another device sends the consensus message but receives no response after a specified time; obtaining, by the second server in place of the first server, based on the consensus message, consensus data corresponding to the consensus message from the database; executing the consensus procedure by the second server based on the obtained consensus data to generate a consensus result, in response to determining that the first server is faulty before the consensus procedure or during the consensus procedure; and storing, by the second server, the consensus result in the database, if the first server is faulty.