You can point to a lot of different people, but these are the main ones.

Michelin - For supplying dodgy tyres.
The seven or so Formula One teams - For not bringing along their backup tyres that they are supposed to bring to every race.
Ferrari - For blocking a move to change the circuit so that the Michelin tyres would be able to handle the racecourse. As far as I know, Jordan and Minardi (the other two teams on Bridgestone, ie, not Michelin tyres) were okay with this.
The FIA - For waiting until the cars were on the track. This should have been sorted out days before the race, not on race day. Stupid.