Thursday, December 26, 2024

transaction enter – How can the segwit witness knowledge be “off-chain”? What does it actually imply?

No, that is not correct. Witness knowledge is on-chain, inputs have an analogous byte size as earlier than (they’re simply weighed otherwise), and the transaction throughput is elevated as a result of segwit is a defacto blocksize improve.

Thus, with segwit, the witness knowledge was separated from the remainder of the enter. Extra particularly, the witness knowledge is now “off-chain”. This made the enter a lot lighter and, in turns, it made spending an UTXO cheaper and sooner to course of.

It is a widespread misunderstanding perpetuated by an abundance of (generally intentionally) complicated descriptions of how segwit works.

A transaction isn’t full with out the proof that it was licensed by the proprietor of the spent funds. As such, the witness is explicitly a part of a “full transaction”. What segwit did was to segregate the witness (learn “signature”) out of the enter script and transfer it to the “witness part” of the transaction. The witness part is on the similar hierarchical stage because the inputs and outputs.

The witness part is excluded when calculating the transaction id (txid), however it’s a part of the transaction, and used to calculate the witness transaction id (wtxid). Whereas the merkle root within the blockheader commits to the txids of the included transactions, every segwit block moreover commits to a merkle tree of the transactions’ wtxids. In conclusion, the witnesses are a) a part of the transaction, b) a part of the blockchain, c) needed to completely validate the blockchain.

Segwit changed the blocksize restrict with a blockweight restrict. The blocksize was primarily based on the uncooked byte size of transactions and capped at 1,000,000 bytes. The blockweight restrict is capped at 4,000,000 weight items, the place weight is calculated by counting witness bytes with an element of 1, and non-witness bytes with an element of 4. This occurs to end in an equal restrict if a block solely consists of transactions with out witness knowledge.

The precise transaction knowledge of a segwit enter in comparison with a non-segwit enter is barely marginally smaller. It’s the low cost of witness knowledge that permits blocks to exceed the earlier blocksize restrict, making segwit an efficient blocksize improve with the greatest block so far having 2,422,858 bytes (however 3,993,379 weight items).

Segwit transactions and blocks are made ahead appropriate to pre-segwit nodes. Segwit nodes will strip the witness knowledge earlier than relaying the information to pre-segwit nodes. The stripped transactions and blocks are non-standard however legitimate in keeping with the pre-segwit protocol guidelines, and thus pre-segwit nodes can observe the blockchain and converge on the identical UTXO set.

Notice that pre-segwit nodes haven’t been “absolutely validating nodes” since segwit was activated on August twenty fourth 2017 as they don’t unilaterally implement all consensus guidelines of the Bitcoin protocol.

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Latest Articles