레이어 2 솔루션 옵티미즘(Optimism)에 대하여

Introduction
이더리움의 확장성 문제를 해결하기 위해 다양한 레이어 2 솔루션들이 나왔다. 이더리움보다 낮은 가스비와 높은 속도로 거래를 처리할 수 있도록 플라즈마, 옵티미스틱 롤업, ZK 롤업 등 다양한 기술이 만들어졌다. 이번 글에서는 이 중에서 옵티미스틱 롤업을 활용하여 옵티미스틱 이더리움을 세우고 있는 옵티미즘에 대해 알아보도록 하겠다.
About Optimism
Optimism 사는 이더리움의 확장성 문제를 해결하기 위해 Optimistic Roll-up 기술을 활용한 Optimistic Ethereum 네트워크를 개발하는 기업이다. 기존에 비영리 조직이었던 Plasma Group이 20년도 초 영리 조직 Optimism으로 탈바꿈하였다. 현재까지 총 두번의 시리즈 A 펀딩은 진행하여 $28.5M을 조달받았다. 펀딩이 진행된 날짜는 '20년 1월 15일과 '21년 2월 24일이다. 현재까지 공개된 투자자는 총 5명으로 아래와 같다.

운영진은 아래와 같다..

What is Optimistic Ethereum?
옵티미스틱 이더리움은 옵티미스틱 롤업 기술을 활용한 OVM(Optimistic Virtual Machine)위에서 운영되는 레이어 2 네트워크이다. 이더리움과 연동될 수 있는 또 다른 네트워크를 만들고 있는 것이다. ETH와 ERC-20 토큰을 손쉽게 옵티미스틱 이더리움으로 옮겨 레이어 2에서 거래를 처리할 수 있다. 옵티미스틱 이더리움은 레이어 1인 기존 이더리움과 비교하여 다음의 이점을 갖고 있다.
- Near instant transaction finality — 유저는 자신의 트랜잭션이 확정되었는지 바로 확인할 수 있다.
- Lower fee — 레이어 1인 이더리움과 비교하여 1%에서 10% 저렴한 가스비로 거래할 수 있다. 레이어 1과 레이어 2의 가스비는 아래 사이트에서 확인 가능하다.
아직 메인넷은 출시되지 않았고, 이더리움 테스트넷인 코반 네트워크에 10월 14일에 Optimistic Kovan이 배포되었다. 해당 네트워크에서는 화이트리스트가 따로 없이 모든 프로젝트가 자유롭게 DApp을 만들 수 있다. 이더리움 메인넷에 Optimism Ethereum을 배포하는 것이 10월 28일에 예정되어있었지만 연기된 상태이다. 테스트넷과 달리 화이트리스트를 미리 받았다. 미래엔 모든 프로젝트들이 사용할 수 있도록 네트워크를 개방할 것이지만, 아직 개발 단계에 있다고 한다.

How does Optimistic Rollup work?
옵티미스틱 이더리움을 작동시키는 핵심 기술 옵티미스틱 롤업의 원리를 살펴보도록 하자. 이더리움 내에서 각 노드는 모든 트랜잭션 정보를 보관하고 있으며, 유저들이 보낸 트랜잭션들을 전부 수행해야 한다. 트랜잭션을 수행할 때 모든 트랜잭션은 EVM 위에 시행되는데, 스토리지와 자금 균형 등 EVM의 상태(State)와 계속 상호작용해야하는데, 이는 비용이 매우 높은 작업이다. 높은 비용을 줄이기 위해, 옵티미스틱 롤업에서 레이어 1은 트랜잭션 정보를 다운로드만 하고, 트랜잭션의 수행은 레이어 2에서 이루어진다. 트랜잭션의 수행은 레이어 2에 존재하는 시퀀서가 맡는데, 시퀀서는 트랜잭션 데이터들을 받아 시행한 후 결과를 압축하여 이더리움에 제출한다. 이때 제출된 정보에 오류나 조작이 없을 것이라고 일단 믿을 것을 가정한다. 만약 이후 누군가가 이에 대해 반박을 제기하면 그때 Fraud Proof가 진행되어 검증을 거친다. Fraud Proof가 바로 옵티미스틱 롤업의 보안성을 보장하는 핵심이다. 이후에 만약 누군가가 반박을 제기하면 검증할 수 있지만, 일단은 시퀀서가 제출하는 정보가 일단 맞을 것이라고 신뢰한다는 점이 Optimistic이라고 붙여진 이름의 비밀이다.
시퀀서가 이더리움에 트랜잭션 수행 결과 데이터를 전송하는 방법을 알아보도록 하자. 트랜잭션 데이터가 먼저 Sequence Entrypoint contract로 전송되면 시퀀서는 이를 배치(Batch) 형태로 압축한다. 이후 데이터 내 특정 상수들이 유효한지 판단하고, 만약 유효하다면 트랜잭션들의 머클 트리를 계산한다. 배치는 OVM Chain Batch Header로 변환되고 이는 이더리움 상에 존재하는 Canonical Transaction Chain(CTC)라는 컨트랙트로 전송된다. Batch는 header, context, transactions 세 종류의 내용을 담고 있으며, 구조는 아래와 같다.

이더리움에는 State Commitment Chain(SCC)라는 또 다른 컨트랙트가 존재한다. 시퀀서는 트랜잭션 데이터를 배치 형태로 롤업해 이를 CTT에 보내는 것 이외에, 각 트랜잭션이 수행된 후의 state root를 State Commitment Chain (SCC)에 전송한다. 한 개의 트랜잭션이 수행될 때마다 이더리움의 상태(state)는 변하게 되는데, 각 트랜잭션 후의 상태 변화에 대한 정보를 담고 있는 것이 state root이다. SCC는 state root의 리스트를 저장하는데. 하나의 트랜잭션 당 하나의 state root을 압축된 형태로 저장하지 않고 그대로 저장한다. 그리고 이는 후에 삭제될 수 있다.
시퀀서가 트랜잭션을 수행한 후 결과값을 이더리움에 제출한 후에는 1주 동안의 Dispute Period가 존재한다. 이 기간동안 누구나 Verifier가 되어 시퀀서가 제공한 정보가 잘못되었다는 이의를 제기해 Fraud Proof를 진행 할 수 있다. Fraud Proof은 다음과 같은 단계로 이루어진다. Verifier가 되고자 하는 사용자는 어떤 상태 변경에 대해 반박을 하려는지 선언한다. 이때 사용되는 특정 함수가 있는데 반박 대상 트랜잭션과 그 트랙잭션이 수행되기 직전 state root을 매개변수로 전달한다. 직전 state root에서 시작해 해당 트랜잭션을 수행한 후 state root을 계산해낸다. SCC에는 각 하나의 트랜잭션이 수행된 이후의 state root이 모두 그대로 저장되어 있으므로, 반박 대상 트랜잭션이 수행된 직후 state root를 SCC에서 꺼내와 실제 결과 state root와 비교해보면 된다. 시퀀서가 제출했던 state root와 실제값이 다르다면 SCC 내에 존재하는 state root 중 잘못된 트랜잭션 이후의 모든 state root을 삭제하고 Fraud Proof는 종결된다. Fraud Proof는 해당 트랜잭션이 발생한 후로 1주일 내에만 진행될 수 있으며, 1주가 지나면 어떤 일이 있어도 이전 트랜잭션을 변경할 수 없다. 따라서 사용자도 자신의 자산을 1주 후에 인출할 수 있다.
1주일 간의 Dispute Period로 인해 1주일 동안 자산을 인출할 수 없다는 점은 사용자에게 큰 불편사항이 될 가능성이 크다. 이는 Market Maker라는 주체에 의해 해결될 수 있다고 Optimism 사는 설명한다. A가 5 ETH를 즉시 인출하고 싶다고 하자. B라는 Market Maker는 0.05 ETH를 수수료로 받고 4.95 ETH를 A에게 제공해준다. 이후 B는 Dispute Period가 마감된 이후 5 ETH를 받아가면 된다. B는 총 0.05 ETH의 수익을 얻게 된다는 인센티브가 있다.
시퀀서와 검증자는 그렇다면 어떤 동기로 움직일까? 시퀀서가 되기 위해서는 Fidelity Bond라고 불리는 일정 자금을 이더리움 상에 본딩해야한다. 만약 부정 행위가 발각되면 해당 자금은 압수되어 부정 행위를 적발한 검증인에게 돌아간다. 이때 Fidelity Bond 전부가 검증자에게 가는 것은 아니다. 만약 그렇다면, 부정 행위를 저지른 시퀀서가 자기 자신의 부정 행위를 또 고발함으로써 별다른 손실 없이 돈을 받아갈 수 있기 때문이다. 그래서 X%는 소각되고, (1-X)%만이 검증자에게 분배된다.
Profit Model of Optimism
현재 Optimism의 디스코드는 불명의 이유로 접속이 불가능하다.

하지만 필자가 우연히 Optimism의 디스코드 방에 들어가 10여 초간 머무르며 발견한 문구가 있었는데, ‘우리는 자체 토큰이 없으며, 아직 수익을 내는 비즈니스 모델을 갖고 있지 않다’라는 문구였다. 하지만 Optimism은 분명 영리 조직이며, 공식 문서에도 자사의 목표를 “we are for profit corporation that is obligated to balance financial interests of our stockholders with best interests of our community and society”라고 언급되어있다. 20년도 7월 올라온 Optimism 미디엄 글에는 자사가 아직 별 다른 수익이 없으며, 프로젝트의 세부 사항들은 모두 개발 중에 있다고 언급되어 있다. 하지만 중요한 힌트를 얻을 수가 있었다. 해당 미디엄 글에는 아래 문구가 있다.
We, the Optimism team, commit to giving all our profits made from sequencing (prior to decentralizing the sequencer) to public goods funding experiments, including the first public goods exit.
여기서 옵티미즘의 수익 모델을 예측할 수 있다. 결국 자기 자신이 시퀀서가 되어 시퀀서에게 사용자들이 지불하는 거래 수수료로 수익을 버는 구조인 것으로 예상된다. 앞서 시퀀서라는 주체가 옵티미스틱 이더리움 상에서 트랜잭션을 수행한다고 언급한 바 있다. 현재 시퀀서는 단일 주체에 의해 돌아가고 있다고 Optimism 공식 문서에 언급되어 있다. 단일 시퀀서가 모든 트랜잭션을 처리하고 레이어 2의 블록들을 생성한다. 그리고 상태 변경과 관련된 데이터를 레이어 1에 전송한다. Optimism 사가 단일 시퀀서를 운영하는 다소 중앙집권적인 형태를 취하고 있는 상태이다. 시퀀서는 앞으로 차츰 탈중앙화될 계획이다. 첫번째 단계로는, 시퀀서를 여전히 한개로 두지만 이것을 다양한 주체들이 교대로 돌리는 형태를 취하고, 이후 두번째 단계로는 복수의 시퀀서가 동시에 돌아갈 수 있도록 업그레이드할 계획이다. 이는 코스모스와 폴리곤과 유사한 방법으로 BFT 합의 알고리즘을 채택하여 실현될 수도 있다. 하지만 시퀀서를 탈중앙화시키는 작업은 아직 제대로 논의가 안된 상태이고, 당분간은 단일 시퀀서로 운영될 것으로 보인다. 앞서 설명한 Fraud Proof 과정도 아직까진 베타 버전이라고 되어있다. 앞서 설명한 검증자가 Dispute Period 도중 부정 행위를 적발하는 메커니즘도 아직 현실에서의 유효성은 미지수로 남아있으며, 검증자가 존재할 것이라는 ‘가정' 하에 세워진 이론이라고 Opimism 사에서 밝히고 있다.
Optimism 사의 옵티미스틱 이더리움은 아직 상당 부분 개발 단계에 있으며 명확한 수익 모델이 공개되어 있다. 이더리움 생태계의 확장과 공공 이익을 위해 헌신하는 것을 목표로 한다고 Optimism 사는 강조한다. 앞으로 옵티미스틱 이더리움이 뚜렷한 윤곽을 잡아가고 로드맵을 밟아감에 따라 어떤 수익 구조를 가지게 될 지 지켜보는 것도 의미가 있을 것이다.
Member discussion