First, the original enamel on a sink or tub is very high fired and is akin to glass (which is why it chips instead of just wearing off). There is simply no way to replicate or repair this finish.
What is possible is to use a high build enamel paint to cover the scratch, chip or wear spot. The problem is, the repair will be obvious. Not as obvious, of course, as a black chip in a white enamel tub, but obvious enough to be noticed.
If you confine the repair to small spots and apply the paint carefully, you can minimize the obviousness. What you just can not do is belnd it in over a larger area. the margin of the repair will always be a hard line against the underlying 'porcelain' (fired enamel).
I've used a product named 'Klenk's' and would recommentd it to anyone. It is a hard epoxy paint that is used to refinish an entire tub, not just cover chips. It is very high solid/high build, self-leveling while liquid, and reasonably durable.
http://www.klenks.com/klenkspages/tubtile.htmlThe downside is that this is at best a temporary fix. I used it years ago in an old house we owned. The tub was simply worn out with the finish gone near the drain (as happens with many old tubs from the 1920s). I redid the tub with this stuff and it looked great. We sold the house about three years later and the tub still looked 'okay' but it was already starting to wear through. Paint simply is not as good as fired enamel. But this was an excellent stop-gap, and could probably be redone to buy even more time.
One cautionary note - it needs about a week to cure and the tub can not be used during this time.