I'm of the opinion that politicians above a certain level (in the UK: prime minister, members of Parliament and maybe mayors) should just get a permenant annuity for the rest of their lives on the condition that they can't make money from anything else, ever. No stocks, no "speaking engagements" or do nothing bribery jobs. It would be expensive yes, but cheaper than the cost of corruption. Maybe have the value of the annuity be based of rank, MP gets 300k/y and PM gets 500k/y.