# Layer 3 and App-chain
###### tags: `thread`
My thinking about layer 3 comes from application-specific blockchains
Similar to [@dYdX](https://twitter.com/dYdX), there are many dApps (existing and future) that need to be a blockchain instead of a contract (such as 100% on-chain games like [@darkforest_eth](https://twitter.com/darkforest_eth) and [@topology_gg](https://twitter.com/topology_gg))
### App-chain solutions
A dApp that wants to become a blockchain has the following options:
- First, you can develop a rollup (ZK or OP), the advantage is that you can inherit the security and ecosystem/users of Ethereum, but the trade-off is that the development cost is very high for the dApp team
- The second option is that you can use Cosmos, Polkadot, or Avalanche. Development costs will be much lower ([dYdX chose Cosmos](https://twitter.com/AntonioMJuliano/status/1539611195338006528)), but the trade-off is that you would give up the security and ecosystem/users of Ethereum
- In the worst case, you develop a Layer 1 blockchain, which has the highest cost (because you need to design your own decentralization mechanism to ensure a sufficient number of nodes without sacrificing execution efficiency), but such sovereignty also the highest
Let's compare these three situations
- Difficulty/Cost:Alt-L1 > Rollup > Cosmos
- Safety:Rollup > Cosmos > Alt-L1
- Ecosystem/Users:Rollup > Cosmos > Alt-L1
- Sovereignty:Alt-L1 > Cosmos > Rollup

Let's think about this situation: as a dApp, I want to inherit the security and ecosystem/users of Ethereum, and I want to be a chain instead of a contract, what should I do?
First of all, I will not choose Cosmos or Polkadot, and I will not choose Alt-L1, then I can only choose rollups
But the development of L2 rollup is expensive. How to solve this problem. My immediate thought is to develop a Layer 3 application-specific rollup through the L3 SDK
Note: The Layer 2 and Layer 3 SDKs discussed here are based on ZK rollups, not OP rollups
Because the fraud proof of OP rollups requires a one-week deposit/withdrawal waiting period, which increases the technical complexity
### Layer 2 and Layer 3
I think Layer 2 is better for general-purpose scaling and Layer 3 is better for specific-purpose applications
VitalikButerin also recently wrote an article discussing [what kind of Layer 3 makes sense](https://vitalik.ca/general/2022/09/17/layer_3.html)
The article quoted starkware's "Fractal Scaling", VitalikButerin also believes that the following three types of Layer 3 are reasonable:
- For custom functions, the simplest example is to add some privacy requirements
- Specific-purpose applications (customized scaling), such as non-EVM processing logic (some 100% on-chain games), and some special data compression optimizations
- Different security assumptions. For example, Validium (weakly-trusted scaling) uses zk-proof, but DA is not on the chain. Although it loses some security, it can achieve higher TPS (9000 TPS)

### Conclusions
Anyways, I've been thinking about whether Layer 3 is feasible, as there are many applications that are better suited as a chain than a smart contract
So Layer 3 technology may be able to open up new space for Ethereum/blockchain like rollup technology
However, there are a lot of technical details that need to be worked out (this will take time)
For example, do we need Layer 3 if we have Layer 2? And how to design the mechanism of Layer 3 (prover, DA, sequencer, etc.) and finally how to design a super easy-to-use Layer 3 SDK
[Thread](https://twitter.com/LuozhuZhang/status/1573641599900614656?s=20&t=hf32T6kwnUQiTjAV1MfiLA)