As an industry of software, services, and agencies form around blockchain technology, names follow innovation. Here we try to make sense of the differences between the types of blockchain solutions out there. This list isn’t comprehensive. But this is a start.
Blockchains can be broken down into public and private blockchains. Public chains are what you hear most about in the crypto world. They allow people to build applications and are highly decentralized. A private blockchain network, or permissioned chain, can do a lot of the same stuff, but is used when it's not practical to open up the chain to anyone in the world, often in enterprise settings. A Private chain has permissioned nodes and is not accessible to the public. Business network participants in a permissioned chain are invited to join.
A Layer Two (L2) implies a Layer One (L1). What I mean by this is that a layer two chain is a separate chain that connects to a layer one. It has to have the layer one to exist. It shares the Layer One’s security. You use a L2 to provide a certain function for the L1.
As an example, Ethereum can only complete so many transactions per second. Because of its limited throughput, there is a lot of competition to be one of the transactions it finalizes with each new block. High demand means higher cost, or gas fees, to complete each transaction.
To complete more transactions faster and to limit the fees you pay to complete those transactions, you may use a L2 to bundle transactions, group them all together, then commit them to the mainnet as a single transaction.
Now, say you’re operating an NFT marketplace. You want to back your marketplace with the mainnet but don’t want to pay for every small transaction, issued certification, or minted asset. You also have a very specific use case in mind and want to build the architecture out to meet that use. In this case you might want to build on a Side Chain.
A side chain acts as a mini main net. It’s essentially a main net built with less functionality. A side chain usually has a single use case. The difference between a Side Chain and Private chain is that the side chain is open to the public. It may have a public block explorer, a coin powering nodes, and a way for new people to launch nodes to interact with the chain. It aims to be transparent.
Okay, so there is a way for me to connect a chain directly to the mainnet, using its secure ledger but improving its speed and scalability. Also, I’ve got a way to mimic the transparency of a mainnet but bend the functionality to my specific use case.
Say I want to build a private chain, similar to a Side Chain, for a specific use case BUT unlike a Side Chain I want it to be private, meaning it exists for my application and is closed to the world.
Then you’re back to a Permissioned Chain.
I may want to one day connect my Permissioned Chain to the mainnet for the purpose of increasing security with checkpoints.
Essentially, I want a Permissioned Chain that has a way to connect to other chains.
In this case, I’m building an App Chain.
An app chain is an emerging thing. Of all the types of chains it is most like the private chain. The intent of an App Chain is to act like a Private or Permissioned Chain, closed off, singular, permissioned, but have in its architecture ways to ladder up to or bridge to another chain. This other chain may be a public mainnet or a Layer 2—the point is it grabs all the best enterprise-grade features from the types of chains above and combines them to exist right in the middle.
What makes it an App Chain
An enterprise supply chain app is a great use case for an App Chain. We need a closed environment where only members of the supply chain are invited. We have private data, including cost of goods or contract data to partition between the members of our group. We need to be able to scale our transactions to include multiple parties, ports, trade goods, provenance documents, bills of laden, etcetera.
BUT we want to be able to plug in to the mainnet, maybe the Polygon infrastructure, to bridge coins, assets, and NFTs; to prove the state of our chain via checkpoints; or preserve the history of our chain with a roll up.
Some in the space call this Security-as-a-Service, which doesn’t make a ton of sense, as they’re not providing a security service. But what they mean is they built the ability to bridge, or tether, to the mainnet to add a layer of immutability to the App Chain and make it more secure. Essentially an App Chain is a Permissioned Chain you can anchor to another chain. We prefer to call this Enterprise-grade Security.
An App Chain allows you to build your own blockchain that is scalable, has no competition, zero gas, is secure, doesn’t expose your smart contracts to the public, and runs close to your app. By running close to your app, we mean that with an App Chain you can co-locate your application and data layer to maximize performance—rather than building an app that relies on far flung, geographically distant nodes.
We covered a lot in this blog—and frankly some of these distinctions may dissolve as the public and private ecosystems continue to evolve. But for the time being, here’s a quick chart to summarize what we’ve discussed.
A reason for writing this was that we looked for a simple explanation of the differences between app chains, sidechains, and layer 2’s and kept coming up empty. Our goal was to collect some notes from the bright minds around the office and put a stake in the ground. If you see anything in this blog that can be better defined, let us know.
Kaleido is your easy button for developing next era blockchain based business applications.