Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EIP-649: Byzantium Difficulty Bomb Delay and Block Reward Reduction #669

Merged
merged 27 commits into from Nov 19, 2017

Conversation

@5chdn
Copy link
Contributor

5chdn commented Jul 11, 2017

Meta #609 (Byzantium).

Closes #186 (Replaced).

Closes #649 (Implemented).

Please use the according issues to discuss the proposals and use this pull request to discuss the specification.

@Arachnid
Copy link
Collaborator

Arachnid commented Jul 11, 2017

Generally you write the EIP and then ask for a number; this is nothing but the template file. But, given there's already an issue open, you can call it 649.

@5chdn
Copy link
Contributor Author

5chdn commented Jul 11, 2017

I've just written it as we speak.

@5chdn 5chdn changed the title [WIP] Metropolis Difficulty Bomb Relay eip-649: Metropolis Difficulty Bomb Relay Jul 11, 2017
@5chdn 5chdn changed the title eip-649: Metropolis Difficulty Bomb Relay eip-649: Metropolis Difficulty Bomb Delay Jul 11, 2017
@realcodywburns
Copy link
Contributor

realcodywburns commented Jul 13, 2017

The logic to delay is already in place in parity and etc-geth. you need only set the flags in the config for:

"ecip1010PauseTransition": 3000000,
"ecip1010ContinueTransition": 5000000,

This freezes the bomb difficulty for however long you want. ETC froze it back in january and has had no issues. We are currently debating extending it.

Ref:
ECIP 1010
https://github.com/ethereumproject/ECIPs/blob/master/ECIPs/ECIP-1010.md

General discussion/info
https://github.com/ethereumproject/volunteer/tree/master/Difficulty-Bomb-Defusal

@zhoujianwei
Copy link

zhoujianwei commented Jul 14, 2017

##The Bomb

block_diff = parent_diff + parent_diff // 2048 * max(1 - (block_timestamp - parent_timestamp) // 10, -99) + int(2**((block.number // 100000) - 2))

The first part of the algorithm, parent_diff + parent_diff // 2048 * max(1 - (block_timestamp - parent_timestamp) // 10, -99), is in charge of adjusting the difficulty based on the elapsed time between prior blocks. It makes incrimental adjustments up or down to reach a mean time between blocks of ~15 sec

The second part of the algorithm , + int(2**((block.number // 100000) - 2)), is "the bomb". It doubles its difficulty every 100000 block, forever, until the the blocks are to difficult to solve in a reasonible time.

##Option 1 Disabling the second part of the algorithm removes the bomb and ~14 is the target time forever.

##Option 2 ###Kick the Can Method #1

Change the fuse

((block.number // 100000) - 2)

block.number is the current block number

100000 sets the pace of the bomb. This is 'the fuse' A larger number would slow the bomb down.

The - 2 in the algo was originally set as "the bomb" was not to be engaged until after block 200000.

###Kick the Can Method #2

Reset the delay

the - 2 in the algo was originally set as "the bomb" was not to be engaged until after block 200000.Changing this number to a higher number allows the bomb to be delayed. i.e. -50 would reset and delay the bomb from starting until block 50000000

@vbuterin
Copy link
Contributor

vbuterin commented Jul 14, 2017

To add an issuance reduction, I recommend that for block.number >= METROPOLIS_FORK_BLKNUM:

Let X = 3 ETH (ie. 3,000,000,000,000,000,000 wei)

  • Change the block reward to X
  • If an uncle is included in a block such that block.number - uncle.number = k, the uncle reward is (8-k) * X / 8 (this is the existing pre-Metropolis formula for uncle rewards with X=5)
  • The nephew reward is X / 32 (this is the existing pre-Metropolis formula for uncle rewards with X=5)
@realcodywburns
Copy link
Contributor

realcodywburns commented Jul 14, 2017

The specifications for block reward reductions have also been accepted into parity if you would like to use those as well. We are using 'era' with which the block reward decays by x

parity commit:
openethereum/openethereum@d152fa3

ref:
https://github.com/ethereumproject/ECIPs/blob/master/ECIPs/ECIP-1017.md

Longer term the dag might be an issue for older cards depending on how long you intend to stay pow. This issue is related to bus speed rather than total mem capacity

@alex-miller-0
Copy link

alex-miller-0 commented Jul 14, 2017

I very much like the idea of eras and argued for something similar in #186. I understand a flat decrease from 5->3 is simpler, but I would still advocate for e.g. a 20% decrease every 2,000,000 blocks as it is more future-proof than a 1-off change.

@jph108
Copy link

jph108 commented Jul 15, 2017

What would the economic consequences for the miners be if the mining reward was reduced, and what would the incentives be to continue to mine Ethereum? Could it not have some unintended negative consequences for the whole ecosystem? Miners must follow economic incentives because they must pay for new hardware to keep up with the increasing difficulty level, in addition to electricity. If they do not mine the most profitable chain, they risk being pushed below profitability and being unable to recover their costs.

Reducing the mining reward has the following economic consequences:

  • It reduces, in the short term, the incentive to mine ETH, so miners in mining pools will automatically move to other chains.
  • Miners may vote to increase the gas price to partially compensate, which has a deleterious effect on the whole ecosystem.

I think it might be useful instead to find a way to optimize mining rewards in a way that incentivizes lower gas prices. Perhaps the mining reward could even increase as the gas price decreases.

@5chdn
Copy link
Contributor Author

5chdn commented Jul 17, 2017

@vbuterin do you suggest to include the issuance reduction in this EIP? we might want to rename it then.

@kybarnet
Copy link

kybarnet commented Jul 17, 2017

I have conducted extensive research into the question, and the have calculated the most appropriate value based on today's metrics and understanding.

Long story short "Empty Block Bonuses" needs to be limited to approximately $50 Million monthly. If more than $100 Million or less than $5 Million, it should be adjusted.

To arrive at this value, issuance of New ETH should be reduced from 5 -> 1, IMMEDIATELY, August 1st. At which point it should be reduced in half every 500,000 Blocks (3 months), approximately or at a minimum 1,000,000 Blocks (6 months).

Regarding the Economics, transaction fees are pegged to $0.25 approximately, while Bonuses are fixed to a % of the Market Cap. Effectively, this means that all Bonuses in excess of $50 Million monthly is wasted, as it creates an unnecessary and undesirous expense with no long term value. It's equivalently the same as burning money.

Prior to February 28th, the most Ethereum had spent on "Block Chain Security Bonuses" in a given month was $13 Million dollars (Feb, 2017) or $104 Million for all of 2016. This is what I call the appropriate cost for block chain security. However, as it is an unlimited dollar figure tied to the market cap (or daily issuance x spot price), Ethereum spent $41 Million in March, $61 Million in April, $177 Million in May, $272 Million in June, and $104 Million in July - keep in mind this is always in addition to the millions in transaction fees, which is the negotiated fee between miners and holders, and thus constantly adjusted to the correct real world values.

Any value about $50 Million monthly is pure waste, IMO, or spending 4x more than at any point during 2016. Likewise, the mathematics and the economics of the code create maximum sustainable or useful values of Market Cap / spot prices. Effectively, in the current system of 5 ETH per block, the maximum sustainable value for Ethereum is approximately $120. With the next change from 5 -> 3 the maximum sustainable value will be $200. However, by reducing the cost from 5 -> 1, Ethereum can sustain a spot price of $600. If Ethereum reached $600 today, Block Chain security expenses would change from what it should be (about $100 Million) to $550 Million monthly, until the price of Ethereum went back down to $120.

However, what you will find is that by changing the rate of Price Deflation from 5 ETH per block to 1 ETH per block, is that Ethereum will become universally sustainable without significant future management involvement, as the rate of Price Deflation will become the lowest or within 1% of the lowest Price Deflationary currency on Earth. Bitcoin has managed this achievement through issuing a guess in 2008 / 2009 as to what the value of block chain will be in 2017. You can likewise time the 'run up' of block chain to periods shortly after where Bitcoin cuts it's expense in half.

Bitcoin guessed in 2009 what the price would be in 2017. Based on that calculus it came up with 4%. Ethereum is guessing in 2017 what the price will be in 2017. It has significant advantage over Bitcoin in this regard. With certainty, we can expect the price to be more than $100 but less than $300. However, would you dare guess what the price will be in 2025? This is effectively what Bitcoin attempted to do.

Bitcoin is currently spending $113 Million monthly on block chain security, LiteCoin $17 Million, and Dash $7 to $14 Million depending on a point of view. The maximum a competing coin has spent in a single month at any point in time is approximately $20 Million, for any coin made after 2009. Bitcoin (and Ethereum) are the only coins to have ever spent more than $20 Million in a single month, with Ethereum spending $273 Million in June, 2017, the most spent by any coin in a single month in the history of block chain technology.

Therefor, based on an extremely sound and reasoned argument, with full appreciation and understanding of the block chain economic systems, I am recommending the following:


To add an issuance reduction, I recommend that for block.number >= METROPOLIS_FORK_BLKNUM:

Let X = 1 ETH (ie. 1,000,000,000,000,000,000 wei) - 2.2% Inflation

Change the block reward to X

If an uncle is included in a block such that block.number - uncle.number = k, the uncle reward is (8-k) * X / 8 (this is the existing pre-Metropolis formula for uncle rewards with X=5)

The nephew reward is X / 32 (this is the existing pre-Metropolis formula for uncle rewards with X=5)


With the following programmed adjustments to future Bonuses:

Let X1 = 0.50 ETH after 500,000 Blocks (11/1/17) - 1.1% Inflation

Let X2 = 0.25 ETH after 500,000 Blocks (2/1/18) - 0.6% Inflation

Let X3 = 0.13 ETH after 833,333 Blocks (7/1/18) - 0.3% Inflation

Let X4 = 0.06 ETH after 1,000,000 Blocks (1/1/19) - 0.15% Inflation

Let X5 = 0.03 ETH after 1,000,000 Blocks (7/1/19) - 0.08% Inflation ... and on going.

On these dates, after appropriately adjusting the market to the corrected economic conditions, you would find the following expense outcomes.

8/1/17 - $100 to $900 Spot Price - Monthly Expenses $17 Million to $155 Million

11/1/17 - $400 to $1,200 Spot Price - Monthly Expense $34 Million to $103 Million

2/1/18 - $600 to $2,400 Spot Price - Monthly Expense $50 Million to $200 Million

7/1/18 - $1,200 to $4,000 Spot Price - Monthly Expense $50 Million to $170 Million

1/1/19 - $4,000 to $12,000 Spot Price - Monthly Expense $41 Million to $124 Million

7/1/19 - $12,000 to $30,000 Spot Price - Monthly Expense $62 Million to $155 Million


While those estimates may seem outlandish, it is the result of creating the most perfect financial system in the history of human existence. Bitcoin perfected the heart beat of the block chain, fixing the time signature regardless to the amount of computer put against it. However, it is unable to eliminate inflation, as it was set in stone in 2009.

By establishing 1 ETH per block on August 1st, Ethereum will become the least inflationary, most stable asset in human existence. By Feb 2018, the rate of inflation can be set to less than 1%, vs 11% today. Put another way, today every 1 in 9 Ethereum purchasers of average $5,000 US must recruit another user to purchase $5,000 ETH each year to maintain Spot price stability, and cover the costs of block chain security. By July 2018, that will go down to 1 in 400 Ethereum users, and get cut in half every 6 months after that.

Effectively making the rate of inflation in Metropolis significantly below the rate of birth and GDP, and significantly lower than any other financial system. Bitcoin will be stuck at 4% until 2019 and US Dollar is speculated to be 1 to 3%, while Ethereum will be 0.3%.

Following the plan above, by July 2018, the market cap of Ethereum will be over $1 Trillion dollars, effectively making it the first world currency in the history of Earth.

If Bitcoin was to attempt to achieve a similar valuation, it's monthly expenses would necessarily increase from $110 Million to $3.3 Billion, a month. Effectively this stagnates the future growth of Bitcoin, as it is cheaper to create and market an alternative coin than it is to waste over $30 Billion annually for an expense that cost $1 Billion annually just 1 year previous - Put another way, Bitcoin would need to recruit over 6,000,000 new customers of $5,000 annually to sustain the expense, where as under my model Ethereum would need to recruit 151,000 customers annually to sustain a spot price of $12,000 by July 2019 with a $1 Trillion dollar valuation. Currently Ethereum is recruiting approximately 300,000 new customers a year.

This means to maintain stability under the 5 ETH system, at $150 Spot Price, they need 315,000 New customers annually. Beginning August 1st, at 1 ETH, this goes down to 63,000 annually. As the natural rate is closer to 300,000, this unavoidable escalates the price, which escalates the expense, until it reaches equilibrium around $750, which I speculate would occur by 10/31/17. With the same rate of new customer acquisition as is today, we can achieve a price of $750, simply by controlling expenses, while maintain an expense level which will be the highest on the market, aside 2009's Bitcoin.

Ethereum can set itself on an unstoppable path to become the global currency by establishing 1 ETH per block on August 1st. You have the math, you have the ability, now apply reason, logic, and intuition and you will discover the future turn of this world. Blessings.

You can double check my work here:

https://drive.google.com/file/d/0B_yW5x8cdaILbGk5a29hQ2lDbXM/

Please make a copy, as it is an editable document which I have backed up in case it is changed down the road, but the document you view may not be the document as intended if others make malicious changes. Thank you for the understanding.

Link to comment within the EIP 649 board:

#669 (comment)

@zhoujianwei
Copy link

zhoujianwei commented Jul 17, 2017

@kybarnet The issuance reduction is painful and potentially dangerous for those who had purchased a lot of mining facility,and led miners turn to more profitable chains.this will result in failure to compete with Ethereum Classic.

@kybarnet
Copy link

kybarnet commented Jul 17, 2017

@zhoujianwei That is pure speculation, and you have no mathematical support for your analysis.

Ethereum will be the highest paying block chain for Mining Security, period, around October. In the intereum, Ethereum will still maintain the number 2 position, behind 2009 Bitcoin.

All miners will become disadvantaged by the change, however there will be a full global recovery simply 3 months later, along with a predictable and stable market for, essentially eternity (or until Casper).

Any miner holding more than 5% of their assets in ETH will be SIGNIFICANTLY more benefited by the change than hurt, and will likely make double the profits they could have expected within the same 3 month period under the old system. However, for miners with 0% of their assets in ETH it would take longer, but that also indicates they are liquidating daily, which is my suggestion that is the norm, but thus expressing loyalty toward full liquidators of ETH because of transferable equipment purchases is not an ideal position.

If you hold 5% or more ETH as a miner, you will be Financially better positioned supporting the change from 5 to 1. You will literally make more money, get paid more, and have a more stable future, than you would have otherwise. This is a calculable result, if you so choose.


Even though you were making up a reply without any amount of research, to be clear, ETC will pay $17 Million monthly toward an asset that has no predictable future value, where as ETH will pay $50 to $100 Million monthly with an insanely predictable much higher future value. ETH will always pay at a minimum double that of ETC, if not 5 times more.

ETH will also pay more monthly than at any time prior to April 1st, 2017, even with an 80% inflation reduction, because of the spot price economic effects.

ETH went from making payments of $40 Million in March to $270 Million in June. To suggest this was an appropriate market response is to suggest the price of computers experienced a 675% increase during the same time period. I would speculate that 10% is likely more accurate, and $45 Million in June would have been appropriate, or that $225 Million was wasted due to poor economic mathematics.

In other words, miners will not be paid less than they are today, or if so for a maximum of about a month, while any ETH they held on to would be appreciating, substantially.

@Arachnid
Copy link
Collaborator

Arachnid commented Jul 17, 2017

@kybarnet

@zhoujianwei That is pure speculation, and you have no mathematical support for your analysis.

I'm sorry, but this is rather a case of the pot calling the kettle black. You haven't provided any analysis of your own demonstrating that your proposed change does not impact the security of the blockchain; merely pulled a number from the air and asserted that it's the correct one.

@int03h
Copy link

int03h commented Jul 19, 2017

Long time listener, first time caller.

For perspective, I have been "in the game" since FPGA days on bitcoin. I have a few thoughts about block rewards and price and economic effects. They are a little random, I suppose I could take a few days to formulate them into some form of "game-theory-esque" clever sounding bullshit, but let's all spare each other the pretence, shall we?

As it stands, from what I can see the people complaining (in the other forums) are the ones that are late to the party and are complaining about it bitterly. They invested a lot, in a hurry, and didn't anticipate the price stalling and the diff going vertical. Nothing can be done to "fix" what is already a broken situation from an individual economic standpoint. The devs don't owe anyone anything, on the other hand, punishment is also a hard pill to swallow, especially for some of us that have invested time and materials into this enterprise, the 30% "slowdown" due to dag and AMD design issues also hurts, and needs to be factored into any calculation you make about "retargeting" rewards. The negative impact of punishing "enthusiastic newcomers" to the ecosystem by fiddling with the rewards can not be easily quantified and might easily "cost" more than what you are investing while "over securing" the network.

Objectively though, Metropolis was anticipated "Real Soon" , any delays in the release schedule should be seen as a godsend to those that are just getting into the game. The sharp rise in diff was easily foreseen, expected and unavoidable, the price going from roughly 10 to almost 400 makes any investment almost a no brainer for just about anyone that has no clue about how crypto currency "economics" works. (if there is in fact such a thing).

Furthermore, I believe the communication has always been clear - i.e. we would get Metropolis and then PoS. So technically we should already be talking about implementing PoS and sunsetting mining. The fact that "we" are not should be seen as a welcome delay.

Additionally, there was no warranty implied or given as far as anticipated reward and profitability. So your consciences are clean. Luckily the ASIC resistance worked in this case and prevented the centralisation of consensus essentially locking the devs out of any future changes that were not favourable to the miners ( ala Bitcoin ).

While heavily saturating Ethereum with "unneeded" power it also creates a vibrant economy and diversity. Lots more people mining means lots more people spending Ethereum in all sorts of brand new ways, like buying shares in ICO's etc. Sure, some of that money would have come from the "outside" but I am sure a lot of it was GPU's cycles being turned into ETH being turned into all sorts of interesting tokens. A headache perhaps occasionally, but I imagine also a wonderful learning experience for us all. Rather now than later.

One of my principal gripes with the Bitcoin developers was their shortsightedness and arrogance. Their principal motivating factor for the project was greed. (not all of them -but a significant number of them). With that in mind:

Right now all the AMD miners are eating a 30% performance hit from the DAG size and or driver issues or whatever is going on there. The diff has basically hit a wall ( i.e. the profitability has gone down the toilet in a BIG way ). No one is really profiting from this despite the increase in total payouts( the problem we are looking at solving with this EIP). It's important to be aware that Ethereum depleted AMD's entire channel of Polaris based silicon in less than a couple of weeks, and it has been that way for at least 4 weeks so far, with no supply in sight. I imagine new silicon will only get baked with the next generation of chips due "soon". For the moment we are pretty much at the top of the climb ( for now ) - I guess there is always NVIDIA silicon but with the price consolidating between 150 - 250 no new investments make any sense. With PoS down the road, to push a block reward penalty on probably your most invested participants, and those just entering: YOU WILL ALL BE HATED FOR IT! Buying back that goodwill, will be next to impossible. Especially from the new entrants. They will cry cry cry like babies forever. You will never hear the end of it. If you think the DAO caused a shit storm, I image this will far worse, because your fingerprints will be all over it. This would be the typically short sighted self indulgent move the BTC devs would make, I hope the smell of success has not tainted your hearts and minds.

I am not going to yank numbers out my ass that don't mean anything. Think about the big picture and do what's smart. I would urge immediate and ongoing communication about PoS from a damage mitigation perspective, and give people something to focus on from a future profitability perspective ( i.e. so they STAY invested and don't take their ball and fuck off in a huff). Things are already properly shitty in the mining space.. don't put your finger in the pot and stir it some more. All eyes will turn onto you and the hatred , rage and disappointment will get focused directly on you and the ecosystem will suffer because of it.

We are where we are because of ETH enormous and unexpectedly early success. Cutting the rewards prematurely would send entirely the wrong message. I suggest the "ecosystem" eats the costs(regardless of efficiencies) and write them off towards "marketing expenses / cost of sales / growing the base" whatever you want call it.

A thought: considering the "extra" capacity at our fingertips .. how hard would it be to incentivize some of this capacity into the EVM ? I realize that this probably not anywhere near ready to get that kind of attention, but since we have the resources.. couldn't they be redirected somehow for the greater good of the project. ( and I don't mean Golem et al ) I mean ETH specifically. In other words, focus on new opportunities within the ETH realm with the possibility of some sort of returns in the future.

Anyway.. this ended up a lot longer than I intended.. Bottomline: The perception will be that " You guys made money " and the new guys that have just joined are now being punished for crashing the party.Despite all of the above mentioned difficulties "you guys" want to make it even worse. The more experience miners will understand, but the others won't and they will take it extremely badly. The difference in rewards to individual miners may be negligible, but the optics are going to be absolutely awful. I don't think you can calculate the damage that is going to be done with this kind of move.

@kybarnet
Copy link

kybarnet commented Jul 19, 2017

You haven't provided any analysis of your own.

I provided a ton of analysis. It simply did not agree with your assessment. If you actually provided analysis, I would be glad to discuss. If you merely state "number can't be trusted, or used for making decisions" then I can not argue with that using numbers, which is what I used.

I am not going to yank numbers out my ass that don't mean anything.

When you make financial predictions, you role play a variety of possibilities. If all possibilities result in the same conclusion, then you can be confident that conclusion is accurate. If you simply ignore all numbers, and go with your gut, then it becomes difficult to make educated groups decisions, as everyone's gut instinct is different. Numbers are universally understood.

I will attempt to simplify the discussion on an ongoing basis.

http://imgur.com/a/t3b1D

https://www.youtube.com/watch?v=8_fPuGWRIls

I have designs for a more easily understood financial statement for programmers. I will upload this at a later time, which I believe will assist you on a path toward understanding. If there is anyone within the Ethereum foundation with actual business, financial, or banking experience, you must talk with me immediately.

For the record, I am a Certified Public Accountant, own a CPA firm, manage several business operations and financial, and was a licensed stock trader (series 7). When I present this information and found the conclusion, it was not done haphazardly. Take care.

@Arachnid
Copy link
Collaborator

Arachnid commented Jul 19, 2017

I provided a ton of analysis. It simply did not agree with your assessment. If you actually provided analysis, I would be glad to discuss. If you merely state "number can't be trusted, or used for making decisions" then I can not argue with that using numbers, which is what I used.

You have written a lot about what the current block reward works out to, and how that compares to other cryptocurrencies. You also wrote a lot about what you think the block reward should be. I haven't seen anything, though, that justifies your proposals either crypto-economically or from a security point of view.

@int03h
Copy link

int03h commented Jul 19, 2017

"By establishing 1 ETH per block on August 1st, Ethereum will become the least inflationary, most stable asset in human existence". We thought this about BTC. Your spreadsheet is not the first one I have seen with stupendously absurd assumptions. Like:
"7/1/19 - $12,000 to $30,000 Spot Price - Monthly Expense $62 Million to $155 Million"
You do realize we hit $120 just a few days ago? You are predicting a 100x increase in price in 2 years.

@kybarnet
Copy link

kybarnet commented Jul 19, 2017

I haven't seen anything, though, that justifies your proposals either crypto-economically or from a security point of view.

All that is in the attached google spread sheet, which involves numerous financial calculations.

I can not 'copy and paste' a spreadsheet into this discussion board, and multiple months of profit and loss analysis.

I am glad you are open to actually reviewing the material. I am preparing something of a magnum opus that will both address all objectives and common misconceptions, as will as provide the most clear and intuitively understood financial presentation that I have conceived of so far.

If you explore the concept with an open mind, you will discover an event which will occur within the near term that will change the course of human history. If you have any mathematically presented objections, I would love to hear it. Objections that are formed exclusively using attacks on my person I don't find as interesting to discuss.

However, I would love to discuss the subject matter, in the full detail it warrants. Further investigation by everyone involved will be time immensely well spent.

@kybarnet
Copy link

kybarnet commented Jul 19, 2017

https://steemit.com/ethereum/@kybarnet/the-most-sophisticated-block-chain-fundamental-analysis-guide-in-history-geared-to-ethereum

In there is a multi sheet Excel file which contains all the necessary information to inform a programmer, investor, or enthusiast all the way from step 1 to a full understanding of the fundamental analysis of a block chain, the bonus systems, and future predictions.

Within you will find undeniable proof pricing limitations placed upon Ethereum by establishing a fixed % of Market Cap bonus structure at such unusually high levels. You will also gain a better understanding of the various things Bitcoin tried to achieve.

I hope everyone who has commented within this thread has a chance to review and comprehend the materials. Afterwords, I believe all those of sound mind will reach the same, if not similar conclusions as to the ones I have.

Good luck. Keller Barnette

@alex-miller-0
Copy link

alex-miller-0 commented Jul 26, 2017

Has there been any discussion external to this EIP with regard to implementing an issuance decay curve in a series of eras?

I'd be interested to hear any arguments against it. I think something like a one-year halving series (like Bitcoin's halving, but once a year instead of every four) would be ideal, though certainly the numbers themselves would warrant some discussion if there is broad interest in this model.

I understand the intent is to approach zero issuance with Casper and the core devs don't want to put a ton of brainpower into this, but I frankly don't see the downside to putting a series of decreasing issuance eras in place at the Metropolis fork. My point here is that future-proofing your system is usually a good decision.

@kybarnet
Copy link

kybarnet commented Jul 26, 2017

Often times, I hear financially egregious statements, regarding block chains. This particularly applies when attempting to understand block Bonus structures, and market demand.

They are inevitably intertwined.

5 to 3 is not likely to reduce mining profits, or upset the mining community, etc

The prospect of such as statement is based on 'conserving mining profits' rather than adjust an expense to the appropriate cost. Likewise, no projection is made for what would happen if the percent of inflation was reduced from 11.3% to 6.7%, or 40%.

However, the result of such event is quantifiable, with significant accuracy, if one so chose to study such quandaries, and below I will discuss similar events throughout history, within the block chain.

  • Be Prepared

The Tax of Accumulated Wealth of Ethereum should never be fixed, or increasing. It must perpetually remain below that of market demand, and thus must decrease once the market reaches equilibrium.

This is quite simple to prove mathematically, under all circumstances. It is a factually, undeniable statement, regarding asset security.

What is the Tax, or Hash Security, cost for Ethereum, for the day of July 26, 2017?

Hash Security costs linearly increases with price, thus you first must discover the fair price for Ethereum.

Assuming you are less intelligent than the combining financial markets, we accept the Buy and Sell values of Ethereum as the Fair Value, or perhaps $190. However, feel free to make this any other number you want.

On that day, what is the Cost to run Hash Security, relative to payout?

One would speculate the cost to run Hash Security would approach payouts, or a rate of 100%, however, some suggest it is closer to 80% or even 10%. It makes no difference which number you choose, the result is always the same. However, we can call this the 'minimum rate of miner burn required to sustain current levels of operation' (though it is completely irrelevant, some believe it not so).

So for our example we have:

Fair Value = $190

Minimum Miner Burn Rate = 100%

Next, we can assess the rate of expenses paid to the miners, which equates to (standardized to 15 Sec block times, and 94 Mil blocks):

5,760 Blocks x 5 ETH = 28,800 ETH - 28,800 ETH x $190 x (Minimum Miner Burn Rate) = $5,472,000

In order to go 1 single day, without losing value, Ethereum must Market $5,472,000 of Ethereum to New Investors, to sustain the current price point of $190. Which is to say, that if there are not enough Buyers at the price of $190 over the course of a day to purchase $5,472,000 worth of Ethereum, then they must begin to sell at $189, $188, $187, and so on, until they are able to pay for the their day to day expenses in $ or Yen or Marks, through the sell of Ether bonuses.

Miners also earn $24 Million to $48 Million in Transaction Fees (ETH, BTC), which are negotiated at fair values in today's dollars. The bonuses are always in addition to these fees. Together, the Fees and Bonuses, make up Block Reward.

Regardless, if Demand was to exceed that of $5,472,000 then the price of Ethereum would necessarily go up, to $191, $192, $193, and so on, until there were enough veterans or New Expenses created to meet Demand.

Thus, assuming we are less intelligent than the collection of all Market Forces, we know the Daily Demand and the Daily Expenses to be equal to one another, or $5,472,000 at the price of $190, with 100% burned daily.

If the Expenses were to be reduced, from that of $5,472,000 to that of $1,094,400 Daily, and Demand remained constant, than what would happen to the price of Ether?

Over time, it would achieve Equilibrium at : $190 / ($1,094,400 / $5,472,000) = $950 Per ETH, which is to say Daily Demand ($5,472,000) equals that of Daily Expenses ( 5,760 Blocks x 1 ETH = 5,760 ETH x $950 = $5,472,000 ) . Any day in which Demand is more than that of Expenses, the price must necessarily rise to $191, $192, $193, and so on, or until enough Veterans are willing to cash out.

Put another way, if Hash Security Exp was reduced to $1 Million daily July 27th, then $4,377,600 Veterans must liquidate their holdings every single day to keep the price at $190, forever. Otherwise, it must go up. It must continue until there are no Veterans left, or Daily Expenses equal Daily Demand, which would occur at $950.

This is without any change of Demand.

At $950 the $ of Expenses at 1 ETH per Block is exactly equal to that of 5 ETH per block at $190.

If ongoing demand is ever reduced, or increased, then the price must likewise decrease or grow until the Daily Expenses equal that of Daily Demand.

Next, you must set a minimum required value for annual expenses for Hash Security. Budgets less than $20 Million have been attacked, $100 Million (or less) covers 999 block chains, $106 Million was the value for Ethereum 2016, $200 Million is that for Dash, and $230 Million is that value set by LiteCoin.

Thus, we can conclude that the minimum required value is between $20 Million, or over $250 Million to secure the 'safest block' chain. There is one alternative figure, which was calculated in this way:

What do you predict Ethereum will be worth in 2025?

Multiply that by 94,000,000 and 4%. That is the project cost of $2,100,000 Billion computers, today (hint Buy Computers! :)

As one could imagine, such a prediction would be grossly inaccurate. Would you rather rely upon 2009 or 2017 figures, when estimating the cost of Hash Security, in 2017? Regardless.

Let's play it safe and say the Minimum Desirable level for Hash Security is $500 Million (double that of LiteCoin), which is to say every block chain aside Bitcoin is unsafe, all the time, always have been, and so was Ethereum up until March, 2017.

Now, take this number and divide it by the total Demand. Which in our previous scenario was $5,472,000 daily or $1,997,280,000 annually. $500 Million / $1,997 Million = 25%.

This is the correct allocation of Demand Required to purchase the Minimum Desirable level of Hash Security. If more than 100% of Demand is Required, then your block chain is unsafe and you must abandon your product immediately, or create substantial new demand for your unsafe products, with the hopes of achieving safety and without any possibility for growth, ever, without additional increases in demand. This could be known as a "Bail Out".

Note : Regarding 51% Attack situations, prior investors can always temporarily readjust the % of inflation during a hard fork, to "Reverse Bail Out" a weakened block chain.

However, in all other situations, the Minimum Desirable level for Hash Security is less than 100% of Current Demand. In the above scenario, it was 25%.

Thus we can, and responsibly should, adjust the expense to meet the desire. This could either be obtained through Selling stored Ethereum until the price of $950 reduces to $190, or through reducing the rate of inflation to 25% of current value.

Today that value is 11.3% , times 25% = 2.8%. This would equate to $500 Million of Expenses at $190, or 2.8% x 25% = 0.7% at $950.

Thus, so long as demand remained constant, either $1,997 Million - $500 Million = $1,497 Million of Veteran funds must get released, or the price must go up. This matters not if the current price is $950 or $190. So long as demand exceeds costs, price must rise.

Historically, when Bitcoin has cut its expenses sharply, the price has doubled, or tripled, within 6 months. Which is to suggest a 6 month lag, within relatively inattentive markets with largely uninformed buyers.

Keeping within the Example, to require a Bail Out, Investor Demand would need to fall by over 75%, following a 75% reduction in expenses, as a percent of Demand. Which in this case would be a reduction of the Block Reward from 5 Eth to 1.25 ETH, so long as demand fell by less than 75%, the Minimum Desirable level for Hash Security would be maintained, while the Price would forcibly move up after Veteran funds become exhausted.

Assuming no change in demand, as it has little to no impact on demand, and a reduction of expenses and increased projected worth could only stimulate demand, realistically, however... assuming no change in demand $1.5 Billion annually must be released by Veterans to prevent a price escalation, increasing expense, until equilibrium, which would be around $760 in the prior scenario.

However, in between $190 and $760, it would once again approach a value in which the % of inflation could get halved again, which is logically $380.

Thus, we have a Demand in excess of Minimum Desired Hash Security Expenses, at a rate of 4 to 1. Without adjustment, Expenses will necessarily increase until a 1 to 1 ratio presents itself. Knowing this, we desire to reduce the % inflation spent on Hash Security between the Spot Prices of $190 and $760.

If we follow the standard of 'halves' , then it is most desirous to cut the % inflation in half at $380, exactly.

With Bitcoin it took approximately 6 Months for the Market to adjust by more than doubling the value of the Coin for each 50%, or similar, reduction.

If Ethereum reduced the rate of Issuance from 5 ETH to 1 ETH, I believe the markets would adjust amply in less than 5 months, or say 20% Monthly. Thus, after 3 months, the value could get once again reduced in half, while maintain the same Minimum Desired Hash Security Expenses.

For any miners which sell less than 100% of ETH daily, their profits actually increase, as they are able to sell less ETH, while awaiting for a proper market readjustment, and sell more while the expense is over valued, which naturally occurs between times of adjustment.

Given the expectation that reducing the rate of Inflation from 11.3% to 2.25% would naturally challenge Bitcoin in both cost Structure, and Market Cap, as well as Gold and US Dollars, I would recommend making a new 50% inflation reduction, assuming 1 ETH August 1st, 50% reduction November 1st, 50% reduction February 1st, and 50% reduction July 1st.

At this point you'd achieve a rate of inflation of 0.3%, and a significantly escalated price. Assuming demand reduces to that of half the current demand, then cutting the rate inflation in half every 6 months thereafter would seem reasonable, to allow for full market appreciation between 50% reductions.

Obviously one could use a lower % monthly, like 15%, however that creates less forced market volatility. Forced Market Volatility prevents someone from acquiring excessive ETH at a low price, and holding for years at highly profitable rates. With a consistently reduced monthly expense, one could create a time frame in which they could escalate the price, and temporarily corner the market (perhaps).

Alternatively, one could leave the rate of Inflation at 0.3% forever, which would essentially force a competing coin, or Casper, to enter the market, once the rate of Hash Security Expense exceeded the acceptable value by some $ figure, which we can assess to be around $2 Billion of annual tolerable waste, or perhaps $10 Billion to support something of such magnificence as 0.3% inflation.

However, with any block chain, they essentially lose their Investment Grade status once the rate inflation goes unchanged for longer than 6 months, after securing some consistent level of minimal demand. Regardless of the amount, if the Market Reacts to the change faster than Management, then Management becomes slacking, and the price falls and fluctuates in value, without any predictable future rise, until the next adjustment.

If Demand is in excess of Expenses by 20%, then one might reduce bonus expenses by 20%, and then 10% every 3 months thereafter or 20% every 6 months, to counter any attempt from a single actor to sell massive amounts of Coin, driving the Price to levels of temporary insecurity. The larger, and less frequent the reductions, the more difficult this becomes.

I personally recommend reductions no less frequently than once every 6 months, of 50%, for Metropolis, assuming demand is half that of today, 1 year from now, and 1 Eth per block upon the first hard fork. An extremely cautious person could start with 2 ETH, and move to 1 ETH a month after.

However, keep in mind that the smaller the decrease, the greater the potential market tanking by hostile actors. Such an action could, unintentionally, provoke hostility, however at 1 ETH one would necessarily need to sell $4 Million daily to prevent the price from appreciating, or creating a noticeable effect. At 3 ETH one needs to sell $2 Million daily to prevent price appreciation, and so on.

Equaling the inflation rate of Bitcoin is very admirable. Cutting it in half is highly newsworthy, and would predictably create excess demand, creating substantial protection vs a hostile actor. However, regular reduction to suitable levels is the only way to maintain an assets investment grade status, and predictably higher future worth.

@int03h
Copy link

int03h commented Jul 26, 2017

@alex-miller-0 "I understand the intent is to approach zero issuance with Casper and the core devs don't want to put a ton of brainpower into this, but I frankly don't see the downside to putting a series of decreasing issuance eras in place at the Metropolis fork. My point here is that future-proofing your system is usually a good decision."

Right, the result will ultimately be the same. I think it just looks better when it is presented as a framework rather than a decay.

@5chdn
Copy link
Contributor Author

5chdn commented Jul 27, 2017

The issuance reduction should be discussed in #186 and will not be part of this EIP. At least this was not the idea in first place, see #649. Maybe some other champion create a separate EIP for this.

@kybarnet
Copy link

kybarnet commented Jul 27, 2017

5chdn, see:

#669 (comment)

This, and the prior meeting, indicated that the issuance reduction was to become part of this EIP.

What is the proper EIP, or should a new one be created?

@jamesray1
Copy link
Contributor

jamesray1 commented Oct 16, 2017

@jaron21 when I looked into it a couple of months ago I decided that setting up a mining rig wasn't worth it, since PoS would eventually be implemented. I was under the impression that PoS might be released with Metropolis around the start of 2018, but as it turns out it won't be. So maybe PoS might still be worth it. But there's also an opportunity cost compared to, say, studying PoS and Ethereum and seeing how it could be improved, or buying Ether and tokens and finding useful ways to spend them.

@5chdn
Copy link
Contributor Author

5chdn commented Oct 16, 2017

@int03h
Copy link

int03h commented Oct 16, 2017

@5chdn painful births are always the most rewarding. Thanks for your work on this.

@jamesray1
Copy link
Contributor

jamesray1 commented Oct 17, 2017

With the issuance reduction, there's less supply and inflation which will put upward pressure on the price. Lol you should've seen the page here at the time of the HF. https://fork.codetract.io/

@5chdn
Copy link
Contributor Author

5chdn commented Oct 17, 2017

Hi @jamesray1,

it has been discussed over and over again. This EIP actually increases issuance and relaxes pressure on the price.

@jamesray1
Copy link
Contributor

jamesray1 commented Oct 17, 2017

There are a lot of comments here. I read some of them. The block reward is reduced rather than the issuance. It seems like the issuance will increase because of the difficulty bomb delay, so the block time should be reduced back to stabilising by the homeostasis first part of the algorithm to around 15 s. So because the block time is reduced more than the block reward is reduced, the issuance should increase.

@5chdn
Copy link
Contributor Author

5chdn commented Oct 17, 2017

Exactly.

@int03h
Copy link

int03h commented Oct 17, 2017

Go look at the Bitcoin charts, block reward reductions actually did very little to the price. Scarcity is a figment of our collective imaginations. ( Just because I don't have enough of them, doesn't make them scarce ). ;)

@jamesray1
Copy link
Contributor

jamesray1 commented Oct 17, 2017

I'm hoping the price will still increase with increased usage (it'll be great when sharding is implemented). Most of my funds are held in ETH. I see its potential as a world computer for decentralised smart contracts. Yes it's volatile but I'm hodling long-term.

@kybarnet
Copy link

kybarnet commented Oct 17, 2017

Just because I don't have enough of them, doesn't make them scarce

Fully agree.

A shame the mining mafia attempted to kill Jameson Lopp for speaking out against them :

https://twitter.com/lopp/status/919943125933707265

In the grand scheme of things, situations like this only reinforce how important it is to prevent equitable distribution of coin. I hope the persons of Ethereum don't repeat Jameson's mistakes, for they will be proven wrong, one way or another.

If anything, I think it's time we increase the mining rewards back up to 5 ETH, if not 10 ETH per block. In such a way, there is enough ETH for everyone and we don't have to worry so much of 'pressure on the price' that has been troubling so many.

Have fun in Cancun guys!

@5chdn
Copy link
Contributor Author

5chdn commented Oct 17, 2017

Why do you think increasing block rewards results in enough ETH for everyone?

@jamesray1
Copy link
Contributor

jamesray1 commented Oct 18, 2017

Guys don't misconstrue my words. When I said "upwards pressure", I didn't mean it in a bad way, indeed as I pointed out I have a vested interest in the price rising. But I realise that giving a higher reward may not be the best way to increase the price, rather, increasing demand through a better protocol and better dapps makes sense.

In the grand scheme of things, situations like this only reinforce how important it is to prevent equitable distribution of coin.

Really? @kybarnet, do you mean: "... to ensure equitable distribution of coin?"

@pipermerriam pipermerriam mentioned this pull request Oct 20, 2017
9 of 9 tasks complete
@pirapira pirapira mentioned this pull request Oct 23, 2017
0 of 10 tasks complete
@PanchiShah
Copy link

PanchiShah commented Nov 1, 2017

#649
There is a big big flaw in the voting system... most small miners are not that aware... what about the little guy?
Just like I did not know that there was this voting system for turning miner off in a specific time to vote support or non support... You should have a better way for this.

You know not all miners have the money to waste... I am a supporter of innovation... I know most miners just find "HOW TO" stuff on internet and make their miner.
Please consider this for the future...
Also not all miners have that time, we have other things to do... maybe share a link to the center/website where all news is published (sorry my bad if I dont know about this already)

Do remember the miners who allow ETH to be ETH...

@5chdn
Copy link
Contributor Author

5chdn commented Nov 4, 2017

As this is now live on the main-net, can I change it to final?

Any further changes to this EIP would basically require a new EIP.

5chdn added 4 commits Nov 4, 2017
5chdn added 2 commits Nov 18, 2017
Copy link
Collaborator

nicksavers left a comment

The documentation for this EIP looks sufficient. Now that Byzantium is live, I think this can be merged.

@cdetrio cdetrio merged commit 63c93eb into ethereum:master Nov 19, 2017
@5chdn 5chdn deleted the 5chdn:a5-eip-649 branch Nov 20, 2017
@holgerd77 holgerd77 mentioned this pull request Jun 25, 2020
15 of 15 tasks complete
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

You can’t perform that action at this time.