Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: instagibbs on June 14, 2014, 09:26:33 PM



Title: Sidechains, Treechains, the TL;DR
Post by: instagibbs on June 14, 2014, 09:26:33 PM
Not sure if this is the right subsection, I apologize in advance.

Wrote up a little something discussing these newish topics because some people were asking for details, and citing a million different threads is no good.

http://blog.greenaddress.it/2014/06/13/sidechains-treechains-the-tldr/

Hope it's useful for someone!


Title: Re: Sidechains, Treechains, the TL;DR
Post by: bluemeanie1 on June 14, 2014, 10:48:53 PM
interesting but no where does Peter Todd establish how this will save on resources.  The goal here presumably is how to have subsets of TXO (eg. ∑a, ∑a + ∑b) but in the examples he shows they are all interdependent.  Mostly he is showing a few of the characteristics of side chains and how linking between them would work(or not).

The problem I believe lies in the formula for splitting the TXO.  If we can 1) agree on this formula 2) properly creates useful subsets that have minimal cross-transactions we can probably find a way to turn a global TXO into a local TXO, and thus have useful localized ledgers- which is the tacit goal here.

going by the original post btw: http://www.mail-archive.com/bitcoin-development@lists.sourceforge.net/msg04388.html

-bm


Title: Re: Sidechains, Treechains, the TL;DR
Post by: instagibbs on June 16, 2014, 05:59:00 PM
Well the idea is that as the tree scales, one only has to "pay attention" to:

1) Headers of chains you are watching, to show PoW chains.

2) The cumulative blocks where your BTC "reside". So even if the system is scaling to let's say 100 levels(ridiculous, but just for demonstration), you only pay attention to O(#{unspent outputs you own or care about} * total chain height), and most likely a lot less, especially if you combine outputs onto a particular branch. This in many cases will be vastly smaller than the 2^(100) chains' worth of data. (this isn't quite right, but the gist of it.)

I think these assumptions are exactly the same for both miners and regular "full nodes". Compare this with vanilla Bitcoin at 10,000 tps, where every full node and miner must know everything to agree or forks happen.

There is also the possibility of zk-SNARK stuff to make things simpler, but AFAIK none of that voodoo has been worked out.

I'm not at all convinced yet it will work, but it has some nice properties that should be explored. Your summation about what it's trying to accomplish sounds correct to me.




Title: Re: Sidechains, Treechains, the TL;DR
Post by: bluemeanie1 on June 16, 2014, 07:34:54 PM
Well the idea is that as the tree scales, one only has to "pay attention" to:

1) Headers of chains you are watching, to show PoW chains.

2) The cumulative blocks where your BTC "reside". So even if the system is scaling to let's say 100 levels(ridiculous, but just for demonstration), you only pay attention to O(#{unspent outputs you own or care about} * total chain height), and most likely a lot less, especially if you combine outputs onto a particular branch. This in many cases will be vastly smaller than the 2^(100) chains' worth of data. (this isn't quite right, but the gist of it.

The basic issue here is that if I want to reduce ∑ (the TXO I 'listen to') I must have a chain that is independent.  No where does Todd show us how to make a chain that is a subset of the global chain, instead it relies on other chain and connects to them in different ways.  So for instance lets say I have chain A with TXO ∑1 and chain B with TXO ∑2.  Problem is that for me to compute ∑1, I need to be aware of chain B.  That buys us precisely nothing but some complex math magic that looks cool(sounds like Ethereum).

I do believe it's possible to factor chains into smaller pieces however I think Todd is on the wrong track.

-bm


Title: Re: Sidechains, Treechains, the TL;DR
Post by: instagibbs on June 16, 2014, 10:08:37 PM
The basic issue here is that if I want to reduce ∑ (the TXO I 'listen to') I must have a chain that is independent.  No where does Todd show us how to make a chain that is a subset of the global chain, instead it relies on other chain and connects to them in different ways.  So for instance lets say I have chain A with TXO ∑1 and chain B with TXO ∑2.  Problem is that for me to compute ∑1, I need to be aware of chain B.  That buys us precisely nothing but some complex math magic that looks cool(sounds like Ethereum).

I do believe it's possible to factor chains into smaller pieces however I think Todd is on the wrong track.

-bm

Not really sure what you're saying. In that particular worst case, yes, you'd need both. But that's the worst case. But let us imagine that you only have UTXO in one chain and not the other. You have 2 chains, twice the transactions of Bitcoin proper, and you only keep track of half of it. Absolute most degenerate case you get back to Bitcoin levels of data on a per transaction basis(with some extra block header overhead)!

I don't think there is any way to completely disconnect two chains, if you want the same security guarantees that Bitcoin provides.

The closest thing to what you want seems to be something like a looser-coupled sidechain, but then you run into the mining centralization issues of scaling up.

I'm really afraid the No Free Lunch theorem applies here. I'd like to be wrong of course.


Title: Re: Sidechains, Treechains, the TL;DR
Post by: bluemeanie1 on June 16, 2014, 10:25:34 PM
I don't think there is any way to completely disconnect two chains, if you want the same security guarantees that Bitcoin provides.

I do think there is a way to factor them.  I just dont think Todd knows how.  :)

-bm


Title: Re: Sidechains, Treechains, the TL;DR
Post by: instagibbs on June 16, 2014, 10:30:01 PM
Looking forward to some of that moon-math that *might* make that possible  ;D


Title: Re: Sidechains, Treechains, the TL;DR
Post by: bluemeanie1 on June 16, 2014, 10:31:31 PM
I might be cracking open Libre Office Writer pretty soon...  :)

-bm


Title: Re: Sidechains, Treechains, the TL;DR
Post by: instagibbs on June 16, 2014, 10:33:46 PM
Always interested in new ideas. Bring it on!