First of all, in this post about sidechains/ childchains and subchains I'm going to use the same term, as much as possible, as the Steem developer Dan uses: subchains.
The Steem Blockchain
Steem is a unique type of blockchain build upon the very smart Graphene technology, by Cryptonomex, just like Bitshares. It is a database shared among many around the world, through a network system called 'peer to peer'. And all data inside is unbreakable intertwined to each other by mathematics, known as cryptography. Complex stuff? Yes, indeed...
A 'Steemer' (it is the term I prefer to use), someone who has an account at SteemIt, does not need to know the inner working to be able to use it. Same as when you drive a car, you do not need to know the inner workings of a motor. You just drive it using gears and what not. And sometimes it can be handy to know where to put the gas, or how to change a wheel. But for the most, you trust the designers of the whole car to do it's thing for you.
Well, you could say that the Steem Blockchain technology is the motor and the car you drive is SteemIt. It is the application of the Steem engine. And it has some awesome features that you probably allready know, since you are here on SteemIt. It is amazing to post your work on a Blockchain and not having the experience you do. One thing that rocks surely is the speed of the engine, makes using SteemIt just a fun ride.
To summerize it: Steem is the fast and clever engine, SteemIt is the Social Media application using it.
Steem can do anything and more
So there is this lovely engine called Steem, that, in effect, handels lots of data at lightspeed, keeping it safe and securing it all over the globe. And on top of that any application can be build. Now, you and I have come to known and love SteemIt. Because no need to worry about the complexity of the engine, just blogging away, all day, every day. And there is more, you can Upvote, Reply and even trade, still without needing to know that it is the Power of Steem that makes it possible. All you do is pluck your Fruit Of Work, or FOW, if sometimes only just a few cents, but hey, you started here with nill, oh no, this smart engine even gave you some sugar to start with!
All of that is done very fast and very smart, thanks to the Steem motor running underneath. And if you have ever moved Steem Backed Dollar {SDB} from one account to another, you know the transactions are near lightspeed...
A Subchain (also known as Childchain, or Sidechain) is still Steem, but just running another application
To clearify things a bit, hopefully, I'm going to use the terms Sidechain and Mainchain for sake of explanation. In this the Blockchain of the Steem engine that runs the application SteemIt, is the Mainchain. All posts, replies, trades and more created by you and me, here at SteemIt, will be secured in the database of the Mainchain. Steem, the smart and fast engine, will do this in such a structured way that SteemIt can be used as a Social Media platform.
But, because it is just all computer zeros and ones, data, the bright and smart Steem engine could actually do just about anything with it. Except maybe for cooking, clean you car and stuff like that, but I'm not claiming it can't, because it has a lot of potential. Now, maybe this could be done on the 'Mainchain', where SteemIt lives on.
Or some clever programmers could even use the posts, replies, votes and trades of SteemIt itself in a different way. But why bother when the Steem engine has allready got another service build in, called: Subchains. (That is the term developer Dan uses, I got Sidechains from the inner code sanctium, or programmers heaven, known as GitHub.)
Hold on, here is the rabbit hole...
Well, maybe not this time. If you look at the Steem software as a digital representation of a real world motor, than you can imagine that it could do more than 'just' move SteemIt forward. Just like a car motor could be used to pump water around, same motor, different application. Put gas in it and it will run, normally spoken.
So in effect the Steem engine could drive different applications build on top of it. And because it should leave the 'Mainchain' alone and it would need to be able to run substantive, there is this thing called 'Subchains' to take care of that. And I know the car motor analogy does clash a bit here, so I do hope you are still catching my drift.
One engine, Steem, driving SteemIt on the Mainchain, but also is able to drive other type of applications on so called 'Subchains' (What I used the term Sidechains for, just like it said in the programming code I came across.) This makes many different applications possible, each running on it's own Subchain (Sidechain), run by the Steem engine!
Do you need to know the inner workings of Steem to be able to use any of those applications? No, if you wanted to, you could, off course, in the same way you are using SteemIt now. If SteemIt were a car you'd need to know how to open the door, where to put the keys... and, well you've got this the first time, I guess.
The same will be needed for applications that will come and run on Subchains (or Sidechains/Childchains, whatever makes you grasp the concept). What is nice to know for you, the future user of these Apps, is that all these will have the 'genes' of the Steem engine. So if it is a flappy bird game contructor, a complex contract system or a Twitter clone, it is all about the usage and if you want to join in.
The enduser just has to go for it
So you have the Steem engine, an awesome piece of evolving software, programmed by some very clever fellow human beings. Build on top, thanks to this great motor's possibilities, is SteemIt, a Social Media platform application. Where there is much more that can be done than just Blogging. It has a payment system build in, where, again, you do not need to know how it works to be able to pluck your Fruit Of Work.
And where SteemIt is the first app on the 'Mainchain' of the powerfull Steem engine, it can handle more Apps, all with different possibilities. And these applications get their space on so called Subchains (Sidechains / Childchains). All inheriting the possibilities of the Steem engine and more. Left for your imagination to fill in.
Maybe you'll be using these future applications, just like you are using SteemIt now. And you'll feel right at home, because underneath it all is the engine that can: Steem.
Hope that this clearified the subject of Side eurm Subchaines a bit...
With kind regards
It was an interesting read, but I it still very abstract ...
How would you consider the following applications made with steemit:
https://www.steemimg.com/
http://steemitchat.com
Using Subchain or beeing sub-application ?
Can you give us an example of an application using Subchain ?
Once again, great post ... I will read it again
Thank you! Glad you appreciate it.
Did my best to keep it kind of abstract, to keep it accessible as possible.
About the applications that you mention, those are apps that are related to SteemIt. Service App is one of the first names that somehow connects to these project, I guess. (Awesome background + fx at SteemImg.)
Some kind of micro-blogging system, could do it well as a Subchain Application. An inventors App, where they can kind of kickstart their ideas, and it will be 'locked' in the blockchain, aka they can proof, with witnessses, in more than one way.
Or a digital book writers App, where writers get rewarded for publishing their books on the Subchain, again, there is proof on the chain, for a long time to be.
Or, what to think of a photographers App? And something I mentioned before I think, a per language / country SteemIt. And that could be done again with lots of other App ideas, all on a Steem Subchain.
Hope this gave you some ideas to how it could develope. It is still part of the undiscovered genious that Steem is. Can't wait for the future to happen...
My brain hurts after that...
Jaiks, then my intention failed...
Hope that after it all sinks in, the pain will go away and you'll understand we are all in for an awesome Steem Powered rollercoaster ride!
I think it was a good explanation. Great post.
Thank you!
I'm trying to grasp how this looks programmatically. When looking at the blockchain, I see
operationsand below this portion of a block, these operations appear be exclusive to the functionality of Steemit. For example: comments and votes.Would one be able to utilize the Steem API to create any
operationthat suits the purpose of their application?As subchains do have the complete Steem motor functions available this should be the case.
Allthough you could allready, Without the use of Subchains, create a clever App, with use of the API.
But as subchains would be, as far as I understood, Newly created objects, on their own subchains, this would give one really Different Apps. With API's to match.
It was interesting to read and hard to understand. Anyway it's useful. Thanks.
You're welcome, appreciate your feedback.
If you would like to know more, be happy to clearify where needed.
It was somewhat verbose, but nevertheless interesting and a great read!
Thank you, I know I tend to lean towards prolix sometimes... And sometimes even move beyond that. :-)
I'm glad you valued the post overall! And I do appreciate your honest feedback.
Nice write-up.
(You've misspelled the name Cryptonomex)
Thanks!
Will change it.
Whoa whoa easier !!!
I just woke up. And here is the reading. ;)
Good moooooooooooornin'!
Coffee, brunch, and let it breathe...
Thank you for the update! This I can understand.
You are welcome!
Glad you do understand now.
You are welcome! Thanks for your kind reply.