Day 9: I will post this guide regularly until available solutions like SegWit, order batching, and Lightning payment channels are mass adopted, the mempool is empty once again, and tx fees are low. Have you done your part?

BACKGROUND

Segregated Witness (SegWit) was activated on the Bitcoin network August 24 2017 as a soft fork that is backward compatible with previous bitcoin transactions (Understanding Segregated Witness). Since that time wallets and exchanges have been slow to deploy SegWit, and the majority of users have not made the switch themselves.

On Dec 18 2017 Subhan Nadeem has pointed out that: If every transaction in the Bitcoin network was a SegWit transaction today, blocks would contain up to 8,000 transactions, and the 138,000 unconfirmed transaction backlog would disappear instantly. Transaction fees would be almost non-existent once again.

Mass SegWit use alone could empty the mempool, result in blocks that are not completely full, and make it possible to include transactions with $ 0 fee once again.

On Jan 11 2018 when BTC sends went offline at Coinbase the mempool began to rapidly empty. Later in the day when service was restored there was a sharp spike up in the mempool. Subsequently, that afternoon Brian Armstrong finally had to break his silence on the topic and admitted Coinbase is working on SegWit but has still not deployed it. It appears that this is an important data point that indicates if just a few major exchanges would deploy SegWit the high fees bitcoin is experiencing would be eliminated.

SegWit is just one technique available to exchanges and users to reduce pressure on the Bitcoin network. You can make the switch to SegWit on your next transaction, and pressure exchanges to deploy SegWit NOW along with other actions that will reduce their transaction impact on the network. You can help by taking one or more of the action steps below.


ACTION STEPS

  1. If your favorite wallet has not yet implemented SegWit, kindly ask them to do so immediately. If your wallet is not committed to implementing SegWit fast, speak out online any way you can and turn up the pressure. In the meantime start using a wallet that has already implemented SegWit.
  2. If your favorite exchange has not yet implemented SegWit, try to avoid making any further purchases of bitcoin at that exchange and politely inform them that if they do not enable SegWit within 30-days they will lose your business. Sign-up for an account at a SegWit deployed/ready exchange now and initiate the verification process so you'll be ready to bail
  3. Help educate newcomers to bitcoin about the transaction issue, steer them towards SegWit wallets from day one, and encourage them to avoid ever purchasing bitcoin through non-SegWit ready exchanges that are harming bitcoin.
  4. Spread the word! Contact individuals, websites, etc that use bitcoin, explain the benefits of SegWit to everyone, and request they make the switch. Use social media to point out the benefits of SegWit adoption.

IMPORTANT NOTE: The mempool is currently still quite backlogged. If you are a long-term holder and really have no reason to move your bitcoins at this time, wait until the mempool starts to clear and transaction fees go down before moving your bitcoins to a SegWit address or SegWit friendly exchange.


BEYOND SEGWIT – BATCHING, PAYMENT CHANNELS, LIGHTNING

Batching is another great way that exchanges can reduce their fees. See: Saving up to 80% on Bitcoin transaction fees by batching payments. Despite the benefits of batching, some exchanges have been slow to implement it. Users should demand this or walk.

Beyond SegWit & Batching, Lightning Network integration will have even more effect. Lightning is now active and exchanges could setup payment channels between each other so that on-chain transactions need not take place. Some ideas have to outline how that might work are here: Google Doc – Lightning Exchanges. Which two bitcoin exchanges will be the first to establish a lightning channel between themselves and offer free/instant transfers between them for their customers? This will happen in 2018


MEMPOOL/SEGWIT STATISTICS


NEWS/DEVELOPMENTS/VICTORIES


SELECTED TOP EXCHANGES BY BATCHING & SEGWIT STATUS

Exchange Segwit Status Batching Status
Binance NOT READY Yes
Bitfinex Ready Yes
Bitonic Ready Yes
Bitstamp Deployed Yes
Bittrex ? Yes
Coinbase/GDAX NOT READY No
Gemini Ready No
HitBTC Deployed Yes
Huboi ? ?
Kraken Deployed Yes
LocalBitcoins Deployed Yes
OKEx ? ?
Poloniex ? Yes
QuadrigaCX Deployed Yes
Shapeshift Deployed No

Note: all exchanges that have deployed SegWit are currently only sending to p2sh SegWit addresses for now. No exchange will send to a bech32 address like the ones that Electrum generates

Source 1: BitcoinCore.org

Source 2: /r/Bitcoin

Official statements from exchanges:


SELECTED WALLETS THAT HAVE SEGWIT ALREADY

Make sure you have a SegWit capable wallet installed and ready to use for your next bitcoin transaction

SegWit Enabled Wallets Wallet Type
Ledger Nano S Hardware
Trezor Hardware
Electrum Desktop
Armory Desktop
Edge iOS
GreenAddress iOS
BitWallet iOS
Samourai Android
GreenBits Android
Electrum Android
SegWitAddress.org Paper

FAQs

If I'm a HODLer, will it help to send my BTC to a SegWit address now?

No, just get ready now so that your NEXT transaction will be to a SegWit wallet. Avoid burdening the network with any unnecessary transactions for now.

Why is SegWit adoption going so slowly? Is it a time-consuming process, is there risk involved, is it laziness, or something else?

SegWit will require some extra work to be done right and securely. Also, most exchanges let the user pay the fee, and up to now users have not been overly concerned about fees so for some exchanges it hasn't been a priority.

Once Segwit is FULLY adopted, what do we see the fees/transaction times going to?

Times stay the same – fees will go down. How much and for how long depends on what the demand for transactions will be at that time.

What determines bitcoin transaction fees, to begin with?

Fees are charged per byte of data and are bid up by users. Miners will typically include the transaction with the highest fee/byte first.

Can you please tell me how to move my bitcoins to SegWit address in Bitcoin core wallet? Does the sender or receiver matter?

The Bitcoin core wallet does not yet have a GUI for its SegWit functionality. Download the latest version of Electrum to generate a SegWit address.

A transaction between two SegWit addresses is a SegWit transaction.

A transaction sent from a SegWit address to a non-SegWit address is a SegWit transaction.

A transaction sent from a non-SegWit address to a SegWit address is NOT a SegWit transaction. You can send a SegWit Tx if the sending address is a SegWit address.

Source: HowToToken

What wallet are you using to "batch your sends"? And how can I do that?

Using Electrum, the "Tools" menu option: "Pay to many".

Just enter your receive addresses and the amounts for each, and you can send multiple transactions for nearly the price of one.

Why doesn't the Core Wallet yet support SegWit?

The Core Wallet supports SegWit, but its GUI doesn't. The next update will likely have GUI support built-in

Why isn't a large exchange like Coinbase SegWit ready & deployed when much smaller exchanges already are? Why do they default to high fees? Where is the leadership there?

Draw your own conclusions based on their own words:

March 2016 – Coinbase CEO Brian Armstrong has reservations about Core

Dec 2017 – Coinbase is STILL working on Segwit


P2SH/bech32 FAQs

What are the two SegWit address formats and why do they exist?

It's been a challenge for wallet developers to implement SegWit in a way that users can easily and without too much disruption migrate from legacy to SegWit addresses. The first wallets to enable SegWit addresses – Ledger, Trezor, Core, GreenAddress – use so-called “nested P2SH addresses.” This means they take the existing Pay 2 Script Hash address – starting with a “3” – and put a SegWit address into it. This enables a high grade of compatibility to exist wallets as every wallet is familiar with these addresses, but it is a workaround which results in SegWit transactions needing around 10 percent more space than they otherwise would.

Electrum 3.0 was the first wallet to use bech32 addresses instead of nested p2sh addresses.

Source: BTCManager.com

What is the difference in address format between SegWit address formats P2SH and bech32?

P2SH starts with "3…"

bech32 starts with "bc1…"

Which addresses can I send from/to?

P2SH Segwit addresses can be sent to using older Bitcoin software with no Segwit support. This supports backward compatibility

bech32 can only be sent to from newer Bitcoin software that support bech32. Ex: Electrum

Source: BitcoinTalk.org

Why did ThePirateBay put up two Bitcoin donation addresses on their frontpage, one bech32 and one not?

The address starting with a "3…" is a P2SH SegWit address that can be sent BTC from any bitcoin address including a legacy address. The address starting with a "bc1…" is a bech32 SegWit address that can only be sent to from newer wallets that support bech32.


SEGWIT BLOG GUIDES


PREVIOUS DAY'S THREADS

There's lots of excellent info in the comments of the previous threads:

submitted by /u/Bastiat
[link] [comments]
Bitcoin – The Currency of the Internet

Day 8: I will post this guide regularly until available solutions like SegWit, order batching, and Lightning payment channels are mass adopted, the mempool is empty once again, and tx fees are low. BTC Core SegWit GUI coming May 1, Coinbase incompetence exposed, more exchanges deploy SegWit

BACKGROUND

Segregated Witness (SegWit) was activated on the Bitcoin network August 24 2017 as a soft fork that is backward compatible with previous bitcoin transactions (Understanding Segregated Witness). Since that time wallets and exchanges have been slow to deploy SegWit, and the majority of users have not made the switch themselves.

On Dec 18 2017 Subhan Nadeem has pointed out that: If every transaction in the Bitcoin network was a SegWit transaction today, blocks would contain up to 8,000 transactions, and the 138,000 unconfirmed transaction backlog would disappear instantly. Transaction fees would be almost non-existent once again.

Mass SegWit use alone could empty the mempool, result in blocks that are not completely full, and make it possible to include transactions with $ 0 fee once again.

On Jan 11 2018 when BTC sends went offline at Coinbase the mempool began to rapidly empty. Later in the day when service was restored there was a sharp spike up in the mempool. Subsequently, that afternoon Brian Armstrong finally had to break his silence on the topic and admitted Coinbase is working on SegWit but has still not deployed it. It appears that the high fees bitcoin is experiencing could be easily addressed and need not exist.

SegWit is just one technique available to exchanges and users to reduce pressure on the Bitcoin network. You can make the switch to SegWit on your next transaction, and pressure exchanges to deploy SegWit NOW along with other actions that will reduce their transaction impact on the network. You can help by taking one or more of the action steps below.


ACTION STEPS

  1. If your favorite wallet has not yet implemented SegWit, kindly ask them to do so immediately. If your wallet is not committed to implementing SegWit fast, speak out online any way you can and turn up the pressure. In the meantime start using a wallet that has already implemented SegWit.
  2. If your favorite exchange has not yet implemented SegWit, try to avoid making any further purchases of bitcoin at that exchange and politely inform them that if they do not enable SegWit within 30-days they will lose your business. Sign-up for an account at a SegWit deployed/ready exchange now and initiate the verification process so you'll be ready to bail
  3. Help educate newcomers to bitcoin about the transaction issue, steer them towards SegWit wallets from day one, and encourage them to avoid ever purchasing bitcoin through non-SegWit ready exchanges that are harming bitcoin.
  4. Spread the word! Contact individuals, websites, etc that use bitcoin, explain the benefits of SegWit to everyone, and request they make the switch. Use social media to point out the benefits of SegWit adoption.

IMPORTANT NOTE: The mempool is currently still quite backlogged. If you are a long-term holder and really have no reason to move your bitcoins at this time, wait until the mempool starts to clear and transaction fees go down before moving your bitcoins to a SegWit address or SegWit friendly exchange.


BEYOND SEGWIT – BATCHING, PAYMENT CHANNELS, LIGHTNING

Batching is another great way that exchanges can reduce their fees. See: Saving up to 80% on Bitcoin transaction fees by batching payments. Despite the benefits of batching, some exchanges have been slow to implement it. Users should demand this or walk.

Beyond SegWit & Batching, Lightning Network integration will have even more effect. Lightning is now active and exchanges could setup payment channels between each other so that on-chain transactions need not take place. Some ideas have to outline how that might work are here: Google Doc – Lightning Exchanges. Which two bitcoin exchanges will be the first to establish a lightning channel between themselves and offer free/instant transfers between them for their customers? This will happen in 2018


MEMPOOL/SEGWIT STATISTICS


NEWS/DEVELOPMENTS/VICTORIES


SELECTED TOP EXCHANGES BY BATCHING & SEGWIT STATUS

Exchange Segwit Status Batching Status
Binance NOT READY Yes
Bitfinex Ready Yes
Bitonic Ready Yes
Bitstamp Deployed Yes
Bittrex ? Yes
Coinbase/GDAX NOT READY No
Gemini Ready No
HitBTC Deployed Yes
Huboi ? ?
Kraken Deployed Yes
LocalBitcoins Ready Yes
OKEx ? ?
Poloniex ? Yes
QuadrigaCX Deployed Yes
Shapeshift Deployed No

Note: all exchanges that have deployed SegWit are currently only sending to p2sh SegWit addresses for now. No exchange will send to a bech32 address like the ones that Electrum generates

Source 1: BitcoinCore.org

Source 2: /r/Bitcoin

Official statements from exchanges:


SELECTED WALLETS THAT HAVE SEGWIT ALREADY

Make sure you have a SegWit capable wallet installed and ready to use for your next bitcoin transaction

SegWit Enabled Wallets Wallet Type
Ledger Nano S Hardware
Trezor Hardware
Electrum Desktop
Armory Desktop
Edge iOS
GreenAddress iOS
BitWallet iOS
Samourai Android
GreenBits Android
Electrum Android
SegWitAddress.org Paper

FAQs

If I'm a HODLer, will it help to send my BTC to a SegWit address now?

No, just get ready now so that your NEXT transaction will be to a SegWit wallet. Avoid burdening the network with any unnecessary transactions for now.

Why is SegWit adoption going so slowly? Is it a time-consuming process, is there risk involved, is it laziness, or something else?

SegWit will require some extra work to be done right and securely. Also, most exchanges let the user pay the fee, and up to now users have not been overly concerned about fees so for some exchanges it hasn't been a priority.

Once Segwit is FULLY adopted, what do we see the fees/transaction times going to?

Times stay the same – fees will go down. How much and for how long depends on what the demand for transactions will be at that time.

What determines bitcoin transaction fees, to begin with?

Fees are charged per byte of data and are bid up by users. Miners will typically include the transaction with the highest fee/byte first.

Can you please tell me how to move my bitcoins to SegWit address in Bitcoin core wallet? Does the sender or receiver matter?

The Bitcoin core wallet does not yet have a GUI for its SegWit functionality. Download Electrum v3.0.3 to generate a SegWit address.

A transaction between two SegWit addresses is a SegWit transaction.

A transaction sent from a SegWit address to a non-SegWit address is a SegWit transaction.

A transaction sent from a non-SegWit address to a SegWit address is NOT a SegWit transaction. You can send a SegWit Tx if the sending address is a SegWit address.

Source: HowToToken

What wallet are you using to "batch your sends"? And how can I do that?

Using Electrum, the "Tools" menu option: "Pay to many".

Just enter your receive addresses and the amounts for each, and you can send multiple transactions for nearly the price of one.

Why doesn't the Core Wallet yet support SegWit?

The Core Wallet supports SegWit, but its GUI doesn't. The next update will likely have GUI support built-in

Why isn't a large exchange like Coinbase SegWit ready & deployed when much smaller exchanges already are? Why do they default to high fees? Where is the leadership there?

Draw your own conclusions based on their own words:

March 2016 – Coinbase CEO Brian Armstrong has reservations about Core

Dec 2017 – Coinbase is STILL working on Segwit


P2SH/bech32 FAQs

What are the two SegWit address formats and why do they exist?

It's been a challenge for wallet developers to implement SegWit in a way that users can easily and without too much disruption migrate from legacy to SegWit addresses. The first wallets to enable SegWit addresses – Ledger, Trezor, Core, GreenAddress – use so-called “nested P2SH addresses.” This means they take the existing Pay 2 Script Hash address – starting with a “3” – and put a SegWit address into it. This enables a high grade of compatibility to exist wallets as every wallet is familiar with these addresses, but it is a workaround which results in SegWit transactions needing around 10 percent more space than they otherwise would.

Electrum 3.0 was the first wallet to use bech32 addresses instead of nested p2sh addresses.

Source: BTCManager.com

What is the difference in address format between SegWit address formats P2SH and bech32?

P2SH starts with "3…"

bech32 starts with "bc1…"

Which addresses can I send from/to?

P2SH Segwit addresses can be sent to using older Bitcoin software with no Segwit support. This supports backward compatibility

bech32 can only be sent to from newer Bitcoin software that support bech32. Ex: Electrum

Source: BitcoinTalk.org

Why did ThePirateBay put up two Bitcoin donation addresses on their frontpage, one bech32 and one not?

The address starting with a "3…" is a P2SH SegWit address that can be sent BTC from any bitcoin address including a legacy address. The address starting with a "bc1…" is a bech32 SegWit address that can only be sent to from newer wallets that support bech32.


SEGWIT BLOG GUIDES


PREVIOUS DAY'S THREADS

There's lots of excellent info in the comments of the previous threads:

submitted by /u/Bastiat
[link] [comments]
Bitcoin – The Currency of the Internet

Non-bidirection payment channels for lightning network

I am trying to understand the technology behind LN and similar concepts.

As I understand it, LN is a network of bidirectional channels, which are created with some limited capacity, within which the channel can operate. So, we can have Alice putting 3 coins to the channel and Bob putting 20 coins to the channel and this 3:20 ratio can then change in time with each off-chain payment, until it eventually reach the point where Alice and Bob want to close the channel at some final balance ratio – say 13:10.

This bidirectional concept has some features (or disadvantages) of e.g. requirement to balance the channel (or create a new one) if payments in one direction are more common. Also each such channel connecting two parties needs two on-chain transactions.

Questions: Why do we use channels only between 2 parties? Would it not be possible to have a channel that is formed e.g. by 4 parties, e.g. Alice with 3 coins, Bob with 4 coins, Cecil with 5 coins and Daniel with 6 coins? It should allow Alice to send e.g. 2 coins to Bob, thus modifying the state of the channel from “A3:B4:C5:D6” to “A1:B6:C5:D6” etc.

If this was possible, we could have 2 on-chain transactions to interconnect 4 (or more) entities, so it seems it would be more effective than bidirectional approach. It also seems to me that keeping the channel balanced would be little bit easier than in case of bidirectional case.

Obviously there would be more communication needed for each off-chain transaction within the channel (all parties would probably have to be involved).

So, is there any fundamental problem with having more than 2 entities in one channel? Or is it just that the benefits of having them would not outweigh the additional complexity?

Recent Questions – Bitcoin Stack Exchange

why is double-spend not an issue for payment channels?

Micropayment Channels (MPC) cannot be used currently because of transaction malleability, I hear.

AFAIK, people saying that have in mind that the refund & payment tx, which have as input the deposit tx (Dtx), could be invalid if the deposit’s hash was changed. I m fine with this.

What I don’t understand: if the attacker manages to modify Dtx’ hash before it made it to the blockchain, I believe (s)he can equally manage to double spend the btcs supposed to go to Dtx. Thus, double spend seems as much a threat as malleability. Yet no one discusses it, so I suppose something is wrong with this reasoning. What?

Thanks

Recent Questions – Bitcoin Stack Exchange