A computer-implemented method for facilitating a consensus process in a blockchain network based on practical Byzantine fault tolerance (PBFT), comprising: setting, by a first consensus node , a view timer for starting, upon timeout of the view timer, a view change of a current view; setting , by the first consensus node, a fetch timer that runs out before the view timer; determining, by the first consensus node and in response to the fetch timer running out, whether one or more consensus messages are missing by the first consensus node; and if the one or more consensus messages are determined to be missing by the first consensus node: sending , by the first consensus node and only to a second consensus node , a request for the one or more consensus messages missing by the first consensus node; receiving , by the first consensus node from the second consensus node, the one or more consensus messages each digitally signed by a private key of a corresponding consensus node that generates the respective one or more consensus messages; and determining , by the first consensus node, that a block of transactions is valid, if a quantity of commit messages included in the received one or more consensus messages is greater than or equal to 2 f + 1, where f is a maximum number of faulty nodes that is tolerable by the blockchain based on PBFT. setting, by a first consensus node , a view timer for starting, upon timeout of the view timer, a view change of a current view; setting , by the first consensus node, a fetch timer that runs out before the view timer; determining, by the first consensus node and in response to the fetch timer running out, whether one or more consensus messages are missing by the first consensus node; and if the one or more consensus messages are determined to be missing by the first consensus node: sending , by the first consensus node and only to a second consensus node , a request for the one or more consensus messages missing by the first consensus node; receiving , by the first consensus node from the second consensus node, the one or more consensus messages each digitally signed by a private key of a corresponding consensus node that generates the respective one or more consensus messages; and determining , by the first consensus node, that a block of transactions is valid, if a quantity of commit messages included in the received one or more consensus messages is greater than or equal to 2 f + 1, where f is a maximum number of faulty nodes that is tolerable by the blockchain based on PBFT. sending , by the first consensus node and only to a second consensus node , a request for the one or more consensus messages missing by the first consensus node; receiving , by the first consensus node from the second consensus node, the one or more consensus messages each digitally signed by a private key of a corresponding consensus node that generates the respective one or more consensus messages; and determining , by the first consensus node, that a block of transactions is valid, if a quantity of commit messages included in the received one or more consensus messages is greater than or equal to 2 f + 1, where f is a maximum number of faulty nodes that is tolerable by the blockchain based on PBFT. <EOS>