Updates & Forks - Discussion

Segwit is preffered. I don’t see a reason why not to update it. I do believe we will eventually reach a very high adoption of the users using segwit.

Are you talking about accidental forks? If 2 miners find a block at the same time and make a temporary fork, the chain that gets the new block faster will be accepted as truth. Basically as soon as the new block arrives the longer chain will start propagating throughout the network.

If we are talking about hard forks then it is a bit more tricky. If almost everyone updates a hard fork upgrade and only a small bit of them don’t, then the chain with less adoption might easily die out after some time. If the community is pretty indecisive then there will be a permanent chain split in the network.

1 Like

Question 3: How is a hard fork update defined?

No, A is the only correct answer. A hard fork is a type update that makes the previously invalid blocks valid. Performing a hard fork has a risk of creating a split it in the chain but it does not have to happen. If everyone updates or if no one updates, then there would be no chain split.

Question 4: How is a soft fork update defined?

Same thing, only A truly defines what a soft fork is. While we can be sure that a soft fork won’t cause a chain split, its not what the actual meaning of the soft fork is. A soft fork is a type of update that makes previously valid blocks invalid.

If we have an accidental fork that lasts for example 3 blocks and the 4th one resolved it, this means the following:

The chain that was on the short side will have all 3 blocks become stale. All of the transactions that were different will be put back in to the mempool to be mined again. All miners rewards will be lost. Miners couldn’t have moved the mined coins, as they are locked for 100 blocks. :smiley:

Only one is correct.

1 Like
  1. They don’t use a platform. Its decentralized. As soon as you update you node implementation with an update you are supporting the updated set of rules.

  2. Only a miner can add a message in to the block. They are the only one who can generate a block according to the current difficulty. :smiley:

1 Like

The only way to lose money is when you sell something for bitcoin. If you don’t wait for at least 6 confirmations there is a chance that the payment you were waiting was in a stale block. If it was, you just gave a physical/virtual good for free (unless it got confirmed once again, after it got back in the mempool again).

They will lose everything. Their block reward and fees are locked for 100 blocks. :slight_smile:

1 Like

When there is a hard fork proposal, miners are the one deciding if they want to follow the new set of rules or not. Normal users such as me and you can’t. This is because miners are the ones who actually run the network. There are multiple implementations of the bitcoin code.

Here is a great website with a graphical table: https://en.bitcoin.it/wiki/Clients

Everything under the column “Network Security” that says Full are clients that can be used for mining. This is because only full nodes can mine, unless you join a mining pool. If the miner isn’t happy that the client they use accepted a certain hard fork or soft fork they can switch to a different client.

For example: “In October 2016, Bitcoin Core’s 0.13.1 release featured the “Segwit” soft fork that included a scaling improvement aiming to optimize the bitcoin blocksize.”

If you don’t wish to use segwit as a miner, you wouldn’t want to use a Bitcoin Core client.

If you don’t mine solo, but rather using a mining pool, then you would change according to what the mempool support. If there is an actual disagreement between a hard fork update, we will have several pools that haven’t accepted the update and several that did.

Hopefully I made it a bit clearer now. I know its a lot of information. :smiley:

1 Like

It is decentralized. Every update is a proposal. If there was an hard fork update that wanted to increase the maximum supply of the coins no miner would want accept it. Miners choose what’s best for them. They have no interest in inflating and devaluing the currency they are mining.

There is no centralized power. I hope you understand it much better now. :smiley:

1 Like

I see @Alko89 has already helped you with the answers. Here is my opinion on it.

Increasing the block size is not a great way to scale in my opinion. Increasing it makes the propagation slower, it increases the possibility of stale blocks and it makes the blockchain size very large. If stale blocks happen too often the chain may keep forking till infinity, never reaching what the real truth it. :slight_smile:

2 Likes

If some people want to support an older chain it can still exist. Take a look at ethereum classic. It still exists. Its the original ethereum. :slight_smile:

Here is some history on it: https://blockgeeks.com/guides/what-is-ethereum-classic/

With that knowledge you can be much more prepared. :smiley:

2 Likes

I am a bit confused by your question. If 90% update then we can say that the update went pretty well. The updated chain would have lost almost none of its community and hash power. The 10% that did not update would be vulnerable to attacks due to the low hash rate and would almost certainly die after some time.

When the chain split happens, we no longer care which chain is longer. They are both following different rules now and are independent from each other.

1 Like

Very clear. thanks for getting back to me

1 Like

So cool. So starting from this block https://etcblockexplorer.com/block/0x94365e3a8c0b35089c1d1195081fe7489b528a84b22199c916180db8b28ade7f

Ethereum became Ethereum Classic because kept the original ethereum blockchain because they didn’t want to mutate the blockchain cause of the hack. Was against the immutability principle. But eth community did the right thing and refunded all Dao holders affected.

1 Like

Exactly. The community was split in the opinions about the DAO hack. When the hard fork was finally pushed, the community did what it had to do. Due to the conflict of interests, the chain split into two chains.

Its up to you to decided who did it right. You can still support both chains. Keep in mind that ethereum classic has far way less support.

3 Likes

Watch this docu. It explains the dao hack very well wich lead to the fork. Wich shows that blockchain ledgers are not 100% immutable but the immutability is just enforced by consensus.

5 Likes

In multiple videos I have heard that stale block transactions are returned to the mempool. Are all transactions in a stale block returned to the mempool or only the transactions that were not part of another valid block that are now part of the blockchain? It does not make sense to me that a previously accepted transaction in a block produced by Miner A would be allowed to go back to the mempool by Miner B if their block had the same transaction but it becomes a stale block. If both Miner A and B had the same transaction in their block but one block is accepted and the other block is rejected what happens to the identical transaction in the rejected block?

Some more clarity on this part of the subject would be appreciated.

Thanks

This section was a bit harder to understand then the previous ones.

  1. Why does such updates occur?

  2. How often does this happends?

  3. Why would you want this to happend?

I hope someone can clearify this for me because I’m not able to understand this.

1 Like

Nodes do indeed check for that :slight_smile: if a transaction was mined in both blocks then it will not go back to the mempool. In fact since most miners do pick the transaction in the same way, you can expect that most of the transactions won’t be put back in the mempool (if they had been mined in both blocks). However not all nodes have the same copy of the mempool (some transactions might not propagate to one miner when he constructed the block).