This is something I have had rolling around in my head for a few years now, I'm sure I'm not the only one to have this idea.
The way elections are financed in the US is completely messed up, with laws that recognize corporations as people, and political action committees pretty much buying the elections.
My idea is not that complicated. The only people that should be allowed to donate to a candidate should be people that are registered to vote in the district they will represent. If someone is running for a congressional seat only someone registered to vote in that district could donate to them. If a candidate is running for a senate seat only registered voters form that state would be allowed. To donate for a presidential candidate you have to be registered vote and be a US citizen.
There also would have to a limit on the amount someone could donate, it would an amount based on a percentage divided among the number voters that would be represented by the candidate.
It will never happen though as it would have to get passed by politicians that are owned by the big donors.