Segwit & Segwit Transactions - Discussion

Welcome to the discussion about this section. Here you can ask questions or post feedback about this specific lecture.

Really enjoying these videos! Just one point of feedback is it’s a little bit tricky to keep track of these different parts when scrolling up and down. If possible it would be nice to keep things on the same slide as much as possible or maybe zoom in and zoom out rather than scrolling.

Q: If I understand correctly, is it the fact that you’re able to embed a segwit transaction inside a P2SH transaction which makes it a soft fork rather than a hard fork? It’s a bit confusing what an old node can and cannot do when it comes to segwit transactions, but I’ll re-watch the videos and stick with it.

also just fyi there’s a blooper for the first 12s of " Segwit Scripting Part 2 - Embedded Transactions" :slight_smile:

1 Like

Thank you for the feedback! I appreciate it. I have also edited out the blooper and will upload a new video for that section. You have no idea how many of those I have to edit out :wink:

To your question. No, not really. The reason it was a soft fork is that old nodes that didn’t upgrade still see segwit txs as valid. To them, a segwit tx looks like a “anyone can spend” tx. Because they don’t see the witness part and don’t know about the new locking script standard. The locking script to them contains no function call that verifies or checks signatures.

Remember, a segwit locking script i just 0 <PK_HASH>. To nodes that are unaware of the new scripting standard, they will just look at that locking script as something that anyone can redeem. While a segwit node will know what it actually means. I hope it became more clear :slight_smile:

2 Likes

Hi. For more advanced information, check out this page. (Also possible reading assignment to be added)

https://learnmeabitcoin.com/faq/segregated-witness

3 Likes

The website and video’s of Greg Walker are amazing. Very detailed explanation. :ok_hand:

1 Like

Hi Filip!
Thanks for the great lectures! Would it be also possible to provide us the presentations of Segwit Scripting Part 1 and Part 2? Thanks a lot!

I’ve added them as downloads now!

3 Likes

So, Segwit changed the locking script to simply
0 [hash]
which is good. BUT:
For Pay to Witness Script Hash (P2WSH), they now use sha256(script) which is 32 bytes instead of ripemd160(sha256(script)) which is 20 bytes, adding 12 bytes, but allowing the network to differentiate between P2WSH and Pay to Witness Public Key Hash (P2WPKH) which still uses ripemd160(sha256(pubkey)). This is good, but could devs not better just added a single byte to the tx to tell the network what kind of tx? One extra byte for all txs, instead of 12 extra bytes for the txs that are P2WSH. Could have saved more tx size?

1 Like

Hello everybody, and thank you for the great lecture.

My question is: When we say that the LOCKING SCRIPT is going to the witness then we say that the functions and hash of public key is going into the witness area. But in the quiz you say “the benefits of Segwit enabled outputs are”

one of it is

“Enables nodes to query a transaction without the signatures included”

but the outputs do not contain signature. Am I right?

It only contains the functions and the public key hash. Or the public key hash is the signature also?

This is the output: OP_DUP OP_HASH160 9b7906c8b4f9370e390863d26709fd16e34de2ea
OP_EQUALVERIFY OP_CHECKSIG

What is the signature in it?

So is there any difference between signatures and public key hashes or sometimes we call them signatures sometimes public key hash?

This confuse me, thank you for the answer. :slight_smile:

Hi filip, can you please explain to me the difference between Segwit and Native Segwit (Beech 32) ?
I have these 2 accounts on my Ledger. Is there a difference in security or usability?

Sometimes I cannot use one or the other account to receive bitcoins… The sender-wallet said that the receiving address is “strange”… So I was using the “other” Bitcoin account just to be sure…

segwit 3…
native segwit bc1…

Thx. a lot 4 your help.

Ingolf

I have researched the BTC vs BCH via interviews, websites, podcasts, etc. from different POV’s. It seems to me that BCH has a much greater “real-world” use as an everyday currency that BCT will never accomplish in its’ current form. BCH txo’s are incredibly fast, reliable, and cost a fraction of a cent USD. I have great respect for BTC as a store of value (like gold), however, it seems unlikely to be able to be useful day to day, as BCH is (example: Asian markets).
Furthermore, my reading tells me that the lightning network is becoming more and more centralized, and has more than one issue, see links…


Considering it seems far more nimble and agile as an everyday currency, I genuinely would like to know, from someone with extensive experience in the space, what the argument(s) are against BCH?

1 Like

Help me understand: How does Segwit reduce the size of the transaction if the witness is still broadcast with it even though its no longer part of the transaction data structure?

The block size and the size of the transaction that is stored is reduced. But the size of the transaction overall is not really reduced its just stored in a separate data structure that is not part of the block :slight_smile:

2 Likes

If the witness is not part of the block and therefore not in the blockchain, where is it stored? Is it ultimately deleted?

Its not deleted its just not part of the block structure, each segwit enabled node must store it.

3 Likes

SegWit nodes stores Witness data.
Non-SegWit nodes only store transactions data.
They are all stored in the blockchain but N-SW nodes don’t understand so they ignore it.

1 Like

No. Signature is proof you can spend that UTXO. PubKey Hashed is the address.

This is a locking script. Which can be spent by an unlocking script like <Signature> <PubKey>

PubKey_Hashed (bitcoin address) is used in the locking script by sender.
Sig PubKey is used in unlocking script by receiver.

@filip @Alko89

2 Likes

Great explanation! :raised_hands:

2 Likes

so is a security layer? to verify more?

What do you mean? Segwit is a new way for nodes to interpret transactions. The main thing is that the withess data was moved.

1 Like