60 comments

[ 0.22 ms ] story [ 126 ms ] thread
Another dynamic of bitcoin is that mining is not purely motivated by block rewards; even if there were no rewards at all, people who owned bitcoins would be incentivized to continue mining in order to secure their own currency holdings.

For example, if I had 100BTC and I feared that they would halve in value if the bitcoin network had a successful technological attack, it would be quite reasonable for me to spend up to half the amount of coins I had in mining/securing the network, regardless of other profit... and that arms race also continues even with no money gained from mining due to increasing vested interest.

I think this dynamic is often lost in people estimating what amount of mining a rational actor would undertake.

Half of the money over what time frame? If that's per year, you're facing 50% devaluation of your property per year.

That may be your best choice, but it surely isn't enticing for people to enter the game, or keep playing it. So, that would kill Bitcoin.

As long as markets exist to transfer bitcoin to other currencies, I believe that effect is probably negligible. If a miner holds a significant portion of their rewards in bitcoin and there exists a credible threat to the network, it will almost certainly be more advantageous to convert that value to another currency rather than continue mining in hopes of saving the network.
If you owned stock in Pepsi, and their business looked like it was going to go under, would you drive down to the plant and help them bottle the stuff?

The rational response in your scenario would be to sell your BTC and diversify into other assets.

Trying to secure the network yourself suffers from the tragedy of the commons. There is no real incentive besides altruism to not let others bear the cost of doing the work and ride on their coattails.

You might not, but if Pepsi produced 90% of the demand for drinking bottles, the bottle makers might. Similarly, bitcoin companies which are not currently miners but which profit from providing bitcoin-related services might have incentive to step in. (Coinbase, Circle, BitPay, etc.)
Someone I know covered his roof in solar panels. Instead of buying a big battery, he just runs a BC server farm. It's not unsustainable.
That only works if it becomes part of the BTC protocol that you can only mine if the electricity comes from renewable, non-polluting sources. Otherwise, due to solar not being the cheapest, most accessible source of energy everywhere that people want to mine BTC, you'd have lots of people choosing to increase greenhouse gas emissions in order to fill their own pockets.

It would be interesting to see estimates of the cost of those greenhouse gasses, in terms of extinct species, effort to clean up the atmosphere, or other expensive/bad things that can happen when you claim that increasingly using energy in non-efficient ways is just fine. Are these costs higher or lower than the value of the money created?

Perhaps BTC is sustainable, but your argument certainly does not refute the article's claim - at least, until we've already solved our energy & pollution problems.

If bitcoin does become even more mainstream, given its energy requirements and the potential strain it may put on existing traditional infrastructures; will solar and other alternative power sources always be more expensive?
There's no economy of scale for solar - just more and more panels, in contrast to more traditional power sources where running one big boiler / set of turbines can be more efficient. So I think solar gets worse off as electricity demand increases.
There's an economy of scale in producing solar panels. And there can be economies of scale in installing them.
Local solar works well. It is the transport to central electricity generating stations that killed initiatives such as the one to power Europe from North African deserts. Bitcoin mining can use local solar (on small scale) or large scale. Mining will move to hot climates.
That doesn't make any sense. Energy is fungible. Just sell your power back to the grid if it's worth more than BC. If it's worth less that BC then buy from the grid.

"Assigning" your solar cells to BC is meaningless.

Just sell your power back to the grid if it's worth more than BC.

Many (most?) power companies around the world don't simply buy power from solar cells at the same price they sell. Also you may very well be taxed on your income from selling electricity back to the grid, so it's not that simple.

You are taxed on your bitcoin earnings as well.
There is no question mark in the original title, though probably there should be one.

It's only one character, but adding it has significantly changed the meaning of the title. The article is full of confident statements of opinion, presented as facts, so I don't think the writer intended to make that title into a question and invoke Betteridge's Law of Headlines.

Whether it's correct or not, it does seem like the issues raised in this article have been discussed many times before during the past 5 years. Is there anything really new?

Here's some reaction to it from the pro-bitcoin side: http://redd.it/3bj0vo

The central problem that banks solve is the shared-truth problem, and banks solve it by being the score-keepers. Alice's bank owes her $100; Bob's bank owes him $100. If Alice pays Bob $50, Alice's bank owes her $50, and Bob's owes him $150.

That's all there is to it. The key is that the banks have to agree on the truth. A check from Alice to Bob is a statement from her saying "I pay Bob $50", he endorses it, saying, "I accept $50 from Alice" and then the two banks at some point say "1-2-3 go!" and make the change simultaneously.

Until I understand how Bitcoin does that, I will not believe in it. And don't give me hand-wavy bullshit. Speak plainly.

EDIT: Yes, downvote me for wanting to understand, you bitcoin bastards.

You're being downvoted because you didn't put in the effort to explain why you misunderstand Bitcoin transactions. Further, your tone is aggressive and instigative.
Bitcoin is a distributed ledger of all transactions.

Alice mines 100 BTC. That "mining" transaction is recorded on the ledger and distributed to all the other miners and they accept it because it has the correct math behind it. Bob wants to buy 100 BTC because he wants to deposit to an online poker site and the regulations don't allow him to deposit using a credit card. He goes to Alice in person and gives Alice USD and Alice transfers Bob 100 BTC.

Carol mines the block that contains the transaction. Carol gets some BTC for mining and also verifies that the transaction from Alice to Bob is legitimate because it was signed by Alice. Therefore, since Carol mined a legitimate block it's accepted by all the miners. Now all miners agree that Bob has 100 BTC.

The answer for all of this is math. Cryptography proves that these things happened.

> Until I understand how Bitcoin does that, I will not believe in it. And don't give me hand-wavy bullshit. Speak plainly.

You're probably being down-voted because that information is available to you. You just need to look for it.

> that information is available to you. You just need to look for it.

In this case almost all questions on HN should be downvoted.

Not really, I think. There are questions like "Why is my site not attracting users" or "Is this business / project idea viable", where putting it in front of the HN audience is looking for information. There are questions like "Is Cisco generally nice to acquired companies' free products" or "How profitable is Uber in the long term" that can't be trivially answered with public data, but can lead to productive discussions. There's stuff like "What should I do about this particular diversity problem in my company, from my position," where discussion is the best way to get an answer. All of this is very different from asking a technical question that is (in theory) answered in the very first technical paper on the subject.

There's also the question of relevance. "Ask HN: What's your favorite resource for explaining Paxos?" as a top-level post is very different from commenting on some random AWS blog post insinuating that Paxos can't possibly work.

(comment deleted)
Is there a reason that you find the existing resources on Bitcoin (the Wikipedia article, the paper, the "how it works" page on bitcoin.org, etc.) unclear? What parts of them do you find un-plain or handwavy? What have you read? Do you concur with the purported answer in part and not in part, or do you disagree completely, or do you not understand it...? Help us help you.

I don't believe that Bitcoin is a good idea, but I certainly believe that it works for the use case / model of the world it has, and I believed it just about as soon as I heard of it, because I found the resources clear. I imagine so have most others, and so us repeating that to you is probably no different from what you've heard already. If you tell us more about what you understand and what you don't, what you've read and what you haven't, then we can give more useful replies.

For one thing, if you have a single global ledger, how do you avoid the problem that miners can ignore your transactions if they want to? I have other questions, but none of them matter, really, except this one, because this implies that the score-keepers become bitcoin miners rather than banks, which makes bitcoin a non-solution to the banking problem.

If you transfer money, at what point does the transfer "happen"? If you have to wait for a miner to calculate something during a 10-minute batch of (global) transactions, doesn't this mean that a) everyone has to wait (at least) 10 minutes for a transfer to take place and b) that all global transactions for every 10 minute window have to reach the same place (e.g. the miner)? Do all miners have to agree on the contents of a block before they start mining?

Most discussions of Bitcoin seem to get bogged down in details and jargon. I think the idea is to create a single ledger that monotonically increases in size, with each block of transactions getting integrated with it by solving a (mostly) arbitrary math problem involving the value of those transactions. So I guess my main problem with the system is that it's trivial to alter blocks before integration. The secondary problem is the "waiting for transfer" issue. Or perhaps it's enough for a buyer to hand a seller a signed message saying "I pay you $50" which the seller can a) look at the global ledger to make sure they have the money, and b) integrate into the ledger at their leisure. Which implies there's a double-spending possibility in the window between handing the seller the message and the seller passing the message to the miners for integration.

I'm not sure if your question is based on an assumption about double-entry accounting. Bitcoin is not double-entry, at least in the sense that there aren't two separate entries. A transaction transferring $50 from Alice to Bob is a single thing in the global ledger, signed by Alice's key, transferring it to Bob. There's no way to sever "Alice spends $50" from "Bob receives $50", so even if you can cause transactions to be ignored, the whole thing, atomically, gets ignored. The transfer never happened, and no money is created or destroyed.

It is certainly possible for someone to modify a block and try to mine it. There's no required consensus process in advance; you can just try to generate a block that has the data you want, and find a hash that starts with enough zeros. (You can't alter a block so that money is spent without the consent of the money-holder, since each expenditure requires a digital signature. But if, say, Alice's key has signed both "Transfer this bitcoin to Bob" and "Transfer this bitcoin to Carol", you can mine either of those.)

The trouble with trying to do that is that mining is slow. The math problem is timed so that it takes roughly 10 minutes for someone, somewhere to successfully find an answer. So the CPU time is 10 minutes times the number of mining nodes on the Bitcoin network. If you, on your own computer, start trying to mine a block that's different from what everyone else is trying to mine, you are going to have to be extraordinarily lucky to be able to get the math problem solved on your own within 10 minutes. The entire rest of the Bitcoin network is trying to mine a different block, and they'll probably win.

Let's say that you are extraordinarily lucky, or maybe you control like 30% of the network and you're slightly lucky. What you've accomplished is to make a fork in the block chain: there are two blocks with the same parent. You can now send your fork to people, because there's no way to to tell which one was "real" and which one wasn't. But now you need to keep mining on your fork, because people will notice if the block chain mysteriously stops updating. You need to be incorporating everyone else's transactions onto your fork. So not only do you need to be lucky, you need to be repeatedly lucky, all the time, so that your mining keeps up with the other fork. This is only feasible if you actually control 50% of the network.

But still, what have you accomplished? There's no "merge" in Bitcoin. Everyone sees a single history. If they see two blockchains updating at the same speed, they know that something is up and it can be resolved by humans; no program is going to simultaneously trust both histories. So either Alice transferred a bitcoin to Bob (and thus not to Carol), as she authorized, or she transferred a bitcoin to Carol (and therefore not to Bob), as she authorized, or the bitcoin remains with Alice and no transaction happened. The best you can do is prevent people from spending their money, if you reliably control 50% or more of the network. You can't cause money to be double-spent.

And yes, it is common to wait 10 minutes or often 60 minutes to wait out an attacker's luck, at least for large transactions. The official Bitcoin client calls transactions "unconfirmed" until it sees six blocks mined on top, at which point it's assumed infeasible for you to have a separate history from the rest of the network. For smaller transactions, people tend not to wait as long. But the same thing happens with conventional currency. Most stores don't check small bills with counterfeit pens. Most credit card readers support offline transactions, but you get the product immediately. Personal checks can take up to a month to clear or bounce. If there's something high-value, you get a cashier's check or you run a credit report on the person. Otherwise you trade off the risk for conve...

>The best you can do is prevent people from spending their money

And that's pretty damn good, because if you want to do the most damage to someone, you cut them off from their money.

So, most of the time these threads are abandoned, but I really do appreciate your thoughtful responses, and I'd like to continue, because I think I'm finally able to articulate my concern clearly: the trouble is that there is a distinct, separate group of miners who can form out-of-band cabals and cooperate to effectively cut anyone they want off from their money. All it would take would be for a majority of them to agree to ignore transfers from a public key, and the ledger would continue along just fine.

So, the root of banking power is currently institutional and legal, and all bitcoin is doing is giving that control to people with the most compute power. Bitcoin turns CPUs into the new gold standard (although ASICs function more like tulips).

On a related note, I'd like to understand on a practical level how people reach "the miners" and whether or not the miners have incentive to share transactions with each other once they learn of one, or whether the system relies on a "neutral" third party clearing house for unintegrated transactions. Presumably there are lots of endpoints in the world where you can put transactions, but what guarantee do you have that anyone will bother integrating yours? Do you push it to lots of endpoints to reduce the chance that happens (intentionally or by accident)? Or, another way to ask this, is: how do miners learn of unintegrated transactions?

> And that's pretty damn good, because if you want to do the most damage to someone, you cut them off from their money.

Hmmmm. So, in order for someone to spend money, they just need one transaction in the blockchain moving the money to someone else. In order to cut them off, you need to make sure that transaction never gets mined.

Since there are lots of miners, even if you control part of the network, someone in the rest of the network could mine the transaction. Then you're in the position of having to refuse that block and maintain a fork. That's probably tenable if you control like 95% of the mining power. I'm not convinced that's tenable if you control even 50% of the mining power. If your victim keeps trying to transfer their money, you'll fairly often find the other 50% of the network having a block that you refuse to accept, and (I think) you won't be able to get your fork to reliably win automatically. IF you keep refusing blocks, it'll involve human intervention on the other 50% of nodes to consider your history the "real" history, and people will notice that something strange is happening.

You could, of course, accept the transaction, track their coin, and consider all money from its recipient tainted. But there are enough large wallets, like large exchanges and even tumblers (essentially money-launderers) that obfuscate the relationship between inputs and outputs. You're going to have to start blacklisting a lot of money if you want that approach to work.

> So, the root of banking power is currently institutional and legal, and all bitcoin is doing is giving that control to people with the most compute power.

Yes, this is basically my biggest personal disbelief about Bitcoin: many governments could out-mine the entire Bitcoin network right now if they decided that it was important to national security. I'm not convinced this is a fundamentally unsolvable problem (there are some alternative models, Stellar's consensus protocol probably being the most interesting) so I'm not a cryptocurrency skeptic, but I am a Bitcoin / proof-of-work skeptic. There do seem to be a bunch of people in the Bitcoin community interested in alternatives to proof-of-work, which I think is healthy.

(And relatedly, if we don't need proof-of-work for security, either because something else works or nothing possibly works, let's stop building a world in which we have to burn energy for currency transfer.)

> On a related note, I'd like to understand on a practical level how people reach "the miners" ... how do miners learn of unintegrated transactions?

I don't understand this clearly and I'm currently the wrong person to ask. The best I can find is https://en.bitcoin.it/wiki/Transaction_broadcasting plus https://en.bitcoin.it/wiki/Network (there's some IRC-style way of learning about nodes, and I think at the network level, ~everyone is a node and considered capable of mining). I suppose the paper might know more; we could look.

>I don't understand this clearly

I would consider understanding this to be a necessary condition for advocating for (or using) BitCoin.

Also, one of the interesting outgrowths of focusing on the reachability of the network is that a few features of the network. Assuming the network is accepting all transactions, miners must be working on different subsets of transactions routinely. This implies that there's quite a lot of computation getting thrown out, routinely, as different miners start working on different subsets of transactions.

It also implies that there is a miner-to-miner DOS method, where the majority of the miner network blackballs a miner - no longer accepts their integrations. This is serious, but much less serious than an arbitrary public key freeze, which can affect anyone (your tumblers aside, it's always possible).

Finally, I begin to understand why Satoshi started with money. I suspect at some level this is not about money, but he needed to incent people to get this ball rolling. What is it about? It's about coherent, persistent truth. Transactions are just one kind of event that happens in the world. The pattern is valid for any global data-structure that you want to have great survivability and coherence. You might use something like the blockchain (adding back a little jargon) to store, for example, the mind state of an AI. The proof of work, rather than a mechanistic search for arbitrary hashes, might be somehow related to the operation of the AI's "mind".

Well, for Bob's bank to owe $50 more to Bob they need to be compensated so Alice's bank now owes $50 to Bob's bank. In other words, Bob's bank must trust Alice's shitty bank.

Unlike the dollar, Bitcoin is not the transfer of debt.

There seems to be a factual error in this: other than what the article claims the number of transactions should not change the amount of energy required.

The Mining network mines a block roughly every 10 minutes, no matter how many transactions there are.

If the amount of transactions rises, the cost in Bitcoin per transaction rises, not the energy required. The cost in Bitcoin rises because you have to give the miners an incentive to actually process the transaction (that is, include it in a mined block). Since the number of transactions per block is limited, there is a bidding competition.

What increases the energy required is only the mining, which depends on the value of Bitcoin. The more valuable Bitcoin is, the more miners will be thrown at it, consuming more energy.

Correct me if I am wrong...

There is currently a (ballpark) 7tps limit due to the current 1MB block size limit although this is currently under the subject of intense discussion/debate and will likely be solved in the coming months/years by a combination of increases to the block size (imminent), and the deployments of technologies like side chains and lightning network (both under development).
The author of this article has a misconception that the marginal cost for processing a bitcoin transaction is "1.57 American household's yearly consumption". That's not correct -- the marginal cost is closer to the electricity spent by your processor in rendering this web page.

It is the upfront cost of getting a partial SHA256 collision and being able to add transactions to the blockchain that is massive, at least for this level of transactional volume. Bitcoin becomes more sustainable the more people use it, as the average TX costs goes down.

Whether other consensus systems like Proof of Stake should replace Proof of Work is a more interesting question.

Proof of state only further incentives hording, generally making it undesirable for economic activity.
This is why I hope that Proof of Stake currencies currencies like Neucoin take off.
Exactly. Many like to focus on the shortcomings of Bitcoin (of which there are many, I agree). Some more even like to predict the 'death of Bitcoin' based on these. However we shouldn't ignore the fact that cryptocurrency is developing rapidly (hell, it's only 6 years old), and many obvious issues are being slowly but surely worked on (privacy, wallet security, energy consumption, mining decentralisation, sustainability and tx fees, microtransactions, contracts, scripting, etc.).

As for when it hits mainstream consumer adoption, who knows. I'm here for the ride.

The mining farm linked in that article is from last year. A more modern one is shown here.[1] This new one is located in a cold, mountainous part of China next to an underutilized hydroelectric plant, so they have free cooling and cheap power. They've been able to avoid cable clutter; their power distribution uses aluminum busbars, and they seem to have an in-house network that doesn't require vast numbers of long cables. (The data rate for a Bitcoin miner is very low; you only need to talk to it when setting a new block starting point and if it finds a block.)

[1] https://bitcointalk.org/index.php?topic=1072474.0;all

That link is absolutely fascinating and a very honest account.
Correct me if I'm wrong, but the idea of the blockchain is that everything is recorded in it right?

So there is more and more information stored in there, redundantly. So eventually it'll take way too much space for everyone?

(And the more adoption there is, the faster this process is)

Two points, which are not by any means the whole story but simply things to consider:

- Hard drive space is increasing faster than the blockchain size

- New protocols like sidechains and the lightning network could help offload much of the transaction load, making certain bitcoin transactions essentially an settlement representing many thousands, thereby dramatically reducing overall data size.

Yes, that's one of main argument raised against increasing transactions per block - it would increase block size and ledger growth rate.
Increasing the block size doesn't increase the transactions per block. Usage does.
Yes, that's why using a blockchain is only feasible for applications that do not generate too much data. With one transaction being 500 bytes in size, a billion transactions occupy 500 GB, which is still managable by an average PC. Once Bitcoin reaches Visa-level transactions rates (100 million per day), there's 500 TB of transaction data per year. That would be a problem for today's network, but it is still in the realm of feasibility as long as the professionalization continues.
It already takes up too much space. It's what, 40G now? That's a significant fraction of the size of economy hard disks.

Plus it takes forever to download 40G for new users.

They keep talking about trimming the blockchain, but as far I know (and correct me if I'm wrong) the official client does not support that.

for day to day usage not all the data needs to be kept. for example, you could keep just the unspent outputs (instead of all previous transactions).

But yes, some archival nodes would be needed to keep the entire history.

So what is not covered is how this cost of bitcoin compares to the cost of the present central-bank full-fiat system. Take into account the London whale, the libor scandal, forex fixing, comex cartels, all the fees and charges that are skimmed at every stage and flow into the ridiculous levels of Wall Street/The City profits. Take all the criminal actions and the fact that it seems the financial law enforcers are incapable now of bringing financial criminals to justice. How does the bitcoin cost compare to those costs? I don't know, but if I was a gambling man I'd bet that bitcoin is orders of magnitude less expensive. Does anyone have any figures to compare these?
The implementation of FATCA alone is estimated to cost 100 billion USD. And that's just one regulation of many.
Bitcoin will not eliminate most of the market inefficiencies you've listed - certainly not forex, by definition for example. There are already Bitcoin derivatives and other financial instruments being built already.

However, the most comprehensive (and perhaps, relevant) analysis I've seen looks at the costs of printing/minting money and its distribution (banks, ATMs) is here: http://www.coindesk.com/author/hass-mccook/

It's from mid-2014 now so the mining article is a bit out of date but there's no reason it couldn't be turned into a spreadsheet to account for current mining efficiency (and modeled against new developments increased block size or lightning network, for example).

How can the author write this entire article without mentioning the real numbers that matter? The mining reward is currently 3600 bitcoins per day in block rewards, plus about 20 bitcoins in transaction fees. That means if miners are rational they will collectively buy about 3620 bitcoins worth of electricity per day.

3620 bitcoins buy a lot of electricity for sure. But it won't always be like this! The block reward halves next year, and transaction volumes will probably increase. Then rational miners will spend perhaps around 1830 bitcoins on electricity per day, while processing more transactions. Wow, we've more than doubled the efficiency in a year!

Furthermore, the block reward keeps halving every couple of years until it goes all the way to 0! At that point, the only thing funding the miners will be transaction fees, so the full costs of running the network will be borne by the users, and market forces will decide the appropriate level of resources to spend on running the Bitcoin network. It could be higher or lower than 215 MW, depending on how useful Bitcoin becomes to users.

I mean this in the strict economic sense and not the "Bitcoin is irrational" sense, but is there any proof that Bitcoin miners are rational actors as either individuals or as a community as a whole?
If people are losing money mining, they'll either stop mining or run out of money to pay their electricity bills. Either way, problem solves itself.
Your first point is a tautology because it relies on the assumption that miners are rational. I can certainly see scenarios where they continue to mine without it being immediately profitable. For example, people are bad at dealing with sunk costs. Imagine a miner paying money for a mining rig and then continuing to mine even when it is unprofitable to "pay off the rig". Or perhaps they have the somewhat more rational belief that Bitcoin will increase in value in the future so they are comfortable taking an immediate loss on the electricity.

Your second point relies on the assumption that Bitcoin is a closed system. Without people injecting value into the system, Bitcoins would be worth $0. So you are basically predicting that people will suddenly stop bringing money they earned elsewhere to support mining Bitcoin. This point also relies of the opposite of the old Keynes "the market can stay irrational longer than you can stay solvent" quote. If we are waiting for people to go broke to keep the market rational, how long will that take and will the market be able to endure however long it is?

I think the answer to your question is unequivocally yes. Information is too perfect in bitcoin mining it to diverge too far from its rational rate.

Calculating your (probable) return is trivial, and calculating your cost is trivial. Ergo calculating your profit is trivial.

Mining at a loss in anticipation of a price rise doesn't make sense. If you are mining in anticipation of a price rise and you have the finances to buy and support a mining rig, then you should just take that money and buy coins on the open market. The only people for whom mining at a loss makes sense are people who already have sunk costs in mining rigs.

The idea that the bitcoin market will, in aggregate, not realize this, is far-fetched at best.

> the only thing funding the miners will be transaction fees

How does that work, exactly? I thought that the only reward that the miners get is the block reward hard-wired in the system. Is there another mechanism that allows them to negotiate transaction prices with clients and accept/decline transactions?

Iirc, a transaction has some number of ongoing and outgoing things, and the part of the ingoing things which don't go to outgoing things goes to the miner of the block that includes the transaction.

The specifics of that might not be quite right.

But a transaction generally specifies some amount which goes to whoever mines a block which includes the transaction.

If one wants their transaction to be included in a block more quickly, one can include a higher transaction fee, so that miners have a greater incentive to include your transaction in a block compared to other transactions.

I am fairly sure that the above is basically correct, but not entirely sure.

I don't actually own and have not used bitcoin, I'm just interested in the space.

Bitcoin fees are more like "tips"m there is no negotiation involved. When someone posts a bitcoin transaction to the network, they can optionally include a fee along with it. When miners bundle up transactions into blocks to add to the blockchain they give priority to transactions with higher fees.

Of course, the huge problem here is that there is only an incentive to add substantial fees if the number of transactions is larger than the maximum the network can handle. If they increase the blocksize to allow for more transactions per minute then there will be less incentive to pay fees. The fee system is also not very friendly to microtransactions because its not percentage based.

Bitcoin transactions include an optional fee, chosen by the sender, which is paid to the miner who mines the block containing that transaction. Miners choose which transactions go into their blocks. They can accept or decline transactions at will, and also choose which transactions are processed first. Rational miners will process higher fee transactions first, and may also set a fee threshold below which they reject transactions. This mechanism is already in place and working.

Currently transaction fees are negligible compared to the block reward. Many miners are willing to process 0 fee transactions because it hardly costs them anything and promotes use of the network. However this will change over time as the block reward declines and transaction fees become more important.