Arbitrum vs Optimism #2

본 글은 CURG에서 기획한 Arbitrum vs Optimism시리즈 총2편의 2번째 글로, 본 글에서는 롤업 및 옵티미스틱 롤업과 아비트럼 Nitro에 대해 개괄적으로 다룬다. 목차는 다음과 같이 진행되며 글이 서로 연관되어 있으므로, 차례대로 읽어보시는 것을 추천해 드린다.

Daeun
CURG
16 min readAug 6, 2023

--

김다은 | Researcher of CURG | daeun956048@gmail.com

Arbitrum Nova

아비트럼 Nitro에서 Rollup protocol을 사용하는 반면, 아비트럼 Nova에서는 AnyTrust Protocol을 사용한다.

Rollup protocol과 AnyTrust protocol의 주요 차이점은 다음과 같다.

1. Rollup protocol

  • 무신뢰, 무허가로 아무나 검증에 참여 가능하다
  • 모든 데이터가 batch로 묶음처리되어 call data 형식으로 레이어1, 이더리움 롤업 컨트랙트에 포스팅 된다. 때문에 수수료가 많이 든다.
  • 일반적인 용도로 만들어졌으며, 특히 디파이와 NFT 프로젝트에 특화되어있다.
  • 레이어2에서 레이어1으로 자산을 인출하는데 1주일이 걸린다.

2. AnyTrust Protocol

  • 무신뢰, 무허가가 아니며 DAC라는 허가받은 주체가 데이터 가용성을 담당한다.
  • 데이터를 DAC(Data Availability Committee)라는 오프체인에 저장함으로서 수수료를 절감한 대신 탈중앙성을 포기했다.
  • 높은 처리량과 낮은 비용의 장점 덕분에 게임 및 소셜 앱에 특화되어있다.
  • 레이어 1에는 DAC (Data Availability Committee)가 데이터를 저장했다는 DAC (Data Availability Certificate)를 저장한다.

간단히 정리해보자면, 두 프로토콜의 가장 큰 차이점은 Rollup 체인에선 모든 데이터를 레이어1에 포스팅하는 반면, AnyTrust 체인에선 데이터가 오프체인에서 저장 및 관리된다는 점이다.

AnyTrust Protocol에서의 구체적인 트랜잭션 처리과정은 다음과 같다.

AnyTrust Protocol 트랜잭션 처리과정

1. 아비트럼 시퀀서가 배치를 생성해서, 위원회 멤버들에게 RPC를 통해 병렬적으로 배치를 전송한다.

2. 각 위원회 멤버들은 데이터 해시값으로 인덱싱된 데이터를 별도의 저장공간에 저장한다.

3. 각 위원회 멤버들은 BLS 공개키를 사용해 해시값과 만기를 서명한다.

4. 서명한 멤버들은 서명값과 처리 성공 표식을 시퀀서에 전송한다.

5. 시퀀서는 서명을 모은 뒤 DACert를 요청해서 받는다.

만약 제한된 시간 내에 충분한 서명을 모으지못하면 Rollup 모드로 전환해 전체 데이터가 압축된 call data를 레이어1 체인에 포스팅한다.

6. 시퀀서는 DACert를 레이어1 inbox 컨트랙트에 포스팅한다.

7. 레이어1 inbox 컨트랙트는 유효하지 않은 keysets를 사용한 DACert를 리젝트(reject)한다.

8. DACert의 다른 스펙들은 레이어2 코드가 검증한다.

9. 검증 결과, DACert가 무효로 판명난 경우, 레이어2 코드는 DACert를 버리고, 다음 데이터 블록을 검증한다. DACert가 유효로 판명난 경우, 레이어2 코드는 데이터 블록을 읽는다.

DAC(Data Availability Committee)란

DAC는 아비트럼 AnyTrust 프로토콜 체인에서 데이터 가용성을 담당, 데이터를 저장하고 필요시에 제공하는 허가받은 노드들의 집합을 말한다.

DAC 상세

DAC 매커니즘에선 N명의 멤버가 있다고 했을 때, 최소 2명의 정직한 멤버가 있다고 가정한다. 이 중 N-1명의 멤버가 데이터를 제공하기로 DACert에 서명을 하게 된다. 서명한 집단을 Quorum이라고 부르는데, 이렇게 되면 서명한 quorum에는 반드시 정직한 1명의 멤버가 포함되게 된다.

(이 때문에 BFT사이드체인과 비교했을 때, BFT체인은 20개 노드 중 14개, 2/3 이상이 정직해야하는 반면, AnyTrust 체인은 20개 노드 중 2개, 2명만 정직하면 된다)

Quorum이 데이터를 제공하기로 서명하면, 데이터를 원하는 누구나 접근 가능하기 때문에 레이어1 체인에는 전체 데이터보다 데이터 해시값을 올리는 게 더 안전하다.

또한, Quorum이 특정 상태 변환이 옳다는 성명서(statement)에 서명하면, 상태 변환은 이의제기기간 없이 바로 수용되며 레이어1으로의 인출도 바로 가능해진다.

성명서에 서명하고자 하는 Quorum이 없는 경우, 체인은 롤업 프로토콜 모드로 작동되며, 레이어1 이더리움 상에 트랜잭션 데이터가 기록되게 된다. 이렇게 Quorum은 다수의 노드로 구성되어있기 때문에 운영 효율성을 위해, 협력하지 않거나 동작하지 않는 멤버는 대체되게 된다.

또한, 위 트랜잭션 처리과정에서 멤버들은 데이터를 제공한다는 표식으로 BLS공개키를 이용해 서명한다고 했다.

각 위원회 멤버들은 keyset를 가지고 있는데, 이 keyset는 멤버들의 공개키 + DACert가 유효하기 위해 필요한 서명 수를 담고 있다.

* A keyset 구성

  • 위원회 멤버 수
  • 각 멤버의 BLS 공개키
  • 필요한 위원회 서명 수

각각 고유한 해시값으로 구별되는 keyset는 위원회 멤버 구성을 바꿀 수 있고, 멤버들이 key를 바꿀 수 있는 권한을 부여한다.

현재 아비트럼 홈페이지 상에서 확인된 DAC 멤버는 다음과 같다.

  • Reddit, Inc.
  • ConsenSys Software Inc.
  • QuickNode, Inc.
  • P2P
  • Google Cloud
  • Offchain Labs, Inc.
  • Opensea Innovation Labs Private Limited

DAS (Data Availability Server)

DAC 멤버들은 데이터 저장을 위해 각자 DAS(Data Availability Servers)라는 소프트웨어를 구동한다.

DAS는 시퀀서가 데이터 해시값으로 인덱싱된 데이터 블록을 저장하는 곳이다. DAS는 다음의 API들을 통해 외부와 상호작용한다.

- Sequencer API

아비트럼 체인의 시퀀서만 호출가능하다.

시퀀서가 DAS에 데이터 블록을 저장할 수 있게 하는 JSON-RPC 인터페이스이다.

- The REST API

데이터 블록을 해시값으로 가져올 수 있다.

DAS 소프트웨어는 로컬 파일, 뱃저 데이터베이스, 아마존 S3 등 다양한 곳에 분산해서 데이터를 저장하고 있다.

DAC의 장점

1) 노드들은 데이터가 필요할 때 committee에 의존하면 되기 때문에 레이어1 체인에 레이어2 트랜잭션을 기록할 필요가 없다.

Committee가 데이터를 제공해준다는 약속 하에, 레이어1에 트랜잭션 배치의 해시값을 저장하는게 안전할 수 있다. 이는 롤업의 장점인 비용을 절약해준다.

2) 위원회가 보증하면, 레이어2에서 레이어1으로의 자금인출이 즉각적으로 가능해진다.

Optimsim

옵티미즘은 아비트럼과 나란히 이더리움의 확장성 문제(느린 속도와 높은 수수료)를 해결하기 위해 나온 레이어2 솔루션이다. 현재 옵티미즘을 운영중인 옵티미즘PBC는 비영리 이더리움 연구재단인 플라즈마 그룹(Plasma Group)에서 시작되었으며, 옵티미스틱 롤업 기술을 최초로 개발한 곳이다.

옵티미즘은 공공재가 수익성이 없다는 기존의 패러다임을 변화시키는 것을 목표로 한다. 비영리 기업으로 시작한 옵티미즘은 단기적으로 수익을 창출하려기보다 장기적으로 개방된 생태계를 구축하고 매출을 100% 공공재 펀딩에 사용하고자 한다.

옵티미즘 Bedrock 업그레이드

옵티미즘은 23년 3월, Token House delegates 들이 찬성에 투표를 함으로서 23년 6월 6일부로 로드맵의 두번째 단계인 Bedrock 업그레이드를 시행하였다. (참고로, 옵티미즘은 2022년 11월, 로드맵 첫단계로 EVM 완전 호환체인을 출시하였다. 이를 통해 이더리움에 컨트랙트를 배포하는 것과 100% 동일해졌고, 이더리움 레이어1 인프라 네트워크와 레이어2 실행환경 사이의 갭이 축소되었다)

옵티미즘사는 Bedrock 업그레이드 이후의 옵티미즘을 “The cheapest, fastest, and most advanced rollup architecture”이라고 소개하고 있다. 무료 오픈소스 모듈러 블록체인, Op stack의 첫 공식 출시품인 Bedrock은 기존 옵티미즘 메인넷의 하드포크로 동일한 체인 ID와 트랜잭션 히스토리 그리고 상태를 가지고 있다. 즉 이더리움의 코드, 인프라 및 디자인 패턴을 최대한 인용하도록 설계되었다.

Bedrock 이후 트랜잭션 처리과정은 다음과 같다

Bedrock 이후 트랜잭션 처리과정

1. 레이어2 트랜잭션이 시퀀서에게 제출된다.

시퀀서가 하는 주요 역할 3가지는 다음과 같다.

1) 트랜잭션 확인 및 상태 업데이트

2) 레이어2 블록 생성 및 시행

3) 레이어1에 트랜잭션 제출

2. 시퀀서에서 트랜잭션을 전달받은 op-batcher가 하는 주요 역할은 2가지이다.

1) 트랜잭션을 배치로 압축한다

2) 배치를 레이어1에 포스팅한다.

압축한다 -> op-batcher가 압축한다는 말은 channel 안에 sequencer batches를 모아담는다는 뜻이다. channel의 최대 오픈기간은 환경변수나 커맨드라인 파라미터로 설정할 수 있다. 또는 설정값을 디폴트인 0으로 할 수도 있다.

3. channel의 용량이 차거나 타임아웃이 되는 경우, 압축된다.

4. channel이 생성되면, 레이어1에 포스팅되는데, 이는 channel의 사이즈에 따라 1개의 트랜잭션 또는 여러개의 channel frame으로 분할되어 포스팅된다.

5. 본래 롤업에선 레이어2 데이터들을 이더리움 위 롤업 스마트 컨트랙트에서 관리하고 검증하지만, 옵티미즘 bedrock에선 EOA에 보관한다.

하지만, 누구나 op batcher를 우회해서 레이어2 트랜잭션을 제출하기 위해 레이어1 트랜잭션을 전송할 수 있다.

op batcher를 우회해서 트랜잭션을 제출하는 방법은 다음과 같다.

Op-geth가 트랜잭션을 실행해서 상태 변환을 하면 op proposer은 레이어1의 L2OutputOracle이라는 곳에 state commitment (트랜잭션 실행 결과값)을 제출한다. 이 state commitment는 머클루트의 해시값으로 레이어1에서 트랜잭션을 검증하는 비용을 최소화시킨다. 단, op proposer는 매 tx 실행마다 commitment를 제출할 필요는 없으며 블록 단위마다 제출해도 된다.

proposal들이 레이어1에 제출된 후에는, 7일간의 이의제기기간을 거쳐야만 레이어1에 최종 확정될 수 있다.

Bedrock 업그레이드 전후 차이점

베드락 업그레이드의 핵심 변경 사항은 다음과 같다.

1) 본래 롤업에선 레이어2 데이터들을 이더리움 위의 롤업 스마트 컨트랙트에서 관리, 검증한다. 하지만, 옵티미즘 bedrock에선 EOA에 보관함으로서 레이어1 가스비를 절감한다.

2) 이더리움과 유사하게 실행 클라이언트와 롤업 노드를 분리하였다.

3) 이더리움과 유사하게 시퀀서는 멤풀을 가지고 있으며, EIP-1559에 따라 base fee와 priority fee를 고려하여 가장 수익이 높은 트랜잭션을 골라 블록을 생성한다.

4) 블록은 트랜잭션이 아예 없든, block gas limit을 모두 채웠든 상관없이 2초마다 1개가 생성된다.

또한, 옵티미스틱 롤업을 이야기할 땐 사기증명을 빼놓을 수 없다.

Bedrock 사기증명으로 넘어가기 전에 사기증명이 무엇인지 간단히 짚고넘어가자면,

옵티미스틱 롤업에선 이더리움에 상태변화값을 기록할 때 유효성에 대한 검증 없이 진행한다. 대신 이의제기기간이라는 것이 존재하는데, 만약 제안된 상태변화값이 이 기간동안 다른 검증인들로부터 이의제기를 받지 않게 되거나 이의제기한 검증인과 dispute한 과정에서 유효성을 검증받으면 레이어1에 최종 확정된다.

반대로, 상태변화값이 성공적으로(?) 이의제기를 당하게 되면(challenged), 해당 commitment는 State Commitment Chain에서 삭제되며 제안된 다른 commitment로 대체된다. 중요한 것은 성공적으로 처리된 이의제기가 옵티미즘 자체를 롤백하지는 않는다는 것이다. 옵티미즘의 상태와 트랜잭션 순서는 사기증명 과정으로 인해 변하지 않는다.

또 사기증명에 대한 가장 큰 오해가 있는데, 그것은 사기증명이 트랜잭션에 적용된다는 것이다. 사기증명은 트랜잭션을 검증하는 것이 아니라 트랜잭션을 실행한 후의 상태 변화값을 검증하는 것이다. 따라서, 모든 트랜잭션은 유효하며 체인에 포함될 수 있다.

이에 따라, 옵티미즘은 Transaction Challenge라는 용어를 사용하지 않고 있다.

Bedrock 결함증명

옵티미즘에선 2가지 이유로 사기증명(Fraud Proof)라는 단어 대신 결함증명(Fault Proof)라는 용어를 사용한다.

1번째 이유 : Fast Upgrade Key

- 옵티미스틱 롤업에선 사기증명은 핵심 매커니즘이다.

- 하지만, 옵티미즘은 Fast Upgrade Key를 가지고 있는데, 이 Key로 7일간의 이의제기 기간 안에 시스템을 업그레이드할 수 있으면, 사기증명은 의미가 없게 된다.

- 현재 옵티미즘은 Fast Upgrade Key에 보안을 전적으로 의존하고 있다.

- Fast Upgrade Key란 익명의 개인들이 관리하는 멀티시그 월렛으로 옵티미즘 코어 스마트 컨트랙트를 업그레이드하는 데 사용한다.

2번째 이유 : 적절하지 않은 명칭

- 옵티미즘 측은 ‘사기’라는 부정적 의미가 옵티미스틱 시스템을 이해하는 데 도움이 되지 않는다고 판단하고 있다.

- 또한, ‘사기’는 정직한 검증인이 소프트웨어 버그 때문에 잘못된 state root값을 제출하는 경우도 의미적으로 내포하고 있다.

그래서 현재, 옵티미즘 커뮤니티 내에선 이의제기 기간을 두고 ‘Correctness challenge, Transaction Result Challenge, State Proposal Challenge, State transition Challenge, Execution Challenge, Rollup State Challenge, Verification Challenge 등 여러 명칭을 두고 투표가 이루어지고 있다.

옵티미즘 로드맵

1st Upgrade : EVM Equivalent

2021년 EVM 완전 호환 체인 출시

이더리움에 컨트랙트를 배포하는 것과 동일

2nd upgrade : Bedrock

기존 옵티미즘 메인넷 하드포크

이더리움의 코드, 인프라, 디자인 패턴을 최대한 인용하도록 설계

3rd Upgrade : Cannon

차세대 결함증명 시스템 : Interactive Fault proving system

옵티미즘은 현재 보안을 위해 upgrade keys에 의존하고 있음

그래서 옵티미즘은 fast upgrade keys를 사용하지 않고, 시스템 스스로 보안할 수 있는 fault proof를 배포하는 최초의 시스템이 되고자 함

4th Upgrade : Decentralized Sequencer

현재 Optimism PBC가 운영하고 있는 단일 시퀀서에서 누구나 블록 생성자로 참여할 수 있게 할 예정

시퀀서를 탈중앙화하는 첫 단계는 한번에 시퀀서를 1명으로 하되, 일정 주기로 로테이션

시퀀서 로테이션에 대한 정확한 매커니즘은 정해진 바 없지만 다음 2가지 요소를 포함할 예정

1) 경제적 매커니즘

시퀀싱 경쟁 시장 조성 + 시퀀서의 초과 수익을 프로토콜 개발에 사용

2) 거버넌스 매커니즘

시퀀서가 단기 수익보다 장기적으로 네트워크 발전을 우선시할 수 있게

최종단계는 동시에 활동하는 복수의 시퀀서

마무리

이번 아티클에서는 하나의 서비스에 대해 A-Z를 다루기보다 아비트럼과 옵티미즘의 트랜잭션 처리과정을 중점적으로 다뤄보았다. 두 솔루션은 공통적으로 이더리움의 확장성 문제를 해결하기 위해 나온 서비스인만큼 생태계 내의 가장 큰 라이벌이며 각각 Arbitrum Orbit과 Optimism SuperChain을 출시함으로서 영역을 더욱 확장하고자 하고 있다.

워낙 현재 Arbitrum이 레이어2 시장에서 차지하고 있는 점유율이 높다보니 필자는 Optimism이 오픈소스 모듈러 개발 스택인 Op stack과 Opstack으로 개발된 L2의 집합체인 개방된 Superchain 생태계를 구성하려 한다해도, 쉽사리 판도를 뒤집을 수 있을까라고 의문을 품었다. 아무래도 해당 서비스들은 어플리케이션 단보다 더 low 레벨인 인프라 네트워크들이고 한번 그 위에 뿌리를 내린 어플리케이션 서비스들이 둥지를 틀까 생각했기 때문이다.

하지만, 다양한 관점을 가진 사람들과 얘기하면서 Optimsim의 비영리성과 프로젝트 성장으로 이끄는 자금의 선순환적 구조, 또 무엇보다 블록체인 생태계에서 중요한 오픈소스, 개방성, 확장성을 우선시하는 Optimism의 비전을 보면 예측 불가능한, 불확실성이 가득한 이곳에서 어쩌면 그 일이 일어날 수도 있겠다는 생각도 들었다.

아비트럼 옵티미즘 둘다 건강한 경쟁을 통해 하루빨리 확장성 문제 해결과 블록체인 기술의 발전으로 제2의 인터넷 시대가 도래하길 꿈꾸며 이번 아티클을 마무리한다.

읽어주신 모든 분들 감사합니다 :)

Reference

[1] 아비트럼

[2] 옵티미즘

--

--