Champagne is bottled under roughly 6 atm of dissolved CO₂; once poured, the liquid sits at 1 atm and is left massively supersaturated. Classical nucleation theory says a new gas bubble can only form once it clears a critical radius r* = 2γ/ΔP (Young-Laplace) — below r*, surface tension crushes any embryo bubble faster than gas can diffuse in. At real champagne supersaturations, r* is a fraction of a micron, but the energy barrier to nucleate that embryo from scratch in the open liquid (homogeneous nucleation) is still far too large to happen at any observable rate.
What actually nucleates almost every bubble you see is a pre-existing gas pocket lodged in a microscopic cellulose fiber (left behind by the towel used to dry or polish the glass) or a tiny scratch etched into the glass. If that pocket's radius is already larger than r*, it needs no activation energy at all — CO₂ simply diffuses in and a bubble detaches, over and over, from the same spot, which is why real bubble trains rise from fixed points rather than randomly through the bulk. This simulation scores every defect site by exp(−(r*/r_site)²): sites much larger than r* fire continuously, sites near or below r* stay dormant — exactly the selectivity that makes only a tiny fraction of a glass's fibers into active "fizz points".
Once born, each bubble grows by CO₂ diffusing across its surface (radius grows as √t, an Epstein-Plesset-type diffusive law) while rising under real Stokes drag, v = (2/9)g(ρ_liquid−ρ_gas)r²/μ — so it accelerates as it grows, exactly like a real champagne bubble on its way to the surface.