Segregated Witness, Segwit - Discussion

Does anyone use Bitcoin besides Alice and Bob?

1 Like

Disclaimer: total programming n00b, no programming experience at all.

My question is about the change of the locking script with segwit. The lesson explained that 0 pubkeyhash means that “anyone can spend”. How does that work? Why would the developers want to make UTXOs spendable by anyone other than the person creating the transaction?

Users are basically bidding on blockspace. If the network is very busy and the mempool is getting full, it’s supply and demand, so users need to pay more fee to get their transaction confirmed fast Enough.

2 Likes

I Think Alice and Bob are doing shady stuff!

2 Likes

Hi i am confused.
Segwit is a soft fork with its own fork of blockchain but how does it work?
If it has its own fork does its miners hash power contribute to non-segwit hash power?
Does it mean our BTC jump non-segwit to segwit and vice versa?

In a soft fork, there is still only 1 blockchain. Nodes using segwit just have other rules that are still compatible with the normal consensus rules

1 Like

Finally found the best explanation.

1 Like

Yes, non segwit nodes don’t get the witness data. That’s part of the reason that blocks are still physically lower than 1mb for old nodes. Normally every signiture for each utxo was included. So this ‘segwit hack’ still obeys the normal consensus rules. Old nodes will basically become light clients once most people use Segwit

2 Likes

How did Segwit change the transaction structure in bitcoin?

My answer:
It removed the witness data (signature)

Correct Answer:
It moved the witness data (signature)

Correct me if I’m wrong but isn’t my answer correct? Segwit removes the the witness data (signatures) from the blocks and places them into a separate database. So really both answers are correct depending on how you interpret the question…

1 Like

Transaction malleability. In the video it is mentioned that Bob is a POS and cheats Alice out of here BTC.

So bob would have to have the txid of Alices transaction before Alices transaction is mined in order to be able to change the signature and have the block produce a new txid? So if the block has been minded or in the process of being mined will Bob the POS still be able to change the signature for the transaction from Alice? do i have that correct?

When Bob changes the ScriptSig, what exactly is he changing? How is he able to change it but still be valid for the private key?

Alice signs the tx with her private key. Once the transaction is signed, she can give the transaction to Bob that can broadcast it to the blockchain. This would be a valid way to pay someone, Bob can’t manipulate it in any way since it would make the tx invalid.
However if this would be the case, Alice could spend the UTXO before Bob would broadcast the transaction so the transaction would fail. In this case Alice would be the malicious entity.

He can change it by manipulating the contents, for example switching the order of inputs.

1 Like

Ok, If the 0 PubkeyHash command is a shorting of the original code wouldn’t that be just like an short version of the command, like script is?
How would that impact the correctness or run ability of the code to get same results? Is the underlying code different?

You know, like an API?

I would say that you are correct Frank. BCH and BSV just want to keep increasing the blocks, and I honestly don’t think it will be a great solution to the scalability solution in the long run. While segwit did improve the scalability a bit, the update brings us to the ability to create second layer solutions such as lightning network. Bitcoin wants to scale with the second layer solutions, while forks such as BCH and BSV want to scale on chain.

Thank you, Mauro, I appreciate your reply.

1 Like

I just watched the Segwit videos, but I still don’t understand how the signatures can be removed from the transaction especially since they are of course vital for verifying a transaction. How do nodes receive the signatures?
Moreover, isn’t this only a temporary fix for full blocks? One of the arguments against increasing block size was that the same problem would be encountered again later once the new limit is reached, but that’s also what will happen with Segwit for blocksize, it’s only a temporary solution to the problem of full blocks inhibiting new adoption.

1 Like

No problem Frank. You have been quite curious. Fabrice is taking a look at some of your other questions. We hope to help you understand everything as soon as possible. :slight_smile:

Signatures are able to be changed. If someone changes it, it will change the transaction ID: This allows you to manipulate the person into sending you the funds twice, as you can claim that you never received it. You don’t need digital signatures in the block. I am not 100% sure on this, but we don’t need to keep a track of the digital signature at all times. It is only for verifying that you initiated the transaction. No one can replicate it unless the have your private key.

Here is a great read: https://www.coindesk.com/bitcoin-bug-guide-transaction-malleability

While segwit did improve the scalability a bit, the update brings us to the ability to create second layer solutions such as lightning network. Bitcoin wants to scale with the second layer solutions, while forks such as BCH and BSV want to scale on chain.Transaction malleability was the important part that segwit fixed.

2 Likes