what is segwit?
segwit (segregated witness) is the name used for a process change implemented in the way bitcoin stores transaction data on the blockchain. the code for this change was published in 2015 and segwit was finally released in August 2017.
Reading: Bitcoin segwit 2x
segwit improves bitcoin and fixes a number of bugs.
mainly, segwit doubled the transaction capacity of the bitcoin network. While many people claim that segwit did not increase the block size, it is very easy to see that yes, segwit did increase the block size!
here, for example, we can see a 2177 kb (2.17 mb) bitcoin block mined in January 2018.
In addition to increasing bitcoin’s ability to process transactions, segwit fixed a flaw in the bitcoin protocol that allowed nodes to manipulate the transaction identifiers of transactions on the network. this bug was known as the “transaction malleability bug”.
Without going into too much detail about exactly how that bug worked, here’s the short version:
If all the correct conditions were met, a user could change the transaction ID to an expense before the network could confirm it. this makes it easier to pretend this transaction didn’t happen, which can be useful for someone looking to claim they sent coins to someone else when in fact they didn’t.
It would be similar to receiving a package from amazon and claiming you never received it, and using a fake fedex tracking number to back up your story.
That’s what transaction malleability allowed you to do.
segwit increased the number of transactions that could fit in a block and fixed the transaction malleability bug by removing what is known as “token data” or “signature data” from a block’s input field.
Transactions get smaller, so you can put more into a block. And with witness data removed, there is no way to change the TXID of a transaction.
what was segwit2x?
segwit2x was a move beyond the segwit switch to improve the bitcoin blockchain by increasing the size of blocks from 1mb to 2mb (2x). in 2017, users had been paying miners a lot of money to transact. fees were high and users were upset.
in fact, fees were once as high as 1,000 satoshis per byte.
In comparison, you can usually make 1 satoshi per byte, which means the fees were 1000 times higher than normal.
Bitcoin needed to scale to service more transactions.
segwit2x was a proposal that would require a hard fork and was built on top of a soft fork proposal.
In essence, segwit2x was two separate bitcoin exchanges combined into one.
first, you have a segregated witness or ‘segwit’ (described above).
segwit was the “little blocker” solution to scaling bitcoin: instead of increasing the block size, it would use the existing block space more efficiently.
then you had the “big blocker” solution, which is where the ‘2x’ comes from. his solution was to simply double the size of the existing blocks.
And that is where the New York Agreement came into play.
This arrangement was initially formed for the bitcoin network to avoid splitting into two different currencies.
The solution proposed by the deal runners was to give both parties what they wanted: double the block size and activate segwit.
In order to implement segwit2x, there would have to have been a considerable change in bitcoin governance rules.
however, the revolutionary goal was for segwit2x to keep all existing bitcoin users on the same single blockchain.
In the run-up to its proposed adoption, startups and miners were the most outspoken supporters of the new update.
Fundamentally, this was based on the frustrations people had over bitcoin adoption. Bitcoin’s slowness allowed other coins to take market share.
The other big supporters of the segwit2x proposal were bigger bitcoin companies like circle and coinbase. while they would eventually discontinue their support, their logic was similar to that of miners and startups.
For the most part, these companies make money when there is a lot of coin circulation. more transactions equals more fees for them to charge. If users don’t want to send their coins to your exchange because the transaction fees are too high, that’s bad for business.
segwit2x met many of the shared goals of the various stakeholders. it would allow bitcoin to increase its transaction performance in the short term and allow exchanges and miners to continue making money as usual, even if it meant potentially damaging what made bitcoin great.
Opposition to segwit2x came from node operators, developers, and users in developing countries.
Part of the debate came from an inherently different understanding of what matters most about Bitcoin.
For opponents of segwit2x, decentralization was paramount. doubling the block size would make it harder to run your own node and verify your own transactions and this was doubly true for people in the developing world where running a node was already relatively more expensive.
For opponents of segwit2x, the hard fork violated the whole purpose of bitcoin: to create an open financial system that everyone could afford to participate in.
Ultimately, the risks outweighed any potential benefits. while segwit2x would increase the speed of transactions, daily users running nodes would have felt the load more intensely, as they would have had to store more data.
With opposition in both ideology and protocol implementation, there was ultimately a chasm too wide to bridge.
On November 8, 2017, the proposal was suspended due to continued resistance to the protocol. companies like coinbase and circle withdrew their support and eventually the protocol failed.
SegWit Adoption – What’s the Progress?
Segwit adoption is increasing. 82% of all bitcoin transactions use segwit addresses.
Another sign of adoption is the support of many of the digital hardware exchanges and wallets that allow accounts that are segwit accounts. Two of the major digital hardware wallets, ledger and trezor, support segwit accounts, while many of the larger exchanges, such as coinbase support, allow legacy and segwit support.
It is important to understand the differences in managing these accounts in your digital wallets
what is the segwit account in trezor?
In the trezor wallet, a “standard” account is a segwit account. that means when you configure a trezor device it will generate a segwit bech32 address by default.
trezor will still support legacy accounts on your devices, but to benefit from the segwit switch, you need to move your coins to a segwit account from a legacy account.
you can choose what kind of address you want when setting up your trezor device:
What is a SegWit Address?
In bitcoin there are multiple address formats that can reside on the blockchain. Most wallets support multiple format types, the most common being p2pkh, p2sh, and bech32. the segwit address format is the bech32 format, also known as the bc1 address because the string always starts with ‘bc1’.
here is an example of what a bech32 address would look like:
bech32 is segwit’s native address format and is supported by most software and hardware wallets.
how does segwit affect the lightning network?
lightening network is a solution for both the speed and cost of a bitcoin transaction and is a decentralized network that allows the transfer of ownership of bitcoin through an additional layer in a transaction. segwit is the foundation of the lightning network. By removing the possibility of transaction malleability, secure payment channels can be created that will eventually allow the bitcoin network to process millions of transactions per second. Lastly, segwit is a way to help bitcoin scale to accommodate its ever-expanding user base, without forcing a hard fork.
what are segwit transactions? how are they different?
Before segwit, the transaction ID of a transaction could have been changed by manipulating the transaction’s unlock code (its digital signature). After a transaction is digitally signed, it is sent through bitcoin’s cryptographic hash function, resulting in a unique transaction ID.
If one character is changed in the digital signature, it will result in an entirely different transaction ID. SegWit moves the signature to the end of the transaction data, so the Transaction ID is created from everything but the digital signature.
In effect, this change makes it impossible to change the transaction ID: if malicious nodes could manipulate transaction IDs, the lightning network would not be possible.
frequently asked questions
- what is segwit?
- what was segwit2x?
- segwit adoption: what is the progress?
- what is the segwit account on trezor?
- what is a segwit address?
- how does segwit affect the lightning network?
- what are segwit transactions segwit? how are they different?
- frequently asked questions
- what does segwit mean?
- is segwit a fork?
- are segwit wallets hardware supports segwit?
- who created segwit?
- is segwit enabled in litecoin?
- how did bitcoin transactions work before and after segwit? segwit?
- how does blockchain work? do updates work?