Saturday, 23 September 2017

Segregated Witness Activated on Bitcoin

As of block height 481,824, found at 1:57 UTC by BTCC, all SegWit ready nodes started enforcing the new SegWit consensus rules. As Bitcoin’s biggest protocol upgrade to date, this introduces a whole new data structure, which changes the appearance of Bitcoin blocks for upgraded nodes — though non-upgraded nodes should continue to function as normal.

More concretely, SegWit activation means that Bitcoin’s block size limit is replaced by a block “weight” limit, which allows for blocks to increase to up to 4 megabytes in size. Additionally, and perhaps more importantly, SegWit transactions won’t suffer from the “malleability bug,” which in turn enables advanced second-layer protocols like the Lightning Network, atomic swaps, MAST, and more.

Here’s what to expect for the next couple of hours, days, weeks, months and beyond…

The Block Size Limit Becomes a Block Weight Limit

Depending on the types of transactions included, Bitcoin blocks can now be up to 4 megabytes big — though 2 megabytes is a more realistic maximum.

However, this doesn’t mean that all blocks will immediately bump to 2 megabytes in size today. For a transaction to utilize the added space, it must be sent from a SegWit address (or more accurately, a Segwit “output”) — not just to a SegWit address.

At the time of activation, of course, no bitcoins were locked up in SegWit addresses whatsoever. That wasn’t possible up till now. So at the very least, bitcoins must be spent once to a SegWit address. Only when they’re spent again will they benefit from the extra space.

Additionally, wallets and other applications need to be ready to accept SegWit transactions. Some wallets, like GreenAddress, may offer this option on day one, or shortly thereafter. “We had this in testnet on by default for a very long time now,” GreenAddress developer Lawrence Nahum told Bitcoin Magazine. “We’ll make it's available almost immediately after activation; we just want to make sure activation is smooth before we enable it.”

Similarly, large Bitcoin service providers could start accepting SegWit transactions right away, though some may need more time to prepare. BitGo, a Bitcoin infrastructure provider for major exchanges like BitstampKraken and OKCoinexpects to be SegWit-ready relatively soon as well.

BitGo engineer Jameson Lopp told Bitcoin Magazine:

“We’ve not set an actual date, though we certainly want to deploy it as soon as possible. I expect general availability sometime next week.”

Some other wallets and services, however, may take a little longer; how long will differ from wallet to wallet.

Lightning and More

Arguably even more highly anticipated than an increased block size, second-layer technologies like the Lightning Network or, further out, Merkelized Abstract Syntax Trees (MAST), will be more easily built on top of Bitcoin, thanks to Segregated Witness,

Most of this technology is still a work in progress, and it could take several more months before regular users are expected to use it. That said, it is likely that there will be experimentation on Bitcoin’s mainnet rather soon, according to Lightning Labs CEO and cofounder, Elizabeth Stark.

“Today we released version 0.3 alpha of our Lightning Network Daemon software, which is the last major release before our mainnet beta release,” said Stark to Bitcoin Magazine. “We're not giving any exact predictions, but our goal is to get it up and running as soon as it's thoroughly tested and stable. We may also see some test mainnet transactions by developers once SegWit activates.”

And even when the Lightning Network is functional and in use, it will take a little longer to roll out more advanced features that utilize the Lightning Network or similar protocols. These include atomic swaps, which allows for the instant and (near) costless exchange of cryptocurrencies over different blockchains, like bitcoin and litecoin. And Stark said a larger development ecosystem is growing around the technology as well.

“We're seeing app development on the Lightning Network taking off, which we're very excited about. Once the mainnet releases are out, we expect there to be a bunch of apps working on the Lightning Network out of the box,” she added.

Further, more nuanced benefits of SegWit, such as faster transaction signingby hardware wallets, will be available within a matter of days.

The Risks

At this point in time, SegWit activation does still present some risks for users.

The first risk applies to all soft forks, and depends on miners actually enforcing the new rules. If some don’t, non-upgraded nodes as well as many light clients in particular could accept invalid transactions and blocks, at least until the network corrects that through a blockchain reorganization (“reorg”). In the past, soft forks caused some (minimal) network disruption, but the risks do seem limited this time around.

“I suspect that the reorg risk is relatively low for full nodes with SegWit. The only prior case like this was that validationless mining chain-split two years ago, but that didn't affect full nodes,” Blockchain consultant Peter Todd told Bitcoin Magzine. “And fortunately Bitcoin Core includes a lot of improvements to speed that older and alternative implementations don't have, so there's a good chance basically all miners are running Bitcoin Core with only small modifications to non-consensus code, if any.”

Additionally, the first couple of hours after activation could open a small window for advanced types of miner attacks, which resemble (or are) 51% attacks. If large amounts of bitcoin are sent to SegWit addresses after activation, miners could theoretically still “roll back” the blockchain to a point in time before activation to re-build it from there. Since SegWit outputs are not secure before activation, such a rollback could allow miners to steal these funds.

Luckily, like any other 51% attack, the costs to perform this attack increase for every block that is found after activation, to the point where the attack becomes infeasible within a couple of hours. That said, it is probably wise not to send huge amounts of bitcoin to SegWit addresses straight away, and instead to wait at least a couple of hours or maybe days.

Lastly, Todd pointed out that some (untested) services may fail shortly after SegWit activation, as they have likely only integrated SegWit support partially. “For example, remote procedure calls could request SegWit transactions, while at the same time rejecting these transactions because they didn’t expect to get them.” These kinds of issues should be easy to fix, however.

Creamcoin Marketcap