Pages:
Author

Topic: Post your SegWit questions here - open discussion - big week for Bitcoin! - page 30. (Read 84847 times)

legendary
Activity: 4634
Merit: 1851
Linux since 1997 RedHat 4
So I guess no one noticed the blacklisting in the new 0.13.1 code?

So if you run 0.13.1 you will find that it will connect to other 0.13.1 nodes on the network, but not to 0.13.0 or lower.

i.e. you are disconnecting yourself from the majority of pools, mining transactions on the network.

At the moment that's ~75% of blocks.
Your txns can of course get to the pools via other roundabout ways, but you wont connect to them directly.

Yeah even the main core developers implement blacklists without making it clear they exist Smiley
legendary
Activity: 3430
Merit: 3080
If you've come up with some genuine analysis as to why Segwit is a bad thing, I'm all ears. But what you wrote is seriously thin on explanation, I'm not going to attempt to read between the lines of some vague, incoherent handwaving. Either say exactly what you're getting at or be quiet.
legendary
Activity: 4634
Merit: 1851
Linux since 1997 RedHat 4
The average user doesn't even need to read the code, they can fire up a 12.1 node and watch as it connects to a bunch of 13.1 nodes that you claim are blacklisting it. But by all means, keep talking
Go reread what I posted ... and reread it ... and reread it ... until you understand that what I posted is how it works, and that your segwit fanboyism is blinding you.
legendary
Activity: 3430
Merit: 3080
The average user doesn't even need to read the code, they can fire up a 12.1 node and watch as it connects to a bunch of 13.1 nodes that you claim are blacklisting it. But by all means, keep talking
legendary
Activity: 4634
Merit: 1851
Linux since 1997 RedHat 4
The technical term is de-prioritisation.

Though I wont post the name of the dev who said
Quote
we were probably over-agressive on that logic, but a whole lot better than the alternative - having segwit blocks not make it across the network

There are no segwit blocks.

The result is effectively blacklisting.

Look, it's simple.

If 13.1 nodes are blacklisting lower versions, why then are 13.1 nodes connecting to lower versions? Is it because you're talking shit?
LOL read about how it works.

You're the one talking shit Cheesy
legendary
Activity: 3430
Merit: 3080
The technical term is de-prioritisation.

Though I wont post the name of the dev who said
Quote
we were probably over-agressive on that logic, but a whole lot better than the alternative - having segwit blocks not make it across the network

There are no segwit blocks.

The result is effectively blacklisting.

Look, it's simple.

If 13.1 nodes are blacklisting lower versions, why then are 13.1 nodes connecting to lower versions? Is it because you're talking shit?
legendary
Activity: 4634
Merit: 1851
Linux since 1997 RedHat 4
So I guess no one noticed the blacklisting in the new 0.13.1 code?

So if you run 0.13.1 you will find that it will connect to other 0.13.1 nodes on the network, but not to 0.13.0 or lower.

i.e. you are disconnecting yourself from the majority of pools, mining transactions on the network.

At the moment that's ~75% of blocks.
Your txns can of course get to the pools via other roundabout ways, but you wont connect to them directly.

Yeah even the main core developers implement blacklists without making it clear they exist Smiley

Kano, your trolling is terrible. You're a disgrace to the technical community for posting this claim.


That's not the idea behind that code, the idea is to make sure that the soft-fork does not cause a network partition. Unless you've got something helpful or insightful to say, shut your mouth

It's not even an absolute connection preference, hence why those running sub 13.1 nodes do connect to 13.1 nodes with free connection slots. You should be ashamed of yourself
Really? Smiley
legendary
Activity: 4634
Merit: 1851
Linux since 1997 RedHat 4
The technical term is de-prioritisation.

Though I wont post the name of the dev who said
Quote
we were probably over-agressive on that logic, but a whole lot better than the alternative - having segwit blocks not make it across the network

There are no segwit blocks.

The result is effectively blacklisting.
staff
Activity: 3458
Merit: 6793
Just writing some code
So I guess no one noticed the blacklisting in the new 0.13.1 code?

So if you run 0.13.1 you will find that it will connect to other 0.13.1 nodes on the network, but not to 0.13.0 or lower.

i.e. you are disconnecting yourself from the majority of pools, mining transactions on the network.

At the moment that's ~75% of blocks.
Your txns can of course get to the pools via other roundabout ways, but you wont connect to them directly.

Yeah even the main core developers implement blacklists without making it clear they exist Smiley
To ensure that the network is not partitioned and that segwit blocks are being passed to segwit enabled nodes, a Core 0.13.1 node will use its outgoing connection slots to connect to as many nodes with the NODE_WITNESS service bit as possible (right now only Core 0.13.1 nodes). However a 0.13.1 node will still accept incoming connections from older nodes. There is no blacklisting going on, just preference for the outgoing connections to connect to nodes of the same capabilities.
legendary
Activity: 3430
Merit: 3080
So I guess no one noticed the blacklisting in the new 0.13.1 code?

So if you run 0.13.1 you will find that it will connect to other 0.13.1 nodes on the network, but not to 0.13.0 or lower.

i.e. you are disconnecting yourself from the majority of pools, mining transactions on the network.

At the moment that's ~75% of blocks.
Your txns can of course get to the pools via other roundabout ways, but you wont connect to them directly.

Yeah even the main core developers implement blacklists without making it clear they exist Smiley

Kano, your trolling is terrible. You're a disgrace to the technical community for posting this claim.


That's not the idea behind that code, the idea is to make sure that the soft-fork does not cause a network partition. Unless you've got something helpful or insightful to say, shut your mouth

It's not even an absolute connection preference, hence why those running sub 13.1 nodes do connect to 13.1 nodes with free connection slots. You should be ashamed of yourself
legendary
Activity: 4634
Merit: 1851
Linux since 1997 RedHat 4
So I guess no one noticed the blacklisting in the new 0.13.1 code?

So if you run 0.13.1 you will find that it will connect to other 0.13.1 nodes on the network, but not to 0.13.0 or lower.

i.e. you are disconnecting yourself from the majority of pools, mining transactions on the network.

At the moment that's ~75% of blocks.
Your txns can of course get to the pools via other roundabout ways, but you wont connect to them directly.

Yeah even the main core developers implement blacklists without making it clear they exist Smiley
staff
Activity: 3458
Merit: 6793
Just writing some code
What I believe the difference is that someone could send a SegWit transaction to a non-SegWit node that was never valid, but the node would treat said transaction as if it were valid.
That is possible, but the node still would not accept the transaction because segwit output are considered non standard. Such a transaction would thus be considered non standard and rejected by the node until it is included into a block.

If someone who has not upgraded to SegWit receives a SegWit transaction, are they able to spend outputs from said transaction?
There are in fact no such things as segwit transactions. There are transactions which spend from segwit output types. Because those output types are created by the receiver of a transaction, then it is impossible for a non segwit wallet to receive a segwit output to that wallet because there are no segwit outputs associated with the wallet. A transaction can spend from a segwit output types and spend to a legacy output type and that is perfectly fine and will be considered valid by the receiving non-segwit wallet (of course it has to be confirmed first because said transaction would be non-standard).

Is it true that if Segwit gets activated that Bitcoin addresses will start with "3" than the normal "1"? How are we going to be forced to make the switch with the most hassle free way possible?
There already addresses that start with a '3' and they have been standard for many years already. These addresses are called Pay to Script Hash (p2sh) addresses and are most commonly used for multisig addresses.
legendary
Activity: 2898
Merit: 1823
Is it true that if Segwit gets activated that Bitcoin addresses will start with "3" than the normal "1"? How are we going to be forced to make the switch with the most hassle free way possible?
copper member
Activity: 2996
Merit: 2374
Wallet software is being changed to implement SegWit because the creators of such software believe that SegWit will likely be implemented, not necessarily because they believe SegWit is what is best for Bitcoin. If it was apparent that Bitcoin was about to HF to have a maximum block size of 2 MB, then wallet providers would likely also be in the process of upgrading their software to support this.
While that is true, there are also many wallet vendors who do also believe that segwit is the way to go. In fact, those that don't think segwit is best don't need to implement segwit (and probably aren't going to).
If SegWit is implemented into Bitcoin, then anyone who does not use SegWit is going to have to pay a premium in TX fees when compared to users who do use SegWit, so to the extent that SegWit is implemented into Bitcoin, using SegWit is beneficial to the user of Bitcoin (this is not the same as saying that SegWit is what is best for Bitcoin).

You are correct to say that some wallet providers (and other bitcoin services as well) might think that SegWit is what is best for Bitcoin. My question is, has anyone attempted to ask the "official" opinion of major bitcoin services regarding their stance of SegWit? The success of most major bitcoin related services is generally aligned with the success of Bitcoin.

My understanding is that if a node does not upgrade, then it does not have a way to validate that a transaction is valid (due to being unable to validate the transactions signature), and does not have any way to validate that a block that contains one or more SegWit transactions is valid. Am I right about this, or is this not accurate?

If the above is accurate, then I think you are using a very specific definition of "backwards compatible" to make your statement.
No, you are incorrect. Non-upgraded nodes do not suddenly just stop validating transactions and are suddenly unable to validate transactions. They still fully validate all transactions and blocks to the best of their ability. This means that transaction hashes are still checked, the merkle root is still checked, signatures of legacy transactions are checked, inputs and referenced outpoints are checked, etc. Non-upgraded nodes still check and validate nearly everything in a segwit transaction. The only thing that they are unable to do is to check the signatures for segwit transactions. In that case, the wallet relies on miners on having done so and it waits for confirmations for segwit transactions before accepting them. This is no different from other soft forks.
While I do concede that after a soft fork, a node may not know that a particular transaction is invalid, I think that this is not quite the same with SegWit. For example, if a soft fork that invalidated any transaction after block n that is signed with (/contains?) a "high" s-value, then a node that has not upgraded might receive a transaction with a high s-value and not reject said transaction -- however said transaction would be a valid transaction prior to block n, and the soft fork. I would think that much of the time, a sender of these kinds of invalid transactions would have made an honest mistake (although there are some exceptions to this), and the receiver could ask the sender to resend the transaction after sufficient time has passed and has not confirmed. What I believe the difference is that someone could send a SegWit transaction to a non-SegWit node that was never valid, but the node would treat said transaction as if it were valid.


I do have another SegWit related question:

If someone who has not upgraded to SegWit receives a SegWit transaction, are they able to spend outputs from said transaction?
staff
Activity: 3458
Merit: 6793
Just writing some code
Will the blockchain develop to a stage that people who do not use segwit will not be able to transact through any other means i.e legacy transactions become obsolete?
No.
full member
Activity: 238
Merit: 100
MERCATOX
Will the blockchain develop to a stage that people who do not use segwit will not be able to transact through any other means i.e legacy transactions become obsolete?
staff
Activity: 3458
Merit: 6793
Just writing some code
I agree that SegWit allows for a greater number of transactions in a block, but I don't think it is the most optimal way to achieve this. I am not sure how serious other problems that SegWit "fixes" really are for Bitcoin, especially malleability
Segwit introduces a lot of other changes as well. It makes the sighashing linear instead of quadratic. Additionally the sighashing includes additional information that helps with cold storage and hardware wallets which are not connected to the internet. This allows those offline wallets to also verify transactions before signing, something that hardware wallet vendors (at least 1 that I know of) have indicated is something that the want.

Wallet software is being changed to implement SegWit because the creators of such software believe that SegWit will likely be implemented, not necessarily because they believe SegWit is what is best for Bitcoin. If it was apparent that Bitcoin was about to HF to have a maximum block size of 2 MB, then wallet providers would likely also be in the process of upgrading their software to support this.
While that is true, there are also many wallet vendors who do also believe that segwit is the way to go. In fact, those that don't think segwit is best don't need to implement segwit (and probably aren't going to).

My understanding is that if a node does not upgrade, then it does not have a way to validate that a transaction is valid (due to being unable to validate the transactions signature), and does not have any way to validate that a block that contains one or more SegWit transactions is valid. Am I right about this, or is this not accurate?

If the above is accurate, then I think you are using a very specific definition of "backwards compatible" to make your statement.
No, you are incorrect. Non-upgraded nodes do not suddenly just stop validating transactions and are suddenly unable to validate transactions. They still fully validate all transactions and blocks to the best of their ability. This means that transaction hashes are still checked, the merkle root is still checked, signatures of legacy transactions are checked, inputs and referenced outpoints are checked, etc. Non-upgraded nodes still check and validate nearly everything in a segwit transaction. The only thing that they are unable to do is to check the signatures for segwit transactions. In that case, the wallet relies on miners on having done so and it waits for confirmations for segwit transactions before accepting them. This is no different from other soft forks.
legendary
Activity: 3430
Merit: 3080
My understanding is that if a node does not upgrade, then it does not have a way to validate that a transaction is valid (due to being unable to validate the transactions signature), and does not have any way to validate that a block that contains one or more SegWit transactions is valid. Am I right about this, or is this not accurate?

If the above is accurate, then I think you are using a very specific definition of "backwards compatible" to make your statement.

Your understanding is flawed.

Segwit transactions will appear to pre-13.1 nodes as ANYONECANPAY. That's why they will be able to validate Segwit blocks without being able to understand Segwit. This is how any soft forks in the past that alter signature interpretation have handled it, and the mechanism has been in Bitcoin either since the beginning or from very early on.
copper member
Activity: 2996
Merit: 2374
My question is, how can a non-mining entity that is part of the Bitcoin economy and/or ecosystem show their support/non-support of SegWit?

The best thing a non-miner can do to support the network and signal their support for SegWit would be to run Bitcoin Core 0.13.1.  You can see that currently 30% of the nodes on the network are running 0.13.1.
https://bitnodes.21.co/nodes/

You could also find a site that offers a voting mechanism to make your opinion heard.  Here's one for example: https://vote.bitcoin.com/arguments/segregated-witness-is-a-good-short-term-approach-to-scaling-bitcoin-capacity

Currently, 52 of the last 300 blocks (17%) signaled SegWit support, and 32 of the last 142 blocks (23%).  You can monitor progress here:
https://data.bitcoinity.org/bitcoin/block_version/7d?c=block_version&t=a
It is possible for one person or entity to rent several VPSs and run a full node that runs Core 13.1 (or some other version of Bitcoin), so while counts of various types of nodes does mean something, it doesn't necessarily reflect the overall support of the community.

I am really looking for the opinions of major Bitcoin companies such as Coinbase, BipPay, Circle, major exchanges, gambling sites, and others. Do they wish for SegWit to be implemented, do they wish for SegWit to not be implemented, are they neutral?

It would not be smart to not implement SegWit if/when it becomes part of the mainnet.
Why? Segwit brings many improvements to Bitcoin that we need, including scaling. Many wallets have or are in the process of implementing segwit.
I agree that SegWit allows for a greater number of transactions in a block, but I don't think it is the most optimal way to achieve this. I am not sure how serious other problems that SegWit "fixes" really are for Bitcoin, especially malleability

Wallet software is being changed to implement SegWit because the creators of such software believe that SegWit will likely be implemented, not necessarily because they believe SegWit is what is best for Bitcoin. If it was apparent that Bitcoin was about to HF to have a maximum block size of 2 MB, then wallet providers would likely also be in the process of upgrading their software to support this.

Some Bitcoin companies may however not "support" SegWit and would prefer that it not be implemented. My question is, how can a non-mining entity that is part of the Bitcoin economy and/or ecosystem show their support/non-support of SegWit?
Nodes that signal segwit have the NODE_WITNESS service bit set. So to check if a node supports segwit, just check for that service bit.
Even if I know that a particular node is run by coinbase (for example), the fact that this node 'supports' SegWit, does not necessarily mean that coinbase supports SegWit. If SegWit does in fact get implemented into the Bitcoin network, then coinbase (in this example) will want to have prepared for, and tested SegWit sufficiently.

Even if an entity does not support SegWit they may prepare for SegWit in the event that it becomes part of Bitcoin despite their wishes.
Segwit is backwards compatible. If you don't like segwit, you can continue to use Bitcoin as you do now with almost zero impact on you.
My understanding is that if a node does not upgrade, then it does not have a way to validate that a transaction is valid (due to being unable to validate the transactions signature), and does not have any way to validate that a block that contains one or more SegWit transactions is valid. Am I right about this, or is this not accurate?

If the above is accurate, then I think you are using a very specific definition of "backwards compatible" to make your statement.
staff
Activity: 3458
Merit: 6793
Just writing some code
How much easier or harder does SegWit make transaction data mining and address tracking?
Not at all. Segwit does not make it any harder or any easier to track spends.

But isn't transaction malleability a barrier to tracking? So much so that exchanges can't keep account and therefore want SegWit to remove that barrier?
No. Transaction malleability is a barrier to a different type of tracking, tracking when a transaction for a deposit confirms. This is for exchanges and services since they usually track when a transaction confirms so that they can credit the account. Usually they look for a specific txid in a block, but if a transaction was malleated and the malleated transaction was included in the block, the Bitcoin was still paid but the service does not know that since they were not looking for the malleated transaction. The service would not know of the malleated transaction because their node would reject it as a double spend.
Pages:
Jump to: