Questions tagged [segregated-witness]
A 2017 softfork that introduced a new transaction format to fix third-party transaction malleability and increased the blocksize.
632 questions
7
votes
1
answer
2k
views
Why does BIP141 define both virtual transaction size and weight?
Why does BIP 141 (segwit) define both virtual transaction size and weight?
Weight seems to be just four times virtual transaction size (or vice versa, depending on what you define first). Why are ...
7
votes
1
answer
443
views
Will cross-input signature aggregation need a new output type?
If cross-input signature aggregation were to get implemented in a subsequent soft fork after Taproot's activation, would its use require a new output type?
7
votes
1
answer
870
views
What are the standard formats of transaction outputs?
A transaction output can have the type
Pay to public key hash, P2PKH, where the ScriptPubKey field has the format:
76 a9 14 <20-byte hash of pubkey> 88 ac
Pay to script hash, P2SH, used for e.g. ...
7
votes
1
answer
670
views
When does signaling for SegWit start exactly?
I thought that signaling for SegWit (and other softforks deployed by means of BIP0009) would start with the first block after the Starttime defined in the BIP is reached.
Someone claimed that it only ...
7
votes
1
answer
233
views
Why are 0.13.1 Core nodes connecting only to Witness (e.g. 0.13.1) nodes?
I have my Core 0.13.1 node configured to connect to 16 nodes, and invariably I see it connected only to other 0.13.1 nodes, even though, according to bitnodes leaderboard, these nodes form a minority.
...
7
votes
2
answers
371
views
segregated witness adoption
What happens if segregated witness never reaches the 95% adoption threshold from miners? Will it still take effect for those transactions where the miners have adopted it?
6
votes
3
answers
749
views
What are the risks of running a pre-SegWit node (0.12.1)?
Many in the anti-spam faction have contemplated running a pre-SegWit node. But they're told that it is an insecure downgrade and a detrimental idea. So,
Is it safe to assume that Bitcoin is not soft-...
6
votes
3
answers
322
views
If SegWit only increases the capacity to only 2-4x only. Wouldn't we have the same issue in a few years again?
If I understand correctly. SegWit is one of the solutions to the full 1MB block problem that doesn't require a hard fork. But I've read this only increases the 1MB to maybe about 2-4x only. If that is ...
6
votes
2
answers
1k
views
Segwit transaction from mixed addresses (segwit and non-segwit)
Is it possible to have partly segwit transactions? I.e. some utxos from segwit addresses and some from non-segwit addresses.
Asking for the situation of Bitcoin core v0.15 wallet with coins in segwit ...
6
votes
2
answers
6k
views
P2WSH, witness_v0_scripthash: how to derive an address
Is there an address associated with P2WSH scripts?
for testnet txid =6717c8971dccbf826790efc16fb357f1e225fed3448247b8556c9f13a6c0ce42, i get:
"vout": [
{
"value": 0.05994165,
"n": 0,
...
6
votes
2
answers
806
views
Why are P2WSH addresses larger than P2SH addresses?
One would, perhaps naively, assume that both addresses are hashes of scripts and therefore ought to be the same size.
6
votes
1
answer
1k
views
How can the segwit witness data be "off-chain"? What does it really mean?
I have several questions regarding the segwit witness data. My current understanding is as follows.
Before segwit, the witness data was part of the input that the user had to provide so that they ...
6
votes
1
answer
2k
views
Which block explorers recognize bech32 addresses?
At this time, blockchain.info doesn't. Neither does blockchair or blockcypher.
6
votes
1
answer
189
views
Why are hashSequence and hashPrevouts computed separately?
When a Segwit transaction is signed, among the many hashes that are calculated to create the data that is going to be signed, the hash of the concatenated [input + index] is calculated (hashPrevouts) ...
6
votes
2
answers
592
views
Has UTXO selection methods changed since activation of Segwit?
Before Segwit, transactions were penalized higher fees for having more inputs than outputs due to the input size being larger despite those transactions actually decreasing the global UTXO set. Segwit ...
6
votes
1
answer
2k
views
How do I enable segwit in Bitcoin Core 13.1?
Bitcoin Core 13.1 includes the segregated witness (segwit) soft-fork. The release notes say:
Segregated witness (segwit) is a soft fork that, if activated, will allow transaction-producing software ...
6
votes
1
answer
1k
views
Qualities of "Pay to Nested Witness Key Hash"
The lightning dev tutorial mentions the np2wkh or Pay to Nested Witness Key Hash address type, and I would like to find out more about it, so far without success.
Can anybody explain how they are ...
6
votes
1
answer
999
views
How would this normal raw transaction appear if it was a raw segwit transaction?
How would this raw bitcoin transaction appear if it was a raw segwit transaction?
https://blockchain.info/tx/ff8766ec873ff55cc0ac17dee7b379a4efa2a5c83dabdd9a30287c7761ad55d5
This TX Raw is:
...
6
votes
2
answers
284
views
Are SegWit signatures all required to follow BIP143?
...or is there any way for a SegWit witness to contain a "legacy" signature?
6
votes
1
answer
1k
views
Why did bech32 define a new base32 encoding scheme rather than use an existing one?
There are multiple existing base32 encodings (RFC 3548/4648, z-base-32, Crockford's etc). Why did bech32 define a new one rather than use an existing one?
6
votes
1
answer
129
views
How has the Bitcoin average block size recently risen above 3 MB?
I was aware that the block size could rise above the 1 MB cap due to SegWit. However, my understanding was that the block size would still be limited under SegWit.
My understanding of SegWit is that ...
6
votes
2
answers
2k
views
generate a P2SH-P2WSH address and spend output sent to it
I am attempting generate a P2SH-P2WSH address and then spend an output sent to this address, but when I attempt signing I receive Invalid private key error from bitcoind (v0.15.1.0). So where am I ...
6
votes
1
answer
254
views
Segwit & Offline Signing
Yesterday Trezor released details of a segwit-related hardware wallet vulnerability.
The writeup claims that providing full previous transactions to the hardware wallet prevents the exploit.
My ...
6
votes
1
answer
2k
views
What exactly is hashed and signed in a segwit transaction
I have an unsigned raw segwit transaction on my regtest network:
...
6
votes
1
answer
997
views
(dis)Advantages of migrating funds to segwit?
For offline pre-segwit wallets (addresses starting with 1) what might be the advantages of migrating or not migrating to segwit (addresses starting with 3)?
Even though segwit miner fees are or will ...
6
votes
1
answer
897
views
Transaction verification by miner VS full node with & without SegWit
I'm trying to fill a few gaps in my understanding of transaction verification and would appreciate any insight.
Without SegWit
Miners broadcast new blocks which contain the signature(s) with every ...
6
votes
1
answer
2k
views
Generate paper wallet SegWit address
I am trying to generate SegWit paper wallet address from WIF:
My WIF is L5mHKZsCLS27nSoGM3RdAwuxjvg7XhJdP25LgqdXe6zF11wpWdbT.
I am converting WIF to compressed public key:
Compressed public key: ...
5
votes
2
answers
2k
views
Birthday attack on P2SH
The Segwit Benefits document has this to say about P2SH security for base transactions:
Multisig payments currently use P2SH which is secured by the 160-bit HASH160 algorithm (RIPEMD of SHA256). ...
5
votes
1
answer
3k
views
Redeem script. script hash, witness script and witness program
I have a little confusion about naming in Bitcoin.
Redeem script is the conditions that will be satisfy.
For example P2PKH inside P2SH
OP_DUP OP_HASH160 <PubKHash> OP_EQUALVERIFY OP_CHECKSIG ...
5
votes
1
answer
348
views
What is the O(n^2) signature hashing problem and how does SegWit solves it?
One of the many benefits of SegWit is that it solves the O(n^2) signature hashing problem. What exactly is the O(n^2) hashing problem and how segregating signatures to separate witness field solve it?
5
votes
2
answers
2k
views
Why would a miner put an OP_RETURN in a coinbase transaction?
I’m looking at this coinbase transaction. I'm confused why there are two outputs and why one of them is labelled with OP_RETURN.
5
votes
3
answers
4k
views
Could you provide an example of a SegWit transaction?
I'm looking for a transaction ID of a non-coinbase SegWit transaction on the Bitcoin network. Could you show me one? Google doesn't seem to do the trick.
5
votes
1
answer
2k
views
How does Segwit prevent ASICBOOST?
I know that ASIC BOOST exploits the fact that the blockheaders are not a multiple of 64 bytes, but what is the change in Segwit that prevents this? Are they always a multiple of 64 bytes now for ...
5
votes
2
answers
339
views
Can unupgraded nodes that accept zero confirmation be fooled after SegWit?
Considering the following scenario:
After deployment of SegWit, there remain two old clients (with software that is unaware of SegWit) A & B.
A funds a transaction to pay B using a SegWit ...
5
votes
2
answers
207
views
What were the main technological reasons that Bitcoin Cash did not want to adopt SegWit?
What are the key risks/drawbacks to SegWit and why did the Bitcoin Cash community conduct a risky hard fork to avoid it?
5
votes
2
answers
296
views
Is a transaction with a non-segwit input STILL considered malleable? If so how?
Below are a few examples of witness malleability, along with reasons why I believe they are no longer valid:
DER Malleability
For every DER signature with (r,s), there exists 2 valid 's' values -> ...
5
votes
1
answer
270
views
Are the witnesses segregated with Schnorr signatures?
SegWit fixed transaction malleability by just moving the signature out of the block of data that's being hashed to form the transaction id.
However, Schnorr does not suffer from signature malleability ...
5
votes
1
answer
550
views
How do I know if the Bitcoin Core software on my computer is running taproot, segwit or something else?
I would like to check this.
I imagine there must be some command to verify the current version of node software Bitcoin I am running ('version' is probably not the correct name here. Maybe 'soft fork' ...
5
votes
1
answer
508
views
SegWit and previous hash: txid or wtxid, or either?
With segwit there will be two transaction ids wtxid and txid
Can either one of them be used as previous hash or only txid?
5
votes
2
answers
326
views
What is the point of including the scriptCode of the input in the transaction digest of segwit?
BIP143 specifies "a new transaction digest algorithm".
scriptCode of the input (serialized as scripts inside CTxOuts)
What problems could arise if the scriptCode of the input were not ...
5
votes
2
answers
357
views
Why didn't Bitcoin implement segwit in the first place?
Why didn't Bitcoin implement segwit in the first place?
Why and how does non-segwit Bitcoin enable a miner to change a transaction's txid?
From Mastering Bitcoin ch. 7 § "Transaction identifiers":
...
5
votes
1
answer
2k
views
Segwit address creation
I'm unable to create a segwit address in Bitcoin Core 15.0.1 64-bit Windows
I have tried multiple times but keep getting the same error. The following is the output from the console
$ getnewaddress
...
5
votes
1
answer
1k
views
Segwit: Arbitrary data storage in witness?
Let's say I want to encode the text of the King James version of the Bible into the block chain, one piece at a time (replace this with any zany idea to consume copious quantities of block space). ...
5
votes
1
answer
842
views
Can old wallets redeem segwit outputs it receives? If so how?
There's some conflicting information out there on whether this is true or not. I'm looking for a technical answer to this in the hopes of clearing up future potential confusion over the matter.
The ...
5
votes
2
answers
99
views
Why SHOULD the funding tx consume BIP 141 inputs?
In BOLT 02 we read that the funding TX should only consume segwit inputs.
The sender: when creating the funding transaction: SHOULD use only BIP141 (Segregated Witness) inputs.
What is the reason ...
5
votes
2
answers
566
views
How segwit blocks are seen by segwit and non-segwit nodes?
Let's say a miner mines a block.
In this block some transactions will be non-segwit and some will be segwit?
The block contains two parts:
The part with transactions
The segregated part with ...
5
votes
1
answer
932
views
Why does the Segwit developer guide recommend to estimate fees on basis of vsize instead of weight?
The Segwit Wallet Development Guide has a small section on fee estimation:
Transaction Fee Estimation
Instead of transaction size, a new metric is defined, called “virtual size” (vsize)
...
5
votes
1
answer
373
views
What is it that makes BIP149 safer to activate than BIP148?
There are currently two BIPs floating to enable a "user activated softfork" of Segregated Witness.
BIP148 is meant to activate by flag day on August 1st 2017 whereas enforcing nodes stop accepting ...
5
votes
2
answers
2k
views
What's the purpose of ScriptSig in a SegWit transaction?
Here's an example of a SegWit transaction that also contains data in the ScriptSig field:
{
"txid": "954f43dbb30ad8024981c07d1f5eb6c9fd461e2cf1760dd1283f052af746fc88",
"hash": "...
5
votes
1
answer
306
views
What types of transaction malleability exist and which one of them does SegWit solve?
I am little confused about what types of transaction malleability exist in bitcoin and which one of them does SegWit solve.
Here Antoine Poinsot talks about txid malleability and third-party ...