옵티미스틱 롤업 — Arbitrum과 Optimism의 비교분석

everytreeisblue
Decipher Media |디사이퍼 미디어
15 min readFeb 28, 2022

본 글은 단순 정보 제공을 위해 작성 되었고 투자, 법률, 자문 등 어떤 부분에서도 책임을 지지 않습니다. 특정 자산에 대한 투자를 추천하는 것이 아님을 밝히며, 본문의 내용만을 바탕으로 투자에 대한 의사결정을 내리지 마십시오.

Intro

이더리움 메인 체인이라는 한정된 자원을 두고 치열한 경쟁이 발생함에 따라 이더리움의 트랜잭션 처리 속도가 느려지고 가스비가 높아지는 확장성 문제는 이미 오래전부터 많은 주목을 받는 이슈였으며, 이를 해결하기 위한 다양한 해결책들이 제시되어왔다. 이러한 해결책들은 근본적으로 이더리움 메인 체인을 개선시키자는 레이어 1 솔루션과, 또 다른 체인을 만들어 이더리움 메인 체인의 부담을 덜고자 하는 레이어 2 솔루션으로 나뉘어진다. 현재 이더리움 재단이 주도적으로 이더리움 2.0으로의 업그레이드를 진행하고 있지만 이에 오랜 시간이 걸릴 것으로 예상됨에 따라, 레이어 2 솔루션들에 많은 사람들의 관심이 몰리고 있다. 레이어 2 체인에서 더 낮은 가스비와 높은 속도로 트랜잭션을 처리하고 그 결과만을 이더리움 레이어 1에 올린다는 공통적인 아이디어를 바탕으로 플라즈마, ZK 롤업, 옵티미스틱 롤업 등 다양한 기술이 개발되었다. 현재 시점에서 아직까지는 옵티미스틱 롤업이 가장 많은 TVL을 유보하며 선방하고 있는 것으로 보인다.

출처: https://l2beat.com/

이번 글에서는 앞서 언급된 레이어 2 솔루션들 중에서도 옵티미스틱 롤업을 자세히 파헤쳐보고자 한다. 옵티미스틱 롤업의 작동원리에 대해 먼저 알아본 후, 옵티미스틱 롤업을 활용한 레이어 2 솔루션의 두 선두주자 아비트럼(Arbitrum)과 옵티미즘(Optimism) 간의 차이점은 무엇일지 알아보도록 하자.

What is Optimistic Rollup?

아비트럼과 옵티미즘은 서로 다른 두 체인이지만, 모두 옵티미스틱 롤업이라는 공통적인 솔루션을 바탕으로 운영되고 있다. 그렇다면 옵티미스틱 롤업에 대해 먼저 이해할 필요가 있다. 우선 롤업이란 무엇일까? 이더리움 레이어 1에서 각 풀 노드는 모든 트랜잭션 정보를 보관하고 있으며, 유저들이 보낸 트랜잭션들을 전부 수행해야 한다. 트랜잭션을 수행할 때 모든 트랜잭션은 EVM 상에서 시행되는데, 스토리지와 자금 균형 등 EVM의 상태(State)와 계속 상호작용해야하기 때문에 매우 높은 비용이 소모된다. 높은 비용을 줄이기 위해, 롤업에서 레이어 1은 트랜잭션 정보를 다운로드만 하고, 트랜잭션의 수행은 레이어 2에서 이루어진다. 트랜잭션의 수행은 레이어 2에 존재하는 특정 주체(각 솔루션마다 명칭과 구조가 상이하다)가 맡는데, 해당 주체는 트랜잭션 데이터들을 받아 시행한 후의 결과로써 나오는 상태를 배치(Batch) 형태로 압축하여 이더리움에 제출한다. 이때, 특정 주체가 레이어 2에서 이더리움 레이어 1으로 트랜잭션 데이터를 전송하는 구체적인 메커니즘에 따라, 롤업은 크게 유효성 증명(Validity Proof)와 사기 증명(Fraud Proof)라는 두 가지 방식으로 구분된다. 유효성 증명에서는 레이어 2에서 트랜잭션을 수행한 후의 상태 변화를 이더리움 레이어 1에 전송할 때, 그 상태 변화가 올바르다고 증명해주는 일종의 계산식을 함께 전송한다. 이더리움 레이어 1에서는 해당 계산식을 확인하여 레이어 2에서 보내온 데이터가 유효한 것인지 즉각 확인 한 후에 이더리움 체인에 반영시킨다. 이에 반해 사기 증명 방식에서는 해당 데이터에 오류나 조작이 없을 것이라는 낙관적인 가정을 세우고 일단 믿는다. 그렇기 때문에 레이어 2의 주체가 결과를 제출할때마다 이에 대한 추가적인 검증과 연산이 계속적으로 즉각 이루어지지 않고, 일단은 그 즉시 이더리움 레이어 1에 제출된다. 추가적인 검증과 연산이 필요 없다는 점은 즉 값싼 트랜잭션 비용을 의미한다.

출처: https://www.youtube.com/watch?v=7pWxCklcNsU

하지만 시퀀서가 만약에 모두의 낙관적인 신뢰를 깨뜨리고, 악의적인 행동을 한 경우에 대한 대비책이 있어야 네트워크가 보안성을 유지할 수 있다. 시퀀서가 악의적인 행동을 한 경우, 트랜잭션의 처리 결과를 다시 제대로 되돌릴 수 있도록 옵티미스틱 롤업에는 시퀀서가 결과를 제출한 이후 일반적으로 7일 간의 분쟁 기간(Dispute Period)을 둔다. 이 분쟁 기간이 모두 지나기 전까지는 시퀀서가 제출한 결과는 완전히 최종 확정된 것이 아니며, 누구나 제출된 결과에 대해 이의를 제기(Dispute)할 수 있다. 만약 누군가가 이의를 제기하면, 시퀀서와 이의를 제기한 자 사이의 일종의 재판이라고 할 수 있는 사기 증명(Fraud Proof)이 진행된다. 사기 증명 과정 중에서 시퀀서가 악의적인 행동을 한 것으로 판명이 나면, 시퀀서에게는 페널티가 주어지고 이의를 제기한 자에게는 인센티브가 주어지며, 옵티미스틱 롤업 레이어 2의 상태는 잘못된 제출 결과의 이전 상태로 롤백된다. 사기 증명은 해당 트랜잭션이 발생한 후로 1주일 내에만 진행될 수 있으며, 1주가 지나면 어떤 일이 있어도 이전 트랜잭션을 변경할 수 없다. 따라서 사용자도 자신의 자산을 1주 후에 인출할 수 있다. 사기 증명 방식을 채택하는 레이어 2 솔루션 중 가장 대표적인 방식을 옵티미스틱 롤업이라고 부른다.

About Optimism

Optimism PBC Blog – Medium

옵티미즘(Optimism) 사는 이더리움의 확장성 문제를 해결하기 위해 옵티미스틱 롤업 기술을 최초로 개발한 기업으로, Optimistic Ethereum 네트워크를 개발하고 있다. 기존에 비영리 조직이었던 Plasma Group이 자신의 예상보다 플라즈마 기술의 발전이 지지부진하자, 20년도 초 영리 조직 Optimism PBC으로 리브랜딩하여 옵티미스틱 롤업을 집중적으로 개발하고 있다.

옵티미스틱 이더리움의 구조

옵티미스틱 이더리움의 구조를 보도록 하자. 옵티미스틱 이더리움 상에 데이터는 기본적으로 State Commitment Chain(SCC)와 Canonical Transaction Chain(CTC))두 가지 컨트랙트 속에 저장된다. 트랜잭션 데이터가 먼저 시퀀서에게 전달되면 시퀀서는 이를 배치 형태로 압축하여 CTC라는 컨트랙트에 저장한다. 그리고 이와 동시에, 각 트랜잭션이 수행된 후의 상태를 나타내는 state root를 SCC에 저장한다. 한 개의 트랜잭션이 수행될 때마다 체인의 상태(state)는 변하게 되는데, 각 트랜잭션이 한 개 처리된 후의 상태 변화에 대한 정보를 담고 있는 것이 state root이다. SCC는 state root의 리스트를 저장하는데, 하나의 트랜잭션 당 하나의 state root을 압축된 형태로 저장하지 않고 그대로 저장한다. 그리고 이는 후에 삭제될 수 있다.

쉽게 말해서, CTC는 트랜잭션 데이터들이 배치 형태로 쌓이는 체인과도 같다. CTC에는 트랜잭션 데이터가 저장되기만 하고, 해당 트랜잭션의 유효성은 CTC 내에서 확인할 수 없다. CTC에 있는 트랜잭션 데이터가 하나 처리되고 난 후의 상태에 대한 state root가 담겨 있는 곳이 SCC이다. CTC에 있는 트랜잭션들을 하나씩 처리했을 때 발생하는 상태의 각 정보들을 담고 있는 곳이 SCC이다.

출처: https://www.theblockresearch.com/whats-the-difference-between-optimism-and-arbitrum-124301

위 그림을 보자. CTC에는 CTC에는 T1~T8의 트랜잭션에 대한 정보를 담고 있다. T1 트랜잭션이 수행된 직후의 상태를 나타내는 state root S1은 SCC에 별도로 기록된다. S1이라는 상태에서 T2 트랜잭션이 처리된 직후의 상태를 나타내는 S2가 뒤이어 SCC에 기록되는 형태이다. 이런 식으로 트랜잭션 데이터는 일렬로 CTC에 저장되고, 상태를 나타내는 state root는 SCC에 독립적으로 저장된다.

옵티미스틱 이더리움의 사기 증명

옵티미스틱 이더리움에서 분쟁기간 동안의 사기 증명은 다음과 같은 단계로 이루어진다.

  1. 누구나 state manager라는 특수한 함수를 호출함으로써 검증자(Verifier)가 되어 자신이 반박하려고 하는 상태 변경에 대해 사기 증명을 개시할 수 있다. 이 때 사용자는 반박 대상 트랜잭션과 해당 트랙잭션이 수행되기 직전의 state root을 매개변수로 전달해야한다.
  2. 검증자는 반박 대상 트랜잭션의 직전 state root와 해당 트랜잭션의 데이터를 이더리움 메인넷에서 보낸 후, 그 위에서 수행한 직후의 state root을 계산해내고, 시퀀서가 제출했던 state root와 비교한다.

3. 검증자가 트랜잭션을 수행한 결과로 나오는 state root가 시퀀서가 제출한 그것과 다를 시, 사기 증명이 종결되고 해당 state root로 상태가 롤백된다.

출처: https://www.theblockresearch.com/whats-the-difference-between-optimism-and-arbitrum-124301

위의 그림을 살펴 보면서 예를 들어보자. 이미 시퀀서에 의해 T1~8의 트랜잭션과, 해당 트랜잭션이 각각 실행된 직후의 state root S1~8이 저장된 SCC와 CTC가 시퀀서에 의해 제출된 상태이다. 이때 Alice는 S4가 이상함을 감지하고 이에 대해 사기 증명을 개시한다. Alice가 할 일은 T4와, 해당 트랜잭션이 수행되기 직전 state root인 S3을 state manager의 매개변수로 전달하는 것이다. 이후 state manager 함수는 S3와 T4를 이더리움 메인넷에 보내 S3라는 상태 위에 T4를 직접 실행해본다. 만약 그 결과로 나오는 상태가 S4*라고 해보자. 이는 기존에 시퀀서가 제출한 S4와 다르다! 즉 시퀀서가 잘못된 상태를 제출한 것이다. 그렇게 되면 S4 이후의 모든 state root는 애초에 잘못된 상태를 기반으로 발생한 상태이므로 모두 무효하게 된다. 또한 T4 이후의 모든 트랜잭션도 처리가 완료되지 않은 상태로 롤백된다.

옵티미스틱 이더리움의 특징

옵티미스틱 이더리움에서는, SCC와 CTC에 필요한 트랜잭션 데이터와 state root가 모두 저장되어있고, 이를 그대로 이더리움 메인넷에 보내기만 하면 되기에 사기 증명에 걸리는 시간이 오래 걸리지 않는다. 하지만 이 데이터들을 직접 이더리움 메인넷으로 끌고 와 트랜잭션을 수행해보아야 한다는 점 때문에 상대적으로 비용이 많이 든다는 특징이 있다.

About Arbitrum

아비트럼(Arbitrum)은 옵티미즘 사보다 이후에 설립된 Offchain Labs에서 개발 중인 레이어 2 솔루션이다. 옵티미즘 사에서 먼저 개발한 옵티미스틱 이더리움의 소스 코드를 바탕으로 몇 가지의 변경 사항들을 꾀하여 Offchain Labs에서는 아비트럼이라는 레이어 2 솔루션을 개발하여 이를 바탕으로 생태계를 넓혀가고 있는 중이다.

옵티미즘 사의 옵티미스틱 이더리움과 Offchain Labs 사의 아비트럼 모두 옵티미스틱 롤업을 기반으로 만들어진 레이어 2이며, 사실 아비트럼이 옵티미즘 사의 기술을 바탕으로 약간의 개조를 거쳐 탄생한 레이어 2이기에, 둘 사이에는 비슷한 점들이 많이 존재한다. 하지만 각 레이어 2의 구조와 분쟁 기간 동안에 사기 증명이 이루어지는 방식, 두 가지 측면에서 둘 사이에는 분명한 차이점이 존재한다.

아비트럼의 구조

출처: https://www.theblockresearch.com/whats-the-difference-between-optimism-and-arbitrum-124301

SCC와 CTC라는 두 체인 형태의 데이터 구조가 병렬적으로 이어져가고 있는 옵티미스틱 이더리움과 반대로, 아비트럼은 기본적으로 머클 트리 구조를 따르고 있다. 해당 머클 트리 구조에서는 현재 상태를 나타내는 상태 해시(State hash)가 이어져있는데, 만약 특정 시점에서 이후 상태에 대해 서로 다른 상태 해시가 생겨난다면 해당 시점에서 새로운 브랜치가 생겨나 갈라지게 되고, 해당 분기점을 Dispute Assertion(이하 DA)라고 부른다. 특정 DA 이후에도 상태 해시는 계속해서 이어져나가게 되는데, 이때 분기되어 생긴 두 개의 브랜치 중에 어느 상태 뒤에 상태 해시를 이어나갈 것인지는 오로지 유저의 자유이다. 이때 유저들은 자신이 유효하다고 판단한 상태 해시에 일정 ETH를 스테이킹하게 되는데, 만약 자신이 유효하다고 스테이킹한 상태 해시가 유효하면 스테이킹한 물량을 모두 돌려받게 되는 반면, 유효하지 않다고 판명이 나면 모두 잃게 된다. 이와 같은 동기 때문에 유저들은 전반적으로 유효한 상태 해시에 스테이킹을 할 것이고, 이렇기 때문에 애초에 머클 트리가 너무 복잡하게 분기되지 않는 상태에서 결국에는 하나의 상태로 수렴하게 될 것이라는 가정 위에 아비트럼은 개발되었다.

아비트럼의 사기 증명

아비트럼에서는 특정 시점에서 서로 다른 상태 해시에 대해 스테이킹한 두 주체들 사이에 분쟁이 일어나기 전까지는, 상태 해시가 분기되는 것을 모두 허용한다. 이때 서로 다른 상태 해시에 스테이킹한 두 주체 사이에 분쟁이 일어났다고 생각해보자. 이때 문제는 서로가 맞다고 주장하는 상태 해시가 달라진 원인이 두 상태 해시가 분기된 직전의 시기인지, 아니면 그 이전에 일어난 분기 때문인지 알 수가 없다는 것이다. 이때 아비트럼은 ‘Bisection type protocol’이라는 규칙에 따라 근본적으로 상태 해시가 달라지게 된 시작점을 찾아 나선다. 현재 분쟁이 일어난 시점에서 머클 트리를 다시 거꾸로 거슬러 올라간다고 생각하면 된다. 상태 해시가 달라질 수 있는 또 다른 원인이 없이 그 자체가 유일한 원인이 되는 분기점을 찾을 때까지 계속해서 머클 트리를 거꾸로 되돌아가며 추적한다. 만약에 그 분기점을 찾으면, 해당 분기점에 해당하는 트랜잭션만을 이더리움 메인넷에 보내 수행한 후, 그 결과로 나오는 상태 해시를 비교하여 옳고 그름은 판명한다.

출처: https://www.theblockresearch.com/whats-the-difference-between-optimism-and-arbitrum-124301

아비트럼의 특징

분쟁이 일어난 이후 해당 분쟁이 일어난 근본적인 분기점을 머클 트리 상에서 찾는 과정을 거쳐야 하기 때문에, 아비트럼은 사기 증명을 진행하는 데에 옵티미스틱 이더리움보다 오랜 시간이 걸린다. 하지만 이더리움 메인넷 상에서 직접 수행해야하는 트랜잭션의 훨씬 축소화되기 때문에 비용이 적게 든다는 특징이 있다.

Conclusion

정리하자면, 옵티미스틱 이더리움은 SCC와 CTC라는 두 데이터 구조에 병렬적으로 트랜잭션 데이터와 그에 대응하는 상태 루트를 저장하는 반면, 아비트럼은 상태 해시에 대한 모든 분기를 허용하여 그때그때 다른 브랜치로 이어져나가는 머클 트리 형태를 취하고 있다. 분쟁 기간 동안에 사기 증명이 발생한다면, 옵티미스틱 롤업은 분쟁 대상 시점 이전의 트랜잭션 데이터를 바로 이더리움 메인넷에 보내 모두 수행해버림으로써, 속도는 챙기는 반면 상대적으로 높은 비용이 든다. 이에 반해 아비트럼은 분쟁이 일어난 시점에서 과거 분기점들을 모두 거슬러 올라가보며 가장 처음에 네트워크의 상태에 대해 엇갈린 의견이 발생된 시점을 찾아내고, 이 시점에 대한 트랜잭션만을 이더리움 메인넷에 보내 수행한다. 이는 오랜 시간이 걸릴 지라도 값싼 비용을 보장한다.

지금까지 옵티미즘과 아비트럼의 기술적 차이에 대해 알아보았는데, 이는 두 기술 사이에 존재하는 구조적, 그리고 메커니즘적 차이일뿐 무엇이 더 근본적으로 우수한 기술이라고 확답하는 것은 시기상조일 것이다. 다만 아비트럼은 옵티미스틱 이더리움 이후에 개발되고 시작된 후발 주자임에 불구하고, 현재 옵티미즘보다 약 7배 많은 TVL을 가지고 있으며 사실상 현재 레이어 2 경쟁의 승리자로 대다수에게 여겨지고 있다. 물론 어느 정도의 영향은 있겠지만, 이가 온전히 앞서 언급한 기술적 차이에서 비롯된 것이라고 보는 것은 편협한 시각일 것이다. 필자는 근본적인 기술적 차이보다는 생태계를 확장시키려는 비즈니스적 노력에 크레딧을 보내고 싶다. 아비트럼은 스시스왑과 통합되고, FTX와 Bybit와 같은 같은 메인 거래소와 적극적인 협력 관계를 구축하여 아비트럼에 바로 ERC-20 토큰을 인출/입금할 수 있도록 하는 등, 적극적인 생태계 확장과 이에 따른 유즈 케이스를 늘리는 데에 집중하고 있다. 또한 아비트럼은 최근 2월 12일부터 미국 덴버에서 개최된 이더리움 최대 컨퍼런스 ETHDenver에서 이더리움의 공식적인 레이어 2로 소개된 바 있다. 필자는 이에 대해서 아비트럼의 창시자인 Ed Felten과 직접 이야기를 나눌 기회가 있었다. 아비트럼이 이더리움의 공식적인 레이어 2로 선정된 일이 어떤 특별한 차이나 의미를 갖고 있냐는 질문에, 그의 솔직한 대답은 ‘별 의미 없다. 비즈니스적 측면이 크다.'라는 대답이었다. 물론 그 이면에 있는 기술도 중요하며 절대로 무시해서는 안되겠지만, 결국 해당 서비스를 사용하는 유저들에게 받아들여지는 것은 기술 및 이념보다는 그들에게 직접적으로 노출되고 와닿는 비즈니스적 측면들이 클 것이다. 기술적으로 월등히 우수했기에 승리했다기보다는, 일단 많은 사람들이 쓰게 만들었기에 승리자가 되었다는 것이 필자의 개인적인 의견이다. 블록체인은 하나의 기술이지만, 하나의 산업이기도 하다. 결국 소비자들에게 선택 받게 되는 시장에서는 자신의 기술과 이념을 소비자들에게 전달하는 일련의 과정인 비즈니스적 측면의 중요성을 절대로 무시할 수가 없을 것이다.

--

--

everytreeisblue
Decipher Media |디사이퍼 미디어

everytreeisblue.com 개인 홈페이지에 앞으로 모든 글을 업로드합니다. 더 이상 미디엄 사용하지 않습니다.