심화 · Layer 2
5장에서 본 것처럼, 이더리움은 전 세계 수천 개의 노드가 모든 트랜잭션을 똑같이 실행한다. 그 덕에 누구도 결과를 조작할 수 없다. 그런데 바로 그 설계가 족쇄가 된다. 네트워크 전체의 처리량이 노드 한 대의 처리량을 넘을 수 없는 것이다. 신용카드망이 초당 수만 건을 처리하는 동안, 이더리움 메인넷은 초당 십수 건을 처리한다.
❓ 이 챕터의 질문
메인넷의 한계: 보안과 처리량의 트레이드오프
이더리움 메인넷(Layer 1)의 처리량은 초당 십수 건 수준이에요. 느려서가 아니라 설계상 그래야 해서예요.
- 모든 노드가 모든 트랜잭션을 재실행해요(5장 EVM). 처리량을 올리려면 노드 사양을 올려야 하는데, 그러면 일반인이 노드를 못 돌리게 되고, 노드가 소수 데이터센터에 몰리면 1장에서 출발한 탈중앙화가 무너져요.
- 블록 공간이 희소하니 수요가 몰리면 수수료가 치솟아요. 5장에서 본 Base Fee가 혼잡도에 따라 올라가는 구조 그대로예요. 혼잡기에는 송금 한 건에 수십 달러가 들기도 했어요.
그래서 방향을 바꿨어요. 메인넷을 키우는 대신, 실행은 밖에서 하고 검증의 뿌리만 메인넷에 내리는 거예요. 이게 Layer 2예요.
Rollup: 밖에서 실행하고, 증거를 메인넷에 올린다
현재 주류 Layer 2 방식은 Rollup이에요. 공통 구조는 이래요.
- 사용자들의 트랜잭션을 L2에서 실행해요(빠르고 싸게).
- 수백~수천 건을 하나로 압축해 묶음(배치)으로 메인넷에 기록해요.
- 메인넷은 개별 거래를 재실행하는 대신, 그 묶음이 올바르다는 증거만 확인해요.
수수료가 수백 분의 일로 떨어지는 이유가 여기 있어요. 메인넷 블록 공간 하나를 수천 명이 나눠 쓰는 셈이거든요. 데이터는 메인넷에 기록되니까, L2 운영자가 사라져도 사용자는 메인넷 데이터로 자산을 복구할 수 있어요. 보안의 뿌리는 여전히 L1인 거죠.
남는 질문은 하나예요. "그 묶음이 올바르다"는 걸 메인넷이 어떻게 믿나? 이 질문에 대한 두 가지 답이 Optimistic과 ZK예요.
Optimistic Rollup: 일단 믿고, 거짓이면 처벌한다
이름 그대로 "낙관적으로(Optimistic)" 출발해요. L2 운영자가 거래 묶음을 메인넷에 올리면, 메인넷은 그 내용을 일일이 다시 계산해보지 않아요. 일단 맞다고 믿고 받아들여요. 대신 "혹시 틀렸으면 이 기간 안에 이의를 제기하라"며 일정 기간(보통 7일)을 열어둬요.
그러면 거짓은 어떻게 걸러질까요?
- L2를 지켜보는 감시자가 있어요. 특정 자격이 필요한 게 아니라 누구나 될 수 있어요. 운영자가 거짓 결과를 올리면, 감시자가 "이 부분이 틀렸다"는 증거를 메인넷에 제출해요. 이걸 사기 증명(Fraud Proof) 이라고 해요.
- 그러면 메인넷이 문제가 된 그 부분만 직접 다시 실행해서 진위를 가려요. 거짓으로 판명되면, 운영자가 미리 맡겨둔 예치금을 몰수하고 잘못 올라간 결과를 되돌려요.
3장에서 본 PoS의 Slashing과 똑같은 원리예요. 속여서 버는 돈보다 걸렸을 때 잃는 돈을 더 크게 만들어 두면, 합리적인 운영자는 아예 속이지 않아요. 감시자가 한 명이라도 정직하면 거짓은 막히고요.
대표 사례가 Arbitrum, Optimism, Base예요. 특히 Base는 미국 상장 거래소 Coinbase가 운영하는 체인이라, 기관이 Layer 2를 실제 서비스 인프라로 쓰는 대표 사례로 꼽혀요.
약점은 출금이 느리다는 거예요. 앞서 열어둔 이의 제기 기간(보통 7일)이 끝나야, L2에서 L1으로 자산을 빼내는 게 확정돼요. 그 기간에는 아직 결과가 뒤집힐 수 있으니 기다려야 하는 거예요.
ZK Rollup: 수학으로 즉시 증명한다
두 번째 답은 프라이버시 챕터에서 본 영지식증명을 여기에 가져오는 거예요. 영지식증명은 "내용을 다 보여주지 않고도, 어떤 사실이 참이라는 걸 수학적으로 증명"하는 기술이었죠. 이걸 L2에 적용하면 "이 거래 묶음을 규칙대로 정확히 처리했다"는 걸 증명할 수 있어요. 이 증명을 유효성 증명(Validity Proof) 이라고 해요.
그래서 ZK Rollup은 묶음을 메인넷에 올릴 때 이 유효성 증명을 함께 올려요. Optimistic이 "일단 믿고 나중에 따진다"였다면, ZK는 "맞다는 걸 증명해서 올린다"인 셈이에요.
- 메인넷에는 이 증명을 확인하는 전용 컨트랙트가 있어요. 거래를 하나하나 다시 실행하는 게 아니라, 제출된 증명이 맞는지만 검사하죠. zk-SNARK라는 방식 덕에 이 검사가 아주 작고 빨라서, 수천 건을 처리했어도 증명 하나만 확인하면 끝이에요.
- 핵심은 거짓인데 통과하는 증명을 수학적으로 만들 수 없다는 점이에요. 그래서 Optimistic 같은 이의 제기 기간이 아예 필요 없어요. 증명이 통과되는 순간 곧바로 확정되고, 출금도 기다릴 필요가 없죠.
| Optimistic Rollup | ZK Rollup | |
|---|---|---|
| 정직함의 근거 | 경제적 (사기 증명 + 예치금 몰수) | 수학적 (유효성 증명) |
| 확정 시점 | 이의 제기 기간 후 (통상 7일) | 증명 검증 즉시 |
| 증명 생성 비용 | 없음 (분쟁 시에만 계산) | 높음 (매 배치마다 증명 생성) |
| EVM 호환성 | 높음 (기존 코드 거의 그대로) | 빠르게 개선 중 (zkEVM) |
| 대표 사례 | Arbitrum, Optimism, Base | zkSync, Linea, Scroll, Polygon zkEVM |
대신 ZK에도 그동안 약점이 있었어요. 매번 이 증명을 만드는 데 계산이 많이 들고, 기존 이더리움 코드(EVM)를 그대로 돌리기가 어려웠거든요. 하지만 EVM을 그대로 지원하는 zkEVM 기술이 이 격차를 빠르게 좁히고 있어요. 기다림 없이 바로 확정된다는 장점이 크기 때문에, 장기적으로는 ZK 쪽이 점점 더 주목받고 있어요.
핵심 요약
| 개념 | 역할 |
|---|---|
| Layer 1 (메인넷) | 보안과 최종 확정의 뿌리. 처리량은 제한적 |
| Layer 2 | 실행을 밖으로 빼고 검증 뿌리만 L1에 내린 확장 레이어 |
| Rollup | 트랜잭션을 묶어 L1에 기록 + 올바름의 증거 제출 |
| Fraud Proof | 일단 믿고, 거짓일 때 반박하는 사후 증명 (Optimistic) |
| Validity Proof | 제출 시점에 올바름을 수학적으로 증명 (ZK) |
📚 참고자료 보기
- ethereum.org: Layer 2: L2 공식 개요 (한국어)
- ethereum.org: Optimistic rollups: 사기 증명 구조 상세
- ethereum.org: Zero-knowledge rollups: 유효성 증명 구조 상세
- L2BEAT: 운영 중인 L2들의 TVL·보안 가정 비교 대시보드