ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 이더리움 L2와 롤업
    블록체인/이더리움 2024. 5. 15. 22:24

    이더리움 블록체인 자체에서 거래 속도와 저렴한 수수료 등의 문제를 해결하기 힘들었다. 현재는 블록체인의 기능 중 일부를 다른 블록체인에 맡기는 모듈러 블록체인 형태로 나아가고 있다.

     

     

    모듈들을 구성하는 체인들 중 근본 인프라로써 최종 보안을 담당하는 것은 이더리움이다. 이더리움은 레이어 1 이라고 부르며 '거래 확정' (Settlement)을 담당한다.

     

     

     

    ...

     

     

    비탈릭은 2020년 10월 롤 업 중심의 이더리움 로드맵을 발표하였다. 롤 업 중심 로드맵 이전과 이후에도 다른 기능을 담당하는 레이어2 로써 롤 업 이외에 다양한 방식들이 많이 제시되었다.

     

     

    온체인 방식으로는 '샤딩', 오프체인 방식으로는 '사이드 체인, 스테이트 채널, 밸리디움, 플라즈마, 롤업'이 있다.

     

     

    대표적으로 폴리곤은 플라즈마 기술을 이용한 사이드체인으로서의 오프체인 해결책이다. 

     

     

    다양한 방식들 중에서 '오프체인에서의 거래 데이터 저장 여부, 저장 방식'에 따라서 다른 이름들의 기술들이 나뉘게 되었다.

     

     

    ...

     

     

    롤 업이란, 확장성을 높이기 위한 오프체인 해결책이다. 롤 업 체인이라는 외부 체인에서 수백 개의 트랜잭션을 말아서 한 개의 트랜잭션으로 만든다. 그리고 이더리움에 저장하는 방식이다. 

     

     

    이더리움 메인넷에서 블록체인의 모든 기능들을 전부 소화하는 것이 아니라 '연산의 실행(Execution)'을 이더리움 메인넷 '외부'에서 소화한다. 

     

     

    레이어2에서 스마트 컨트랙트를 EVM 이 직접 실행을 한다. 실행 전부터 실행 후에 변화하는 결과 값을 레이어2 EVM 에서 계산하는 것을 롤업 체인이라 한다. 

     

     

    롤업 체인의 가장 주된 기능은 수 백개의 데이터를 말아서 결과 값을 이더리움 블록체인 안으로 가져오는 역할을 한다. 그리고 기록할 때에는 한 개의 트랜잭션에 말아 올린다.

     

     

    이더리움 블록체인의 저장 공간엔 storage, call data 등 여러 개가 있다. 덴쿤 업그레이드 이 전, 롤업체인은 call data 형식으로 저장한다. call data 는 다른 저장 공간에 비해 조금 더 저렴한 저장 공간이다. 

     

     

    덴쿤 업그레이드 이 후 프로토 댕크샤딩(EIP 4844)을 통해 blob 이라는 저장 공간을 쓰게 된다. Call data 대신 blob 에 롤업 결과 값을 저장하게 되면 비용이 더 저렴해 진다. 

     

     

    ...

     

     

    확장성 해결에 온체인 방식인 샤딩이 제안되었는데, 롤업 등장 이후 샤딩의 기능은 축소되었다.

     

     

    원래 샤딩은 데이터 '처리'와 데이터 가용성, 즉 '저장' 둘 다 하던 것이였는데, 롤업이 처리(Execution)를 담당하게 되면서 샤딩은 저장 기능만 담당하게 되었다. 

     

     

    이 마저도 현실 컴퓨터 기술상 실현 가능하지 않아,  샤딩 기능을 축소하여 '프로토 댕크샤딩'에서는 blob 이라는 데이터 공간이 새로 탄생하게 된다. 

     

     

    덴쿤 업그레이드 후 롤업에 대한 결과값의 저장이 call data 에서 blob 에도 저장할 수 있게 되었다.

     

     

    추가로 롤업은 한 가지 기능을 더 하고 있다. Execution (처리) 전에 절차로서 Consensus 즉 어떤 거래를 먼저 처리할지 순서도 정해야 한다. 연산이 주된 기능이지만 연산 전에 어떤 거래들을 연산할 것인지 순서를 정하는 합의 기능 역시도 담당한다. 

     

     

    여기까지가 롤업체인이 담당하는 기능이다.

     

     

    ..

     

     

    롤 업이 수백 개의 데이터를 한꺼번에 모아서 하나의 트랜잭션으로 이더리움 메인넷에 저장하는데 이것이 어떤 의미일까.

     

     

    롤 업을 적용하고 있는 아비트럼 체인의 경우에 상정해서 비교해보자. 롤업 체인이 있고, 없을 때 이더리움 블록에 담기 위해서 사용하는 가스비 비교해보자. 

     

     

    1) 롤업이 없는 경우

     

    합의, 실행, 데이터 가용성, 확정 모두를 이더리움 블록체인에서 담당한다.

     

    2) 롤업이 있는 경우 (아비트럼)

     

    '합의와 실행' 즉, 거래 순서를 정하고 거래들을 가상머신이 연산하는 과정이 롤 업 체인에 의해 이루어진다. 거래의 확정 그리고 확정된 거래의 저장(가용성)은 이더리움에서 진행한다.

     

     

    롤 업 체인 (아비트럼) 실행이 완료된 결과 값으로서의 데이터를 이더리움에 저장한다. 이 때 모든 것들을 전부 저장하는 것은 아니며 압축된 형태로 저장한다. 

     

     

     

    ..

     

     

    위 내용을 이해하려면 이더리움의 가스비 구조를 알아야 한다. 스마트 컨트렉트가 얼마나 복잡한지, 저장할 데이터들이 얼마나 긴지에 따라서 GAS 값이 올라간다. 

     

     

    가장 기본적인 이더리움 전송에 21,000 가스가 필요하다. 

     

     

    롤업과 관련한 가스비 비교는 단순화해서 전송만 관련된 트랜잭션만 가지고 비교해보자. 

     

     

    롤 업 체인이 거래 두 건을 말아 올리는 경우를 전제하고, 롤업이 여부에 따라 어느정도의 가스비가 차이가 나는지 살펴보자. 

     

     

    1) 롤 업을 사용하지 않을 때

    (이더리움에서 네 가지 기능을 전부 다 할  )

     

    tx 1) from A to B | Amount: 1ETH | S/R/V: 서명 | Data: ""

    tx 2) from B to C | Amount: 1ETH | S/R/V: 서명 | Data: "Hello" 

     

    (data 부분이 call data 영역이며, 1byte 당 16gas)

     

    tx1 = 21,000 gas

    tx2 = 21,080 gas

     

    단순히 비교하면 이 두 개의 가스비는 42,080 gas 가 들었다.

     

     

    2) 아비트럼 (롤 업)을 사용할 때

     

    tx 1) from A to B | Amount: 1ETH | S/R/V: 서명 | Data: ""

    tx 2) from B to C | Amount: 1ETH | S/R/V: 서명 | Data: "Hello" 

     

    아비트럼은 이 거래들을 또 다시 저장하지 않는다.

     

    먼저, 거래 순서를 정해서 자체적으로 연산을 한다. 그 다음 결과값을 생성한다. 그리고 결과값을 압축한다.

     

    아래와 같다.

     

    전) from A to B | Amount: 1ETH | S/R/V: 서명 | Data: "",  from B to C | Amount: 1ETH | S/R/V: 서명 | Data: "Hello"  

    ( 총 120 byte )

     

    후) a|b|1eth|서명|""', 'b|c|2eth|서명|hello 

    ( 총 38 byte )

     

     

    이것을 아래 call data 에 저장한다.

    from: arbitrum operator | to: smart contract | amount: 0eth | s/r/v: 서명 | data: 'a|b|1eth|서명|""', 'b|c|2eth|서명|hello'

     

    아비트럼에서 스마트 컨트랙트로 0 eth 를 날린다. 그리고 call data 에 결과값을 저장한다.

     

    가스비는 총 21,000 + (38(byte) x 16 (gas)) = 21,608 gas 가 나온다. 

     

     

    거의 절반이상 준 것을 알 수 있다. call data 의 연산이랑 다른 부분은 아비트럼 롤 업 체인에서 하고 결과 값만 이더리움에 저장하기 때문에 가스비가 조금 더 저렴하고 트렌잭션 하나로 거래를 두 개 혹은 수 백, 수 천개 처리한 셈이 되는 것이다. 

     

     

    ... 

     

     

    정리

     

    1) 비탈릭은 2020년 10월 롤 업 중심의 이더리움 로드맵 발표

    2) 롤 업 중심의 발표 이후에도 다양한 의견과 시도는 많이 이루어졌음.

    ex) 사이드 체인, 스테이트 채널, 밸리디움, 플라즈마

    3) 롤 업이란, 롤 업 체인이라는 외부 체인에서 수백 개의 트랜잭션을 하나의 트랜잭션으로 만들고 저장하는 방식

    4) 이 때 저장 공간은 '덴쿤 업그레이드 프로토 댕크샤딩(EIP-4844)' 이 후 이더리움의 call data 가 아닌 blob 에 저장

    5) 롤 업의 주 기능은 Execution (실행), Consensus (순서를 정하는 합의) 두 가지이다.

    6) 롤 업 체인에서 거래 순서를 정하고, 스마트 컨트랙트를 EVM이 연산하는 과정이 이루어진다.

    7) 그리고 거래의 확정과 저장은 이더리움에서 진행한다.

    8) 롤 업을 사용할 때와 사용하지 않았을 때의 GAS 비는 2배 가량 차이난다. 

Designed by Tistory.