The gas price is a dynamic equilibrium between the number of requested transactions, the number of transactions miners can handle and the cost to handle one transaction.
Since it's dynamic, for a specific requested transaction, you'll have to wait less before it gets handled by miners if you increase your gas price. And you can pay a cheaper fee if you can wait longer before your transaction gets into the blockchain.
Also, increasing the number of requested transactions increases the gas price for a given delay before the transaction gets into the blockchain.
Similarly, if a nonnegligible percentage of miners suddenly have access to cheaper hash power (mostly through cheaper electricity), they can handle cheaper transactions while still being profitable, mechanically reducing the gas fee you need to pay for a given delay.
As such, the gas price is already tied to fiat, since most people pay their energy with fiat. It's just that there is a small (probably not small enough for the taste of some people) time gap between a sudden change in ETH price and a correction of gas fee.
As such, if the ETH price was multiplied by 10 or 100 and stayed that way for months (like it had before), miners would reduce their fees, for they would recognize they're able to keep being profitable even when adjusting (in ETH price) their gas fees accordingly. Hence gas fees are more or less tied to fiat, because it's actually not tied to fiat, but to energy cost itself tied to fiat.
Actually, the most dreadful event is when mass adoption is attempted, in which case the number of requested transactions encounters a sudden spike the current system can't handle without largely increasing the gas fee. That's when you encounter such spikes in the gas fees.
But all these problems will be largely alleviated by scaling solutions, PoS (through way lesser electricity costs), Plasma, and sharding (more directly) being reputably effective solutions.
Taken from Reddit