All posts in " ether "

Ethereum Difficulty Bomb & Inflation Rate Explained

By Shawn Dexter / September 5, 2018

In this post, Shawn explains the Ethereum Difficulty Bomb. The recent debate around the Ethereum Inflation rate has many people discussing the current ethereum mining rewards &  "difficulty bomb".  But what is the difficulty bomb? Shawn explains it clearly and succinctly!

What Is The Ethereum Difficulty Bomb?

 With Ethereum's Constantinople update coming up on  January 16th 2019, there have been an increasing number of questions regarding Ethereum's "Difficulty Bomb".  Most other explanations out there are either far too complex are simply wrong. 

Ethereum Difficulty Bomb: The Simple ​Explanation

The Ethereum Difficulty Bomb simply refers to a tool within Ethereum. This tool allows the core Ethereum developers to adjust how difficulty it is for a miner to win a reward. ​Miners win rewards each time they create a new block and add it to the blockchain.  

When the Ethereum Difficulty Bomb is set to "detonate", it will get exponentially difficult for miners to win rewards via mining. But why would the developers want this? Because eventually they will want miners to stop mining and start validatingRemember, Ethereum is set to transition from Proof of Work to Proof of Stake. There is no mining in Proof Of Stake. We will have validators instead.

Ethereum Difficulty Bomb: A Dis-Incentive For Miners

Even though Ethereum may switch to the Proof of Stake chain, the miners may  continue mining on the Proof Of Work chain if not properly incentivised. In order to avoid security issues (like a fork), the developers wanted to give the miners a little "nudge" to switch to Proof Of Stake. The Ethereum's Difficulty Bomb would reduce their rewards on the Proof Of Work chain, and thus incentivise them to switch to the Proof Of Stake Chain.

Why Was The Ethereum Difficulty Bomb Delayed?

Unfortunately, the network upgrade to Proof Of Stake was delayed. And the entire point of the Difficulty Bomb was to incentivise miners to switch to Proof of Stake. So the Ethereum team decided to delay the difficulty bomb until Casper was ready.

Ethereum Inflation Rate & Difficulty Bomb

The delay, however, did not sit well with long term investors. Long term investors were looking forward to the difficulty bomb (and Proof of Stake). Why? Because lower Block Rewards would mean a lower Inflation Rate. This was going to be a very bullish update for long-term investors.

To understand this fully, let me quickly explain Ethereum's Inflation Rate. We will then discuss how the difficulty bomb & block rewards relate to it! Don't worry – I'll keep it super simple 😉

Ethereum Inflation Rate Explained

The past year has seen a back and forth debate between the miners and the rest of the community . The debate was about the current inflation rate in the Ethereum ecosystem. Essentially, the community wanted a reduction in the Ethereum Inflation Rate.

Ethereum Inflation Rate Definition (Quick'n'Dirty)
 The speed at which each Ether loses it's purchasing power/value. 

There are two ways the core-developers can decrease the inflation rate in Ethereum:

  1. Add A Difficulty Bomb in Ethereum
  2. Decrease the Ether Issuance to Ethereum Miners
Ethereum-issuance-rate

Ethereum Block Time vs Ethereum Block Reward

In this post we'll be discussing the Difficulty Bomb. However, please note that the Difficulty Bomb's purpose is not ONLY to adjust the inflation rate.

Ethereum Difficulty Bomb: What Is It? (In Detail)

The Difficulty Bomb is sort of a "tool" within the Ethereum consensus algorithm. It allows the core devs to elegantly adjust how difficulty it is to create a new block. For example, the Difficulty Bomb can be set to "detonate" at a particular time-period. Upon detonation, it would get exponentially more difficult to mine a block as the days passed (more on why later).

However, to understand the Difficulty Bomb and it's implications – we need to first understand how blocks are actually created. It's actually quite simple. Let's go over it quickly:

Ethereum Mining: How Are Blocks Created In Ethereum?

Each time you send a transaction on the Ethereum Network, it is being broadcasted to the Ethereum Miners. Ethereum Miners pick up your transaction along with a bunch of other transactions – and  put it into a "block".

But that's not the hard part. The hard part is getting the block approved by the rest of the network as "Valid".


To understand this bit, let's use my Lock & Key Analogy

Each miner needs lock the block before submitting it to the network. However, in order to "lock" the block, they need to find the key. A block is not deemed valid by the rest of the network until the minder "finds the key". (This is why you will find people using the phrase "finding a block".) 

(Note: This is a simplified explanation. You can find my simple explanation on the PoW Puzzle here)

Once the key is found, the block will be added to the main Ethereum blockchain.  The miner who "found the block" will get a reward issued to him.

Block Time & Difficulty Bomb in Ethereum Mining

However, finding the key is no easy task. It's much like trying to find a needle in a haystack: You could find it immediately, or it could take you a very long time. The time in takes to find the "key" or block – is known as the Block Time. 

The time in takes to find a block is known as the Block Time.

In Ethereum, we don't want either of the two extremes. Of course, taking forever to find a block is not good. But, nor will finding it too soon. We want the time to be...just right. Like Goldilocks & her soup.

ethereum difficulty bomb block time

Fortunately, Ethereum can adjust the average time it takes miners to find a block. It can be adjusted to either decrease the block-time or increase the block time. 

An adjustment to increase the block-time is known as a difficulty bomb

Why is it called the "difficulty bomb". Because Ethereum will make it more difficult to find the needle in the haystack. Another way to look at it is this:

​​​​​​​​​The time it takes a miner to find a block will increase. Hence, it gets more difficult for him to earn his rewards.

We will discuss how this is adjusted in another post. For now, this is all you need to know 🙂

Ethereum-inflation-rate

Ethereum Inflation Factors: Block Time & Block Reward

Conclusion: Difficulty Bomb, Ethereum Inflation & Prices

The Difficulty Bomb in Ethereum  can/will be used to adjust the time it takes a miner to find a block. This has a direct impact on Ethereum's inflation rate since it reduces the speed at which miners receive rewards. This, in turn, will reduce the total expected supply of Ethereum for the years to come. If supply goes down, prices will go up. If prices go up – then purchasing power  of each Ether increases. 

As of this writing, the average time it takes a miner to find a block in Ethereum is around 14 seconds. Remember, new Ether is issued to the miners as a reward each time a new block is created/validated. A difficulty bomb will decrease the rate at which these rewards are handed out And, in turn, reduce the inflation rate in Ethereum.

Ethereum's Casper was supposed to include a difficulty bomb along with Proof of Stake. As of now, both Casper and the difficulty bomb have been delayed

Ethereum Roadmap Update [2019]: Casper & Sharding Release Date
In this post Shawn discusses the recent Ethereum Update in regard to their roadmap for Casper & Sharding. Casper FFG[...]

Get my upcoming eBook for Free!

"The Mango Guide TO Understanding Blockchain"

Offer Valid For FIRST 500 registrations only

No menu items have been found.
Continue reading >
Share

Ethereum Inflation Rate: Ether Issuance Debate 2018

By Shawn Dexter / September 1, 2018

In this post, Shawn provides a simple breakdown of the Ethereum Inflation & Issuance Debate. He explains the debate from the PoV of Ethereum miners, as well as community members.  In addition, he summarizes the 3 Ethereum Improvement Proposals (EIP) being considered by the core team. 

UPDATE:  Seems like EIP1234 has been accepted – on a conditional basis, however. Furthermore, the proposal still remains in a "draft" state, and minor changes may be made before finalisation. Read this post to know more!

Ethereum Inflation: Introduction

The past thirty days have seen a prolonged debate on an important matter: Ethereum’s Issuance. But be it an important matter or not – few of us seem to understand what’s going on.

To be fair, this issue has complexities that has brought indecision to even the best minds of this space. So, it’s not surprising that many of us have decided to glaze over the issue. However, as a community, we owe it to ourselves to understand at least the basics of this issue.

In this post, I will break down the Ethereum Issuance debate as simply as possible.  This will be an easy read – and by the end of the post you will have a firm understanding of what is going on.

​​​​Ethereum Issuance & Inflation Rate

Ethereum is “inflationary”. You hear it all the time. But many don’t seem to understand how the inflation is caused. It’s rather simple.  Ethereum miners get rewarded for mining new blocks. These miners get rewarded/paid in Ether. But this isn’t “existing” Ethereum; this is Ether that is freshly minted/created.

Essentially, miners are rewarded by issuing freshly minted Ether into the system. This “inflates” the existing supply in the market.  Hence the term “Inflation Rate”

Ethereum Inflation Rate vs Issuance Rate

The Ethereum inflation rate and issuance rate are pretty much the same thing – for the most part. There’s a tiny ‘difference’ that is worth discussing.  Let’s think about this for a second. There are two factors that will affect Ethereum’s inflation rate:

  1. The speed at which fresh Ether is given out
  2. The AMOUNT of Ether given out each time

Analogy
I can give you one piece of candy every minute; OR give you ten pieces of candy every ten minutes. Either way, over time I inflate your candy supply  at the same rate. You’ll have 100 candy pieces in 100 minutes.

Ethereum-inflation-rate

Ethereum Inflation Factors: Block Time & Block Reward

Speed of Ether Issuance

Currently, the speed at which Ether is issued out is pretty stable. Ether is issued to miners as a reward each time a new block is created/validated. As things stand, the time taken to create a block is relatively stable at ~14 seconds.

However, if Ethereum increases the difficulty of “block creation”, then it will take longer to create each block. This is what people are referring to when they mention the “difficulty bomb”.  If it takes longer to create create blocks, then less Ether will be rewarded over a period of time

Analogy
I stop giving you 10 pieces of candy every 10 minutes, and instead give you 10 pieces of candy every 15 minutes. After 100 minutes, you’ll have only 66 pieces of candy (instead of 100)

Ethereum-issuance-rate

Ethereum Block Time vs Ethereum Block Reward

Amount of Ether Issuance

The amount of Ether issued for each reward is the next driving factor for Ethereum’s inflation rate. And this is the most debated factor at the moment. Ethereum is currently issuing roughly 5.5 Ether per block (as rewards) If Ethereum decides to reduce the amount of Ether given out per reward, then the inflation rate will drop regardless of the difficulty bomb.

Analogy
I keep giving you candy every 10 minutes. However, I give you only 6 pieces of candy each time – instead of 10. You’ll have only 60 pieces of candy after 100 minutes.

The Problem

Reducing the Ether issued will cut into miner profits. But not reducing Ether issuance will anger the rest of the community (more on why later)

What is the Debate About?

The Background

The current inflation rate is around 7.3% annually. The Ethereum community was promised somewhere around 2% - 4% with the release of Casper. (In fact, Vitalik once quoted ~0.5% as a feasible number – leading to even more expectations)

Casper Delay

So, the community has been patiently waiting on a reduction in Ethereum’s inflation rate. This was supposed to happen with the release of Ethereum’s Proof Of Stake: Casper. If you’re keeping updated, you know about the delay on the Casper release.

Casper was also supposed to include a “difficulty bomb” that would increase the time it takes to find a block. This would decrease the ethereum inflation rate

ethereum-supply-cap

Ethereum Inflation Cap Debate - Community vs Miners

Community Side

However, since Casper has been delayed, the community wants the matter of issuance being addressed right away.  If Ethereum has to delay the difficulty bomb, then the other course of action is to reduce the amount of Ether being issued per block. Many community members are advocating for a reduction of issuance that would align inflation rate to ~2%.  This would align the inflation rate to what it would be if Proof Of Stake was not delayed.

Miners Side

However the Ethereum Miners don’t like that idea – since it would cut directly into their profits. It’s important to note that Ethereum is still using Proof Of Work – which consumes a lot more power per block than Proof Of Stake would. Many miners claim that they would be forced off the network since the rewards would not be enough to cover their costs.

Why do we care about Miners?

Miners do more than just process/validate our transactions. Each miner contributes to the security of the network via their hashpower. If overall hashpower drops, the network is easier to attack. (I touch on this in a YouTube video on 1% Shard Attack)

Essentially, the more miners we have, the more security we have. If miners drop off the network, security will begin to drop – and we’re more vulnerable to attacks.

As you may now be noticing, this issue does not have an easy solution. But we can get a better idea of which direction to take. First, let’s quickly go over where we currently stand.

Ethereum Issuance: Blocks & Uncles

What is the Ethereum Issuance currently?

The current Ether that is being issued is roughly 5.5 Ether per block. It’s important to note that unlike Bitcoin, the reward issuance is not straightforward.  Here is a simplified breakdown of the rewards distributed:

  • Block Reward:  3 Ether
    Uncle Rewards:  ~2.4 Ether

  • Total Ether issued per block: ~5.4 Ether   (Issuance reduction will decrease this)
    No. of blocks per day:  ~6000 Blocks (difficulty bomb will decrease this)

  • Current Annual Increase:  ~7.3% (issuance reduction and/or difficulty bomb will reduce this)

Uncle Rewards...What the..? 

(If you know what are Uncle Rewards , then you can skip this section)

Unlike Bitcoin, Ethereum rewards miners that find blocks that don’t make it into the longest chain. These blocks that are considered “stale” in Bitcoin, and are orphaned. In Ethereum these are called Uncles and are rewarded for their work.

This is primarily because Ethereum has a much lower block-time (the average time required to find a block). This “small window” may result in smaller miners unfairly losing out on potential rewards due to network latency etc. As such, miners are rewarded for their work.

Of course, we cannot predict the exact number of Uncles – but we’re estimating that around 2.4 Ether will be given out to Uncles on average. Uncle Rewards are important because they:

a) Incentivise decentralization (small miners are less likely to join pools)
b) Increase the security of the chain. (more on this in another post)

Cool.. So What is Being Proposed?

Alright, now the fun part. There are three proposals – Ethereum Improvement Proposals  (EIPs) to be specific. Here’s a list and summary of each of them:

EIP-858:  Reduce block reward to 1 ETH

This would be a significant decrease from 3 ETH to 1 ETH. It would probably put several small/mid-size miners in the negative profitability.  Many miners may drop off the network. However, this would probably benefit miners who have access to cheap electricity since they will be able to accrue more rewards for themselves. Larger miners may probably benefit for the same reasons.

EIP-1294:  Keep block reward at 3 ETH. Reduce Uncle Rewards to ~0.56 ETH. 

This will be a significant reduction to the Uncle Rewards – from ~2.4 ETH to  ~0.56 ETH. Ouch. This will affect small miners the most since they rely on the Uncle Rewards. Furthermore, this reduces the incentive for them to remain independent; and may lead to larger shift of small miners to joining pools.  Of course, larger miners who aren’t affected by network latency issues do not get affected by this reduction. They benefit the most from this since the issuance will be maintained.

EIP-1234  Reduce block reward to 2 ETH

This EIP seems to be receiving the most favour from the community. It serves as a good middle ground. it will still eat into profits of miners, but not as significantly as the reduction that EIP 858 proposes. EIP-1234 does seem to have an air of “compromise”. It will offer developers enough time to develop & release Casper while keeping both sides of the community at bay. Is compromise the best way to go? -shrug-

So..What Has Been Decided?

 A vote took place – that lasted 30 days – where the community voted on their preference. Although the results were leaning significantly toward one side, these results are not binding. The vote was more-so to gauge community sentiment. Quite frankly, this issue is far too important to be decided over a vote like this. It requires serious consideration & research.

There was a core-dev meeting that took place last week where the matter was discussed. It seems like the developers are leaning towards EIP1234 – the reduction to 2ETH. However, I'm not certain if this has been confirmed.  If so, EIP1234 will be included in the upcoming hardfork scheduled for mid October.

I’ll keep you guys posted – and I will be updating this post regularly as news develops.

UPDATE:  Seems like EIP1234 has been accepted – on a conditional basis, however. Furthermore, the proposal still remains in a "draft" state, and minor changes may be made before finalisation

Ethereum Roadmap Update [2019]: Casper & Sharding Release Date
In this post Shawn discusses the recent Ethereum Update in regard to their roadmap for Casper & Sharding. Casper FFG[...]

Get my upcoming eBook for Free!

"The Mango Guide TO Understanding Blockchain"

Offer Valid For FIRST 500 registrations only

No menu items have been found.
Continue reading >
Share

What Exactly Is Ethereum Gas?

By Shawn Dexter / April 12, 2018

What Exactly Is Gas

There seems to be a lot confusion & questions around Ethereum & Gas – and rightfully so. Blockchain veterans & enthusiasts alike can be thrown off by the terminology. Moreover, people often wonder “why” Ethereum chose this route. Why not keep it simple – like Bitcoin?

There are good answers to these questions. But before we dive into the why & how”  of Gas – let’s briefly go over “what” Gas is.

Contrary to popular belief  – Gas is not a sub currency of Ether.  Gas is more so an “internal” token within the EVM (Ethereum Virtual Machine).  It is used by Ethereum to place a relative cost on each operation within a Smart Contract.

For example, a contract can have the following types of operations and associated costs

  • Single Execution Step:  1 Gas
  • Store A Value:  100 Gas 
  • Call Another Contract : 20 Gas

This allows Ethereum to “charge” more for contracts that are more complex. This is fair – since a Smart Contract with more/demanding operations will be using more network resources.

When you send a transaction to a Smart Contract, you are required to enter the following:

Gas Price
​The “Gas Price” is the amount of Ether you are willing to pay for each unit of Gas.

Gas Limit
The “Gas Limit” is the total amount of Gas you’re willing to buy for the execution of this transaction.

I get it – it's still confusing. Understanding how "Gas Price" and "Gas Limit" relate to each other can be a task. So let's use an analogy to clear things out.

The Maid Service Analogy

Suppose you join a new Maid Service Agency. But they decide to give their Maids more freedom & flexibility in how they conduct their business. They wanted the Maids to be allowed to earn more if the “market” deems it worthy.

 So, instead of charging you in USD$, they charge you in MaidTokens.  MaidTokens can be redeemed for cleaning activities (operations) as such:

  • Clean a Bedroom:  1 MaidToken
  • Clean a Living Room:  3 MaidTokens
  • Clean a Bathroom:  10 MaidTokens

These prices are set by the Maid Service Agency – and don’t change. So no matter what – the Maid Service Agency will get a fixed number of MaidTokens for each job (based on the rooms being cleaned).

Flexibility & Freedom 

We mentioned that the MaidTokens are being used for more freedom. But how is this freedom achieved?

The flexibility comes from the fact that the Maids can negotiate how much you (the customer) pay for each MaidToken. Here’s an example:

  •  A Maid can say, “I’m charging $25 per MaidToken” 
    •  You can reply with, “Well, I’m willing to pay only $15 per MaidToken” 

    The Maid (Miner) can then either take you up on your offer, and clean your rooms (validate your transaction) – OR look for other customers that will pay more.

    This is exactly what you're doing when you set your "Gas Price"

    •  You’re saying: “I’m willing to pay only 0.00002 Ether per Gas” 

    Similarly, a Miner can choose to take your offer or not.

    (To automate things – Miners set up a minimum a minimum Gas Price they are willing to acceptThey have the freedom to include your Transaction in their block or not. But just like the Maid, they are always looking to maximise profits.)

    Okay, awesome.. Using the “MaidToken Price” we have a better understanding of “Gas Price”. Now let’s tackle “Gas Limit”what in the world is it really?!

      MaidToken Limit

      Now let’s suppose you rent a cottage and host a huge party. You wake up the next day to a gigantic mess and a colossal headache. You call the Maid Service Agency, and they send over a Maid. You guys negotiate and agree on a MaidToken Price of  $20. 

      • MaidToken Price:  $20
      •  She asks, "how many rooms does the house have?"  
      • You reply: “Uh… I don’t know...”
      •  “Well, how do you expect me to quote you a price then?”, she replies.
      • You think about it (and your finances), and say: “How about this… I’ll pay for up to 100        MaidTokens. If the house needs more, just stop cleaning. If it needs less. I’ll pay you only    the MaidTokens it needs.”

      She agrees, and you’ve now agreed to the following:
      MaidToken Price:   $20 per MaidToken
      MaidToken Limit:  100 MaidTokens

      This is essentially the same type of agreement you get into when you send a transaction with the following:
      Gas Price:  20 Gwei (per Gas)   
      Gas Limit:  10,000 Gas

      **Note:  Gwei is a subunit of Ether.  1 Ether = 1,000,000,000 Gwei

      •  Over here, you’re telling the miner: I’ll pay for up to 10,000 Gas. If the Smart Contract needs more, just stop. If it   needs less. I’ll pay for the Gas you used”

      Hitting The Gas Limit  & Losing ETH

      Hopefully, 10,000 Gas is enough to complete execution of your Smart Contract. If the operations within the Smart Contract was costlier than you anticipated – then the execution will not complete. And the transaction fails.

      Similarly, if your 100 MaidTokens aren’t enough to clean your rooms (the cottage may have had more bathrooms than you thought) – then the Maid will stop cleaning/executing.

      The difference in our analogy is that when you hit your “MaidToken Limit” you get to keep the clean rooms.  Your house will be partially clean and the maid will leave. 

      However, we can’t have “partial execution” of a Smart Contract. So if you hit your “Gas Limit” before the contract is completely executed – the contract will roll back. It will be as though the transaction never occurred. And you’ll get an “Out Of Gas” error.

      The unfortunate part is that you will have “used up” the Ether (Gwei) you set. Afterall, the contract DID execute – just not entirely.

      Tip:  If you’re trying to save on transaction fees, set a LOW Gas Price and a higher Gas Limit.  Too often people do the opposite.

      Wrapping Up

      Gas is used within the EVM to place a cost on various operations. So when you’re conducting a transaction, think of “Gas Price” as the price you’re “offering” to the miner for each unit of Gas.  The "Gas Limit" is the total amount of Gas you’re willing to buy for this particular transaction.

      That’s pretty much it. In the next post, we’ll discuss why Ethereum has chosen to go this route as opposed to the way BTC does it.

      Did this post help you?

      Help Us Keep Doing What We Do Best!

      Tip Jar 🙂

      BTC: 3LrzDr7ZYQ5xWAKnweM1XuUAvU5YEkF7Zb

      ETH: 0x87ba0C08910Dbd3b93D74A2A3b61d78A3C2dbDab

      Did you enjoy this post?

      Help Us Keep Doing What We Do Best!

      Tip Jar 🙂​​

      BTC: 3LrzDr7ZYQ5xWAKnweM1XuUAvU5YEkF7Zb

      ETH: 0x87ba0C08910Dbd3b93D74A2A3b61d78A3C2dbDab

      Get my upcoming eBook for Free!

      "The Mango Guide TO Understanding Blockchain"

      Offer Valid For FIRST 500 registrations only

      No menu items have been found.
      Continue reading >
      Share
      >