What is Segwit? Segregated Witness Explained Simply

What is Segwit? Will it truly allow for Bitcoin to scale
for mass adoption? And how does it even work? Well stick around, in this episode
of Crypto whiteboard Tuesday we’ll answer these questions and more. Hi, I’m Nate Martin
from 99Bitcoins.com and welcome to
Crypto Whiteboard Tuesday where we take complex
cryptocurrency topics, break them down and translate them into plain English. Before we begin,
don’t forget to subscribe to the channel and click the bell
so you’ll immediately get notified when a new video comes out. Today’s topic is Segregated Witness,
or Segwit for short. Segwit is an upgrade
to the Bitcoin network that was activated in August of 2017. It was first introduced
by Developer Pieter Wiulle at the Scaling Bitcoin conference
in December 2015. Segwit aims to solve several issues: one of which is Bitcoin’s scalability. Bitcoin transactions are written
on a Blockchain, an immutable ledger on which transactions
are bundled together into blocks that are chained one to the other,
in order to determine their order. A new block is created
roughly every 10 minutes. Additionally, Bitcoin’s protocol limits
the capacity of a block to 1mb, which limits a Bitcoin block to around
2700 transactions on average. This creates a problem when a lot of people are trying
to send Bitcoins simultaneously as the queue of transactions
waiting to enter the blockchain gets longer and longer.. While Visa can process
1,700 transactions per second, Bitcoin can process only 4, not nearly a scale that could handle
mass adoption. In order for Bitcoin to truly
become usable on a worldwide scale, it needs to find a way to increase
its transaction capacity. Another issue Segwit addresses
is transaction malleability. Every Bitcoin transaction has 3 parts – who sent it (also known as input),
who receives it (output), and a digital signature that verifies that the sender
is eligible to send the coins. It turns out that Bitcoin’s code
allows digital signatures to be altered while a transaction is still
waiting to get confirmed. The signature alteration
can be done in such a way that if you run a mathematical check on it,
it is still valid according to the network. But if you run
a hashing algorithm on it, it gives a different result. Let me explain with an example: For the sake of simplicity let’s say that
the signature value was “3”, but instead of “3”
I change it to “03” or “3+7-7”. While mathematically,
the values are all the same, so it’s still a valid signature, if I hash these different versions
I will get different results, since hashing depends on
how you write the value and not just the value itself. Since the hash is the transaction’s id
in the blockchain, this means I can effectively change
any unconfirmed transaction’s id to a different id
and it will still be valid. Creating a new transaction id
for an existing transaction can be problematic
for a number of reasons: First, if you want to build
second layer solutions on top of the Bitcoin network,
like the Lightning Network, you need to make sure
no one can alter the first layer since the one relies on the other. If you want to learn more
about the Lightning Network make sure to catch our episode
about it as well. Second, altering transaction ids
can cause issues if you’re spending or accepting
unconfirmed funds. Let’s go through another example: Alice pays Bob in transaction X
which is currently unconfirmed. Bob uses these unconfirmed funds to pay for a product online
from Charlie (transaction Y). Meanwhile, Charlie sends Bob
his product before waiting for confirmation
on transaction Y. After receiving his product, Bob does some technical tinkering,
and maliciously changes, or malleates, Alice’s payment so that her transaction,
X gets confirmed but with a different transaction id. Transaction Y,
which is what Bob sent to Charlie, is now invalid since it relies on transaction X’s
original transaction id that now no longer exists. So Charlie won’t get paid even though he’s already delivered
the goods to Bob. Bad Bob… While scalability and malleability are the two most burning issues
that Segwit addresses, there are a variety of other
technical issues that Segwit tackles that don’t necessarily affect
the end user directly. Now that you know what Segwit is, let’s talk a bit about
how it actually works. Segregated Witness
is a proposed change to how blocks are structured. Non segwit blocks,
also known as legacy blocks, have a total of 1mb space
for all of the block data: inputs, outputs, signatures
and additional scripts. Segwit blocks, on the other hand, are in fact large 4mb blocks
that consist of a base transaction block and an extended block. So contrary to popular opinion,
Segwit is indeed a block size increase. Segwit blocks move the digital signature and other data known as “the witness”
outside of the base transaction block. The witness data
will still be transmitted, but it is placed inside the extended block. So the base transaction block includes
the information about the sender and the receiver and the witness data is left blank
and doesn’t take up any more space. This allows for more transactions
to fit inside the 1mb base transaction block. The extended block (the additional 3mb) include all of the witness data
that isn’t mandatory in the base transaction block. The new block format
Segwit introduces achieves two major goals: First, it moves the digital signature
outside of the base transaction block. This way, if someone changes the signature
on the transaction, it won’t affect the transaction id. This in effect solves
the transaction malleability issue…. you know…Bob. Second, it shrinks down
the base transaction data. Since the witness data takes up to
65% of the transaction size, moving it outside of
the base transaction block allows more transactions
to fit inside that 1mb block. I know what you’re probably thinking. If Segwit is in fact
a block size increase, why not just increase the block size
to 4mb in the first place? Why all of this hassle
and block size debate if the end result is in fact bigger blocks. The answer is really quite simple – developers wanted to avoid
a contentious hard fork in the Bitcoin network. You see, Bitcoin’s protocol
specifically states that blocks can’t exceed 1mb. So, developers had to find a solution that will allow the network to accept
both Segwit and Non Segwit blocks if a hard fork were to be avoided. The solution of a 1mb block
with an “extension” of another 3mb is something that is still acceptable
under the existing protocol. Legacy nodes receive
only the 1mb base transaction block without the extended block. They still consider them valid. Segwit nodes receive
both the base and extended block (up to 4mb in total) and can validate
the transactions in full. This backwards compatibility
is also known as a soft fork. This approach is a lot less risky since it doesn’t require nodes to update
their software to support Segwit. It means that even if it takes years
for all of the nodes to upgrade, the network will still function. Now let’s move on to how
Segwit blocks are measured by miners. While legacy blocks
are measured in size, Segwit blocks are measured in weight. Block Weight is a new concept
introduced in Segwit, and it’s calculated
on a per-transaction basis. Each transaction has a “weight”
which is defined this way: The size of your Base Tx (meaning that which doesn’t include
the witness data) *3 + the Full Tx size,
that=your transaction weight. Legacy transactions don’t have the ability to strip away
the witness data from the base transaction, so their weight will always be
4 times the tx size. For example, a legacy TX of 1000 bytes will have a weight of 1000*3 + 1000
=4000. Segwit transactions, on the other hand, are going to have a weight of less than
4 times the tx size. For example, a 1200 byte Segwit transaction
comprised of 400 bytes of witness data will have a weight of (1200 (the total transaction size)-400
(the size of the witness data)) leaving the base transaction size of 800,
times 3, making 2400, add the total transaction size of 1200,
and that=3600. In short, the larger the size of the witness data,
the lighter the tx weight will be. This incentivizes miners
to prefer ‘lighter’ Segwit transactions over ‘heavier’ ones, since they can fit more of them
inside a base transaction block, which increases the potential miner’s fee, should that block be accepted
and confirmed. While in theory Segwit transactions
can create a block up to 4mb in size, in practice the average block size
that includes Segwit transactions is around 2mb. Today, almost 50% of
all Bitcoin transactions are Segwit transactions. Since legacy transactions
are larger in size, they require higher network fees
to get confirmed faster. And finally, Segwit addresses start with a “3”
while legacy addresses start with a “1”. Thanks to its advantages, more and more popular wallets
and exchanges support Segwit. Ledger, TREZOR, Electrum,
Exodus and Coinomi are just some of the major
wallet brands that have already adopted Segwit. It’s important to note that
if you have a legacy wallet and you want to move
to a Segwit wallet you will need to create
a brand new Segwit wallet and move all of your funds
to its address. There’s no way to just upgrade
your existing legacy wallet to work with Segwit. Segwit is the first of many upgrades that will gradually allow for Bitcoin
to scale for mass adoption. It’s a fundamental change
that will allow further developments down the road like the Lightning Network,
Schnorr Signatures and more. As more and more wallets
adopt Segwit, it will soon become the standard
for any Bitcoin transaction. Well, that’s it for today’s episode
of Crypto Whiteboard Tuesday. Hopefully by now you understand
what Segwit is – An upgrade to the Bitcoin protocol that Segregates the witness data
from the base transaction data, hence achieving a smaller
transaction size, securing transactions
from malleability issues and more. You may still have some questions. If so, just leave them
in the comment section below. And if you’re watching this video
on YouTube, and enjoy what you’ve seen, don’t forget to hit the like button. Then make sure to subscribe
to the channel and click that bell
so that you’ll be notified as soon as we post new episodes. Thanks for watching me
here at the Whiteboard. For 99bitcoins.com,
I’m Nate Martin, and I’ll see you…in a bit.

5 thoughts on “What is Segwit? Segregated Witness Explained Simply”

  1. SegWit is a hack of Bitcoin. BTC is not Bitcoin… Bitcoin is a SYSTEM outlined in the Bitcoin white paper, and the only blockchain/network that uses Bitcoin system is BSV.
    SegWit is needed for Lightning and Lightning is a very shitty system which can never work the way Blockstream & Lightning Labs advertise it, as it has all the exact same flaws as the existing banking system. BTC has been crippled and prevented from increasing capacity on purpose, by Blockstream's devs, who sold people the wrong idea that Bitcoin cannot scale and that another system they are creating (Lightning) and control (as they control the code base, same how they now control the code base for BTC) is scaling of it but this is one massive LIE.

    SegWit has been pushed through social media propaganda that it scales Bitcoin while in reality breaks it, and is a horrible way also to increase Tx capacity as for simple 2x block size increase you achieve more than 2x the Tx increase using this SegWit hack, while at the same time not breaking chain of digital signatures rule of the Bitcoin system, which is specified right there in the Bitcoin white paper. When you add to this that people that did this are also funded by bankers, it should become apparent that bankers hijacked, crippled and hacked BTC, all at the same time, and brainwashed people by changing the narrative of Bitcoin being a useful and usable (by everyone) Peer-to-Peer Electronic Cash System, into this useless, alleged, store of value only and digital gold.

    Bitcoin is Peer-to-Peer Electronic Cash system immutable evidence trail, data storage network, and lots more… and is anything but just store of value or digital gold… so whoever still believes this thing, is a fool and people who keep promoting BTC as Bitcoin etc, are frauds and/or useful idiots… and no, this is not an exaggeration, its actually the truth, and lot of people will learn the hard way, I think starting from 2020, so be careful who you truth and listen to.

  2. great video, thank you so much! So I don't think I heard you mention the coinbase wallet as being segwit compatible – is that correct?

Leave a Reply

Your email address will not be published. Required fields are marked *