The best way to restrain government is to impose the cost of government on as many people as possible. Why? Because regardless of the cost, everybody's vote counts equally and who wouldn't vote for something they don't have to pay for?
Now the reality is that we could always ask the rich to pay more. After all, it's only fair because they have all the money. The issue however isn't fairness, but efficiency, and taking money from the rich makes us all poorer. Even if you are a huge proponent of redistribution, it doesn't make sense to kill the goose that lays the golden eggs.
Here's my proposal: redistribute first, and then tax every single tax payer at the same flat rate. The rich will pay more because they have much more money, but the poor will also pay because you gave them money to pay taxes with. This means that they are more likely to resist future tax increases because they have skin in the game, and this will in turn limit the size and scope of government.