Here's a quote from the conclusion of the whitepaper in which Nakamoto laid out Bitcoin:
They vote with their CPU power, expressing their acceptance of
valid blocks by working on extending them and rejecting invalid blocks by refusing to work on
them. Any needed rules and incentives can be enforced with this consensus mechanism.
This is Bitcoin's consensus mechanism and it's called Nakamoto consensus.
In turn, this means that 'Bitcoin' is whatever chain has the most cumulative work done to secure it.
Nothing is 'contentious' about this. It either has the most cumulative PoW, or it doesn't.
If the minority chain has some value it might survive. If it does, that's fine. You'll have coins on both chains and you can choose to care or not.
Longest PoW being the main chain was not described in the context of contentious changes to consensus code. By that definition, a 51% attack that censors transactions would be the longest PoW and be defined as 'Bitcoin'. The great thing about Bitcoin is that the users are able to each make their own decision on what Bitcoin is. Bitcoin needs to be anti fragile and will constantly be under these attacks, because if it fails, we need something better.
This is all new territory and the appeal to authority by citing the white paper is less helpful than most people believe.
You're absolutely correct. The 51% example that you bring up would be an undesirable outcome (from our PoV), but the incentives are in place to ensure that it is extremely unlikely to ever happen.
Distributed consensus is a non-trivial problem, and for sure certain tradeoffs were made by Satoshi to make it both distributed and permission-less.
Unless you want a benevolent dictator of some sort all you can do is set up a system that's robust from a game theory perspective.
Sure, but if the winning fork turns out to be unmaintained or suffer some devastating replay attack, Bitcoin as a whole suffers. It's possible for the consensus mechanism to be used towards an objectively bad system.
And sure, that's part of how the consensus mechanic was always meant to fuction. DAO contracts were meant to be irreversible too, but that didn't stop people from being sad and seeking a change when they were robbed.
But satoshi's vision was that every computer can run the software to vote for the chain they want.
Majority of hashrate today is controlled by a single company Bitmain.
Also Segwit2x are trying to kill the current bitcoin chain. I wont have a problem with them if they had a replay protection but putting users in danger is contentious.
Non-mining nodes do not get a vote in Nakamoto's consensus model. That is by design.
They have to make a choice on what chain to follow just all other actors on the network. Doing nothing is a valid choice of course, but it might not bring you a desirable outcome.
Your accepting coins on one fork or the other won't have any bearing what so ever one which chain has the most cumulative PoW.
The only way you can influence which chain is the longest, without mining, is to pick a preferred chains and sell your coins on the other chain. That is your 'economic vote'.
If enough people do that, one chain will be way more profitable than the other and miners will switch over.
Its like watching a religion unfold in accelerated time. Heretics separating themselves into sects with different practices and beliefs from the orthodox groups.
Is Bitcoin turning into a social experiment instead of an economical one? :)
I like reading about bitcoin for that reason. It's like real-time and faster version how our societies and monetary systems evolved and the problems they solved. They are reinventing the wheel a lot, but it seems everything new is old...
Great analogy. Since bitcoin has no true leader it makes it open to people to chose their leader themselves. It makes it open to huge amount of manipulation too like in religious groups :P
a. I was under the impression it was Satoshi who had put in the 1 MB size limit. This is the first attempt to increase the size. But then the article says:
"Until now, Bitcoin has been operating by simply increasing the block size whenever bitcoin needs to scale. This allows more transactions to process in a single block."
These size increases were under which BIPs?
b. "....to firing current bitcoin developers and taking over bitcoin development"
My understanding is the decentralized nature of bitcoin and the consensus mechanism meant no one can actually be fired. The worst case scenario is that I am stopped from accessing the bitcoin-core code repo but I can still rally people to take up my changes and vote (consensus) on it.
d. "Inspite of this, Segwit2x people kept pushing the hard fork on the community just to fulfill their agreement as they have the mining power support."
Wasn't that the whole point of bitcoin? Miners are needed to do most of the heavy lifting which means they have a say in what direction bitcoin goes.
Additionally, what is the mechanism to show the non-mining support for any of the changes?
c. Any links which show there is support for the current chain?
a. The limit has been changed quite a few times in the past. It has both been decreased and increased when required. I think they were soft limits which didnt require a hard fork. I dont have links right now. Will post them as soon as i find any.
b. You are right but their is still a maintainer of the repo that merges the code in the repository and do releases. Core developers don't believe in capability of segwit2x developer i.e. just Jeff Garzik to handle this task.
c. There are two pools slushpool and f2pool that are currently supporting the original chain. Other than this several twitter polls have been done and several meetup groups have posted articles on medium denouncing their support for segwit2x. I am not good with saving links but I am sure you will find several polls with a simple google search.
d. Miners are not a part of bitcoin consensus mechanism. They are a way of safely executing the chosen decision. All issues must be raised before merging code in the bitcoin repo. By blocking the activation of segwit for over an year, miners lost the confidence from the community. Also around 40% of mining power is currently controlled by Bitmain and the rest is also dependent on them as they are the only mining hardware manufacturer.
> Miners are not a part of bitcoin consensus mechanism.
Miners ARE the bitcoin consensus mechanism. Saying anything different is ridiculous. The miners are signaling 2MB blocks in an overwhelming majority. https://coin.dance/blocks
Blockstream and 'core' are scared that the miners will finally stop using their software and take control back of bitcoin, allowing them to expand it's throughput to what other chains already have. This will alleviate the ridiculous $3-$5 fees to make the smallest transaction. Before 'core' and blockstream decided to suffocate the throughput of bitcoin so that their company could profit off of side channels, fees were a few cents.
> just Jeff Garzik to handle this task.
This is not true at all. First, Jeff Garzik was one of the very early developers of bitcoin before the current crop ousted the original group who wouldn't go a long with their plan. They are the ones that took it from something no one knew about to a working system with millions of users. It isn't only Jeff Garzik working on this task and the 'task' is mostly raising a number from 1 MB to 2 MB. There isn't anything technically difficult about it.
> I think they were soft limits which didnt require a hard fork.
The 1 MB limit was put in place as temporary spam protection and satoshi was very clear about this. Bitcoin HAS hard forked before (and many other coins have hard forked multiple times as planned upgrades that have gone perfectly smoothly).
If you are getting your information from /r/bitcoin you should know that it is HEAVILY censored. They ban anyone who has an opinion they don't like, they grey list comments they don't like, they change the sort order of threads that don't go their way, they keep their moderation logs closed and they have a long list of rules that are arbitrarily enforced as justifications for all their nonsense. Check out /r/btc or any other source of information, but not /r/bitcoin, that place is 100% toxic.
Edit: Every post speaking out about /r/bitcoin usually gets rapid downvotes with no explanation while also getting slowly upvoted over time. This seems to be no exception.
Thanks for the presenting the other side of the argument.
I have been a part of the bitcoin community since 2013 so I am pretty aware of both sides of the debate. I am actually a supporter of bigger blocks. But i know that we cannot keep increasing the block size everytime we need. It is not about Jeff garzik not being competent enough, it is about the amount of work he will have to do. Current bitcoin developer group is huge and many developers review the same code, work on new stuff and much more. Segwit2x havent shown anyone else other than Jeff garzik who is going to work on Segwit2x codebase.
Both r/bitcoin and r/btc are terrible. You wont ever get a proper discussion for bigger blocks on r/bitcoin and r/btc has basically turned into a place for bitcoin cash and is not anyway related to bitcoin now. They even celebrate everytime bitcoin price dumps.
> But i know that we cannot keep increasing the block size every time we need.
The only reason it is contentious is because of the 'core' group who want to profit off of crippling the main chain. If you mean that there should be a more dynamic way of choosing max block size, I agree. If you mean that there is any technical limitation to blocks being orders of magnitude larger, there is a lot of evidence to the contrary and anyone syncing with the chain can tell that it doesn't take much CPU power or bandwidth.
> Both r/bitcoin and r/btc are terrible.
/r/btc is terrible in the same way lots of subreddits become tribalistic, but /r/bitcoin is a truly toxic, censored dictatorship meant to lie to people new to bitcoin and cryptocurrencies. I don't think they are on the same level.
> is not anyway related to bitcoin now. They even celebrate every time bitcoin price dumps.
I don't think that is true at all. /r/btc wants core to no longer be in control, because they have done nothing but lie and censor to try to profit off of crippling something they didn't create or even help build up. The bitcoin cash circle jerk gets obnoxious but it is also a direct reaction to everything people like greg maxwell (nullc on reddit and hacker news) have done.
> If you mean that there should be a more dynamic way of choosing max block size, I agree
Actually no. Ethereum currently have dynamic block size and they are heading for doom with their increasing node costs everyday.
Also regarding the btc reddit,you can go to r/btc right now and see that it has only core bashing and bitcoin cash supporting posts. Nothing about scaling or anything else.
I do support increasing block size to 2MB but thats it. Because I do believe that everyone should run their own nodes to verify each transaction themselve.
I actually don't care about nullc or anyone else spreading lies or anything. I just believe that core scaling plan is far more superior to what others have been demanding.
What is their scaling plan? The block size could have easily been increased at any point if it weren't for them and the 'lightning network' doesn't work, there is no time frame for it working, and it the whole purpose is to make money for blockstream, not to be decentralized money.
The fact is, there are already two methods of transactions off of the bitcoin chain that have evolved in the face of bitcoin being artificially crippled - other cryptocurrencies and (unfortunately) exchanges.
Schnorr signatures, Mast and even block size increase is a part of their future plans. Lightning network has been tested on the testnet and alpha version has already been released.
They even had to delay their release of 0.15.1 for this hard fork.
These are the talking points they keep saying, but where is it? How many years does it take to double a constant in the source code? Bitcoin Cash already did it AND has real blocks well over 1MB. Ethereum has hard forked multiple times and has more throughput. This whole story of 'working on it' is pretty hollow when at the same time 'core' talks about how many developers they have. Nothing about it ever made sense. Gavin Andreesen was very clear that the block size needed to be changed 4 years ago. Everyone agreed until core took over and ousted Gavin, Mike Hearn and Jeff Garzik. Now suddenly turning a 1 into a 2 is a huge problem (even though so many other currencies have done it). At what point do you just admit that these guys are straight up lying to everyone and what they are saying has no grounding in reality?
You're wrong. The consensus which Satoshi meant is the consensus inside the specific protocol, so that everyone agrees about the same transactions.
Developers choose which software they want to develop. Users choose which software they want to use. There's no need for a consensus. It's like every other open-source software.
People choosing which software to use is neither here nor there. That doesn't really matter until it affects the protocol, and the protocol is dictated by consensus of the miners. I'm not sure what exactly you think I'm wrong about.
Miners vote with their hash power what chain is correct. 'Bitcoin' or 'the correct bitcoin' are just labels. There is no technical basis, you can call whatever you want any name you want. If all mining power decides they accept 2 MB blocks and the chain that says only 1 MB blocks are allowed dies, you can continue to call the chain that is dead and no longer bitcoin if you want. The 'core' group certainly wants to do that because blockstream wants to hijack and control the now valuable bitcoin name. That doesn't change the reality of how the technology works however.
No, the miner vote and consensus is applied in an adversary setting to protect the blockchain, to allow only valid transactions on the blockchain. Miners enforce the rules of the blockchain.
However, When someone makes a new software with new rules (BCH, S2X), users are free to choose it and miners are free to mine it. Miners can't vote which version users should be using, or which version is the correct one. There is no 'correct one'. Miners vote doesn't apply there. There are now multiple blockchains and each one has miners who enforce the rules in that specific blockchain.
If there's a major user base for different versions, then there's a need for distinct names. If a majority of Bitcoin users agree to update to a new version, then it's called a 'consensus hard-fork' and the new version gets to keep the same name (and the old version dies). When the new version is a 'split-fork' (both versions has users), the new version needs a new name and the old version gets to keep its name. Miners don't have a vote in that. It's the users who choose which software they want to use and what they want to call it.
Only problem here is that because BTC mining is so centralized, small chains with same POW-algorithm are vulnerable to attacks. This leads to this situation where miners can potentially coerce users into using their version of the software.
P.s. If someone gains unfair advantage on the blockchain somehow (Blockstream etc.) and users lose confidence in Bitcoin's core developers, the majority of user base will then fork into something else and keep the Bitcoin name. There hasn't been a reason for that yet. I trust the larger Bitcoin community that it will happen if there's a legitimate reason.
Bitcoin Cash and segwit 2x have a major difference: in bitcoin cash there is replay protection (purposefully) and in segwit 2x there is not (also purposefully). Because segwit 2x is a meant to be a hard that kills the other chain off, there IS a correct chain - the chain with the highest proof of work. This is explained in the original bitcoin white paper.
Miners are signalling with an overwhelming majority that segwit 2x will be the chain with the most hash power / proof of work behind it, and because there is no change to the transaction formats, if it gains the majority of hash power, it is considered the valid continuation of the bitcoin blockchain.
So, it was changed back in Satoshi's era(2010). It is miners who are not obliged to fill up till 1 MB. Yes, miners can be shady to not fill the blocks and collect fees.
Frankly, it seems Bitcoin has an ever revolving door of civil wars and it is getting boring. Every time someone comes up with a different opinion, its civil war, political attack etc. There was so much noise during Bitcoin XT, then cash and now this.
If people are so concerned about miner control and 100% sure of community support, create a fork and mine it. A fair debate is fine but this kind of in-fighting undermines bitcoin from being taken seriously - 7k in price or not.
Exactly everyone is free to fork and create their own chain but they dont take the brand value with them. Bitcoin XT, cash and segwit2x all have had the same supporters everytime. They just change the name of their movement.
In light of the hard fork in Bitcoin world.
This graphic https://imgur.com/y4D0XEC should get you up to speed with all you need to know about the state of Bitcoin forks.
I don't think any of these bitcoin forks are particularly helpful to the entire cryptocurrency ecosystem.
Additionally, the cult of bitcoin and the various sub-cults make it hard to actually be interested in bitcoin as a technology without being forced to invest ideologically by thousands of fanboys claiming all other sub-cults to be evil.
Personally, I've moved my assets into other cryptocoins and I hope I can weather the storm of bitcoin's inevitable and eventual collapse there. Hopefully.
It's main value lies in a mostly irreversible ledger of transactions, which in my opinion, has the potential to disrupt atleast some parts of global economics (online shops maybe). For international transfers, bitcoin is ahead of the current banking system (though banks are catching up in terms of fees and speed... or is bitcoin getting worse?)
On the other hand, bitcoin is also an interesting exercise in distributed consensus (though blockchain/PoW consensus is largely overhyped)
Other cryptocoins have improved on all these concepts or plan to develop them. Bitcoin might be remembered in the same way modern computer scientists remember the Turing Machine or the Zuse Z1.
>Several polls were done and it was made clear that segwit2x had no support from the community.
That has to be the most laughable part of the article. "Hey guys, I posted this poll on a pro-core forum and what do you know, not a single person supported S2X...". It's like the polls posted in /r/btc about Bitcoin Cash - everyone in the bitcoin world lives in their own bubble and use those around them to validate their opinions.
That poll has nothing to do with support for S2X though (or more generally, doubling the block size irrespective of the particular implementation)... rather just which chain would get the name 'bitcoin'
Almost the entire payment infrastructure of the internet relies on one of the libraries / standards mentioned in the post above, so it would be a stretch to say they don't involve money.
The good thing about these Bitcoin forks is that you don't really have to do anything if you don't want to. You can just forget about it and hold. You will own the same amount of Bitcoin for every fork out there.
Not in this particular hard fork. If you spend coins on the other fork, it can get replayed on the original bitcoin chain and you may lose your coins. Read my article about replay protection linked in the article.
They vote with their CPU power, expressing their acceptance of valid blocks by working on extending them and rejecting invalid blocks by refusing to work on them. Any needed rules and incentives can be enforced with this consensus mechanism.
This is Bitcoin's consensus mechanism and it's called Nakamoto consensus.
In turn, this means that 'Bitcoin' is whatever chain has the most cumulative work done to secure it.
Nothing is 'contentious' about this. It either has the most cumulative PoW, or it doesn't.
If the minority chain has some value it might survive. If it does, that's fine. You'll have coins on both chains and you can choose to care or not.