I read some comments that made me laugh a lot, here it is:
Segwit2x fork has failed 2 blocks before it was supposed to activate!
" https://twitter.com/jfnewbery/status/931553531471032320
I try to assume good intentions in people. Unfortunately, I can no longer do so for @jgarzik. My judgement is that he is acting to disrupt the bitcoin network to advance his own interests.
Segwit2x was announced abandoned last week, but there are still some residual nodes in the network. This morning, those nodes froze at block 494,782. That's two blocks before the intended hard fork at 494,784.
Block 494,784 was announced an discussed as the forking block many times over the last few months. Here https://twitter.com/jgarzik/status/888270313502330880 … and here https://segwit2x.github.io/segwit2x-announce.html … and here https://lists.linuxfoundation.org/pipermail/bitcoin-segwit2x/2017-October/000520.html … for example. https://twitter.com/jgarzik/status/888270313502330880
Looking at the code, it appears that Jeff made an off-by-one error. That's not entirely surprising. The VersionBitsState() code is confusing, and the commit where Jeff added the hard fork code had no review- https://github.com/btc1/bitcoin/pull/50
I then took a look at the miner activation code. There's another bug there. In the BlockAssembler constructor code, fWitnessSeasoned is being accessed before initialization. The result: no large block can be mined to trigger the fork.
This is a simple bug. Any reasonably competent coder would have spotted this (not least because a compiler or static analysis could have warned that a member was being accessed before initialization). Any reasonable review process would have caught this. Sadly btc1 had neither.
When I pointed this out to Jeff, he immediately created a patch and pushed it out.
In case it's not clear: SegWit2x only makes sense if it has consensus and can bring the network with it. That's what we were told again and again: 2x is an upgrade and will become the one true chain.
Trying to create a SegWit2x fork at this point, when it's clear that it doesn't have consensus, is simply sowing discord and confusion.
There are more bugs in the btc1 code. I can't in good conscience reveal what those are, since I have no intention of helping create a disruptive hard fork.
In case it's not clear: no-one should run btc1 code. It is untested, unreviewed, buggy and can only serve to disrupt and confuse the Bitcoin network. "
" btc1 nodes stuck on block 494782 even though the fork was supposed to occur on block 494784. Turns out @jgarzik can’t even trigger a hard fork without messing things up! Shame on the companies that wanted to damage a $100B network by trusting this idiot. "
https://twitter.com/CobraBitcoin/status/931520053102759937
So did Garzik fuck up the 2X code, people reporting btc1 nodes got stuck on the wrong block...
in the future we will have more altcoins with ridiculous names