In view of the Practical Byzantine Fault Tolerance (PBFT) consensus algorithm all nodes participate in the consensus, the three-stage process has problems such as large communication overhead, random selection of master nodes and lack of reward and punishment mechanism. A Speculative Practical Byzantine Fault Tolerance (SP-PBFT) is proposed. Firstly, the consensus protocol was optimized, and a timeout mechanism was proposed to divide the consensus process into optimistic mode and pessimistic mode, which reduced the communication overhead under the premise of resisting Byzantine node attacks .Secondly, a node evaluation mechanism was proposed to calculate the node reputation value according to the node's historical behavior and give the corresponding reward or punishment, which reduced the possibility of malicious nodes participating in the consensus process. Finally, the Fibonacci grouping mechanism was used to reduce the number of nodes participating in the consensus process, fundamentally improving the consensus efficiency, avoiding the problem of centralization of the consensus process caused by the cumulative reputation value of nodes, and improving the enthusiasm of consensus nodes. Simulation experiments using Docker containers to simulate multiple nodes show that the SP-PBFT consensus algorithm proposed in this paper has better performance than PBFT consensus algorithm and other improved algorithms in terms of consensus delay, throughput, fault tolerance and communication complexity.