[bitcoin-dev] Reducing block reward via soft fork

Billy Tetrud billy.tetrud at gmail.com
Tue May 25 19:40:58 UTC 2021


@Phuoc "Bitcoin, for now, is heading for destruction when inflation stops.
As a self-contained system, this happens when the block reward (plus fee)
decreases faster than the price rise."

Well, the block reward decreases less and less in comparison to fees every
halving. So it seems reasonably likely that will never happen because of
halvings, but might happen because of increased on-chain space. Block space
doesn't have a linear relationship with fees. I believe at any given point
in time, there should be an amount of on-chain space that will maximize
total fees collected per block, and either less space or more space will
reduce the total collected fees. I think at some point in the future, we
will have to find a way to modulate the blocksize in order to target a
particular band of security. I would be very surprised if fees couldn't
support enough security in the system by themselves in that future, at the
blocksize where maximum block reward occurs. Fees already contribute over
10% of the block rewards.

@Jorge "Sadly the notion that miners decide consensus rules is pretty
extended even among developers."

We don't currently have a good mechanism to decide by users in a verifiably
decentralized way. Polls are exploitable because of the Sybil problem (the
very problem bitcoin was invented to solve). I think one solution would be
to have the ability for users to sign an upgrade support petition with
their keys, proving how much coin supports the upgrade. The problem is
doing that now exposes people's public keys, which a lot of bitcoin has
been designed to keep safe until used to spend. It seems more recent things
(like in taproot) might be relaxing that protection, so I'm not sure what
the consensus on how important keeping public keys hidden is. But even if
keeping them hidden is important, we could create a new address that
encodes two public keys: one for spending and one for signing upgrade
petitions. That way people could expose the key for signing petitions
without exposing the public key for spending. Of course, that itself would
require a soft fork ; ) But there are real technical issues here. Saying
the devs are simply arrogantly dismissing the unwashed masses from upgrade
consensus gathering I don't think is something I've seen any evidence of.

@Melvin Its interesting that you point out that one kind of block reward is
steady and the other fluctuates. I think you're saying that fees fluctuate
and the coinbase rewards are steady. At first tho, I thought you might have
meant it the other way around ; ) On longer time scales (eg months rather
than days), fees have generally a more steady market-value than coinbase
rewards, since price fluctuates a lot, but people almost certainly set fees
somewhat based on the buying power of the fee rather than the absolute
bitcoin amount.

But I wouldn't think attacks are likely to be easier to perform at certain
times of the week that fees are lowest. Do miners actually mine less on
days when fees are lower? I wouldn't think they do. They already bought all
the hardware for mining, they might as well use it. It seems unlikely that
the cost of electricity and wear on the hardware would exceed the block
rewards even on low fee days. And looking to the future when there's no
significant coinbase subsidy, it seems rather likely that the daily/hourly
variance of the fee market will reduce, since there's an economic incentive
to delay transactions in order to pay a lower fee.

> how large a reorg would constitute an attack

Since the standard is 6 blocks, isn't 6 blocks sufficient for an attack to
be very disruptive? However, if an attack happens, the attacker likely has
>50% hashpower and can create much longer reorgs if they want, so I'm not
sure the length of the reorg is significant actually.




On Mon, May 24, 2021 at 10:53 PM Melvin Carvalho <melvincarvalho at gmail.com>
wrote:

>
>
> On Mon, 24 May 2021 at 22:32, Billy Tetrud via bitcoin-dev <
> bitcoin-dev at lists.linuxfoundation.org> wrote:
>
>> Before we can decide on tradeoffs that reduce security in favor of less
>> energy usage, or less inflation, or whatever goal you might have for
>> reducing (or delaying) coinbase rewards, we need to decide as a community
>> how much security bitcoin *needs*.
>>
>> Do we need to be secure against an attacker with a budget of $1
>> billion/year for an attack? $10 billion/year? More?
>>
>> An upper limit would be the budget of the largest government: the US. The
>> US federal budget is almost $5 trillion/year. But they certainly couldn't
>> spend all that budget attacking bitcoin. About $3 trillion of that is
>> mandatory spending, which couldn't be allocated to such an attack. About
>> $1.5 trillion is discretionary, which includes the military budget. It
>> seems like an upper limit on the amount that could be siphoned from that
>> budget to attack bitcoin would be 5%. That would take massive political
>> cooperation and wheeling and dealing. Likely spending that much would not
>> be politically feasible, but it seems possible, since a 5% reduction in
>> other activities is something other departments would likely be able to
>> sustain with just a bit of downsizing. Or that money could simply come from
>> more borrowing. 5% of $1.5 trillion is $75 billion. So that seems like a
>> pretty solid upper limit on the amount the US could allocate to an attack
>> in a year, in that it seems incredibly unlikely that more money than that
>> could be allocated. Such an expenditure might be eventually seen as
>> justified since the federal reserve has been inflating the supply of
>> dollars by 17.5% on average every year, which would be $1 trillion next
>> year (and more the next, etc). A similar story is told if you calculate the
>> amount of seigniorage banks get access to by their ability to use
>> fractional reserve to inflate the supply of M2 money.  It should be
>> considered tho that this seigniorage doesn't give its beneficiaries that
>> full value, but rather some fraction of that value - say 5% earned by being
>> first to buy with that new money and earning interest on it. So 5% of a
>> trillion is $50 billion. Still, over just two years, that's enough to pay
>> for an attack of at least that size ($75 billion).
>>
>> The budget for the government of China is about $3.6 trillion, the second
>> largest in the world. And since they're an authoritarian country, they can
>> basically do whatever they want with that money. It still seems unlikely
>> they would spend more than 5% of that budget on doing something like
>> attacking bitcoin. However, consider that China's M2 money supply has been
>> increasing at a rate of almost $3 trillion per year. Protecting the ability
>> to do this is seems like something worth spending some (printed) money on.
>> So perhaps at some point, spending 10 or 20% of their budget for a year or
>> two to attack bitcoin might seem like a good idea to some mickey mouse in
>> the government. That would be $720 billion/year.
>>
>> So given the amount of seigniorage taken in every year by these central
>> banks, it would seem to justify large expenditures. I'm not sure how
>> realistic it would be, politically speaking, to gather $720 billion in a
>> single year to attack bitcoin. It seems far fetched, even if the
>> seigniorage they're protecting seems to justify it.
>>
>> So is this the level of attack we want to be resilient to? Nearly a $1
>> trillion attack? I don't know. But we should figure that out as a
>> community. And keep in mind, the level of attack we need to defend against
>> depends on the size of bitcoin. The more valuable bitcoins are, the more
>> damaging, more lucrative, and more valuable an attack would be for
>> attackers. Its seems reasonable to assume that this is a linear
>> relationship - that if bitcoins are worth twice as much, we need twice as
>> much security (ie we want to make attacking bitcoin twice as costly).
>>
>> The next step is figuring out a reasonable lower bound for how much it
>> takes to attack bitcoin. There are many attacks that can be done on
>> bitcoin, but the one relevant to the discussion here is a 51% attack.
>> Bitcoin's PoW basically is attackable buy buying about 25% of the existing
>> mining power (for reasons like the selfish economic attack
>> <https://github.com/fresheneesz/quantificationOfConsensusProtocolSecurity#the-selfish-economic-attack> and
>> the economic mining monopoly attack
>> <https://github.com/fresheneesz/quantificationOfConsensusProtocolSecurity#economic-mining-monopoly-attack>),
>> which is about 40 exahashes/second.
>>
>
> Agree that it is valuable to find a reasonable lower bound to how much it
> take to 'attack' bitcoin
>
> Two observations:
>
> 1. The security model of bitcoin is dual and heterogeneous.  There is both
> a block subsidy and a fee model.  These are not like for like.  One is
> steady, and one fluctuates.  You might make the analogy with steady nuclear
> power, and intermittent wind power.  That means that an attack is more
> effective when fees are at their lowest.  We observe that fees tend to
> build up during the week and are cleared during the weekend, right now.
> Less of an issue right now, but in 3, 7, 11 years fees will make up a
> larger proportion of the total block reward, so maybe something to factor in
>
> 2. From the point of view of bitcoin an 'attack' is simply making the
> chain stronger (or longer) by increasing the accumulated proof of work.
> From the point of view of applications that rely on bitcoin blocks (layer2,
> exchanges, markets etc.) a reorg could be seen as disruptive, requiring
> more confirmations for larger transactions.  We might want to take a view
> on what a planned 'attack' or regorg might look like.  Satoshi when he put
> the first checkpoint in used 200 blocks as a guide.  Straw polling the
> community on this question has lead me to believe that there is a wide
> range of views on how large a reorg would constitute an attack
>
> IMHO it's valuable to work out what the community feels an attack might
> look like, and a lower bound to the cost. over time.  Bearing in mind
> there's going to be a wide spectrum of opinion, on the topic
>
> But, given that there's not been a successful attack in the last decade,
> we probably have a decent amount of time to figure this out
>
>
>>
>> If you bought 400,000 WhatsMiner M30S+ rigs
>> <https://www.buybitcoinworldwide.com/mining/hardware/> at current market
>> price, you'd need $1 billion to buy them all (which doesn't include the
>> cost of setting up all that equipment, powering it, building the network
>> infrastructure for it, etc etc). Let's say all that infra doubles the price
>> to $2 billion. Even then, you couldn't simply buy half a million mining
>> rigs from the market. That many just aren't available. An attacker would
>> have to spend year and years building up their mining operation before they
>> could actually perform the attack. They'd basically have to mine at a
>> slight (probably insignificant) loss for that time. Their demand would push
>> up the price of these mining rigs for at least a year or two until supply
>> comes up to meet it. So lets say this doubles the price of the mining rigs
>> (it could very well do significantly more than that). That makes for $3
>> billion to build up this malicious mining operation. China could seize a
>> mining pool, but likely couldn't do it quietly. They'd have to seize the
>> pool and immediately use it to attack before miners stop using the pool
>> (which might take a week or two). Maybe this would save them half the cost?
>>
>> So, lower bound on cost of attack is $1.5 billion. Upper bound on US govt
>> attack is $72 billion. Upper bound on China govt attack is $720 billion. So
>> based on this back-of-the-napkin line of thinking, its not super clear that
>> reducing bitcoin's security is "enough" yet. There is also the question of:
>> does a $1 trillion currency need to be secure against a $720 billion
>> attack? Probably not. But should it be secure against a $10 billion attack?
>> Maybe.
>>
>> However, the security will go up with price. If bitcoin goes up by 10x,
>> as it is wont to do, that's nearly 10x the security (nearly, since coinbase
>> rewards 10x, but the real value of fees almost certainly wouldn't go up as
>> much). So that brings us to $15 billion of security. Still not clear
>> without doing some more accurate analysis to determine more confidence in
>> tighter bounds on cost of attack and likely attack budgets.
>>
>> But it certainly seems likely that my attack cost bounds are an order of
>> magnitude too low, and its equally possible my estimates of potential
>> available attack budgets are an order of magnitude too high. It doesn't
>> seem quite as likely the reverse is true (that my bounds aren't good
>> bounds).
>>
>> It seems possible that we currently have enough security, but seems
>> likelier that we don't. It just isn't clear to me. Maybe someone has done
>> some more accurate analysis that could help here.
>>
>> But before we talk about whether we should reduce our security to save
>> costs, we need to determine how much security we need and how much security
>> we have. Without good estimates with confident bounds, we simply can't make
>> an informed decision to reduce security.
>>
>> > I don't think 99% of transactions need that level of security
>>
>> Well you can't get security for the 1% of transactions that need it
>> without giving that security to all transactions on the chain. Also, the
>> blockchain security created by miners isn't really a per transaction thing
>> anyway. An attack would affect all bitcoins regardless of what transactions
>> they do or do not take part in.
>>
>> On Sun, May 23, 2021 at 9:52 AM Karl via bitcoin-dev <
>> bitcoin-dev at lists.linuxfoundation.org> wrote:
>>
>>> >> The turn-around time for that takes a population of both users and
>>> >> miners to cause. Increasing popularity of bitcoin has a far bigger
>>> >> impact here, and it is already raising fees and energy use at an
>>> >> established rate.
>>> >>
>>> >> If it becomes an issue, as bandwidth increases block size could be
>>> >> raised to lower fees.
>>> >>
>>> >
>>> > Which increases block rewards somewhat (at least to some level that
>>> matches
>>> > the overall security of the network) and you still have the same
>>> amount of
>>> > energy consumed.
>>>
>>> If you mean to implicitly propose that even if halved all the way with
>>> very large blocks, block rewards would just increase to the same
>>> level, meaning that any attempt to decrease them has no effect, I
>>> disagree.    I expect that if you raise the block size, eventually
>>> there is so much supply for transactions that there are no fees at all
>>> (nor security).  The numbers are all things the devs, miners, and
>>> users can together control.
>>>
>>> > How to prove this is not happening?
>>> > The best you can do is to have some number of authorities sign off on
>>> > whether or not they are doing this.
>>> > The problem is that authorities are bribeable.
>>>
>>> You could make the proof of work be a proof of environmental kindness
>>> by coding incentives for people to place and verify proof on the
>>> chain, and then rewarding people for acting on it as desired.  You
>>> could code the chain to pay people to investigate and prove miners'
>>> business practices, for example.  You could define the main chain as
>>> one where everyone consents the proofs are valid.  There are a lot of
>>> issues to resolve and it would be a very different chain.
>>>
>>> There is not a single solution here.  There are innumerable possible
>>> solutions, any one of which could be made to work with enough brains
>>> working on it.  To use one, we need to agree on what kinds of
>>> solutions are acceptable.
>>>
>>> > Alternately, other entities in the locality can use force to require
>>> the
>>> > polluting entity to clean up or suffer significant consequences.
>>> > This at least is better incentive-wise, as they others in the same
>>> locality
>>> > are the ones most affected, but the ability to enforce may be
>>> difficult due
>>> > to various political constructions; the miners could be in such deep
>>> cahoots
>>> > with the local government that the local government would willingly
>>> hurt
>>> > other local entities in the vicinity of the polluting entity.
>>>
>>> As bitcoin grows, if people ask some locality to enforce behavior,
>>> they may need to be willing to enforce it themselves, too, or they
>>> might outcompete the locality.
>>> _______________________________________________
>>> bitcoin-dev mailing list
>>> bitcoin-dev at lists.linuxfoundation.org
>>> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>>>
>> _______________________________________________
>> bitcoin-dev mailing list
>> bitcoin-dev at lists.linuxfoundation.org
>> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20210525/b56ca218/attachment-0001.html>


More information about the bitcoin-dev mailing list