All typical children go through this stage. You did too. He is gaining control and independence. He is NOT being defiant. He is being a 2 year old.
That does not mean he doesn't need to do what you say, it means that he should not be punished for saying no.
For example, instead of saying "Eat your carrots and I'll give you ice cream." (the bribe) say "You have a choice, you can eat your carrots or your peas, which is it?" (giving him the control to choose).
Try not to give him an opportunity to say no. You can have the red car or the blue car, you brush your teeth first or mommy brushes your teeth first, you sit in the chair or you sit in your bed, you put on the first sock and mommy puts on the second sock.
Now, there are times when bribing isn't such a bad thing, so don't be so hard on yourself. I bribe sometimes, I think we all resort to it once in a while. Just give him the control over his body that he needs to help him grow up into a confident, secure, healthy child while setting limits at the same time. Choice and limits are crucial.
Good luck.
A.