McCain has been drawing heat from the liberal blogosphere for calling Social Security an "absolute disgrace" by reason of the fact that young workers' taxes are used to pay seniors' benefits. They rightly note that he is criticizing a core feature of the program since its inception, thereby suggesting that he is at odds with what remains an exceptionally popular set of policies.
Less noted by anyone thus far is the absurdity of caring about the exact details of cash flow. Money is fungible. If everyone paid exactly the same Social Security taxes and received exactly the same Social Security benefits upon retirement, but the exact dollar bills collected via the payroll tax went into special savings accounts and other funds (from government borrowing or taxes) paid the current benefits, would it make any difference? Only an ass would think so, leaving aside political economy claims about how the cash flow details might affect perceptions and thereby change political decisions.
What matters is how much, on balance, different people get and pay throughout their lives, along with interim timing details if one thinks of Social Security and Medicare as forced retirement saving.