Editor's note: this post is outdated. Proposed changes coming to Stacks later this year introduce a decentralized BTC peg and Bitcoin finality, among other attributes, and if approved by the community, these changes would make Stacks a Bitcoin L2. Read this overview, along with the sBTC white paper and the Nakamoto release white paper for more details.
What’s in a Layer?
Layer 1 blockchains are sovereign systems, meaning that the system can exist without anything else. Bitcoin is a sovereign L1 blockchain. Ethereum is a sovereign L1 blockchain. Layer 2 blockchains, however, cannot exist by themselves. They depend on the underlying L1. For example, Lightning — an L2 — can’t exist without the Bitcoin L1 blockchain.
Of course, the trickier part is defining the difference between a true L2 versus something like a side chain such as Liquid or RSK. The definition of a true L2 is where the L2 layer is benefiting 100% from the security of the underlying L1, which also means that the L2 is actually contained fully within the programming abilities of the L1. Arbitrum is a great example. You can always take Arbitrum fraud proofs to the Ethereum L1, and the L1 will decide how assets are allocated. You're depending on the security of the L1. That's the difference between pure L2 versus a system that is introducing other security assumptions outside of the L1.
Breaking the Mold
In the Stacks white paper, we used the generally accepted L1 definition at the time to discuss Stacks as L1. This is because Stacks has independent miners as well as a separate security budget in addition to the security benefits that it gets from Bitcoin. However, Stacks is not a sovereign system, as it cannot exist without Bitcoin. It’s also not an L2 because it brings functionality that cannot be implemented with Bitcoin script, specifically fully expressive smart contracts.
Stacks is in an entirely unique space, and thinking of it in terms of Layer 1 or 2 is like fitting a square peg into a round hole. When pressed, I somewhat jokingly reply now that it’s a “Layer 1.5.”
This still doesn’t convey the uniqueness and importance of Stacks. The better, more accurate answer regarding “layers” is simply this: Stacks is a programming layer for Bitcoin.
Stacks serves a different purpose than an L2. An L2 can scale L1s, but it's harder to add completely new functionality this way given the limits of the underlying L1 programming ability. A blockchain like Stacks can build upon the security of the L1 while adding additional functionality and potentially open the ecosystem to new apps and markets.
The potential of opening an ecosystem through a programming layer can’t be understated: Bitcoin is a trillion dollars in assets that few people are using for anything other than a store of value. With Stacks as the programming layer, developers and businesses can unlock it to enable Bitcoin NFTs, Bitcoin DeFi, Bitcoin social networks, Bitcoin gaming, and more. This could expand the value of the ecosystem 10 fold.
Imagine if this same potential could be unlocked for all blockchains. We live in a multi-chain world, and I’m intrigued by what other future programming layers could do.