Pages:
Author

Topic: SegWit is a waste of disk space? (Read 3440 times)

staff
Activity: 3458
Merit: 6793
Just writing some code
May 04, 2016, 03:04:19 PM
#22
And when you've done that, tada you have segwit (specifically, you get the _exact_ construction that was used in elements alpha).  But a version of it with a ugly construction that requires every Bitcoin speaking program to upgrade _simultaneously_, and invalidates any pre-created nlocktimed transactions which _will_ confiscate some amount of users' Bitcoins (because some parties have been signing payments then destroying private keys as a time-lock-safe mechanism).

Isn't this a user problem rather than a protocol issue?  First, the protocol doesn't specify that a user must destroy their private key when creating nLockTimed transactions.  Second, since there's no guarantee that any given transaction will ever be successfully mined, it doesn't seem prudent to pre-sign transactions which sit off-chain and only become valid for broadcast and potential mining in some distant future whilst also deleting the private key.  If this destructive behaviour can be condoned, it beggars belief that zero conf transactions are considered unsafe.
While that is a user issue, it is not something that changing the protocol should mess with. If you change the protocol and you cause several users to suddenly have transactions that they just sent suddenly be invalid, you will anger many users and potentially cause them to stop using Bitcoin.

About destroying the keys, there are some companies that provide multisig addresses and a pre-signed timelocked transaction to allow users to withdraw their balance should the service suddenly go down. If the service went down and this change happened, those users would no longer be able to access their coins.
newbie
Activity: 16
Merit: 0
May 04, 2016, 02:52:24 PM
#21
And when you've done that, tada you have segwit (specifically, you get the _exact_ construction that was used in elements alpha).  But a version of it with a ugly construction that requires every Bitcoin speaking program to upgrade _simultaneously_, and invalidates any pre-created nlocktimed transactions which _will_ confiscate some amount of users' Bitcoins (because some parties have been signing payments then destroying private keys as a time-lock-safe mechanism).

Isn't this a user problem rather than a protocol issue?  First, the protocol doesn't specify that a user must destroy their private key when creating nLockTimed transactions.  Second, since there's no guarantee that any given transaction will ever be successfully mined, it doesn't seem prudent to pre-sign transactions which sit off-chain and only become valid for broadcast and potential mining in some distant future whilst also deleting the private key.  If this destructive behaviour can be condoned, it beggars belief that zero conf transactions are considered unsafe.
staff
Activity: 4284
Merit: 8808
May 01, 2016, 08:03:14 PM
#20
When hashing the transaction data to generate a txid, simply skip over the signature data.  Everything else stays the same.  
You still must have the block commit to the signature, or otherwise the signatures use in the network can be changed. (e.g. I could go add 200 GB to the size of the chain I give you by adding a megabyte of padding to the signatures in the first 200k blocks).  You also need all transaction relay to be changed to be in terms of a new ID which is the hash of the whole transaction, not the txid. (Otherwise I can take a transaction, corrupt the signature, and relay it to everyone fast to block the real transaction from the network.)

And when you've done that, tada you have segwit (specifically, you get the _exact_ construction that was used in elements alpha).  But a version of it with a ugly construction that requires every Bitcoin speaking program to upgrade _simultaneously_, and invalidates any pre-created nlocktimed transactions which _will_ confiscate some amount of users' Bitcoins (because some parties have been signing payments then destroying private keys as a time-lock-safe mechanism).

So what happens with transactions that are unconfirmed when that happens? Sure the idea of it sounds simple, but deploying such a hard fork would be a major clusterfuck.
Exactly, thats why we were unable to go forward with the original segwit design that we used in elements alpha: It's nearly impossible to deploy. The improved design is just simply better and a big part of that-- though far from all of it-- is that it's actually deployable.
staff
Activity: 3458
Merit: 6793
Just writing some code
May 01, 2016, 06:56:05 PM
#19
As for malleability, so anyone wanna say why that can't be done properly on it's own without segwit?

Fair question as it's simple to implement.

When hashing the transaction data to generate a txid, simply skip over the signature data.  Everything else stays the same. 

Deployment and activation would be via a hard fork set at a certain block height.
This has been discussed before albeit in another thread.

So what happens with transactions that are unconfirmed when that happens? Sure the idea of it sounds simple, but deploying such a hard fork would be a major clusterfuck.
newbie
Activity: 16
Merit: 0
May 01, 2016, 06:53:50 PM
#18
As for malleability, so anyone wanna say why that can't be done properly on it's own without segwit?

Fair question as the signature malleability issue is quite simple to fix.

When hashing the transaction data to generate a txid, simply skip over the signature data.  Everything else stays the same.  

Deployment and activation would be via a hard fork set at a certain block height.
legendary
Activity: 2674
Merit: 2965
Terminated.
May 01, 2016, 10:24:17 AM
#17
In my uneducated view SegWit is brilliant. Not only does it solve the blocksize problem in the short term, but it allows for a whole range of enhancements that will allow Bitcoin to become an intelligent programmable payment service that is independant of the fraudulent current banking system.
Your 'uneducated' view is correct, which is quite unusual (as people tend to spread false information). Segwit does come with quite a few benefits, the added capacity increase is just a bonus. It should be (hopefully) merged soon.

Lightning doesn't have trusted third parties, so if "21Inc's LN" does, it isn't Lightning.
He has been spreading that piece of miss information for quite some time now even though several people have pointed out (on several occasions) that it is false.
legendary
Activity: 2814
Merit: 2472
https://JetCash.com
May 01, 2016, 05:10:27 AM
#16
In my uneducated view SegWit is brilliant. Not only does it solve the blocksize problem in the short term, but it allows for a whole range of enhancements that will allow Bitcoin to become an intelligent programmable payment service that is independant of the fraudulent current banking system.
legendary
Activity: 2576
Merit: 1186
May 01, 2016, 12:55:28 AM
#15
21 inc's LN has been out for months, it seems no one cares, so there is no market demand, if there is slightest market demand, 21inc's LN would be used at least to a degree, but no, I don't think average users would use prepaid model, and institutions would not trust a third party to handle their settlement


Lightning doesn't have trusted third parties, so if "21Inc's LN" does, it isn't Lightning.
legendary
Activity: 1988
Merit: 1012
Beyond Imagination
April 30, 2016, 11:29:55 PM
#14
21 inc's LN has been out for months, it seems no one cares, so there is no market demand, if there is slightest market demand, 21inc's LN would be used at least to a degree, but no, I don't think average users would use prepaid model, and institutions would not trust a third party to handle their settlement

jr. member
Activity: 33
Merit: 1
April 28, 2016, 03:08:12 PM
#13
Segwit is the only proper solution for malleability

There is some confusion between the concept of not including the signature in the txid and the particular package of changes that is being done in Core that does this and more but is also commonly called sigwit.



Now I need a sigwit :-P

sorry I couldn't resist
full member
Activity: 181
Merit: 100
April 27, 2016, 04:17:46 PM
#12
Lightning needs segwit, simple as that.

The time for complaining about it has passed. Waiting to observe the functionality, proliferation, and acceptance of the LN hub model is the only course of action now.

Astute miners realize that this topology is likely to result in on-chain fees increasing by 100x per tx. A small price to pay for uncensorable highly-decentralized settlement that you can’t get anywhere else.
sr. member
Activity: 446
Merit: 251
April 26, 2016, 08:24:22 PM
#11
We don't NEED SegWit, we need something that can make us scale properly.

SegWit is being proposed and supported because it is a conservative approach.

SegWit is not a waste of disk space, as far as I could see, it is instead a way of rearranging the "house", organising furniture in order to have more space, speaking figuratively.

As for the rest, gmaxwell said pretty much everything.
I think you were severely misled. SegWit was necessary, I for one, despite the fact that the Bitcoin's scale problem was left unresolved for so long, I mean, IPv6 was underworks 20 years before IPv4 addresses ran out.
Sure, creating a consensus is hard when you have a decentralized network, but let's be honest, miners will jump on everything you throw at them (if it's beneficial).
I have confidence in the developers to go through this, and I hope the community is mature enough to support the good decisions and commits that the core developers surely are going to push.
legendary
Activity: 1526
Merit: 1013
Make Bitcoin glow with ENIAC
April 26, 2016, 09:14:30 AM
#10
We don't NEED SegWit, we need something that can make us scale properly.
Your statement is contradictory. LN will make the network scale 'properly'. LN requires Segwit, therefore we need Segwit.


OP it seems like you've read some false information somewhere. There are certain places that you should stay away from.

I'd love to hear kanos view on LN.

Maybe he could explain it in a way that doesn't result in a loose bowel.
legendary
Activity: 2968
Merit: 1198
April 25, 2016, 05:06:27 PM
#9
Segwit is the only proper solution for malleability

There is some confusion between the concept of not including the signature in the txid and the particular package of changes that is being done in Core that does this and more but is also commonly called sigwit.

sr. member
Activity: 420
Merit: 262
April 25, 2016, 12:07:34 PM
#8
Segwit is the only proper solution for malleability.

Technical reference please so I can verify?
legendary
Activity: 2674
Merit: 2965
Terminated.
April 25, 2016, 11:48:33 AM
#7
We don't NEED SegWit, we need something that can make us scale properly.
Your statement is contradictory. LN will make the network scale 'properly'. LN requires Segwit, therefore we need Segwit.


OP it seems like you've read some false information somewhere. There are certain places that you should stay away from.
legendary
Activity: 1512
Merit: 1012
April 24, 2016, 08:17:06 AM
#6
We don't NEED SegWit, we need something that can make us scale properly.

SegWit is being proposed and supported because it is a conservative approach.

SegWit is not a waste of disk space, as far as I could see, it is instead a way of rearranging the "house", organising furniture in order to have more space, speaking figuratively.

As for the rest, gmaxwell said pretty much everything.
legendary
Activity: 1260
Merit: 1019
April 24, 2016, 01:23:44 AM
#5
We need profit.
Pump at all costs altcoins are ----> over there.
Do you mean something like Black Wednesday?
Sooner or later there will be something similar here.
staff
Activity: 4284
Merit: 8808
April 24, 2016, 01:19:32 AM
#4
We need profit.
Pump at all costs altcoins are ----> over there.

Quote
Why do we need solution for the thing what is not a problem?  Grin
It's a problem for some things and not others. The fact that whatever you're doing might not be bothered by it isn't a reason that it shouldn't be fixed for others that care about it.
legendary
Activity: 1260
Merit: 1019
April 24, 2016, 01:18:04 AM
#3
Why do we NEED segwit?
We do not need either segwit or any other technology.
We need profit.
Nobody knows how to make profit from bitcoin, so they are listening "gurus".

Segwit is the only proper solution for malleability.
Why do we need solution for the thing what is not a problem?  Grin
Pages:
Jump to: