It seems to me that if someone Blockades Curse and you gain a Curse with Trader in hand, you could exchange each Curse for Silver and end up with all the Silver - though you would then still have to gain all of the curses.
I think maybe it is possible to get all the Silvers and none of the Curses. If your opponent Blockades a Curse, then you gain a Curse on your turn, there are things that can happen on-gain: you can reveal Trader to swap the Curse for a Silver, and Blockade will trigger to give you another Curse. Since it is your turn, you get to decide the order in which those things happen.
Until the number of Silvers left in the supply is equal to the number of Curses, you should trigger Trader first, Exchanging the Curse for a Silver. Once that is done, Blockade will trigger and give you another Curse. Once the number of Curses and Silvers in the Supply are equal (before you get the Curse), then you let Blockade trigger first, and chain it until you have all of the Curses. At that point Blockade will trigger a final time, but fail to gain a Curse (and, therefore, not be triggered again by you gaining a Curse). However, it is still the on-gain time for each of those Curses, as you had a second thing you could do (reveal Trader). You reveal Trader for each of those Curses, swapping them for a Silver. At the end you have swapped back all of the Curses and emptied the Silver pile.
I may be wrong about this, but based on my understanding of the rules, I think it is possible.