BitShares Forum

Main => General Discussion => Topic started by: bitacer on February 07, 2016, 09:50:41 am

Title: What is a Segregated Witness ?
Post by: bitacer on February 07, 2016, 09:50:41 am
I am hearing this term " Segregated Witness" a lot lately. What is it ?
Title: Re: What is a Segregated Witness ?
Post by: bytemaster on February 07, 2016, 05:38:54 pm
Good question
Title: Re: What is a Segregated Witness ?
Post by: speedy on February 07, 2016, 06:28:48 pm
Since their buzzwords work so well, maybe we could copy them for our DPOS rebranding:

Segregated Proof of Stake
Discriminate and Proof of Segregation

/sorry crap joke
Title: Re: What is a Segregated Witness ?
Post by: noisy on February 08, 2016, 12:35:19 am
@bitacer, @bytemaster @speedy

 Andreas Antonopoulos describes that on DailyDecrypt with Amanda: https://youtu.be/kSq-58ElBzk?t=1m48s
Title: Re: What is a Segregated Witness ?
Post by: xeroc on February 08, 2016, 11:30:19 am
BTW ... those that haven't got it yet ..
BitShares does this ALREADY!
https://bitshares.org/blog/2015/06/08/lessons-learned-from-bitshares-0.x/#assign-ids-rather-than-using-uuids

In particular, I am talking about extracting the "signature proof" from the "transaction details".
Title: Re: What is a Segregated Witness ?
Post by: bitacer on February 08, 2016, 11:38:42 am
BTW ... those that haven't got it yet ..
BitShares does this ALREADY!
https://bitshares.org/blog/2015/06/08/lessons-learned-from-bitshares-0.x/#assign-ids-rather-than-using-uuids

In particular, I am talking about extracting the "signature proof" from the "transaction details".
So in BitShares signatures are separated from the transaction data structure?
Title: Re: What is a Segregated Witness ?
Post by: xeroc on February 08, 2016, 11:42:01 am
BTW ... those that haven't got it yet ..
BitShares does this ALREADY!
https://bitshares.org/blog/2015/06/08/lessons-learned-from-bitshares-0.x/#assign-ids-rather-than-using-uuids

In particular, I am talking about extracting the "signature proof" from the "transaction details".
So in BitShares signatures are separated from the transaction data structure?
yes ..

essentially you have a "blob" (json data) that is signed by your account's authority.
Once your signature is validated (which can be done independent of any other blockchain data),
you 'blob' is authorized.
after that its content is verified against the blockchain's data (e.g. to prevent doublespending etc.)

I highly recommend to read through this section:
https://bitshares.org/blog/2015/06/08/lessons-learned-from-bitshares-0.x/#technology-lessons
Title: Re: What is a Segregated Witness ?
Post by: bitacer on February 08, 2016, 11:50:25 am
Andreas knows all this , I remember once he talked down about how BitShares is only good for crowd-funding . Yes Andreas, that too.
Title: Re: What is a Segregated Witness ?
Post by: bitacer on February 08, 2016, 12:11:59 pm
Since their buzzwords work so well, maybe we could copy them for our DPOS rebranding:

Segregated Proof of Stake
Discriminate and Proof of Segregation

/sorry crap joke

Let them open the road with their buzzwords, keep moving..

(http://thechronicleherald.ca/sites/default/files/imagecache/ch_article_main_image/articles/B97169609Z.120130411210519000GMG2N70S.11.jpg)
Title: Re: What is a Segregated Witness ?
Post by: bytemaster on February 08, 2016, 01:43:32 pm
BTW ... those that haven't got it yet ..
BitShares does this ALREADY!
https://bitshares.org/blog/2015/06/08/lessons-learned-from-bitshares-0.x/#assign-ids-rather-than-using-uuids

In particular, I am talking about extracting the "signature proof" from the "transaction details".

Our ID allocation system is different than what he is talking about.  This is more to do with how we detect duplicate transactions.

The idea that we could borrow from this is to discard signatures from the transaction history allowing us to remove them from the blocks.  We never look at signatures while reindexing, so that are not necessary once we get past the "last irreversible block".

Title: Re: What is a Segregated Witness ?
Post by: gamey on February 09, 2016, 05:34:07 am
BTW ... those that haven't got it yet ..
BitShares does this ALREADY!
https://bitshares.org/blog/2015/06/08/lessons-learned-from-bitshares-0.x/#assign-ids-rather-than-using-uuids

In particular, I am talking about extracting the "signature proof" from the "transaction details".
So in BitShares signatures are separated from the transaction data structure?
yes ..

essentially you have a "blob" (json data) that is signed by your account's authority.
Once your signature is validated (which can be done independent of any other blockchain data),
you 'blob' is authorized.
after that its content is verified against the blockchain's data (e.g. to prevent doublespending etc.)

I highly recommend to read through this section:
https://bitshares.org/blog/2015/06/08/lessons-learned-from-bitshares-0.x/#technology-lessons

If one is technically inclined (as in developer type technical), this blog post is a great read. Ahh well a year+ of lessons learned the very hard way ... this should have made front page of ycombinator etc IMO.
Title: Re: What is a Segregated Witness ?
Post by: monsterer on February 09, 2016, 03:06:30 pm
If one is technically inclined (as in developer type technical), this blog post is a great read. Ahh well a year+ of lessons learned the very hard way ... this should have made front page of ycombinator etc IMO.

Apart from this, which was a big mistake IMO:

Quote
Assign IDs rather than using UUIDs

This meant there was no way to hold onto a reference of a sent transaction until it hit the blockchain, which caused all kinds of problems.
Title: Re: What is a Segregated Witness ?
Post by: xeroc on February 09, 2016, 03:14:05 pm
Quote
Assign IDs rather than using UUIDs

This meant there was no way to hold onto a reference of a sent transaction until it hit the blockchain, which caused all kinds of problems.
Not really .. with the hash of the transaction you can identify every transaction .. thing is .. we didn't have an index in the database for those hashes, but AFAIK, we do now ..
Title: Re: What is a Segregated Witness ?
Post by: gamey on February 09, 2016, 03:21:05 pm
If one is technically inclined (as in developer type technical), this blog post is a great read. Ahh well a year+ of lessons learned the very hard way ... this should have made front page of ycombinator etc IMO.

Apart from this, which was a big mistake IMO:

Quote
Assign IDs rather than using UUIDs

This meant there was no way to hold onto a reference of a sent transaction until it hit the blockchain, which caused all kinds of problems.

Well I did say "great read" not Best Practices Guide.  I had some issues with it too, but by and large it is rare to find  a blog post that has so many hard learned lessons.

I could pick on the post a bit too, but I don't come around here to be exclusively negative. chuckles!

What would be really really great is if BM could go into all the personal lessons he learned when running a company.  Who to hire, who to fire, and the whys and whens.  There is exactly 0% chance of that happening, but that is the only subject that would interest me more than this.
Title: Re: What is a Segregated Witness ?
Post by: monsterer on February 09, 2016, 04:51:39 pm
Well I did say "great read" not Best Practices Guide.  I had some issues with it too, but by and large it is rare to find  a blog post that has so many hard learned lessons.

Agreed. The majority of it is actually quite insightful.

edit: I am guilty of being too negative sometimes. In my defence I have a cold, lol :)