I think the most basic explanation of the difference is that in side-chains you put your trust in miners - if at any point there is a miner with enough hashing power to 51% attack the side-chain they can destroy it instantly, and often steal all the funds associated with it too. Now if a majority of all miners agree to mine your side-chain that may be ok and you won't be attacked, but getting to that point essentially requires asking permission from those miners if you want your side-chain to exist at all.

With tree-chains we create a global, yet scalable, blockchain publishing service that everyone contributes to and everyone uses. Everyone works together to keep that layer secure, and anyone can write code to make use of it. The disadvantage is that you can't rely on miners to verify for you - you have to verify blocks client-side - but that also means those same miners can't attack you without attacking all blockchains at once.

It's kinda like the difference between the telephone system and the internet: the telephone system relied on the underlying layer being "smart" and doing a lot of the logic for you. Adding new features to telephones meant changing that system and getting support from the phone companies. Tree-chains is the internet model: the underlying layer is very dumb and does very little, requiring fairly smart client software, however that means that to make new applications on top of that underlying layer doesn't require asking permission from anyone.

Thanks for the link! I myself got a lot out of the first 15 minutes, but much more out of the remainder.

The idea of segment blocks into into a tree structure is a fascinating idea which I'd not thought of. Very cool! My conceptions of a solution have been more primitive and obvious (essentially more-or-less what the sidechains guys seem to be working on.)

I've been consumed with doubt about data rates since first hearing of Bitcoin because they will drive things toward centralization. I've never been a fan of merged mining because it is (at best) not a good match as a solution to this problem. Chewing on and tossing around smaller amounts of data yet having the effort that one does put out lend strength to a unified system in total would be an idea which I find pretty exciting.

As I understood it, Adam Back's original motivation for sidechains was more about creating valid testing environments for innovation. And in that, the hard separating wall between a sidechain and mainchain is obviously the critical feature.

I confess to not understanding the details of treechains, although what I did understand from the podcast sounded fascinating, to say the least. But the separation aspect is something that I don't think it can provide.

As I understood it, Adam Back's original motivation for sidechains was more about creating valid testing environments for innovation. And in that, the hard separating wall between a sidechain and mainchain is obviously the critical feature.

I've been busy with other things for a while and only recently became dimly aware of sidechains and Back's work on it. I've been unaware of the history and motivations (so thanks!) If sidechains were conceived of as a test-bed then it sounds like one of the main goals of my paracoin idea. In that case (and possibly in Back's as well I guess) the whole monetary and markets issue was a less interesting back-burner item and it was very much the design goal to off-load that on the Bitcoin carrier as well. Of course eventually markets and valuations and such could become more interesting and are, by necessity if nothing else, a key element of a system level design, but I was more interested in fundamental distribution of data , work, stake, etc problems which serve as a foundation for crypto-publishing systems. And one which, in my opinion, threatens to collapse under Bitcoin.

I confess to not understanding the details of treechains, although what I did understand from the podcast sounded fascinating, to say the least. But the separation aspect is something that I don't think it can provide.

Seems to me that it, and most realistic scaling solutions which allow necessary growth (including sidechains), are just a matter of sharding. 'treechains' is sharding in a clever way which allows people to use the blockchain in a rigorous way, and help to keep it healthy (e.g., mining it) with a realistic expenditure of resources. Even if the blockchain became quite large.

It also seems to me that it would open the door for specialization which could provide an economic incentive to provide needed services. For instance, if someone is lucky enough to have access to a network in a jurisdiction which is more clean, they could provide a useful service of organizing shards and selling them to people to do other kinds of necessary work (e.g., mining or simply making use of the system.)

As I understood it, Adam Back's original motivation for sidechains was more about creating valid testing environments for innovation. And in that, the hard separating wall between a sidechain and mainchain is obviously the critical feature.

Tree-chains has a hard separating wall at the logical level, but not the data publication level. It's like how there's a hard wall between Bitcoin and Mastercoin even though they are both sharing the same blockchain.

The picture I'm forming in my mind from reading various things which are currently available..or trying to...is something like as follows. Any corrections would be welcome:

Blocks themselves would be segmented (and basically already are via the merkle tree design) to be something akin to an 'octree.'

Addressing of the data is sort of ready-made by virtue of the fact that something like a Transaction ID has suitable random characteristics and others.

Individuals who wanted to provide support services (mining, data serving, etc) could expose themselves to a capacity limit by choosing a particular segment of the data to work with. e.g., in octree parlance, the 6-3-7 segment.

I would assume that, if multiple parties were mining different segments (or mining unions of other mining effort) then the difficulty would have to decline in order to achieve a similar block rate. Is it mathematically the case that the overall strength of a block mined in such a way would still be comparable to one mined as a single unit as is the case today?

I can see the potential for a full history transaction path to be more efficiently communicated by only the needed subsets of the individual block data in a block stream. This would allow full end-user verification (original Bitcoin paradigm) in a more efficient manner.

I think that what you might be getting at is that the proof of work difficulty needed to achieve security is radically reduced if an end-user is doing complete verification for himself (since the data provider can lie to him without achieving a result (other than exposing himself as a potential bad-apple)). This is and interesting thesis which I'd not really thought much about. It is also very promising since it goes some distance toward making the (roundly misunderstood) 51% attack less of a threat. (You think?)

- edit: And such a 'treechain' construct has the potential to dispense with block chain synchronization issues that promise to cause a 'sidechain' implementation hassles (albeit while inserting a variety of it's own problems.) edit: ...ignoring that non-synchronization is 'not a bug but a feature' for many 'sidechains' use cases...

I've gotta weigh in on the alarm raised about attacks on sidechains getting attacked and cashed in (preceding the commercial break in the segment.)

I personally would not consider sidechains to be solid for a good long time. As with almost everything I do in financial space, I risk no more eggs in one basket than I can afford to lose. It seems like a near certainty that sidechains will be attacked, and probably successfully (if they develop features which are worth having) and if I have value in a sidechain, it is at risk. I DON'T see a particular danger to Bitcoin and that is what is important to me. I see a huge win on getting the development and load off of Bitcoin however.

The discussion about SPV is information which is a bit new to me, and in the context of the mining consolidation and regulatory efforts that we've already seen I am fairly concerned about it. Although my use of SPV would be the same as my use of sidechains insofar as I would consider it only for smaller risks, it seems to have the potential to threaten the general value store quite a lot given that the facilities to roll back in Bitcoin are undeveloped (from both a technical and a marketing propaganda perspective.)

I like the treechains idea as I understand it. A lot. But I would say that by virtue of it being more unified into the blockchain, and more than that by virtue of it ballooning the blockchain as a consequence of dealing with the capacity issues, I see a fairly notable risk that errors, exploits, attacks, etc, could harm core Bitcoin. More-so than 'sidechains'.

---

Unrelated...Miners don't discriminate based on fees yet?!? I didn't know that and didn't anticipate that at this point in time. WTF? Why? We need to start understanding the economics at some point.

---

I hope to see work on both 'treechains' and 'sidechains' progress and expect that we will.

My initial versions of tree-chains all made use of miner validation; they were very similar ideas to how side-chains are meant to work. The problem is there were obvious security holes made possible by relying on miner validation, either to fraudulently steal funds locked in a 2-way-peg, or to cause outright inflation fraud and make money out of thin air. (in versions with mechanisms other than 2-way-pegs to move money from chain to chain) I also had versions that had neither issue and relied on fraud proofs, but then they raise the problem that if fraud ever goes undetected you can wind up with enormous and disruptive reorganizations.

Unfortunately I have no reason to think there is an easy way to copy Satoshi's original SPV mechanism in a scalable and flexible system; fortunately we do know that compact full-security coin validity proofs are possible, so you do not need to download the whole blockchain to have full-node security for your funds.