# Roll-Ups
## A Layer 1.5 Scaling Solution
---
# Main Principle
On-chain *transactions*
Off-chain *state and computation*
---
# Outline
1) Plasma
2) Roll-Ups
3) ZK and Optimistic
4) Throughput
5) Issues
---
# Plasma
- "Sidechain":
- Operator collects transactions and computes state
- Periodically commits state roots to main chain contract
- Users enter and exit using on-chain transactions
- Safety guarantee: Exit is always possible
---
# Operator Attacks
- Create invalid state: Fraud proofs
- Create unavailable state: ?
---
# Additional Issues
- Censorship
- Exit game limits expressability
---
# Roll-Ups
Same as Plasma, but different:
- Transactions are stored on-chain
- Safety guaranteed via fraud (optimistic) or validity (ZK) proofs
- Single operator replaced by group of relayers
- No exit game necessary
---
# ZK Roll-Ups
Pessimistic view
- Validity of state needs to be proven
- Proof usually zkSNARK
---
# Optimistic RU
Optimistic view
- Any state is accepted
- If proven to be invalid:
- State is rolled back
- Offending relayer is slashed
---
# ZK vs Optimistic
ZK Cons:
- Reliance on zkSNARKS
- Limited expressability
OR Cons:
- Slightly lower throughput
- No immediate exit
---
| Base Layer | Max Throughput [tx/s] |
| -------- | -------- |
| Eth 1 (pre Istanbul) | 0.25 k |
| Eth 1 (post Istanbul) | 1 k |
| Eth 2 Phase 1 | 100 k |
(theoretical limits)
---
# Disadvantages
Not too many!
- Throughput limited by layer 1
- Throughput limited by implementations
- Risk of centralization
- Ecosystem fragmentation
---
# ?!
{"metaMigratedAt":"2023-06-15T03:18:39.100Z","metaMigratedFrom":"Content","title":"Roll-Ups","breaks":true,"contributors":"[{\"id\":\"084434c9-f51d-4d37-8d44-90b1ba87d141\",\"add\":1606,\"del\":0}]"}