Well, the Bitcoin Core Segregated Witness (SegWit) implementation vote has been open for a while now, and the 2 mining pools and a cloud mining MLM that support Core have signaled support for SegWit, currently accounting for 23% of the network hashrate (Dec 3, 2016, real-time data). SegWit adoption seems to be almost at a standstill, and the remaining hashrate that has not yet decided whether to vote for SegWit is still up in the air. Now is a good time to analyze the good, the bad, and the ugly of SegWit. Core supporters have been calling SegWit a 'much-needed upgrade', which in some ways suggests that Segregated Witness is a temporary or makeshift way to increase the effective block size. We will first evaluate SegWit from the perspective of its technical merits, and then analyze SegWit from the perspective of its benefits and potential drawbacks. First, let’s look at what SegWit can do (in general)
Benefits of SegWit as told to you by Core supporters : SegWit fixes the malleability problem. This solves the problem that bothers you like a mosquito every day when you sleep. If inputs no longer have signatures, then there will be no malleability problem. SegWit fixes the signature double hashing problem by changing the way the signature hash is generated. SegWit shortcomings that Core supporters won’t tell you : If SegWit activates, wallets that have not upgraded will not be able to receive transactions from SegWit wallets. If someone sends you Bitcoin via a SegWit wallet, you will not see the transaction until a miner confirms it in a block. This essentially breaks 0-conf payments for all wallets that do not want to upgrade to SegWit. Full nodes that have not upgraded may get invalid blocks because they will not be able to validate transactions with SegWit inputs. This means more block reorganizations or potential double-spending attacks if the full node is serving a network wallet. Complex new payment types can cause bugs in wallets with poorly written code. SegWit wallets need to be smarter about how they handle sending funds to updated and non-updated wallets. If this is done wrong, funds could be lost. Segregated Witness actually reduces the fees charged by miners. Miners will still use the same bandwidth as a 1.7MB block (because there is only 1.7MB of data worth downloading), but will only receive 0.25 times the data for the extra witness data, effectively receiving the same fee as a 1MB block of data. Segregated Witness sacrifices transaction fees in order to allow the network to achieve a higher transaction throughput per second. SegWit adds technical glitches . The idea of shoehorning a signed merkel root into the coinbase message so that SegWit can be deployed as a soft fork is a mess, how many off-brand components do we want to put into the Bitcoin base layer? Are we going to make soft forks a regular activity? I don't think anyone would benefit from this, except for developers who demand access to larger devices. Segregated Witness cannot be rolled back because, to non-upgraded clients, SegWit transactions look like pay-to-alls (technically, everyone who can spend the output). After SegWit is activated, if SegWit is rolled back via a voluntary downgrade of the majority of miners' software, then all funds in the segwit outputs can be taken by unscrupulous miners. As more and more funds are locked in segwit outputs, the incentive for miners to collude with each other becomes higher. In contrast, a hard fork that increases the block size can be rolled back via a soft fork that reduces the block size. SegWit doesn't actually increase the block size, it just calculates the block size in a different way, discounting the SegWit data . This means that normal non-SegWit transactions will not be counted. It also means that the effective block size increase will only be achieved if everyone on the Bitcoin network uses SegWit transactions. Given that SegWit adoption is difficult to predict, the actual increase in transaction processing capacity will probably be 1x to 2x of what it is currently. This is why I call the SegWit block size increase a 'pseudo-growth'. SegWit doesn’t actually fix the malleability bug or the quadratic hashing problem for non-SegWit outputs. Yes, that means that as long as there are non-SegWit outputs on the blockchain (e.g. Satoshi’s long-untouched bitcoins), these problems will still exist on the network. Just like the pseudo-block size increase, SegWit doesn’t actually provide a block size increase unless the entire network upgrades and converts their non-SegWit bitcoins to SegWit bitcoins. If you combine this with the previous concept — that as more and more bitcoins are put into SegWit outputs, the incentive for miners to collude with each other to steal bitcoins increases — I don’t think the incentive balance of a fully SegWited Bitcoin network would be the same as it is today. For example, currently the danger of 51% miner collusion is equal to the danger that transactions can be censored or miners can double-spend their own transactions. Currently, a 51% coalition can’t steal your bitcoins. But if everyone uses SegWit, then this could become a reality. Currently, only more than 20% of blocks support SegWit, so before you decide to upgrade to support SegWit, you should carefully consider the benefits and risks of SegWit. |
Marriage is a major event in life, especially for...
Belly button to see if you are destined to be ric...
Different people have different fortunes. Some peo...
People have moles in many places on their bodies....
Is the fate of people with triangular eyebrows go...
Physiognomy: What do you desire most? Everyone ha...
The range oscillation is large and still needs to...
An NFT may be a painting, a game prop, or an onli...
What about men with thick lips? Are men with thic...
Your eyes tell you how good your fortune is Peopl...
Happy holidays to all the miners Today I bring yo...
There are always some people among us who live a l...
Face analysis: Which industry is more suitable fo...
We all have a few moles on our body, but each mol...
On March 11, private jet charter operator flyExcl...