Imagine going to the post office to send a letter. Now, instead of choosing a different flat rate to ship next-day or standard speed, let’s say you get to decide just two things: how much you want to pay for shipping, and how fast you want your package delivered. Generally speaking, paying more will correlate to a faster delivery, but the actual delivery time and cost will end up being dependent on traffic congestion while your package is in transit. If you choose to pay too little, your letter might never be delivered and you’ll lose the money you’ve paid towards shipping; on the other hand, if you guess too high, you risk leaving money on the table.

How would you make your decision? It would be great if you could look up historical and current traffic reports, but you would have to look at multiple sources to gather this information, and even then it’s only a prediction and doesn’t take into account the fact that the Warriors just won the NBA finals and the streets are going to be totally packed this week. You’re reduced to guessing what you should pay for shipping and, chances are, you’re probably going to be wrong. Sounds frustrating, right?

If this dystopian Post Office scenario has your head spinning, welcome to the Ethereum network. Similar uncertainties arise when users transacting on the Ethereum blockchain have to pay a fee for each transaction, which helps meter network usage to ensure security and prevent spam. That shipping fee is called “gas.”