Layer 2

지슈·2023년 2월 18일
0

Blockchain

목록 보기
5/9

: 누구보다 빠르게 남들과는 다르게, 레이어2 솔루션

출처|https://medium.com/dsrv/누구보다-빠르게-남들과는-다르게-레이어2-솔루션-632981a07a83

블록체인의 확장성 문제

블록체인의 확장성

: 블록체인이 트랜잭션을 얼마나 많이, 빠르게 처리할 수 있는가

블록체인에 포함될 수 있는 트랜잭션은 각 트랜잭션의 가스비(Gas Fee)의 크기에 따라 결정된다. 트랜잭션의 가스비↑ , 트랜잭션의 수↓

이더리움 등, 일부 체인의 경우 가스비가 높은 순으로 트랜잭션이 처리되기 때문에 가스비를 높이는 경쟁이 일어나게 되고 이 때문에 블록체인의 사용량이 많아질수록 속도가 느려지고 비용이 비싸지게 된다.

위 그래프에서 볼 수 있듯이, 2020년 6월 경부터 이더리움의 디파이 서비스들이 유행하면서 사용자와 트랜잭션의 수가 급증하였고, 가스비도 매우 높아졌다.

→ 확장성 문제가 대두되기 시작

▶︎ 확장성 트릴레마

: 이더리움의 설립자 비탈릭 부테린(Vitalik Buterin)이 소개한 개념

왜 블록체인을 빠르게 만드는 것이 어려운지 설명

블록체인의 탈중앙성, 확장성, 보안성의 3가지 속성을 한 번에 만족시키기 매우 어렵다는 개념.

이 트릴레마 중 확장성을 개선하는 것이 주요한 과제로 자리를 잡았고,

확장성 솔루션(Scaling Solutions)이 다양하게 제안되기 시작했다.

다양한 확장성 솔루션 중, ‘레이어2 솔루션’이란…?

레이어2 솔루션이 무엇인가

확장성 솔루션은 온체인(on-chain, 체인 내부) 솔루션과 오프체인(off-chain, 체인 외부) 솔루션으로 분류 가능하다.

  • 온체인 솔루션

블록체인 자체의 트랜잭션 처리 능력을 높이는 것.

대표적으로 노드를 더 작은 샤드로 나누어 트랜잭션을 병렬처리하는 샤딩(Sharding)이라는 방법이 있다.

  • 오프체인 솔루션

블록체인 외부에서 트랜잭션을 대신 처리하는 방법.

  • 사이드체인(Sidechain) - 자체적 보안성을 갖춘 개별적인 블록체인을 구성하여 처리

자체적인 합의 알고리즘과 검증인을 구성하여 유효성 검증

  • L2 솔루션 - 확장성 개선 대상의 블록체인을 지칭하는 레이어1(L1)의 보안을 차용

오프체인에서 트랜잭션 처리 후 다시 L1에 기록하기 때문에 L1의 보안성을 차용

온체인 솔루션보다 오프체인 솔루션인 L2는 단기간 내에 L1의 확장성을 개선할 수 있기 때문에 L2 솔루션의 관심이 커지고 있다.

→ 상태 채널(State Channels), 플라즈마(Plasma), 롤업(Rollups), 밸리디움(Validium) 등

상태 채널(State Channel)

: 두 거래 당사자 간에 생성되는 채널을 통해 서로 즉각적이고 저렴하게 거래를 할 수 있는 솔루션

채널 : 거래 당사자들의 서명으로 관리되는 다중서명(MultiSig) 계정

→ 참여자들의 잔액 관리, 자금이 사용될 수 있는 조건을 정의하는 스마트 컨트랙트

사용자들은 채널을 열기 위해 L1의 스마트 컨트랙트에 자금을 예치하고, 채널을 닫을 때에 가장 최신의 메세지를 L1의 트랜잭션으로 제출하여 정산하고 자금을 돌려받는다.

채널을 열고, 닫을 때에만 L1에서 트랜잭션이 발생하고 그 외의 거래들은 오프체인에서 이뤄지기 때문에 빠르고 저렴하게 거래들을 처리할 수 있다.


모든 상태 변화에 대해 당사자의 서명이 필요하기 때문에 모든 참여자가 온라인 상태일 때만 거래를 할 수 있다는 단점. 또한 스마트 컨트랙트 사용이 제한적이라는 한계.

그러나, 소액 반복 거래와 같은 특정 상황에서는 효과적으로 사용가능하다.

플라즈마(Plasma)

: L1의 외부인 플라즈마 체인(L2)에서 다수의 트랜잭션을 실행한 후, L1에 배포해둔 스마트 컨트랙트에 플라즈마 체인의 상태를 요약한 머클트리의 루트(스테이트 루트, State root)만을 업데이트하는 방식.

자식 체인인 플라즈마 체인의 정보가 부모 체인인 L1에 스마트 컨트랙트와 머클트리를 사용하여 저장되고, 계층적인 트리 구조로 생성된다.

플라즈마 체인의 운영자(Operator)들은 트랜잭션을 실행, 스테이트 루트를 L1에 전달하고, 실행한 트랜잭션의 데이터를 플라즈마 체인에 저장한다. 즉, 오프체인에 트랜잭션 데이터를 저장한다는 것은 L1의 저장공간을 절약하여 확장성을 높인다는 것이고 저렴한 수수료로 거래를 처리할 수 있다는 것이다.

사용 방법

: L1에 배포되어있는 ‘플라즈마 스마트 컨트랙트’에 자금을 예치하여 플라즈마 체인으로 자금을 입금받기 (플라즈마 체인을 그만 사용할 거면, 탈출(Exit)과정을 수행)

▶︎ 데이터 가용성(Data Availability) 문제

플라즈마 방식에서는 데이터가 오프체인에 저장되기 때문에 운영자를 통해 데이터에 접근해야 되고, 의도적으로 잘못된 데이터를 제공하는 block-withholding 문제가 발생할 수 있다.

이렇게 블록이나 거래를 검증할 때 증거를 만들기 위해 필요한 거래 정보에 접근할 수 없는 문제를 데이터 가용성(Data Availability)문제라고 한다.

→ 따라서 플라즈마 체인의 사용자들은 운영자들이 만드는 데이터의 생성 과정을 지켜봐야 한다.

플라즈마의 고유한 한계들로 인해, 새로운 확장성 솔루션인 롤업(Roll-up)에 대한 관심이 높아지게 되었다.

롤업(Roll-up)

: L2에서 트랜잭션 실행 후, 실행한 트랜잭션 데이터들의 요약본과 변경된 상태를 L1에 저장하는 솔루션.

플라즈마와 유사하게 실행되는 트랜잭션의 상태는 L1에 배포된 스마트 컨트랙트로 관리한다. L1 상의 롤업 컨트랙트에는 롤업 체인 상 계정 상태의 요약본인 스테이트 루트가 저장되어 있고, 롤업 체인에서 트랜잭션이 실행되면 특정 계정의 잔고(Account Balance)가 바뀌고 따라서 스테이트 루트 또한 바뀐다.

▶︎ 데이터 가용성 문제의 해결

플라즈마 체인에 비해 롤업 체인에서는 상태 변경을 요청할 때 트랜잭션을 실행한 결과와 요약된 트랜잭션 데이터 자체를 L1에 보관하여 유효성 검증을 할 수 있게끔 하였기 때문에 데이터 가용성 문제를 해결했다.

롤업에서도

  1. 운영자(또는 시퀀서)의 노드가 사용자들의 트랜잭션의 순서를 정하여 실행 및 저장하여 롤업 체인의 상태를 업데이트 하여 블록을 생성한다.

  2. 운영자는 L1에 기록된 롤업 체인의 상태를 변경하기 위한 정보의 묶음인 ‘batch’를 L1의 롤업 컨트랙트에 보낸다 .

    → batch에는 이전 롤업 상태의 스테이트 루트값, 변경된 롤업 상태의 스테이트 루트값, 블록에서 실행된 트랜잭션 데이터의 요약본이 담겨있다.

  3. 요청받은 롤업 컨트랙트는 저장된 스테이트 루트와, batch에 포함된 롤업 체인의 이전 상태 스테이트 루트가 일치하는지 확인 후, 일치한다면 기존에 저장된 스테이트 루트를 새로운 스테이트 루트로 교체한다.

롤업 체인에서 batch로 제출하는 트랜잭션 데이터에는 압축 트릭이 사용된다. 트랜잭션 데이터들이 압축되면 압축된 트랜잭션 데이터들은 콜데이터(calldata) 형태로 L1에 저장된다.

콜데이터 형태로 저장이되면 보다 적은 비용으로 데이터를 저장할 수 있고, 트랜잭션을 처리하는 효율이 증가하여 빠른 거래를 가능하게 한다.

→ 그러나, 이렇게 데이터 가용성 문제를 해결했다고 해도 기본적으로 모든 트랜잭션 데이터를 L1에 저장한다는 것은 플라즈마에 비해 확장성을 일부 희생했다고 볼 수 있다.

▶︎ 롤업의 종류

: 트랜잭션의 유효성을 증명하는 방식에 따라 옵티미스틱(Optimistic) 롤업ZK(Zero-Knowledge) 롤업으로 구분된다.

  • 옵티미스틱(Optimistic) 롤업

플라즈마와 같이 사용자 혹은 제3자가 온체인 데이터를 바탕으로 사기 증명을 제출하여 이를 수행하기 위한 지연 시간이 존재함

  • ZK(Zero-Knowledge) 롤업

영지식 증명이라는 암호학적 방법으로 트랜잭션들에 대한 “유효성 증명(Validity Proof)”을 batch와 함께 제출한다. 별도의 지연 기간을 필요로 하지 않는다.

밸리디움(Validium)

: ZK 롤업과 유사하게 영지식 증명을 통해 트랜잭션의 유효성을 검사하지만 플라즈마처럼 트랜잭션 데이터를 온체인에 저장하지 않는 솔루션.

→ ZK 롤업보다 높은 확장성, 데이터 가용성 문제가 다시 발생

따라서, 밸리디움의 운영자로 구성된 DAC(데이터 가용성 위원회)와 같은 조직을 두어서 데이터 제공에 대한 최소한의 장치를 마련한다.

정리

데이터를 저장하는 장소가 온체인(L1)인지 오프체인(L2)인지에 따라 데이터 가용성 문제의 유무.

온체인 데이터 가용성은 운영자들이 악의적으로 사용자의 자금을 동결할 수 없음을 보장함

이더리움에서는 L2가 점차 대중화되면서 L2의 운영자에 대한 신뢰를 최소화하고 데이터 가용성 문제를 해결할 수 있는 롤업(그 중에서도 옵티미스틱 롤업)이 가장 많이 채택된다.

profile
공댕이😎_블체

0개의 댓글