Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: sunnycoast on October 28, 2017, 05:26:48 AM



Title: Why was SegWit2X implemented in the first place?
Post by: sunnycoast on October 28, 2017, 05:26:48 AM
I'm familiar enough now about why the core people dislikes 2X. But, why was this accepted in the first place? Was it hidden as part of the original SegWit and the core developers did not know about it?


Title: Re: Why was SegWit2X implemented in the first place?
Post by: Bestcoin-fan on October 28, 2017, 06:52:37 AM

Segwit itself had been designed and supported by the Core developers.
So when it was actually implemented they accepted it of course.

As for 2Mb blocks hard fork - firstly, after the Segwit activation it is unnecessary, it gives almost no advantages while increasing the volume of the blockchain.

Secondly, the Core team hates the unrespectful compulsory methods 2x devs chose for their venture



Title: Re: Why was SegWit2X implemented in the first place?
Post by: J. Cooper on October 28, 2017, 07:57:34 AM
Was it hidden as part of the original SegWit and the core developers did not know about it?
This is pretty much what happened. They only wanted to activate segwit if segwit 2x was activated later down the road. Core knew this but there wasnt' a whole lot they could do. So in a sense the 2x was forced into the agreement because otherwise we wouldn't see segwit 1x at all.


Title: Re: Why was SegWit2X implemented in the first place?
Post by: Jet Cash on October 28, 2017, 08:16:01 AM
So are 2Mb blocks here then? I think larger blocks are extremely destructive to Bitcoin's future. In fact I believe that the blocksize should be halved, and generation frequency increased. I believe that it will have to happen in the future, so why not do it now.


Title: Re: Why was SegWit2X implemented in the first place?
Post by: HeRetiK on October 28, 2017, 08:39:33 AM
I'm familiar enough now about why the core people dislikes 2X. But, why was this accepted in the first place? Was it hidden as part of the original SegWit and the core developers did not know about it?

2X was never accepted by Core and was not sneaked into the codebase either.

It simply is a fork of the original Bitcoin code, maintained by a different development team, backed by various members of the industry and parts of the community. It came to life due to some people persisting on (1) on-chain scaling as being the preferred solution on the one hand and (2) adding a short-term scalability fix on top of SegWit on the other.



So are 2Mb blocks here then? I think larger blocks are extremely destructive to Bitcoin's future. In fact I believe that the blocksize should be halved, and generation frequency increased. I believe that it will have to happen in the future, so why not do it now.

SegWit blocks can theoretically reach close to 4MB:

https://medium.com/@jimmysong/understanding-segwit-block-size-fd901b87c9d4


Title: Re: Why was SegWit2X implemented in the first place?
Post by: Jet Cash on October 28, 2017, 08:56:04 AM
I seem to have a major misunderstanding about SegWit. I thought the witness data was going to be stored off the blockchain. So it appears that my "legacy" node is storing short blocks if the witness data is being stripped out. If this is true, then it would appear to kill the whole pont of implementing SegWit, and deprive me of the advantages in using SegWit for its many other features.


Title: Re: Why was SegWit2X implemented in the first place?
Post by: Iranus on October 28, 2017, 09:11:27 AM
I'm familiar enough now about why the core people dislikes 2X. But, why was this accepted in the first place?
It never was accepted by Core.  A block size increase requires a hard fork, which will result in two separate chains with the same blockchain until the point of the fork.  This fork will be created by different developers.

It's just that, in order to reach the 95% of miner consensus that the original SegWit (BIP141) required to activate, the owners of most of the hashrate had a meeting in which they came up with the New York Agreement (NYA).  NYA involves activating SegWit on the condition that three months after SegWit activation, the signatories will follow the new chain with 2MB base blocks.
So it appears that my "legacy" node is storing short blocks if the witness data is being stripped out. If this is true, then it would appear to kill the whole pont of implementing SegWit, and deprive me of the advantages in using SegWit for its many other features.
Yeah.  SegWit was pretty much supposed to be a block size increase that didn't force people to upgrade and use it if they didn't want to.  It preserves the ability to run a BTC node with a 1MB max block size, but that would be a legacy node/old node.


Title: Re: Why was SegWit2X implemented in the first place?
Post by: Jet Cash on October 28, 2017, 09:26:39 AM
So what will happen if I refuse to accept 2Mb blocks, and stay with a legacy node?


Title: Re: Why was SegWit2X implemented in the first place?
Post by: ScripterRon on October 28, 2017, 02:05:30 PM
So what will happen if I refuse to accept 2Mb blocks, and stay with a legacy node?
You will remain on the current chain.  If you are running Bitcoin Core 0.13 or later, the witness data is not being stripped since your node does support segwit.

The real question is what chain will be followed by the merchants and exchanges you use for your transactions.  For me, this will determine which chain I follow.  The worst case is that they are split between the two chains.  In addition, if the user nodes run a mix of software, your transaction may or may not reach a miner for the desired chain (as well as being replayed on the other chain).


Title: Re: Why was SegWit2X implemented in the first place?
Post by: squatter on October 28, 2017, 02:18:52 PM
I seem to have a major misunderstanding about SegWit. I thought the witness data was going to be stored off the blockchain. So it appears that my "legacy" node is storing short blocks if the witness data is being stripped out. If this is true, then it would appear to kill the whole pont of implementing SegWit, and deprive me of the advantages in using SegWit for its many other features.

This is how opt-in soft forks work, and it's part of the beauty of the forward compatibility that Satoshi built into Bitcoin. Basically, legacy nodes are able to process future versions of themselves, even if they don't full understand them, and they are still fully enforcing the consensus rules. The consensus is still intact if the witness data is segregated and transmitted in parallel to legacy blocks. The FUD that big blockers are spreading about "Segwit getting rid of signatures" is just that -- FUD.

So what will happen if I refuse to accept 2Mb blocks, and stay with a legacy node?

You, along with many of us, will help to create a network split in November when the Segwit2x fork occurs. We will remain on the original network. It's difficult to say what miners will do at that time, so it's difficult to say how disruptive the event might be. It might be damn near impossible to get transactions confirmed if most miners really do leave our chain.


Title: Re: Why was SegWit2X implemented in the first place?
Post by: sunnycoast on October 28, 2017, 05:32:18 PM
I seem to have a major misunderstanding about SegWit. I thought the witness data was going to be stored off the blockchain. So it appears that my "legacy" node is storing short blocks if the witness data is being stripped out. If this is true, then it would appear to kill the whole pont of implementing SegWit, and deprive me of the advantages in using SegWit for its many other features.

This is how opt-in soft forks work, and it's part of the beauty of the forward compatibility that Satoshi built into Bitcoin. Basically, legacy nodes are able to process future versions of themselves, even if they don't full understand them, and they are still fully enforcing the consensus rules. The consensus is still intact if the witness data is segregated and transmitted in parallel to legacy blocks. The FUD that big blockers are spreading about "Segwit getting rid of signatures" is just that -- FUD.

So what will happen if I refuse to accept 2Mb blocks, and stay with a legacy node?

You, along with many of us, will help to create a network split in November when the Segwit2x fork occurs. We will remain on the original network. It's difficult to say what miners will do at that time, so it's difficult to say how disruptive the event might be. It might be damn near impossible to get transactions confirmed if most miners really do leave our chain.

Can you or someone else post some details on how to reject the 2MB?

I'm on this forum, reddit, and bitcoin slack but do not see any instructions on how to reject the 2X if running a full node.


Title: Re: Why was SegWit2X implemented in the first place?
Post by: BillyBobZorton on October 28, 2017, 05:45:31 PM
I seem to have a major misunderstanding about SegWit. I thought the witness data was going to be stored off the blockchain. So it appears that my "legacy" node is storing short blocks if the witness data is being stripped out. If this is true, then it would appear to kill the whole pont of implementing SegWit, and deprive me of the advantages in using SegWit for its many other features.

This is how opt-in soft forks work, and it's part of the beauty of the forward compatibility that Satoshi built into Bitcoin. Basically, legacy nodes are able to process future versions of themselves, even if they don't full understand them, and they are still fully enforcing the consensus rules. The consensus is still intact if the witness data is segregated and transmitted in parallel to legacy blocks. The FUD that big blockers are spreading about "Segwit getting rid of signatures" is just that -- FUD.

So what will happen if I refuse to accept 2Mb blocks, and stay with a legacy node?

You, along with many of us, will help to create a network split in November when the Segwit2x fork occurs. We will remain on the original network. It's difficult to say what miners will do at that time, so it's difficult to say how disruptive the event might be. It might be damn near impossible to get transactions confirmed if most miners really do leave our chain.

Can you or someone else post some details on how to reject the 2MB?

I'm on this forum, reddit, and bitcoin slack but do not see any instructions on how to reject the 2X if running a full node.

Bitcoin Core 0.15+ and beyond automatically disconnects from btc1 nodes, even tho i've seen that btc1 tries to disguise their nodes to not be banned:

https://www.reddit.com/r/Bitcoin/comments/7465sd/btc1_just_merged_the_ability_for_segwit2x_to/

In any case run 0.15+ and also write to any merchants and miners not rejecting NYA to do so, there's not much else you can do. What matters is dumping the B2X coins when the moment comes. This is how forks are defeated... just crash the price by dumping, but be sure you know what you are doing first to access and transact the forked coins.


Title: Re: Why was SegWit2X implemented in the first place?
Post by: sunnycoast on October 28, 2017, 07:31:30 PM
I seem to have a major misunderstanding about SegWit. I thought the witness data was going to be stored off the blockchain. So it appears that my "legacy" node is storing short blocks if the witness data is being stripped out. If this is true, then it would appear to kill the whole pont of implementing SegWit, and deprive me of the advantages in using SegWit for its many other features.

This is how opt-in soft forks work, and it's part of the beauty of the forward compatibility that Satoshi built into Bitcoin. Basically, legacy nodes are able to process future versions of themselves, even if they don't full understand them, and they are still fully enforcing the consensus rules. The consensus is still intact if the witness data is segregated and transmitted in parallel to legacy blocks. The FUD that big blockers are spreading about "Segwit getting rid of signatures" is just that -- FUD.

So what will happen if I refuse to accept 2Mb blocks, and stay with a legacy node?

You, along with many of us, will help to create a network split in November when the Segwit2x fork occurs. We will remain on the original network. It's difficult to say what miners will do at that time, so it's difficult to say how disruptive the event might be. It might be damn near impossible to get transactions confirmed if most miners really do leave our chain.

Can you or someone else post some details on how to reject the 2MB?

I'm on this forum, reddit, and bitcoin slack but do not see any instructions on how to reject the 2X if running a full node.

Bitcoin Core 0.15+ and beyond automatically disconnects from btc1 nodes, even tho i've seen that btc1 tries to disguise their nodes to not be banned:

https://www.reddit.com/r/Bitcoin/comments/7465sd/btc1_just_merged_the_ability_for_segwit2x_to/

In any case run 0.15+ and also write to any merchants and miners not rejecting NYA to do so, there's not much else you can do. What matters is dumping the B2X coins when the moment comes. This is how forks are defeated... just crash the price by dumping, but be sure you know what you are doing first to access and transact the forked coins.

Thanks for the clarity.


Title: Re: Why was SegWit2X implemented in the first place?
Post by: illinest on October 28, 2017, 08:06:10 PM
Can you or someone else post some details on how to reject the 2MB?

I'm on this forum, reddit, and bitcoin slack but do not see any instructions on how to reject the 2X if running a full node.

By "full node" I'm guessing that you are running Core? If an alternative implementation, then which one? I think BTC1 is the only full node implementation that will fork to 2x. As long as you are running any version of Core, you will reject the 2x fork, since it's a hard fork (incompatible with the previous versions).

That's why most people just say "run a full node" if you want to ignore the 2x chain entirely. If you just run Core and ignore the 2x chain, you don't run any risk of losing BTC. But you'll probably lose B2X coins since there is no replay protection.


Title: Re: Why was SegWit2X implemented in the first place?
Post by: sunnycoast on October 28, 2017, 08:51:44 PM
Can you or someone else post some details on how to reject the 2MB?

I'm on this forum, reddit, and bitcoin slack but do not see any instructions on how to reject the 2X if running a full node.

By "full node" I'm guessing that you are running Core? If an alternative implementation, then which one? I think BTC1 is the only full node implementation that will fork to 2x. As long as you are running any version of Core, you will reject the 2x fork, since it's a hard fork (incompatible with the previous versions).

That's why most people just say "run a full node" if you want to ignore the 2x chain entirely. If you just run Core and ignore the 2x chain, you don't run any risk of losing BTC. But you'll probably lose B2X coins since there is no replay protection.

I'm running 15.0.1 on my computer that I downloaded from core. This should be sufficient to reject 2X?


Title: Re: Why was SegWit2X implemented in the first place?
Post by: marky89 on October 28, 2017, 09:14:16 PM
I'm running 15.0.1 on my computer that I downloaded from core. This should be sufficient to reject 2X?

Yep -- you're good to go as far as rejecting 2x. Just remember that if the 2x coins ever have value, and you want to sell them for more bitcoins, you probably want to avoid making any transactions after the fork. Any payments you make (to addresses you don't control) will send out your 2x coins as well. It sounds like you don't care, but just throwing it out there because it seems like the NYA companies are doing their best to pump their hard fork.


Title: Re: Why was SegWit2X implemented in the first place?
Post by: sunnycoast on October 28, 2017, 09:39:20 PM
I'm running 15.0.1 on my computer that I downloaded from core. This should be sufficient to reject 2X?

Yep -- you're good to go as far as rejecting 2x. Just remember that if the 2x coins ever have value, and you want to sell them for more bitcoins, you probably want to avoid making any transactions after the fork. Any payments you make (to addresses you don't control) will send out your 2x coins as well. It sounds like you don't care, but just throwing it out there because it seems like the NYA companies are doing their best to pump their hard fork.

Based on what I understand, I'll wait and see what the best method of transacting is after the fork.

I follow the developers as I think they act in the best interest of bitcoin, not miners or banks.


Title: Re: Why was SegWit2X implemented in the first place?
Post by: CyberKuro on October 29, 2017, 02:54:24 AM

Segwit itself had been designed and supported by the Core developers.
So when it was actually implemented they accepted it of course.

As for 2Mb blocks hard fork - firstly, after the Segwit activation it is unnecessary, it gives almost no advantages while increasing the volume of the blockchain.

Secondly, the Core team hates the unrespectful compulsory methods 2x devs chose for their venture



Indeed, core developers have never stated to support 2x hard fork as it may harm the entire network or become more centralized, controlled by miners, and so on.
Core developers have made themselves clear about this matter, support segwit but 2x hard fork never been accepted in the first place.
Moreover, 2x hard fork more likely to be an altcoins called btc1 if it's not meet the requirements of consensus, 85% right now.


Title: Re: Why was SegWit2X implemented in the first place?
Post by: BillyBobZorton on October 29, 2017, 01:45:40 PM
Can you or someone else post some details on how to reject the 2MB?

I'm on this forum, reddit, and bitcoin slack but do not see any instructions on how to reject the 2X if running a full node.

By "full node" I'm guessing that you are running Core? If an alternative implementation, then which one? I think BTC1 is the only full node implementation that will fork to 2x. As long as you are running any version of Core, you will reject the 2x fork, since it's a hard fork (incompatible with the previous versions).

That's why most people just say "run a full node" if you want to ignore the 2x chain entirely. If you just run Core and ignore the 2x chain, you don't run any risk of losing BTC. But you'll probably lose B2X coins since there is no replay protection.

I'm running 15.0.1 on my computer that I downloaded from core. This should be sufficient to reject 2X?

You should hold your coins on your node too. Remember that when the fork comes, the only way to both recieve your segwit2x coins and be able to know from where you are transacting from, is to run your own full node.

SPV wallets aren't safe, they will follow whatever the devs choose. In this case, I assume Electrum devs will follow the BTC chain, but just to be sure, run your own node and transact from there. Also ideally run it from a Linux machine, so you are safe from Window's viruses etc.


Title: Re: Why was SegWit2X implemented in the first place?
Post by: monkeydominicorobin on October 30, 2017, 03:30:52 PM
I'm familiar enough now about why the core people dislikes 2X. But, why was this accepted in the first place? Was it hidden as part of the original SegWit and the core developers did not know about it?

It wasn't really accepted. The backers of the proposal are just bored. They have money and they want Bitcoin core to die.


Title: Re: Why was SegWit2X implemented in the first place?
Post by: henryc4se on November 01, 2017, 10:25:52 PM
Everyone wants a slice from bitcoin. :)


Title: Re: Why was SegWit2X implemented in the first place?
Post by: pawanjain on November 02, 2017, 06:14:06 AM
From what I understand the Segwit2x people for some reason don't want BTC to work as it is and found a reason to fork from the chain.
The reason is the increase in block size and thus they have implemented the consensus for the new coin. I thought that increase in block size would benefit BTC and increase it's efficiency but I guess I was wrong. The Segwit2x members want BTC to run according to them only and that doesn't seem fair enough. I will support the current chain and want BTC to work the way it is.


Title: Re: Why was SegWit2X implemented in the first place?
Post by: Kakmakr on November 02, 2017, 06:21:29 AM
First of all, everyone can suggest new changes to the code and if they get enough support, then it will be considered. You have to understand that it was designed to be like that, to allow for everyone to submit changes to the code. If only Core developers were allowed to submit changes, we would have had a dictatorship.

Many people feel SegWit2x is just a hostile takeover attempt from the competition. <Those who were on top and who decided to leave and now wants to be on top again>

Other people think SegWit2x is a sabotage attempt to divide the community and to weaken the support. ^hmmmmm^


Title: Re: Why was SegWit2X implemented in the first place?
Post by: Spendulus on November 02, 2017, 01:13:29 PM
I'm familiar enough now about why the core people dislikes 2X. But, why was this accepted in the first place? Was it hidden as part of the original SegWit and the core developers did not know about it?

It wasn't really accepted. The backers of the proposal are just bored. They have money and they want Bitcoin core to die.

For years there have been differences between bitcoin "industry" and "users."

At least with this hostile takeover attempt, it's right out in the open.