What if it were possible to build custom applications on top of Steem? If you think Steem is only here to serve the niche of social media, then I consider this you wakeup call. The Steem blockchain is already capable of supporting every kind of blockchain application you can conceive. Best of all, you don’t need anyone’s permission to start building your app today!
Think of your favorite blockchain application. Is it Auger with is prediction markets? Is it The DAO? Is it general purpose smart contracts? Is it Dash with its privacy features? Is it decentralized voting or DNS? All of these things are possible on Steem today and you don’t need Steemit’s permission to do it.
Subchains not Sidechains
Sidechains have been the go-to solution for adding features to the Bitcoin protocol. The general concept is that the Bitcoin blockchain doesn’t need to know what happens on the side-chain so long as it can verify transfers into and out of the side chain.
Implementing side chains is challenging. It requires synchronizing two independent, potentially forking, eventually consistent blockchains. An issue on either chain can greatly disrupt the whole system.
A subchain is a new description for an old idea. Mastercoin and CounterParty are what I would consider subchains. All of their data is included on the Bitcoin blockchain. If Bitcoin forks, then the subchain follows.
In other words, a subchain is just a secondary interpretation of data on the main chain. Historically subchains haven’t been practical because they are necessarily slower than the chain they run on. Bitcoin makes it very expensive to include data and every subchain operation requires Bitcoin fees to be paid.
Power of Steem Subchains
On Steem everything is different. There are no transaction fees and it is trivial to include arbitrary data on the blockchain. Here are some of the key benefits to subchains on Steem.
- Advanced Account Structures
- Pre-validated Account Authorities on Custom Operations
- No Transaction Fees
- Fast Block Times
- TaPoS (Transactions as Proof of Stake)
What this means is that it is trivial to write custom applications as fully independent subchains. These applications don’t need to worry about the complexities of network infrastructure nor do they even require access to money.
The advanced account structures means you can have multi-sig authority involving dozens of independent agents deterministically evaluating the custom operations on the Steem blockchains. These agents can then deterministically generate and sign transactions for processing withdraws from the subchain. The fast block times means that subchains don’t have to wait long for confirmation before they can reliably create and sign transactions. The TaPoS feature ensures that transactions are only valid on a specific fork for a very short period of time.
It is fully possible to deploy an Ethereum Virtual Machine as a subchain on Steem. This Subchain could leverage the same algorithm Steem uses to ration bandwidth in order to ration computation.
Perhaps more interesting is the fact that multiple types and instances of virtual machines can be run on the Steem network at the same time.
Everything you think you like about other blockchain platforms can be implemented as a Steem Subchain. These subchains would almost certainly be faster, easier to use, and cheaper than anything else out there. Critically, these subchains would have easy access to the vast and growing user base of Steem.
What could be better?