Post
Topic
Board Bitcoin Discussion
Re: ToominCoin aka "Bitcoin_Classic" #R3KT
by
exstasie
on 02/04/2016, 05:16:46 UTC

That change is rule breaking thus it is a hard fork, just sold as a soft fork
Soft forks add rules. Hard forks remove them. No consensus rules are being broken by Segwit.

Don't make sure conclusions when you only see 10% of the whole picture. Check core's definition of soft fork, it is not that simple, adding rules is only one out of many possible scenarios of soft fork
https://bitcoin.org/en/bitcoin-core/2016-01-07-statement

It seems you didn't read the article.

Quote
Soft forks allow compatible changes. With soft forks, old and new software can co-exist on the network. Soft forks can introduce new features without disruption because users who want to use the new features can upgrade, while those who do not are free to continue as normal.

Quote
A soft fork is a change to consensus rules, in which blocks that would have been valid under the old rules may become invalid under the new rules, but all blocks that would have been invalid under the old rules remain invalid under the new rules.

I can change the transaction format in my node software, and that change will split the chain immediately, since the old nodes do not accept my transaction format and my node do not accept old transaction format.

If the old nodes do not accept your transaction format, it's because it is invalid. For the third time, please try to understand the difference between non-standard and invalid. A non-standard transaction can be either valid or invalid.

Your scenario also ignores the notion of miner consensus prior to soft fork which would prevent miners from publishing transactions that do not conform to the new rules. But yes, the very point of a soft fork is adding new rules.

But that's only one out of 4 different scenario: I can reject old transaction format while make my transaction format acceptable to old nodes

Only if your transactions are valid under the old rules. If so, then yes. But without miner consensus, the networks could partition. That's basically how a soft fork works. Miners do not need anyone's permission to implement a soft fork, so they can restrict any rules they want; as long as a majority of hash power enforces those restrictions, no blocks will be mined that violate them. So...what's your point? You may be confusing an intentional soft fork (upgrade) with an attack.

I can accept old transaction format while make my transaction format unacceptable for old nodes

That would be because your transactions are invalid. Miners can't force the network to enforce new rules at the consensus level. They can only refuse to mine blocks that don't conform to their new rules.

or I can make them acceptable both way

Only if they are valid under old nodes' consensus rules. You cannot remove the consensus rules of old nodes.

That gives 4 different scenarios, and depends on if the hash rate of new nodes are larger than old nodes, each case there will another 2 different scenarios: either one of the chain get orphaned, or both chain extends indefinitely. That's total 8 different scenarios, while half of them will split into two different chains

You're talking nonsense. Here are the facts: In a soft fork, if miners enforcing the new rules do not control a majority of hash power, the networks can partition. That is why soft forks are implemented with a 95% threshold.

And this is only for normal soft fork scenario, not segwit like soft fork. segwit soft fork is a special type of soft fork that does not follow the above rules

How so? Explain exactly how it's different than another soft fork.

since it created a virtual bitcoin node which looks exactly like bitcoin node and talk to bitcoin nodes, and the old network thought that they are talking to a real bitcoin node while in reality they are not.

No. You just sound like a raving lunatic now.

So a segwit node can break any rules while old nodes still believes they are talking to a normal old node

Sorry but no. You're still pushing jstolfi's BS which was disproven long ago. A Segwit node cannot push invalid transactions which are then confirmed (anyone can push invalid transactions which are not confirmed). They cannot just "break any rules" and you haven't demonstrated how they can. At all.