Had a similar experience once. A small change generated $2m/year extra revenue. That amount just about covered the bonuses of two execs while I got the standard 3% raise. Not the only reason, but I left shortly afterwards.
I put it together with the one I had from my prior project and brought a rio diamond mp3 player.
Being accurate and quantifiable without becoming confrontational is an art though, but ultimately necessary. Going over people can often lead to worse results. Eventually the truth does come out but whether it's worth the time and effort is up to you.
Communication is important - very important - but it's also often what people focus on when the reality is just a bigger pain in the ass ("so and so is a selfish twit who takes credit for others' work" is much harder to say than "we need to address communication issues between departments")
For example, did you have to take credit for that particular situation? What was the true downside of your boss taking credit? Why not cover for him and gain the ally? Build the relationship and you'll often find that it pays back in multiples.
Business is 99% about relationships. The only way you can get what you want is by helping others get what they want.
Why not work with them, teach them, and make them better. Instead of being upset, be on their side. Almost always, they'll help you in return. Being confrontational and going around them though, will only guarantee more negative outcomes. Remember that your boss's boss and other colleagues probably don't want to deal with someone who is seemingly more interested in getting credit rather than getting things done.
I had a colleague who once told me "the trick to making good ideas happen is to make your boss think it was their idea". And they were completely right! It didn't stop them from quitting in frustration years later having never been promoted.
These days I'd just quietly polish the CV and move along. But I have a much better job now.
Why does the truth eventually come out? Or is this an assumption?
If you don't manage to build a decent career/salary/position by your mid-thirties in tech you're quite likely screwed (though before I'm too depressing, I understand there are counterexamples here on HN). Waiting a year or two for recognition is career suicide.
I'd argue that 1 year is way too short. The lack of patience causes far more problems today than building up the relationships and gaining the network and momentum to get into higher positions. Most people I know who stuck to a clear goal within a organization that has openings have done better than those who kept jumping around looking for the quick rise.
My boss was delighted to take credit for it while also ensuring I stayed on message that it wasn't actually a result of him screwing up and being generally incompetent. I eventually figured I had nothing to lose and talked to his boss (politely of course) just saying how successful that had been and that I had plenty of other ideas for improvement. It was not well received.
But I hear my old boss is doing quite well these days.