user-image
Youngbin Park
Researcher/
DSRV
2022.12.29

[Xangle Digest]

※해당 컨텐츠는 지난 7월 22일 외부에서 기발간 된 컨텐츠입니다. 컨텐츠에 대한 추가적인 주의사항은 본문 하단에서 확인해주세요.

 

목차

1. 롤업(Roll-up)

2. 옵티미스틱 롤업 (Optimistic Rollup)

3. ZK 롤업(Zero-Knowledge Rollup)

4. 롤업은 안전할까?

5. 마무리

 

 

바야흐로 확장성 솔루션들의 시대가 도래하였습니다. 블록체인 업계에서 오랜 기간동안 해결해야 할 문제였던 확장성(Scalability) 문제는 다양한 솔루션들이 등장해옴에 따라 한발 한발 개선되고 있는데요. 우리는 지난 시간, DSRV Research의 누구보다 빠르게 남들과는 다르게, 레이어2 솔루션 편을 통해 다양한 레이어2(이하 L2) 솔루션들을 알아보았습니다. L2 솔루션이란 확장성 개선 대상 체인(이하 L1)의 트랜잭션을 해당 블록체인 외부의 별개 체인인 L2에서 실행하되, 처리된 트랜잭션들의 결과를 대상 체인에 기록하여 보안성을 보장하는 방식을 이야기합니다. 아래 그래프를 보면 L2가 가장 활발히 사용되고 있는 이더리움에서는 L2가 점차 대중화되면서 약 40억 달러의 자금이 L2 상에서 거래되고 있습니다. 그중에서도 롤업 계열의 방식들이 차지하는 비중이 도합 35억 달러에 달하며 가장 큰 지분을 차지하고 있습니다.

Value Locked of Ethereum Scaling Solution. 출처: TheBlock.

 

롤업이 등장하기 이전에는 플라즈마라는 L2 솔루션이 큰 주목을 받고 있었습니다. 플라즈마는 플라즈마 체인에서 트랜잭션을 실행한 후, 트랜잭션의 실행 결과로 변경된 플라즈마 체인의 상태값의 요약을 L1에 기록하는 방식입니다. 이러한 방식으로 플라즈마는 트랜잭션들을 오프체인에서 대량으로 실행할 수 있게 돼 L1의 확장성을 개선할 수 있었습니다. 하지만 플라즈마에는 한가지 문제가 존재했는데요, 바로 트랜잭션을 실행하여 변화된 결과값만을 L1에 저장하고 실제로 실행한 트랜잭션이 무엇인지에 대한 정보는 플라즈마 체인, 즉 오프체인에 저장하는 구조에서 기인하는 점이었습니다. 이러한 구조의 경우, 플라즈마 체인에서는 해당 체인의 운영자(Operator)들이 의도적으로 트랜잭션 데이터를 공개하지 않거나 정당하지 않은 트랜잭션을 실행하여 왜곡된 상태값을 L1에 업데이트하더라도, 이것의 옳고 그름을 증명할 데이터를 찾을 수 없는 “데이터 가용성 문제(Data Availability)”가 발생할 수 있습니다.

이와 같은 상황에서 ‘배리 화이트햇(Barry Whitehat)’이라는 사용자는 플라즈마를 개선한 롤업(Rollup)이라는 새로운 L2 솔루션을 제안하였고, 비탈릭 부테린이 개선된 버전을 발표하며 현재 ‘ZK(Zero-Knowledge) 롤업’이라고 불리는 솔루션이 등장하게 됩니다.[1] 하지만 ZK 롤업이 사용하는 영지식 증명(Zero-Knowledge Proof) 방식의 복잡성으로 인해, 뒤이어 곧 ‘존 애들러(John Adler)’ 와 ’미케라 쿠엔틴 콜린스(Mikerah Quintyne-Collins)’를 통해 영지식 증명없이도 동작할 수 있는 ‘옵티미스틱(Optimistic) 롤업’이라는 방식이 등장하게 됩니다.[2] 위 그래프에서 확인할 수 있다시피 현재는 옵티미스틱 롤업이 더욱 많은 사용량을 보여주고 있습니다.

이제 다음 문단에서부터는 옵티미스틱 롤업과 ZK 롤업이 정확히 무엇이고 어떻게 동작하며, 같은 롤업이더라도 각 방식마다 어떤 차이점이 있는지에 대해 차근히 살펴보도록 하겠습니다.

 

1. 롤업(Roll-up)

옵티미스틱 롤업과 ZK 롤업의 차이점을 알아보기 위해 롤업을 먼저 간단하게 짚어보자면 “롤업은 L2에서 트랜잭션을 실행한 뒤, 실행한 트랜잭션 데이터들과 변경된 상태의 요약본을 L1에 저장하는 솔루션”입니다. 일반적으로 L1에 배포된 롤업 컨트랙트(Rollup Contract)에는 롤업 체인의 상태 요약본인 스테이트 루트가 저장되어 있습니다. 롤업은 롤업 체인(L2)에서 다수의 트랜잭션들을 처리한 후 각 계정의 상태를 바꾸고, 그 결과로 바뀌게 된 최종 스테이트 루트 값을 L1의 롤업 컨트랙트에 전송하여 L1에 기록된 롤업 체인의 상태도 업데이트하도록 요청합니다. 롤업의 경우, L1의 상태를 변경할 때 트랜잭션을 실행한 결과뿐만 아니라 요약된 트랜잭션 데이터 자체 또한 L1에 보관(온체인)하는 방식을 통해 누구든 데이터의 유효성을 검증할 수 있게 하여 데이터 가용성 문제를 해결하였습니다.

롤업의 상태 업데이트 과정. 출처: 비탈릭 부테린 블로그

 

롤업의 상태 변경은 시퀀서(Sequencer) 혹은 운영자(Operator)로 불리는 노드가 정보의 묶음인 ‘batch’를 L1에 제출하여 이루어집니다. 이하 편의를 위하여 두 용어를 시퀀서로 통일하여 서술하겠습니다. 시퀀서는 트랜잭션을 실행하고 롤업체인의 블록을 생성하며, 이 블록의 정보를 담은 batch를 L1에 제출하게 됩니다. 일반적으로 batch에는 이전 롤업 상태의 스테이트 루트값, 변경된 롤업 상태의 스테이트 루트값, 블록에서 실행된 트랜잭션 데이터의 요약본이 담겨 있습니다. 시퀀서가 제출한 트랜잭션을 통해 요청을 받은 롤업 컨트랙트는 저장되어 있던 스테이트 루트와 batch에 포함된 롤업 체인의 이전 상태의 스테이트 루트가 일치하는지 확인한 후, 일치한다면 기존에 저장되어 있던 스테이트 루트를 롤업의 현재 상태를 나타내는 새로운 스테이트 루트 값으로 교체합니다. 롤업 체인에서 batch로 제출하는 압축된 트랜잭션 데이터들은 저렴한 비용으로 처리할 수 있는 콜데이터(calldata) 형태로 L1에 저장됩니다. 따라서 롤업은 더욱 적은 리소스를 사용하며, 여러 트랜잭션을 한 번에 처리함으로서 저렴하고 빠른 거래를 가능하게 합니다.

하지만 롤업에서도 시퀀서가 임의로 잘못된 상태를 L1에 업데이트하려고 할 수 있습니다. 기본적으로 롤업은 온체인에 저장된 트랜잭션 데이터를 바탕으로 업데이트된 상태의 유효성을 검증할 수 있습니다. 그 유효성을 검증하는 방식에 따라 롤업의 종류는 사기 증명을 사용하는 옵티미스틱 롤업과 유효성 증명을 사용하는 ZK 롤업, 이 두 가지로 구분해볼 수 있습니다.

 

2. 옵티미스틱 롤업 (Optimistic Rollup)

옵티미스틱 롤업은 그 이름에서 알 수 있듯이 시퀀서가 제출하는 상태에 문제가 없을 것이라는 낙관적인 가정 아래 실행됩니다. 따라서 누군가 그 데이터가 잘못되었다고 이의를 제기하지 않는 한 롤업 컨트랙트는 트랜잭션이 올바르게 실행되었는지 실제로 검증하지 않고 일단 사실로 받아들여 새로운 스테이트 루트를 업데이트하게 됩니다.

사기 증명(Fraud Proof)

옵티미스틱 롤업은 악의적인 시퀀서가 잘못된 상태를 업데이트한 상황에서만 잘못된 상태를 바로잡기 위하여 사기 증명(Fraud Proof)를 사용하게 됩니다. 사기 증명이란 잘못된 상태에 대한 증거를 제시하는 방법으로, 옵티미스틱 롤업에는 시퀀서에 더해 사기 증명을 생성하는 검증자(Verifiers)라는 제3의 역할이 존재합니다. 롤업 체인의 상태와 L1 롤업 컨트랙트를 지속적으로 감시하던 검증자는 롤업 컨트랙트에 잘못된 상태 변경이 발생하게 되면 이에 대해 이의를 제기하고 사기 증명과정을 진행하게 됩니다.

사기 증명 과정은 대표적으로 1) 비대화형과 2) 대화형 두 가지가 있습니다.[3] 비대화형은 해당 상태의 트랜잭션을 모두 재실행하고 잘못된 상태와 대조하여 증명을 제시하는 방식입니다. 검증자는 잘못된 상태를 발견하면 이의를 제기하고 변경 이전의 상태와 트랜잭션 데이터, 그리고 올바르게 연산된 이후 상태를 롤업 컨트랙트에 제출합니다. 해당 트랜잭션들은 모두 L1에서 재연산되고, 재연산 후 상태가 검증자가 올바른 상태라고 제시한 것과 같다면 이의 제기한 상태가 잘못되었다고 증명할 수 있습니다.

반면 대화형은 방어자(시퀀서)와 도전자(검증자)의 여러번의 오프체인 상호작용으로 아주 적은 양의 재연산을 통해 이를 증명합니다. 먼저 방어자가 제출한 상태에 대하여 도전자가 이의를 제기하면, 방어자는 해당 블록에서 실행한 연산들을 절반씩 나누고 도전자가 둘중 이의를 제기할 부분을 선택하는 과정을 반복합니다. 이같은 이진 탐색(binary search, 혹은 bisection) 과정을 통해 온체인에서 실행하기에 충분히 작은 연산이 될때까지 유효하지 않은 부분을 좁히게되면 도전자는 이를 L1에서 재실행하여 상태의 잘못됨을 증명합니다. 비대화형이 모든 트랜잭션들을 재실행하여 비용이 많이 드는 반면, 대화형은 의심스러운 부분을 좁히기 위해 방어자와 도전자의 상호작용 시간이 필요하지만 매우 작은 부분만 재실행하면 된다는 이점을 갖고 있습니다.

롤업에서는 검증자가 사기 증명을 생성하기 전에 잘못된 값이 확정되지 않도록, 잘못된 상태에 대해 이의를 제기할 수 있는 챌린지(Challenge) 기간를 도입하게 됩니다. 만약 누군가 롤업 체인에서 L1으로 자금을 출금하고자 한다면 챌린지 기간 이상의 지연시간을 기다려야 합니다. 그렇지 않다면 누구나 유효하지 않은 트랜잭션을 통해 L2의 유동성을 탈취하여 L1으로 가져가는 것이 가능하기 때문입니다. 따라서 옵티미스틱 롤업에서 돈을 인출할 때에는 일반적으로 1 ~ 2주의 지연시간이 소요됩니다. (이 때문에 별도의 유동성을 이용하여 사용자에게 즉각적인 인출을 제공해주고, 실제 인출금의 지연시간을 기다려주는 대신 수수료를 수취하는 프로젝트들도 존재합니다.)

일반적으로 시퀀서는 올바르지 않은 상태를 제출할 수도 있기 때문에, 이 경우를 대비하여 일정량의 보증금을 예치해놓아야 시퀀서로서의 역할을 수행할 수 있습니다. 이를 통해 잘못된 데이터를 제출했다는 것이 증명되는 경우 악의적인 시퀀서는 예치하였던 보증금을 삭감당하는 처벌을 받고, 시퀀서의 사기를 밝혀낸 검증자에게는 삭감된 보증금이 보상으로 주어지게 됩니다. 또한 시퀀서가 잘못된 데이터를 제출했다고 증명되면, 유효하지 않은 해당 블록은 반영되지 않게(Roll-back) 됩니다. 챌린지 기간 동안 유효하지 않은 블록 뒤에 새로운 거래들이 연결되었다고 하더라도, 블록이 결국 사기 증명을 통해 유효하지 않음이 증명되었다면, 이후의 트랜잭션들 또한 유효하지 않은 블록을 바탕으로 생성되었기 때문에 반영될 수 없습니다.

스마트 컨트랙트의 실행

Virtual Machine(가상머신, 이하 VM)은 컴퓨터 명령어 종류와 각 명령어가 트랜잭션 중에 수행해야 하는 작업을 정의하여, 스마트 컨트랙트에 따라 명령어를 실행하는 프로그램입니다. 더하여 롤업의 VM이 L1의 VM(예, EVM)과 호환된다는 것은 L1의 프로그래밍 언어(스마트 컨트랙트), 인프라 및 생태계(사용자, 개발자)로부터 이점을 취할 수 있음을 뜻하기도 합니다. 따라서 옵티미스틱 롤업 프로젝트들은 L1의 스마트 컨트랙트를 실행할 수 있는 환경을 만들기 위해 노력했고, 현재 L1의 범용적인 스마트 컨트랙트들을 약간의 수정을 통해 배포하여 사용하는 것이 가능합니다.

 

3. ZK 롤업(Zero-Knowledge Rollup)

ZK 롤업은 이름 그대로 영지식 증명(Zero-Knowledge Proof)을 통해 생성되는 유효성 증명(Validity Proof)을 사용하여, 시퀀서가 제출하는 상태가 옳다는 것을 증명하는 방법을 사용합니다. 제출된 상태를 일단 반영한 이후 필요시 사기 증명을 통해 정당하지 않은 상태변화를 잡아내는 옵티미스틱 롤업과 달리, ZK 롤업은 상태를 반영하기 전에 미리 유효성 증명을 검증하여 올바르지 않은 상태를 걸러내는 방식으로 이해할 수 있습니다.

영지식 증명(Zero-Knowledge Proof)

그렇다면 이러한 증명을 생성하는데 사용하는 영지식 증명이란 무엇일까요? 영지식 증명이란 누군가(Prover)가 상대방(Verifier)에게 특정 정보의 내용을 유추할 수 있는 어떤 정보도 노출하지 않은 채 상대에게 자신이 정보를 알고있다는 것을 증명하는 방법입니다. 쉬운 예시를 하나 들어보겠습니다. Prover와 Verifier는 월리를 찾는 게임을 하고 있습니다. 월리를 찾아냈다고 주장하는 Prover는 Verifier에게 월리의 위치를 알려주지 않고 자신이 월리를 찾았다는 사실만을 증명하고 싶습니다. 따라서 Prover는 그림에서 월리를 가리켜 월리의 위치를 Verifier에게 노출시키는 것이 아닌, 그림을 복사해서 월리를 오려내어 Verifier에게 증명으로 보여줄 수 있습니다. 오려낸 월리가 바로 Prover의 주장에 대한 유효성 증명인 셈입니다.

월리를 찾아보세요. 출처: 월리를 찾아라 시리즈

 

유효성 증명(Validity Proof)

실제 롤업에서 영지식 증명을 통해 유효성 증명을 생성하는 것은 수학적 연산 및 암호화 과정을 거치게 됩니다. 유효성 증명을 생성하는 것은 일련의 규칙을 정의하는 것부터 시작합니다. 예를 들어 ‘각 트랜잭션에는 올바른 서명이 있어야 한다.’, ‘사용자가 소유한 것보다 더 많이 지출할 수 없거나 이중 지출이 불가능하다.’, 또는 ‘이전 상태로 부터 실행되어야 한다.’ 등이 그 규칙이 될 수 있습니다. 이렇게 정의된 규칙들을 산술 회로 및 다항식과 같은 수학적 표현으로 변환한 후 암호화 과정을 거치게 되고, 이를 통해 만든 영지식 회로는 이후 증명을 생성하거나 검증하는 데 사용됩니다.

ZK 롤업에서 시퀀서는 Prover의 역할을, 롤업 컨트랙트는 Verifier의 역할을 수행합니다. 따라서 ZK 롤업의 블록생성자는 batch를 L1에 제출 할 때, 스테이트 루트, 트랜잭션 데이터에 더하여 해당 실행에 대한 유효성 증명을 함께 생성하여 포함시켜야 합니다. 해당 유효성 증명은 소유자가 올바르게 서명하고 계정 잔액을 올바른 방식으로 업데이트하고 이전 머클루트에서 새 루트로 이어지는 일련의 거래가 존재함을 증명합니다. 이를 통해 시퀀서는 실행한 트랜잭션의 정보를 밝히지 않고도 트랜잭션이 사전 정의된 규칙을 위반하지 않는다는 것을 롤업 컨트랙트에 증명할 수 있습니다. 시퀀서가 유효하지 않은 트랜잭션을 실행한 상태를 롤업 컨트랙트에 업데이트하려고 한다면, 롤업 컨트랙트는 유효성 증명을 검증하여 유효하지 않은 트랜잭션이 실행되었다는 사실을 인지하고 상태 업데이트를 진행하지 않을 것입니다. 유효성 증명은 batch에 포함된 일련의 트랜잭션에 대하여 하나만 생성되기 때문에, 하나의 트랜잭션이라도 유효하지 않다면 이는 반영되지 않습니다.

위와 같은 유효성 증명 과정을 ZK 롤업과 옵티미스틱 롤업 간의 가장 큰 차이점으로 이해할 수 있습니다. 옵티미스틱 롤업은 시퀀서가 올바른 데이터를 제출했을 것이라고 가정하기 때문에, 이후 문제가 발생하는 경우 검증자가 사기 증명을 생성하게끔 검증자가 계속해서 롤업 컨트랙트를 감시하고 트랜잭션을 재연산하도록 해야 한다는 단점이 있습니다. 하지만 ZK 롤업은 영지식 증명으로 만든 유효성 증명을 사용하기 때문에 롤업 컨트랙트가 검증자의 역할을 대신하여 검증할 수 있습니다.

따라서 영지식 증명에서는 제3의 검증자가 필요하지 않으며, 또한 사기 증명을 제출하기 위한 지연 시간 또한 필요하지 않게 되어 별도의 출금 기간 없이 L2의 유동성을 L1으로 즉시 인출할 수 있다는 이점을 가집니다. 또한 사기 증명을 생성하지 않는 ZK 롤업은 사기 증명을 생성하기 위해 기존 트랜잭션 데이터 내에 포함시켜야 했던 사용자의 서명 데이터 등을 생략할 수 있기 때문에 L1에 저장해야하는 calldata의 양 또한 크게 줄일 수 있습니다. ZK 롤업은 유효성 증명을 생성하고 증명하는 데 추가적인 연산과정이 수행돼야 하지만, 옵티미스틱 롤업에 비해 작은 크기의 데이터를 온체인에 저장하기 때문에 더욱 저렴한 비용으로 트랜잭션을 처리할 수 있습니다.

옵티미스틱 롤업과 ZK 롤업의 비교. 출처: 비탈릭 부테린 블로그(DSRV Research 재구성)

 

영지식 증명의 종류: SNARK & STARK

많은 ZK 롤업 프로젝트들이 모두 다 같은 영지식 증명 방식을 사용하는 것은 아닙니다. ZK 롤업에서 유효성 증명을 생성하기 위해 사용하는 영지식 증명의 대표적인 방법은 크게 ZK-SNARK와 ZK-STARK로 구분해 볼 수 있습니다. ZK-SNARK는 ‘Zero-Knowledge Succinct Non-interactive ARgument of Knowledge’의 약자입니다. 여기서 S(Succinct)는 간결함으로 이는 매우 큰 프로그램에 대한 경우에도 증명의 길이가 수백 바이트에 불과하여 짧은 시간에 검증할 수 있음을 의미합니다. N(Non-interactive)은 비대화형이라는 의미로 Prover와 Verifier가 통신을 통해 질문을 주고받아 검증을 하는 대화형(interactive)과는 달리 Prover가 Verifier에게 단일메세지를 전달하여 검증함을 의미합니다.

하지만 Prover와 Verifier를 간결한 비대화형으로 만들기 위해서는 서로를 이해할 수 있는 공통된 매개변수가 있어야 하며, 이를 생성하는 과정을 ‘Trusted Setup’이라고 부릅니다. 이 매개변수들은 Trusted Setup 과정에서 암호화된 값으로 Prover와 Verifier 시스템에 공유됩니다. 이때 공격자가 매개변수의 원본을 알면 검증자에게 거짓을 참이라고 속일 수 있는 증명을 만들 수 있기 때문에 일반적으로 원본의 경우 파기하게 됩니다. 이 과정이 시스템 전체의 보안에 큰 부분을 차지하기 때문에 Trusted Setup 과정에서 비밀이 ‘안전하게 생성되었는가’, ‘누가 알고 있는가’, 그리고 ‘어떻게 원본을 파기할 것인가’ 등이 중요하게 고려될 수 있습니다.[4]

과거 Zcash의 Trusted Setup Ceremony에서 디스크를 파괴하는 모습🪚. 출처: Zcash

 

이와 비교하여 ZK-STARK는 ‘Zero-Knowledge Scalable Transparent ARguments of Knowledge’의 약자입니다. T(Transparent)는 투명성으로, 이는 SNARK와 달리 Trusted Setup의 과정을 거칠 필요가 없음을 의미합니다. 하지만 STARK는 trusted setup을 통해 간결한 증명을 생성하는 SNARK에 비해 증명의 크기가 커 가스가 더 많이 필요하고, 검증시간이 늘어난다는 단점 또한 존재합니다.

SNARK vs STARK. 출처: Zooko Wilcox(Zcash)(DSRV Research 재구성)

 

스마트 컨트랙트의 실행

이렇게만 보면 ZK 롤업이 무조건적으로 옵티미스틱 롤업에 비해 더 좋은 솔루션이 아닌가 하는 생각이 들 수 있습니다. 별도의 검증자도 필요없고 자금의 입출금도 즉각적이니까요. 하지만 ZK 롤업에도 한계가 존재합니다. 이는 바로 범용적인 스마트 컨트랙트를 실행하는 것이 어렵다는 것입니다. 옵티미스틱 롤업에 비해 영지식 증명은 기술의 복잡성으로 인하여 영지식 증명없이 동작하던 기존 L1상의 스마트 컨트랙트를 호환하는 것이 매우 어렵습니다. 이는 현재 옵티미스틱 롤업이 더 많이 채택되고 있는 이유이기도 합니다.

ZK 롤업에서의 스마트 컨트랙트 실행은 단계적으로 발전해왔습니다. 특정 거래 기능만 지원하여 각각의 Dapp에 개별적으로 적용되는 솔루션에서 시작하여 ZK 롤업에서 사용될 수 있도록 자체적인 언어를 개발하여 범용적인 스마트 컨트랙트를 실행할 수 있도록 발전하였으며, 이후에는 별도의 언어없이 L1의 VM과 호환하려는 노력이 진행되고 있습니다. 예를 들어, 개별적인 Dapp들을 각각 ZK 롤업 환경에서 실행할 수 있게 해주는 StarkEX와 거래 기능을 지원하는 Loopring, 범용적으로 스마트 컨트랙트를 실행하기 위한 StarkNet 등이 있습니다. StarkNet의 스마트 컨트랙트의 경우에는 Starkware가 개발한 독자적인 언어인 Cairo로 작성됩니다. Starkware는 현재 Cairo를 이더리움의 EVM과 호환하기 위한 트랜스파일러를 개발하고 있으며, zkSyncPolygon Hermez에서도 각기 다른 방식으로 영지식 증명 방식으로 동작하는 이더리움의 VM인 zkEVM을 구현하는 중입니다.

 

4. 롤업은 안전할까?

L1에 보안의 기반을 두는 롤업은 항상 안전할까요? 롤업의 안전성을 평가할 때, 시퀀서의 분산화가 중요한 요소 중 하나로 고려되고 있습니다. 옵티미스틱 롤업 프로젝트인 Arbitrum과 Optimism, ZK 롤업 프로젝트인 StarkNet 등 많은 경우 롤업 체인에 자체적으로 하나의 시퀀서만을 실행하고 있습니다. 이는 초기 단계의 롤업 솔루션에게는 효율적인 방법이기는 하지만, 중앙 집중화된 시퀀서는 작동을 멈추거나[5], 뇌물을 받아 트랜잭션을 검열하거나, 트랜잭션 순서를 변경하여 악의적인 MEV(Maximal Extractable Value)[6] 이익을 취하는 등의 위험이 존재합니다. 따라서 장기적으로는 시퀀서들이 중앙 집중화되는 위험을 줄이기 위해 분산화되어야 할 필요가 있습니다. 이에 따라 현재는 중앙화된 시퀀서를 사용하는 롤업 프로젝트들 또한 시간이 지남에 따라 일종의 시퀀서 분산을 진행할 계획을 발표하였습니다.[7]

하지만 무작정 여러개의 시퀀서를 두는 것이 곧 정답은 아닙니다. L1에서 합의 알고리즘을 통하여 블록을 생성할 사람을 정하는 것처럼, 어떤 시퀀서가 블록을 생성하고 batch를 제출할 것인지를 정할 매커니즘이 존재해야합니다. 여러 참가자가 batch를 생성하여 동시에 제출하게 된다면, 하나의 batch만 성공적으로 포함되고 나머지 batch들을 생성하고 게시하는데 사용된 리소스가 낭비될 수 있습니다.

기본적으로 시퀀서가 되기 위해서는 악의적으로 행동할 경우 패널티를 주기 위하여 일정량의 자금을 예치하도록 합니다. 이에 더하여 일정기간 동안 시퀀서 역할을 할 수 있는 권한을 경매를 통해 결정하거나, PoS와 같이 일정한 자금을 예치하고 예치자금에 비례하여 시퀀서를 선정하는 방법도 생각해 볼 수 있습니다.[8] 하지만 경매의 경우 오히려 독점을 장려할 수 있으며, PoS와 같은 방법을 사용할 경우에는 패널티 이상의 불필요한 자금이 묶여있어야 한다는 단점이 존재할 수 있습니다. 현재 시퀀서를 탈중앙화하는 방법에 절대적인 정답은 없으며, 여러가지 방식들이 고려되고 있습니다.

검증자가 존재하는 옵티미스틱 롤업의 경우에는 검증자가 어떻게 지속적으로 검증을 수행하게 할 것인지도 고려되어야 합니다. 만약 시퀀서가 항상 올바른 값만 제출한다면 검증자는 사기 증명을 생성하지 못할 것이고 검증작업을 수행한 비용에 대해 보상을 받지 못하게 되어 검증을 지속할 이유를 잃게 됩니다. 시퀀서가 항상 올바르게 행동하는 것이므로 롤업이 안전한 것이냐고 생각할 수 있지만, 이 시퀀서는 검증자가 검증을 하지 않게 되면 올바르게 행동하는 것을 멈추고 롤업을 공격하려 할 수 있습니다. 결국 시퀀서가 올바르게 행동하는 것이 롤업을 안전하게 만들지만, 이후에는 검증자가 검증을 포기 하게 하여 롤업이 잘못된 데이터를 잡아내지 못하게 됩니다. 반면 악의적으로 행동하는 시퀀서가 있다면 롤업은 안전하지 않지만, 검증자들이 활발하게 검증을 실행할 유인이 되는 역설적인 상황이 펼쳐지게 됩니다. 따라서 이와 같은 역설적인 상황에서 검증자를 어떻게 지속적으로 검증을 수행하게 할 것인가에 대한 인센티브 구조도 보안에 중요하게 작용합니다.[9]

 

5. 마무리

L2 솔루션 TVL. 출처: L2Beat

 

오늘 우리는 롤업과, 롤업의 종류인 옵티미스틱 롤업 및 ZK롤업이 무엇인지 그리고 그 차이점에 대하여 알아보았습니다. 현재 이더리움의 대표적인 디파이 앱인 Curve, Uniswap, Aave 등이 Arbitrum과 Optimism으로 대표되는 옵티미스틱 롤업에서의 실행을 지원하고 있으며, dydX, 1inch Finance 등은 StarkEX, zkSync와 같은 ZK 롤업을 통한 실행을 지원하고 있습니다. 위 그림을 참고해 보더라도 L2 상위 프로젝트의 대다수가 롤업을 사용하고 있는 프로젝트들인 것을 살펴볼 수 있습니다.

이더리움 또한 롤업 중심 로드맵(A rollup-centric ethereum roadmap)을 통하여 확장성을 개선할 것임을 발표한 바 있습니다.[10] 이는 단기적으로 롤업을 통한 이더리움의 확장성 개선 방식이 온체인 계산의 효율성 보다는, 롤업의 데이터를 얼마나 많이 저장할 수 있는가에 집중된다는 것을 의미합니다. 이후 이더리움은 샤딩을 통하여 롤업의 데이터 가용성을 위한 공간을 제공하고, 이더리움을 롤업을 위한 보안 및 데이터 저장의 계층으로 사용하는 미래를 그리고 있습니다.

이제 롤업은 현실적인 확장성 솔루션의 미래의 한 축으로 자리잡고 있는 것으로 보입니다. 본 글이 앞으로도 계속 등장할 롤업 솔루션들의 원리를 이해하고, 이들이 각자 풀고자 하는 문제에 올바르게 접근하는 데에 도움이 되었기를 바라며, 긴글 읽어 주셔서 감사합니다.

 

 

※ References 
[1] https://medium.com/dragonfly-research/the-life-and-death-of-plasma-b72c6a59c5ad
[2] https://medium.com/@adlerjohn/the-why-s-of-optimistic-rollup-7c6a22cbb61a
[3] https://medium.com/@cpbuckland88/fraud-proofs-and-virtual-machines-2826a3412099
[4] https://vitalik.ca/general/2022/03/14/trustedsetup.html
[5]https://offchain.medium.com/todays-arbitrum-sequencer-downtime-what-happened-6382a3066fbc
[6] https://ethereum.org/en/developers/docs/mev/
[7] https://medium.com/starkware/starknet-on-to-the-next-challenge-96a39de7717
[8] https://www.alexbeckett.xyz/decentralized-sequencers-where-do-we-go-next/
[9] https://research.paradigm.xyz/rollups
[10] https://ethereum-magicians.org/t/a-rollup-centric-ethereum-roadmap/4698

 → '[DSRV 다이제스트] 롤업(Rollup)의 세계로' 원문 보러가기

 

 

 

주의사항
본 글에 기재된 내용들은 작성자 본인의 의견을 정확하게 반영하고 있으며 외부의 부당한 압력이나 간섭 없이 작성되었음을 확인합니다. 작성된 내용은 작성자 본인의 견해이며, (주)크로스앵글의 공식 입장이나 의견을 대변하지 않습니다. 본 글은 정보 제공을 목적으로 배포되는 자료입니다. 본 글은 투자 자문이나 투자권유에 해당하지 않습니다. 별도로 명시되지 않은 경우, 투자 및 투자전략, 또는 기타 상품이나 서비스 사용에 대한 결정 및 책임은 사용자에게 있으며 투자 목적, 개인적 상황, 재정적 상황을 고려하여 투자 결정은 사용자 본인이 직접 해야 합니다. 보다 자세한 내용은 금융관련 전문가를 통해 확인하십시오. 과거 수익률이나 전망이 반드시 미래의 수익률을 보장하지 않습니다.
본 제작 자료 및 콘텐츠에 대한 저작권은 자사 또는 제휴 파트너에게 있으며, 저작권에 위배되는 편집이나 무단 복제 및 무단 전재, 재배포 시 사전 경고 없이 형사고발 조치됨을 알려드립니다.