Author

Topic: How do bitcoin updates work (Read 768 times)

newbie
Activity: 5
Merit: 0
October 02, 2015, 06:23:28 PM
#3
Thank you  Grin "therealsteve". I found your answers very informative. Thank you very much for taking the time to answer my questions in such great detail.

I have been researching this for a few days now and have gotten quite confused. I think I am finally understanding the fundamentals thanks to you now.

3 Cheers to you!!
hero member
Activity: 686
Merit: 500
FUN > ROI
October 02, 2015, 06:07:07 PM
#2
The answer to all of those is "yes/no - because (network) consensus"

1. It's entirely possible to change the reward halving schedule, or even remove halving, in a new set of rules - but unless you get the majority of the network to agree to those new rules, any blocks you generate that go against their rules will simply be rejected by them.

2. Older clients won't work because A. if they're used to mine against, they would be creating invalid blocks (see above) or B. if they're used for verification they simply won't know what to do with transactions/blocks that use the newer rules or find them in violation of the older rules, and won't accept and/or relay them.  If the majority of the network has updated, that effectively means your client will be stuck in the past.

3. There's nothing preventing that, other than the network consensus.  The network - whether you view that as miners, nodes, services - isn't likely to adopt such a change without some very serious discussion and agreement overall.

You can see this sort of thing with the recent block size change proposals.  There's nothing to stop people from making software that has different rules, like XT with BIP101, but (in this case) any blocks generated that break with existing rules (a block larger than 1MB) would get rejected.  That's why most of these proposals introduce a method by which a minimum portion of the network needs to have indicated support for the change (what you're alluding to with "95% of the last 1000 blocks", although those values can be chosen differently and arbitrarily) before the change actually goes into effect for those clients.

If a good chunk of the network still keeps with existing rules then you end up with forks of the block chain, like what happened a while back with v2 vs v3 blocks.. some miners had indicated they were all set for v3 blocks, but when the change went into effect they actually tripped all over themselves and the block chain forked for a few blocks until those miners woke up and smelled the coffee.

The block size is a highly politicized but ideologically fairly minor change and it's proving very difficult to find consensus on that issue so far - imagine trying to push through any change that would actually touch Bitcoin's supply characteristics Smiley
newbie
Activity: 5
Merit: 0
October 02, 2015, 05:37:37 PM
#1
Still trying to understand the basic functionality of bitcoins and mining so forgive me for what may seem like a foolish question.

As Far as I understand All variables like blocks until reward halves, hard limit on block size, seconds to difficulty change, maximum cap, etc are all built in to the blockchain and can't ever be changed anymore to ensure decentralization.

On the other hand bitcoin has multiple updates and from what I get outdated mining software can not be used after 95% of the last 1000 blocks have been made by the newest bitcoin mining software.

So my questions to the community are:
#1 Is it possible for bitcoin to change variables in the future like: blocks until reward halves, hard limit on block size, seconds to difficulty change, maximum cap, etc?

 and

#2 Why will older clients not work after updates?

and

#3 How does bitcoin ensure that no competitor client could ever change the blockchain in a way that would disable the bitcoins default mining software?

Hope someone can help me understand this a little more in depth. Thanks in advance.
Jump to: