> For the complete documentation index, see [llms.txt](https://whs3-doge5k.gitbook.io/smartcontract-security-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://whs3-doge5k.gitbook.io/smartcontract-security-docs/advanced/2-layer-2-l2.md).

# 레이어2 솔루션 (Layer 2, L2)

### 레이어2 솔루션이란? <a href="#undefined" id="undefined"></a>

확장성(Scalability)은 블록체인이 얼마나 많은 트랜잭션을 처리할 수 있는지를 나타낸다. 블록체인 사용자가 많아질수록 보안성과 탈중앙화는 강화되지만, 확장성은 떨어지게 된다. 이런 문제를 해결하기 위해 설계된 별도의 레이어가 레이어2 솔루션이다.

이더리움 메인넷은 현재 약 15 TPS(Transaction Per Second)을 유지하고 있다. 한편, Visa는 2024년 기준 평균 1,781 TPS  를 유지하고 있다. 이렇듯 높아진 가스비와 네트워크 혼잡으로 느려진 이더리움 TPS를 사용자가 만족할 만큼 높이는 것이 레이어2 솔루션의 목표라고 할 수 있다.

&#x20;출처[^1]

<figure><img src="https://2462457462-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLf9vwRuaws92ULgGvzTi%2Fuploads%2FVgn1HiVb4eryn3MCVeYL%2Fimage.png?alt=media&amp;token=e811e005-8fb7-4e01-b1bb-7f49456deb0b" alt=""><figcaption><p>[출처] <a href="https://chainspect.app/chain/ethereum?range-tc=quarter">https://chainspect.app/chain/ethereum</a></p></figcaption></figure>

이더리움 네트워크는 메인 체인이며, 이 메인넷을 레이어1 이라고 한다. 이 체인에서 발생하는 모든 트랜잭션은 온체인(On-chain)으로 처리되고, 그 외의 트랜잭션은 오프체인(Off-chain)으로 처리된다.

레이어2의 핵심 전략은 대량의 트랜잭션 실행을 혼잡한 레이어1의 외부, 즉 오프체인에서 처리하고, 그 결과값이나 압축된 데이터만을 레이어1에 기록하는 것이다. 트랜잭션을 처리하는 전략에 따라 사이드체인, 상태채널,  롤업 등 여러 종류로 나뉜다.

<figure><img src="https://2462457462-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLf9vwRuaws92ULgGvzTi%2Fuploads%2Fec4zPL6aglpO0LACMGeK%2Fimage%20(19).png?alt=media&amp;token=69127fc9-6807-42af-b881-75e0849a1a5e" alt=""><figcaption><p>[출처] <a href="https://xangle.io/research/detail/453">https://xangle.io/research/detail/453</a></p></figcaption></figure>

***

### 롤업(Rollups)

롤업은 현재 가장 지배적인 레이어2 솔루션이다. 롤업의 근본적인 혁신은 레이어2에서 수백, 수천 개의 트랜잭션을 실행한 후, 이를 **하나의 묶음(Batch)으로 '말아 올려(Roll up)'** 압축된 요약 데이터만을 레이어1에 게시하는 것이다. 트랜잭션을 게시 할 때 유효성을 증명하는 전략에 따라 옵티미스틱 롤업과 영지식 증명 롤업으로 나눈다.

#### **1. 옵티미스틱 롤업(Optimistic Rollup)**

#### 핵심 원칙

* 옵티미스틱 롤업은 레이어2에서 처리된 트랜잭션 배치가 유효하다고 '낙관적으로(optimistically)' 가정하고, **별도의 즉각적인 증명** 없이 새로운 상태 루트(State Root)를 레이어1에 게시한다. 이후, 아래와 같은 과정으로 유효성을 증명한다.
* **사기 증명(Fraud Proof) 시스템:** 보안을 보장하기 위해, 상태 루트가 레이어1에 제출된 후 약 7일간의 **'이의 제기 기간(Challenge Period)'**&#xC774; 존재한다. 이 기간 동안 누구나 제출된 데이터의 유효성에 의문을 제기하고, 오류를 발견하면 '사기 증명'을 제출하여 이의를 제기할 수 있다.
* **7일의 이의 제기 기간:** 만약 이 기간 내에 유효한 사기 증명이 제출되면, 부정 거래는 취소되고, 악의적인 행위자(잘못된 배치를 제출한 시퀀서)는 담보로 예치한 자산을 몰수당하는 페널티를 받는다. 이 대기 시간은 옵티미스틱 롤업에서 레이어1으로 자금을 인출하는 데 오랜 시간이 걸리는 주된 이유다.

#### 장점

**확장성 및 비용.** 옵티미스틱 롤업은 ZK 계산을 해야 하는 ZK 롤업보다 상대적으로 더 가볍고, 낮은 트랜잭션 비용으로 인해 더 널리 퍼져있다.

#### **2. 영지식 증명 롤업(ZK-Rollup)**

#### 핵심 원칙

* 옵티미스틱 롤업과 대조적으로, ZK 롤업은 영지식 증명 기술을 사용하여 모든 트랜잭션 배치의 유효성을 **'사전적으로 증명'**&#xD55C;다. 영지식 증명은 '증명자(Prover)'가 '검증자(Verifier)'에게 거래 당사자와 같은 특정 정보의 내용 자체는 노출하지 않으면서 그 정보가 사실이라는 것만을 증명할 수 있게 하는 암호학적 기법이다. 영지식 증명의 자세한 내용은 이[ 링크](/smartcontract-security-docs/basics/undefined/zero-knowledge-proof-zkp.md)를 참고하면 된다.&#x20;
* &#x20;ZK 롤업의 맥락에서, 레이어2 운영자는 배치에 포함된 모든 트랜잭션의 무결성을 보증하는 암호학적 증명(예: ZK-SNARK 또는 ZK-STARK)을 생성한다. 이후, 이 ZK 증명은 레이어1의 검증자 스마트 컨트랙트에 제출된다.&#x20;

#### 장점

&#x20;**즉각적인 최종성(Finality).** 레이어1 컨트랙트가 ZK 증명을 검증하는 순간, 해당 트랜잭션들은 최종적으로 확정된다. 유효성이 수학적으로 즉시 증명되기 때문에, 옵티미스틱 롤업과 같은 **긴 이의 제기 기간이 필요 없으며**, 이는 자금 인출이 훨씬 더 빠르다는 것을 의미한다.

\[출처][GMB\_VgM옵티미스틱 롤업 vs. 영지식(ZK) 롤업: 비교하기](https://medium.com/gmb-research/%EC%98%B5%ED%8B%B0%EB%AF%B8%EC%8A%A4%ED%8B%B1-%EB%A1%A4%EC%97%85-vs-%EC%98%81%EC%A7%80%EC%8B%9D-zk-%EB%A1%A4%EC%97%85-%EB%B9%84%EA%B5%90%ED%95%98%EA%B8%B0-463b2b2d58ce)

***

### 상태 채널(State Channels)

상태 채널은 참여자들이 다수의 트랜잭션을 오프체인에서 직접 주고받을 수 있도록 하는 기술이다. 온체인에는 단 두 개의 트랜잭션만 기록되는데, 하나는 채널을 열기 위해 자금을 스마트 컨트랙트에 예치하는 것이고, 다른 하나는 채널을 닫고 최종 잔액을 정산하는 것이다. 상태 채널은 소액 결제, 중간 상태/잔액, 그리고 오프체인에서의 진위 여부를 추적한다. 모든 중간 거래는 참여자들 간에 오프체인에서 직접 교환되므로 극도로 빠르고 저렴하다. 비트코인의 라이트닝 네트워크가 잘 알려진 예시다.

<div align="left" data-full-width="false"><figure><img src="https://2462457462-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLf9vwRuaws92ULgGvzTi%2Fuploads%2FGfVt72TAzR9yus9obr2x%2Fimage%20(20).png?alt=media&amp;token=1209f6aa-7d8f-4c9f-9ec9-4b41952ee962" alt=""><figcaption></figcaption></figure></div>

​\[출처] [Blockchain PatternsPayment Channel (aka., State Channel) - Blockchain Patterns](https://research.csiro.au/blockchainpatterns/general-patterns/blockchain-payment-patterns/payment-channel/)

***

### 사이드체인(Sidechain)

사이드체인은 이더리움과 같은 메인넷과 나란히 실행되는 독립적인 블록체인이다. 두 체인은 자산 이동을 위한 양방향 브릿지(two-way bridge)로 연결된다. 진정한 레이어2와 달리, 사이드체인은 자체적인 합의 메커니즘(예: PoS)과 검증자 집단을 통해 스스로의 보안을 책임진다. 따라서 사용자의 자산은 사이드체인 검증자 집단의 정직성에 의존하게 된다. 하지만 이는 레이어1의 보안 속성을 상속받지 못한다는 것을 의미하기도 해 레이어1 보다 보안이 취약할 수 있다.

<figure><img src="https://2462457462-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLf9vwRuaws92ULgGvzTi%2Fuploads%2FpDMT9J69THoMihFx0NsT%2Fimage.png?alt=media&amp;token=50048ff3-944a-484d-8196-c5ea67067334" alt=""><figcaption></figcaption></figure>

\[출처] <https://crypto.com/kr/university/what-are-sidechains-scaling-blockchain>

***

### 플라즈마(Plasma)와 밸리디움(Validium)

#### **플라즈마**

레이어1에 플라즈마 체인의 상태를 요약한 머클트리의 루트(State root)만 게시하는 자식 체인(child chain)을 이용한 초기 확장성 프레임워크다. 각 플라즈마 체인에는 운영자(Operator)라는 역할이 존재해 트랜잭션 데이터들을 오프체인인 플라즈마 체인에 저장한다. 운영자들이 트랜잭션들을 검열하고, 악의적으로 자금을 탈취 및 동결할 위험성이 있어 데이터 가용성 문제와 복잡성으로 인해 현재는 롤업에 비해 인기가 줄었다.

#### **밸리디움**

ZK 롤업처럼 영지식 증명을 사용하여 거래 유효성을 검증하지만, 거래 데이터는 데이터 가용성 위원회(DAC)와 같은 신뢰 기반의 주체가 오프체인에서 관리하는 하이브리드 방식이다. ZK 롤업보다 더 높은 확장성과 낮은 수수료를 제공하지만, 플라즈마와 마찬가지로 데이터 가용성 문제가 발생해 추가적인 신뢰 가정을 필요로 한다.

\[출처] [Youngbin Park누구보다 빠르게 남들과는 다르게, 레이어2 솔루션](https://medium.com/dsrv/%EB%88%84%EA%B5%AC%EB%B3%B4%EB%8B%A4-%EB%B9%A0%EB%A5%B4%EA%B2%8C-%EB%82%A8%EB%93%A4%EA%B3%BC%EB%8A%94-%EB%8B%A4%EB%A5%B4%EA%B2%8C-%EB%A0%88%EC%9D%B4%EC%96%B42-%EC%86%94%EB%A3%A8%EC%85%98-632981a07a83)

​

출처

[^1]: <https://capitaloneshopping.com/research/number-of-credit-card-transactions/>&#x20;
