Fixed prices for fixed sizes of data isn't efficient, economically speaking, because marginal costs are not proportional to marginal data transit; either the price is too low to prevent congestion at peak times, or it's too high and leaves pipes underutilized at off-peak times - and the times don't lend themselves to simplistic on-off peak analysis.
What you want is spot prices dependent on congestion, but that creates a different problem, opacity in pricing, where people will be fearful to use owing to uncertainty in how much it will cost.
I think the fairest mechanism is probably some kind of QoS by inverse usage: where congestion occurs, drop packets belonging to users who transfer the most. Unfortunately, I'd expect that to be computationally infeasible, as it would require fairly complex dynamic and stateful logic in routers to process the accounting and make decisions on a packet by packed basis fast enough.
What you want is spot prices dependent on congestion, but that creates a different problem, opacity in pricing, where people will be fearful to use owing to uncertainty in how much it will cost.
I think the fairest mechanism is probably some kind of QoS by inverse usage: where congestion occurs, drop packets belonging to users who transfer the most. Unfortunately, I'd expect that to be computationally infeasible, as it would require fairly complex dynamic and stateful logic in routers to process the accounting and make decisions on a packet by packed basis fast enough.