The various node connecting ways make the public blockchain live in a complex network environment. Single network model, no matter whether synchronized network, partial asynchronous network, or pure asynchronous network, are failed to accurately describe the practical public network environment. This results in the data synchronization and consensus achievement in public blockchain facing a dilemma, either relies on a weak timing assumption or adopts the strict asynchronous assumption but accepts a complex method.To address this dilemma, in this paper, we propose a multi-stage data synchronization (MSDS) mechanism for the public blockchain. First, we define the complex network for public blockchain in which nodes can join or leave freely. Then, data synchronization is been proven as a sufficient but not necessary condition for consensus. Second, a new kind of block structure called the block abstraction (BA) is proposed to quickly determine the relevance between different blocks. A new epoch-based DAG is proposed in which synchronizations of unrelated per-order blocks are reduced within an epoch. Then, a novel base-address PoW protocol is proposed to screen out nodes who have finished the synchronization and block verification of the previous epoch. Finally, a dual-phase consensus is conducted to achieve consensus that does not rely on timing assumptions on block generation and data synchronization while preventing the adoption of complex asynchronous consensus mechanisms. Extensive experiments are conducted on real data from Bitcoin and Ethereum and the results demonstrate the effectiveness and efficiency of our proposal.