레이어2 -기초

Bora Lee
7 min readNov 28, 2023

--

레이어2는 이더리움의 기술적 단점을 극복하기 위해 탄생한 확장 솔루션을 일컫는 말입니다. 레이어2를 이해하려면 먼저 레이어1을 알아야 합니다.

출처: https://ethereum.org/ko/layer-2/

레이어1

부모 체인이라 불리는 레이어1은 레이어2의 기초가 되는 블록체인입니다. 보안과 탈중앙화에 중점을 둔 이더리움과 비트코인은 수많은 레이어2의 부모 체인 역할을 하므로 이 둘은 대표적인 레이어1 블록체인이라 할 수 있습니다.

  • 대표적인 레이어1: 이더리움, 비트코인

레이어2 탄생 배경

블록체인의 3가지 특징은 보안, 탈중앙, 확장성입니다. 그런데 이 세 가지 특징을 모두 완벽히 충족하는 블록체인은 존재하지 못합니다. 설계 시 적어도 하나의 특징을 희생해야 합니다. 안전하고 탈중앙화된 블록체인을 설계하려면 확장성을 희생해야 하는 식으로 말이죠.

이런 문제를 ‘블록체인 트렐레마(Trilemma)’라고 합니다.

레이어2 블록체인은 블록체인의 보안성과 탈중앙성을 유지하면서 속도와 확장성을 개선하기 위해 만들어진 솔루션입니다.

솔루션은 IT분야에서 자주 쓰는 용어로, 특정 문제를 해결하기 위해 개발된 제품, 서비스, 또는 제품과 서비스의 조합을 의미합니다.

비트코인이나 이더리움 같은 주요 레이어1 블록체인은 확장성에 한계가 있어 처리량이 적고 거래 수수료가 높은데, 이를 해결하기 위해 레이어2 솔루션이 등장하였습니다.

이더리움 메인넷은 초당 약 15~30건의 트랜잭션밖에 처리하지 못합니다. 반면에 전통적인 결제 처리 시스템을 가진 카드 회사들은 훨씬 더 높은 트랜잭션 처리 능력을 갖추고 있습니다. 예를 들어, 비자(Visa)의 경우 공식적으로는 초당 최대 24,000건 이상의 트랜잭션 처리 능력을 갖추고 있다고 발표하고 있으며, 실제 피크 타임에는 이보다 더 많은 트랜잭션을 처리할 수 있는 인프라를 가지고 있습니다.

레이어2 작동 방식

레이어2 블록체인은 부모 체인의 합의 메커니즘과 보안에 의존하면서 외부(레이어2)에서 트랜잭션을 처리해 레이어1 블록체인의 트랜잭션 처리 부담을 줄이는 방식으로 확장성을 개선합니다.

기존 체인 바깥에서 트랜잭션을 처리하기 때문에 레이어2를 ‘오프체인(off-chain)’솔루션이라 부르기도 합니다.

레이어2의 트랜잭션은 메인 체인이 아닌 곳에서 발생하기 때문에 주기적으로 레이어2 트랜잭션을 메인 블록체인으로 이동시켜야 합니다. 트랜잭션을 이동시킬 땐 검증과 확인이 필요한데, 레이어2 솔루션 설계 시 이 부분이 주안점이 됩니다.

메인체인과 레이어2 체인을 연결해 주는 통로를 브릿지(bridge) 혹은 채널(channel)이라 부릅니다.

다양한 확장 솔루션

현재 수많은 레이어2 확장 솔루션이 출시되었거나 개발 중인데, 레이어2 확장 솔루션은 크게 두 가지 전략을 기준으로 구분합니다.

1. 트랜잭션 실행(transaction execution)
2. 데이터 가용성(data availability)

트랜잭션 실행 전략은 트랜잭션 처리 방법, 트랜잭션 처리 위치 등을 다룹니다. 데이터 가용성 전략은 레이어2 솔루션에 있는 트랜잭션 데이터를 레이어1 체인에서 사용할 수 있는지 여부를 다룹니다.

롤업

롤업은 트랜잭션을 레이어2에서 실행하지만 트랜잭션 데이터를 요약된 형태로 레이어1에 게시하는 솔루션입니다. 롤업 과정을 “밀어 쑤셔 넣어 병합시키는(스쿼시 앤 머지)” 작업이라고 생각하면 쉽습니다. 롤업 솔루션을 사용하면 계산을 오프체인으로 옮길 수 있기 때문에 온체인에 더 많은 공간을 확보할 수 있다는 장점이 있습니다.

‘데이터 가용성’은 롤업에서의 핵심적인 개념 중 하나입니다. 데이터 가용성은 레이어2 솔루션에서 처리된 트랜잭션 데이터가 레이어1 블록체인에서 충분히 사용 가능하고 검증 가능한 형태로 저장되어야 함을 의미합니다.

레이어1 블록체인에서 데이터의 완전성과 투명성을 유지하면서 레이어 2에서의 처리 효율성을 보장하는 데 데이터 가용성은 필수적입니다.

롤업은 레이어 1에 입금, 출금, 증명 확인(verifying proof)을 담당하는 스마트 컨트랙트 세트를 배포하는 방식으로 작동합니다. 여기서 증명 확인 방법에 따라 롤업의 유형이 갈리는 데, 낙관적 롤업(optimistic rollup)과 영지식(Zero-Knowledge, ZK) 롤업이 대표적입니다.

낙관적 롤업

낙관적 롤업에서는 일괄 처리한 트랜잭션 데이터 묶음을 메인 체인으로 옮겨 추가할 때, 트랜잭션 데이터 묶음을 유효하다고 추정합니다(‘낙관적’이라는 이름이 붙은 이유).

그런데 낙관적 롤업에선 이론적으로 누구든 체인에 옮긴 데이터 묶음에 상태 전환을 일으키는 잘못된 데이터가 포함되어 있다는 이의(데이터 유효성에 대한 이의)를 제기할 수 있습니다. 이 이의 제기를 사기 증명(fraud proof)이라 부릅니다. 사기 증명 시, 제출한 증거가 유효한 경우엔 유효하지 않은 상태 전환은 롤백(roll back, 취소) 됩니다. 아무도 트랜잭션에 이의를 제기하지 않으면 해당 트랜잭션은 메인 체인에 추가됩니다.

낙관적 롤업에선 사용자에게 트랜잭션에 이의를 제기할 충분한 시간을 주기 위해 레이어2에 트랜잭션이 게시되고, 메인 체인에 관련 데이터가 추가 될 때까지 보통 며칠에서 길게는 일주일까지 대기 시간을 갖습니다. 이 기간에는 자금을 메인 체인으로 인출할 수 없습니다.

낙관적 롤업선 이의 제기가 발생한 경우, 메인 체인이 항상 잠재적 블록에서 트랜잭션의 진위 여부를 확인할 수 있다는 점이 중요합니다. 다만 검증에는 연산이 필요하기 때문에 진위 여부 확인시 수수료가 발생합니다.

낙관적 롤업에서 검증과 수수료

그렇다면 낙관적 롤업에선 악의적인 행위자가 롤업 네트워크에 잘못된 트랜잭션을 보내거나 사기 증명 검증 절차를 무효화 하는 걸 어떻게 막을까요? 그리고 레이어1에서 트랜잭션을 검증하는 데 필요한 자금은 어디서 조달할까요? 이 질문에 답하려면 세 가지 추가 개념이 필요합니다.

  • 제안자(asserter): 메인 체인에 트랜잭션 증명을 게시하여 트랜잭션의 유효성을 주장하려는 사용자
  • 도전자(challenger): 제안자가 게시한 증거가 사기임을 증명하려는 사용자
  • 검증자(verifier): 증명을 검증하고 유효성을 확인하는 메인 체인 상의 스마트 컨트랙트

제안자는 트랜잭션 블록을 제안하기 위해 보통 이더리움의 형태의 채권을 제공합니다. 도전자 역시 채권(보통 이더리움)를 제공해야 제안자의 제안에 도전을 할 수 있습니다. 검증자는 메인 체인에서 트랜잭션을 검증합니다.

검증 과정에서 제안자의 제안이 사기로 판명되면, 제안자는 채권의 일부를 잃게 됩니다. 검증자는 검증을 처리한 대가로 제안자 채권의 일부를 받고, 도전자는 사기를 발견한 보상으로 제안자 채권의 또 다른 일부를 받습니다.

제안자가 사기가 아닌 것으로 판명되면 도전자는 채권의 일부를 잃게 됩니다. 검증자는 이전과 같이 검증을 처리한 대가로 도전자 채권의 일부를 받고, 제안자도 도전자 채권의 일부를 보상으로 받게 됩니다.

영지식 롤업

ZK는 ‘Zero Knowledge(영지식)’의 약자로, 영지식 증명을 사용하면 한 당사자(증명자, prover)가 다른 당사자(검증자, verifier)에게 특정 진술이 사실임을 증명할 때 증명자는 진술이 사실이라는 사실 외에는 추가적인 정보를 전달하지 않아도 된다는 특징이 있습니다.

영지식 롤업에서는 검증을 수행하는 개인이 없습니다. 대신, 메인 체인에 추가할 새로운 롤업 트랜잭션 묶음을 제안하는 모든 사람이 이에 대한 영지식 증명을 구성합니다. 이렇게 하면 메인 체인에 트랜잭션을 추가하는 것을 제어하는 스마트 컨트랙트가 자동으로 데이터를 검증할 수 있습니다. 따라서 낙관적 롤업과 달리 ZK 롤업은 도전자 역할이 없으며, 메인 체인에 게시되는 모든 증명은 게시 시점에 검증됩니다.

낙관적 롤업과 비교했을 때 이론적으론 ZK 롤업이 훌륭해 보이지만, ZK 롤업은 낙관적 롤업 대비 구축 난도가 상당히 높고 범용 ZK 롤업은 아직 실현조차 안 된 이상적인 기술입니다. 이와는 대조적으로, 이더리움에 완전히 범용적으로 호환되는 낙관적 롤업은 이미 다양하게 출시 중입니다.

참고: Learn Web3 DAO, 이더리움 재단 글

--

--