I have been diving into Stacks for some time and I have noticed the potential of this project. Securing a blockchain with Bitcoin hashrate makes a lot of sense, and building a smart contract and dapp platform for Bitcoin is really promising.
But I’m concerned about the scalability of Stacks. I have not found a scaling path but only the idea of appchains. As far as I know appchains consist of creating a new chain with a new token secured by the Stacks blockchain using PoX (the same thing we do with the Stacks chain and Bitcoin). I don’t personally think that this is a good way to scale Stacks.
If the STX token is necessary to use it as gas for Bitcoin Smart Contracts, then why should we create a new token for every appchain?. Even when in some cases using a new token could be useful, in most cases I think it makes sense to use STX, because this is the purpose of it. So I think it’s much more interesting to use the statefulness of Stacks and the clarity lang to build trustless sidechains (2 way peg) or rollups (some people consider them sidechains too).
Unlike Bitcoin, Stacks is flexible (like Ethereum and other dapp platforms), so I think these ideas can be implemented in Stacks. Also in Bitcoin there’s some work that could unlock in the long run a lot of Smart Contracts capabilities (even 2wp sidechains). For instance we have the simplicity language and covenant proposals like the OP_CTV (BIP-119). But if so, this would happen in years. IMHO Stacks can not only move faster but must, and long term scalability should be a concern.
I would like to see your thoughts about it. Having said that, I’m aware that we are super early and scalability is not yet priority. Thanks for the attention!
You can’t have it both ways. Either everyone has to process every single transaction (not scalable), or you find a way to make it so that only some people have to process some transactions without breaking the integrity of the overall system. Appchains are the latter. Crucially, an appchain’s failure doesn’t break the rest of the system (note that this is not true for sharded blockchain designs, where a few shard failures can break the entire chain).
I don’t personally think that this is a good way to scale Stacks.
why should we create a new token for every appchain?
Who are you to tell people what chains and tokens should and should not exist?
I should write more about the scalability topic. Broadly speaking, there are several options available. Stacks settles transactions to Bitcoin. Theoretically this can be thousands of transactions per Stacks block or millions of transactions per Stacks block. Bitcoin only sees hashes and settlements.
There are scalability limitations to any blockchain. As Jude points out what you are doing is really making decentralization vs scalability tradeoff, or some other tradeoff. App chains that Jude mentioned are one potential solution. Other types of solutions are also possible e.g., sidechains (or what some people call subnets).
This is a key point! And I agree with it. Bitcoin is durable and immutable, Stacks can evolve without modifying Bitcoin. This cleanly separates the reserve currency and store of value (Bitcoin) from gas for smart contracts (Stacks). The smart contract platform can evolve and scale without ever needing to modify the durable store of value layer.
I’m nobody to tell people what to do. I was only saying that in my opinion sidechains and rollups seem more interesting to scale Stacks because we keep using STX and it’s more decentralized (I think)