In section 5 of the yellow paper, it states "there will be a (weighted) dustribution of minimum acceptable gas prices.." My question is what, if any, is the enforcement mechanism that ensures this distribution? What's to stop every miner from wanting a high gas price?
Every client can set the minimum gas price of incoming transactions. Transactions with gas price below the limit will not be propagated and included in the pending block. That means that even there might exists miners with minimum gas price of 0, transactions with low gas price may not reach them as they are not propagated by other clients.
euri10's question (this should be a comment instead of an answer but I cannot format in comments), here is the
geth --help snippet that displays the options to set the gas price options - try setting it to "0":
MINER OPTIONS: ... --gasprice "20000000000" Minimal gas price to accept for mining a transactions ...
Every miner can set their own minimum gas price that they are accepting. So there is no consensus on what value should that be. Its just like how the transaction fee in Bitcoin works.
What's to stop every miner from wanting a high gas price?
Competition with other miners.
Say I set a high gas price, and you set a low gas price that's still high enough to be profitable. I will ignore transactions with a medium gas price, but they won't disappear; you'll mine them instead. This will make you more profitable than me. You'll be better able to fund higher hash rates, and if I continue I may find myself unprofitable as difficulty increases.
(This will be true as long as blocks aren't full of high-price transactions anyway.)