Sulfate attack is a well-known concrete degradation phenomenon induced by crystallization of ettringite, including external sulfate attack (ESA) and delayed ettringite formation (DEF). The differences between these two phenomenon are sources of sulfate ions and the position of ettringite formed. For ESA, the sulfate ions diffuse from the exterior solution, and ettringite forms in the capillary pores. While for DEF, the sulfate ions are released from the CSH and contribute to ettringite crystalization in gel pores. A model, based on the homogeneous paste expansion and surface-controlled ettringite growth mechanism, is proposed to explain the both phenomenon in a uniform method. The crystallization pressure resulting from the supersaturated sulfate solution is believed to be the driving force for this mechanism. The ettringite forms first in the largest pores and then progresses to the smallest ones, no matter it is in capillary pores (ESA) or gel pores (DEF). When a crystal of ettringite nucleates on the pore wall, it will grow by consuming the excess of solute, and it will begin to exert stress on the solid matrix after it grows into contact with the opposite wall of the pore. The solid/crystal interface will rapidly reach equilibrium by exerting stress on the wall. Meanwhile the liquid/crystal interface will be out of equilibrium and will grow with a rate governed by an interface controlled growth mechanism until the crystal eventually sustains an isotropic stress state. Thus final stress state is obtained when the interfaces have reached a small enough radius of curvature as predicted by the Ostwald-Freundlich equation. The volume fraction of crystal, Sc(r), is introduced to describe the saturation degree of the crystal, which is related to the pore entry radius. In addition a poroelastic model is employed to predict the linear expansion of homogeneous samples exposed to sulfate attack. The comparison between the simulation and experimental results in literature shows good agreement.