[Scaling 101] 1. Sequencing-as-a-Service

Tariz
17 min readApr 17, 2023

--

롤업의 친구: Shared Sequencing Layer

By Tariz, Co-Founder & ZK researcher at Rádius

We’re Hiring : Frontend Developer, Backend Developer, ZKP Engineer, Cryptography Researcher

요약

1) 모듈러 블록체인은 하나의 블록체인에서 수행해야했던 업무를 네트워크 확장성을 위해 다수의 참여자가 분업하는 것이다.

2) 가장 최신의 모듈러 블록체인에는 롤업의 블록을 대신 결정하는을 Shared Sequencing Layer라는 인프라가 새롭게 제안되었다.

3) Radius의 Shared Sequencing Layer는 악의적인 MEV로부터 사용자의 자금을 보호하고, 동시에 롤업의 수익을 보장하는 블록 생성 서비스를 제공한다.

2020년 비탈릭 부테린이 롤업 중심의 이더리움 로드맵을 발표했을 때, 필자는 흥분을 감추지 못했다. 이전까지는 단 하나의 블록체인이 최고가 되어 시장을 리드하고, 경쟁에서 도태된 프로젝트들은 역사속으로 사라질 것이라는 의견이 지배적이었다. 하지만 롤업 중심의 로드맵은, 경쟁체제가 아닌 협력체제로서 블록체인의 기술과 시장이 발전할 수 있는 가능성을 보여주었다. 실제로 3년이 지난 23년, 모듈러 블록체인 생태계라는 이름으로 이를 구현하기 위한 프로젝트가 모여들었으며, 이들은 서로의 거리낌 없이 협력하며 이더리움의 확장성을 위해 힘쓰고 있다.

이번 아티클에서는 모듈러 블록체인 생태계의 가장 최근 모델과, Radius의 shared sequencing layer의 역할과 필요성에 대하여 소개하고자한다.

Modular blockchain

모듈화는 어떤 시스템의 최적화를 위해 기능 단위로 역할을 분할하고 재결합하는 것을 의미한다. 즉, 모듈러 블록체인은 블록체인의 업무를 개별적으로 쪼개고, 이를 최적화하여, 하나의 생태계가 각 기능의 장점을 복합적으로 가질 수 있는 것이다.

블록체인의 업무

블록체인의 업무는 사용자의 거래를 실행하고, 이로인해 변경된 상태 정보를 저장하고, 올바른 상태 계산과 저장을 위해 서로를 감시(계산을 검증)하는 것이다. 이에 대한 과정은 다음과 같다.

  1. 사용자는 멤풀에 트랜잭션을 전송한다.
  2. 마이너는 멤풀에서 블록에 담을 트랜잭션을 선택한다.
  3. 마이너는 선택한 트랜잭션이 유효한지 확인한다.
  4. 유효한 트랜잭션을 자신이 정한 순서대로 담아서 블록을 만든다.
  5. 정해진 순서대로 트랜잭션을 실행하여 블록의 결과값을 계산한다.
  6. 다른 마이너에게 블록 내용과 결과값을 전송하여 검증과 저장을 요청한다.
  7. 수령한 마이너는 해당 블록의 결과값이 유효한지 검증한다.
  8. 유효한 블록을 자신의 블록체인의 최신 블록으로 연결하여 정보를 저장한다.
  9. 다른 마이너에게 블록 내용과 결과값을 전달한다.
  10. 50% 초과의 마이너들이 블록을 자신의 블록체인에 연결하면 상태 업데이트가 완료된다.

롤업에 의한 분업

롤업은 위에서 나열한 이더리움의 업무 과정 중 일부를 수행하여 거래의 처리 속도를 높이고 비용을 절약하는 이더리움의 확장 솔루션이다. 롤업과 이더리움이 나눠 수행하는 업무는 다음과 같다.

Splitting the monolithic role to rollups

실행 — 롤업

  1. 사용자는 롤업의 멤풀에 트랜잭션을 전송한다.
  2. 롤업의 운영자는 멤풀에서 블록에 담을 트랜잭션을 선택한다.
  3. 운영자는 선택한 트랜잭션이 유효한지 확인한다.
  4. 유효한 트랜잭션을 자신이 정한 순서대로 담아서 블록을 만든다.
  5. 정해진 순서대로 트랜잭션을 실행하여 블록의 결과값을 계산한다.
  6. 이더리움에 블록 내용과 결과값을 전송하여 검증과 저장을 요청한다.

정산 — 이더리움

  1. 롤업이 전송한 정보를 바탕으로 블록의 결과값이 유효한지 검증한다.
  2. 결과를 블록에 포함하고 블록체인에 연결하여 정보를 저장한다.
  3. 롤업의 결과가 포함된 블록을 다른 마이너에게 전달하여 결과에 대한 보안성과 분산화를 강화한다.

위 과정에서 롤업은 이더리움의 “블록을 처음 만드는 마이너”의 역할을 맡게된다. 롤업은 거래 실행을 최적으로 수행하기 위해 블록체인 외부에서 이를 연산하고 결과값과 압축된 정보만 이더리움에 저장하여, 이더리움 확장성 개선에 기여한다. 그리고 이더리움의 보안과 분산화를 상속받기 위해 주기적으로 거래 정보와 블록의 결과를 이더리움에 저장하고, 이더리움에게 정보의 유효성 검증을 요청한다.

모듈러 블록체인 생태계의 분업

보다 최적화된 업무 수행을 위해서 모듈러 블록체인 생태계는 더 세분화된 분업 모델을 제시한다. 여기서는 총 4개의 참여자가 존재한다: Sequencing Layer, Execution Layer, settlement Layer, Data Availability Layer

Splitting the monolithic blockchain for scalability

Sequencing Layer — 순서 결정

  1. 사용자는 sequencing layer의 멤풀에 트랜잭션을 전송한다.
  2. sequencing layer의 운영자는 멤풀에서 블록에 담을 트랜잭션을 선택한다.
  3. 운영자는 선택한 트랜잭션이 유효한지 확인한다.
  4. 유효한 트랜잭션을 자신이 정한 순서대로 담아서 블록을 만든다.
  5. 블록을 롤업의 운영자에게 전송한다.

Execution Layer — 실행 (롤업)

  1. 롤업의 운영자는 순서대로 트랜잭션을 실행하여 블록의 결과값을 계산한다.
  2. 이더리움에 블록 내용과 결과값을 전송하여 검증과 저장을 요청한다.

Settlement Layer — 정산 (이더리움)

  1. 롤업이 전송한 정보를 바탕으로 블록의 결과값이 유효한지 검증한다.
  2. 결과를 블록에 포함하고 블록체인에 연결하여 정보를 저장한다.
  3. 롤업의 결과가 포함된 블록을 다른 마이너에게 전달하여 결과에 대한 보안성과 분산화를 강화한다.

Data Availability Layer — 정보 저장

  1. 모든 과정에서 보관이 필요한 정보들을 저장하며, 정보를 검증하지 않고 단순히 저장만 한다.

모듈러 블록체인 생태계 참여자의 목표는 이더리움의 확장성을 개선하는 것이다. 각 참여자는 분업을 통해 확장성을 위해 각자의 기능을 새롭게 정의할 수 있는 자유로운 환경을 얻었다. 또한, 이들은 자신의 주요 업무를 수행하고, 이를 재결합하는데 있어서 이더리움의 보안과 분산화를 해치지 않기 위한 방법을 고안해야한다. 여기서는 그 중 sequencing layer의 기능에 대하여 이야기하고자한다.

  • Sequencing Layer: 블록에 포함시킬 거래와 처리 순서를 결정하는 것
  • Execution Layer: 상태를 올바르게 계산하고, 이더리움이 자신의 계산 무결성을 검증할 수 있는 체계를 만드는 것
  • Data Availability Layer: 저장한 데이터를 유실하지 않는 것

Radius의 Sequencing layer

Sequencing layer의 업무는 기존 롤업의 수행하던 업무이다. 이더리움이 확장성 개선을 위해 자신의 업무를 롤업에게 외주한 것처럼, 롤업도 특별한 이익이 있어야 자신의 업무의 일부를 sequencing layer에게 맡길 수 있을 것이다(이를 seqeuncing-as-a-service라 부름). 여기서는 Radius의 shared sequencing layer가 롤업에게 제공하는 가치를 중심으로 논의해보자.

  1. 악의적인 MEV로부터 롤업을 보호
  2. 롤업의 수익 창출
  3. 롤업간의 즉각적인 커뮤니케이션 실현

1. 악의적인 MEV로부터 롤업을 보호

Sequencing layer의 주요한 기능은 블록에 포함시킬 거래와 처리순서를 결정하는 것이다. 과거, 필자가 [레이어2, 정말 이대로 충분한가?]라는 게시글에서 소개했던 것처럼, 이 권한은 사용자의 자금을 탈취할 수 있는 힘을 만들어준다.

레이어1에서는 컨센서스, 다시말해, 검증자들이 서로를 감시하고 경쟁하는 체계를 통해 한 명의 참여자가 블록을 결정하는 권한을 독차지할 수 없도록 하였다. 하지만 이는 실질적인 해결방법이 될 수 없다. Flashbot의 MEV boost는 가장 수익이 많이 날 수 있는 블록을 제안하는 빌더(builder)와 실제 블록을 실행하는 검증자(validator)를 연결해주는 서비스이다. 이더리움 검증자의 90% 이상은 이 서비스를 사용하여 MEV를 시도하여 추가 이익을 얻고 있다.

롤업 또한 이러한 위험에서 자유로울 수 없다. 특히 롤업의 경우 확장성을 위해 한 명의 운영자만 존재하기 때문에, 그는 자신이 원한다면, 언제든, 들키지 않을 권한 남용을 통해 사용자의 자금을 탈취할 수 있다.

현재 대부분의 롤업들은 운영자를 분산화하고자하는 로드맵을 가지고 있다. 이를 통해 네트워크의 liveness는 개선할 수 있지만 mev 문제는 여전히 존재한다. 이들의 검증자 또한, 이더리움의 검증자처럼, MEV boost와 같은 부가 서비스를 통해서 자신에게 블록 생성 기회가 왔을 때 권한을 남용하여 사용자의 자금을 탈취할 수 있기 때문이다. 쉽게 말해, 1명이 10번 돈을 빼앗는 것과, 10명이 1번씩 빼앗는 것은, 롤업 생태계와 사용자입장에서 다를 바 없기에, 운영자의 분산화는 이 문제를 해결하지 못한다.

기존에 제안된 솔루션

1. 트랜잭션 암호화
MEV가 발생하는 이유는 운영자가 사용자의 트랜잭션 내용을 볼 수 있기 때문이다. 이들은 mev 추출을 위한 트랜잭션을 미리 탐색하고, 이로부터 수익을 추출할 수 있는 구조로 블록을 구성하여 이익을 얻는다. 이러한 구조에서 mev를 삭제할 수 있는 가장 쉬운 방법은 트랜잭션의 정보를 암호화하는 것이다.

즉, 사용자는 자신의 트랜잭션을 암호화하여 운영자에게 보내면 이들은 타겟을 선정할 수조차 없어진다. 하지만, 이 방법은 블록체인 생태계의 거래 효율성을 빼앗기 때문에 실질적으로 사용할 수 있는 방법이 아니다. 쉽게 말해, 사용자가 DAI로 ETH를 구매할 때, 유니스왑과 스시스왑의 ETH 가격 비교를 할 수 없다.

2. FCFS
두 번째 방법은 FCFS(First-Come-First-Served)이다. 쉽게 말해, 들어온 순서대로 트랜잭션을 블록에 담겠다는 것이다. 현재 대부분의 롤업은 이 방식을 선택하고 있다. 이는 두 가지 이슈를 야기하는데, 첫 번째는 사용자 신뢰이고 두 번째는 롤업의 수익 창출이다. 두 번째 이슈는 다음장에서 다루겠다.

FCFS는 운영자의 다짐일 뿐이다. 왜냐하면 이들이 FCFS을 지켰는지 그 누구도 감시할 수 없기 때문이다. 사용자는 네트워크에서 거래하기에 앞서, 운영자가 권한을 남용하여 자신의 트랜잭션을 공격하지 않을 것이라는 믿음과 함께 자신의 거래를 공격할 수도 있다는 걱정을 동시에 가져야한다.

만약, 우연히, 자신의 트랜잭션이 샌드위치 공격을 당해 거래 금액에 손실을 입었다면, 사용자는 운영자를 끊임없이 의심하게 될 것이다. 운영자는 블록 구성에 자신의 의도가 전혀 없었고, 이 공격 또한 FCFS에 의해 우연히 일어난 것임을 끊임없이 증명해야할 것이다. 이는 불필요한 비용을 야기한다.

Radius의 해결법 — PVDE를 통한 MEV 삭제

Radius가 제안하는 방법은 간단하다. 바로, 트랜잭션 처리 순서를 결정할 때까지만 트랜잭션의 내용을 감추고, 이후에는 자동으로 내용이 공개되도록하는 것이다. 우리는 이를 지연 암호화(delay encryption)이라 부른다. 이에 대한 방법은 다음과 같다.

  1. 사용자는 자신의 트랜잭션을 직접 암호화한 후 Sequencing Layer의 운영자(sequencer, 시퀀서라 부름)에게 전송한다.
  2. 시퀀서는 트랜잭션의 내용을 모른 채 처리 순서를 결정한다.
  3. 순서 결정 후 시퀀서는 트랜잭션 내용을 복호화한다.

이 방식 또한 암호화이기 때문에, 앞서 이야기한 방법처럼 거래 효율성을 잃어버린다고 생각할 수 있다. 하지만, 이 경우에는 순서 결정 후 모든 내용을 복호화하기 때문에, 롤업 입장에서는 일반 블록과 똑같은 블록을 구성하고 이를 실행할 수 있게 된다.

위 솔루션에서 보증하는 것과 그 방법은 다음과 같다.

1. 시퀀서는 악의적인 mev를 시도하지 못한다.
사용자가 직접 트랜잭션을 암호화하여 시퀀서가 트랜잭션 복호화키를 찾기 전까지는 내용을 확인할 수 없도록 한다. 사용자의 암호화 알고리즘(timelock puzzle를 기반의 지연 암호화)은 시퀀서가 트랜잭션 처리 순서를 결정하기 전까지 내용을 확인하지 못하도록 보증한다. 이를 통해, 시퀀서는 트랜잭션 내용을 확인하고 의도적으로 블록을 구성하지 않았음을 암호학적으로 보증받을 수 있다.

2. 네트워크는 DoS 어택을 당하지 않는다.
트랜잭션 정보는 모두 암호화되어있기 때문에, 시퀀서는 이에 대한 유효성을 확인할 수 없다. 또한 timelock puzzle 기반의 지연 암호화는, 시퀀서가 복호화키를 찾는데 오래 걸리도록 많은 연산량을 요구한다. 악의적인 사용자는 시퀀서에게 유효하지않은 트랜잭션과 timelock puzzle을 전송하여, 시퀀서가 무의미한 연산을 반복하도록 하여 네트워크 운영을 방해할 수 있다.

이를 방지하기 위해 트랜잭션의 유효성과 timelock puzzle의 유효성을 검증할 수 있는 zkp를 생성하여 함께 전달하도록 한다. 시퀀서는 트랜잭션의 순서를 결정하기 전에, zkp의 검증을 통해서 다음 사실을 확인하여 DoS 공격을 방지한다.

암호화된 트랜잭션은 유효하며, timelock puzzle을 풀면 암호화된 트랜잭션을 복호화할 수 있는 올바른 복호화키를 찾을 수 있다.

이 모든 과정에서 사용자와 시퀀서가 서로를 믿지 않아도된다. 사용자는 시퀀서가 자신의 트랜잭션을 악용하지 않을 거라 믿을 필요가 없다. 그리고 시퀀서는 사용자가 유효하지 않은 트랜잭션을 보내지 않을 거라 믿을 필요가 없다. 이 과정은 모두 영지식 증명으로 보장되기 때문이다.

우리는 이 모든 것을 기능을 담을 스킴을 PVDE: Practical Verifiable Delay Encryption이라 이름 붙였다. 이 스킴은 이더리움 재단의 그랜트 프로그램에서 연구 및 개발되었다. 연구에 대한 자세한 내용은 아래 트위터에서 확인할 수 있다.

2. 네트워크 효과를 통한 롤업의 수익 창출

잠재적 수익을 포기한 롤업

앞서, 롤업이 블록의 트랜잭션 처리 순서로 FCFS를 사용할 때 야기할 수 있는 문제 중 하나를 롤업 수익이라 언급했다. 롤업을 비롯한 블록체인 네트워크의 수익모델은 제한된 블록 공간을 판매하는 것이다. 이더리움과 같은 레이어1에서는 이를 경매로 판매하여, 네트워크 사용자가 많아질 수록 가치가 높아져 더 큰 이익을 얻는다. 이러한 현상을 네트워크 효과(network effect)라고 한다.

FCFS를 사용하는 롤업은 네트워크 효과로 인한 이익을 누리지 못한다. 수요가 많아지면 높은 수수료를 지불한 거래부터 블록 공간을 판매하기 때문에, 그들이 돈을 지불한 요인을 만들고 이를 생태계의 인센티브로 삼을 수 있다. 이에 반해 FCFS는 수수료와 상관없이 제출 시간을 기준으로 항상 블록 공간을 제공하기 때문에, 사용자로부터 수수료를 지불할 수 있는 요인을 만들어 주지 않는다. 빠른 거래 처리를 위해 돈을 지불할 용이가 있는 사용자 조차도, 네트워크 사용자가 많아지면 기다릴 수 밖에 없다.

이러한 용이를 가진 대표적인 참여자는 전문적인 거래자(예: 아비트라저)이다. 이들은 100만원을 벌 수 있는 기회가 있다면 99만원까지의 수수료를 지불할 수 있는 대표적인 시장 참여자이다. 이들은 롤업의 유용성과 안정성을 보장하는데 기여할 수 있지만, FCFS는 이들의 참여를 쉽게 배제해버릴 수 있다.

FCFS는 롤업은 사용자 자금을 mev로부터 보호하기 위해 운영자에게 요구하는 규칙이다. 하지만 앞서 살펴봤듯이, FCFS는 궁극적인 해결 방법이 되지 않으며, 롤업의 잠재적인 수익을 희생하는 것이다.

Radius의 해결법 — 유저의 자금 보호와 롤업의 수익을 동시에 보장

우리는 롤업의 블록 공간을 두 개로 나누어 이를 달성한다.

  • 상단 블록: 사용자의 트랜잭션을 담기 위한 공간이다. 이 공간에 포함된 트랜잭션은 PVDE를 통해 MEV를 당하지 않았음을 보장받는다.
  • 하단 블록: 전문 거래자의 트랜잭션을 담기 위한 공간이다. 롤업은 이 공간을 판매하여 수익을 얻는다.

Sequencing Layer의 시퀀서는 상단 블록에 복호화된 트랜잭션을 순서대로 포함하고, 이를 Sequencing Layer의 공개 멤풀에 저장한다. 전문 거래자(builder)는 이 정보를 보고 가장 수익성이 높은 하단 블록을 구성하여 수수료와 함께 시퀀서에게 제출한다. 시퀀서는 그 중 가장 높은 수수료를 제안한 블록을 선정하여 실행하고 수수료를 얻을 수 있다.

하단 블록에 담긴 거래는 백러닝이기 때문에 사용자의 자금에 영향을 미치지 않는다. 전문 거래자는 하단 블록에 자신의 트랜잭션이 담기기만 하면 실행을 보장받을 수 있다. 왜냐하면, 상단 블록의 트랜잭션은 실행 예정인 거래이므로, 실행 직후 자신의 트랜잭션이 실행됨이 보장되기 때문이다. 좀 더 쉽게 이야기하자면, 다음과 같은 과정으로 사용자 자금 보호, 전문 거래자 이익 창출, 롤업 수익 확보가 가능하다.

  1. 전문 거래자는 ETH를 보유하고 있으며, 비싸게 판매할 수 있는 기회를 노리고 있다.
  2. 사용자가 ETH를 대량 구매하는 트랜잭션이 상단 블록에 담았다.
  3. 전문 거래자는 멤풀에서 거래를 보고 ETH의 가격이 자신의 구매 가격보다 상승하여 약 $1000의 이익을 얻을 수 있다고 판단했다.
  4. 전문 거래자는 가격 상승 직후 자신의 ETH를 판매하는 거래를 블록 하단에 포함시킨다.
  5. 전문 거래자는 ~$999 수수료와 자신의 매도 거래가 포함된 블록을 시퀀서에게 전송한다.
  6. 시퀀서는 가장 많은 수수료를 제안한 블록을 선택하여 롤업의 운영자에게 전달한다.
  7. 전문 거래자의 블록이 선택되었다면, 전문 거래자는 예측한 수익을 아무런 방해 없이 얻을 수 있다.

이 구조가 의미있는 이유는 상단 블록의 트랜잭션이 MEV로부터 노출되지 않았음을 암호학적으로 보장받기 때문이다. 만약, 상단 블록을 FCFS로 구성했다면, 시퀀서는 하단 블록을 샌드위치 어택등을 위해 악용할 수 있다.

하단 블록은 MEV Boost와의 결합을 통해 수익을 극대화할 수 있는 전문 거래자에게 공개된 마켓플레이스로 제공할 수 있다. 이를 통해, 롤업은 전문 거래자와의 관계를 견고히 하여 자금 유용성과 안정성을 얻을 수 있다. 필자는 최근 플래시봇 포럼에 해당 구조와 MEV Boost를 결합하여 사용자의 자금 보호와 롤업의 수익 창출을 동시에 보장하는 방법에 대하여 제안했다. 보다 자세한 내용은 플래시봇 포럼, 혹은 이더리움 리서치 포럼에서 확인할 수 있다.

솔루션 구현

360°는 앞서 설명한 기능이 모두 구현되어 있는 MEV 저항성을 가진 sequencing DEX서비스이다. 360°은 사용자의 거래를 배치로 묶어 검증자에게 전송한다. 배치 상단에는 PVDE로 보호된 일반 사용자의 트랜잭션이 포함되며, 배치 하단에는 수익 창출을 위한 백러닝 거래가 포함되어 있다. 이 거래는 플래시론 기반의 아비트라지로 자동 생성된다. 사용자는 360°에서 스왑 거래만 하더라도, 특별한 유동성 없이 아비트라지를 통한 수익 창출 기회를 얻어 이익을 얻을 수 있다.

We’re Hiring: Front-end Developer for 360° DEX

3. 롤업간의 즉각적인 커뮤니케이션 실현

Radius의 브릿지 아키텍처는 추후에 공개될 예정이다.

Shared sequencing layer의 특징은 1) 모든 롤업의 트랜잭션 정보를 가지고 있다 2) 서로 다른 롤업이 동일한 시퀀서를 사용한다는 것이다. 이를 통해, 시퀀서는 한 명의 사용자로부터 요청된 서로 다른 롤업간의 트랜잭션을 요청 순서에 맞게 전달하여 원활한 소통을 도울 수 있다.

우리는 정산 레이어를 활용하여 지연 시간이 없는 어토믹(atomic) 브릿지를 설계하고 있으며, 이를 통해 Radius의 shared sequencing layer를 사용하는 롤업간의 즉각적인 소통을 지원할 것이다.

Radius

The Future of MEV-Resistant Cross-rollup Ecosystem

Radius의 trustless zk-based shared sequencing layer이 롤업과 MEV의 상호작용 방식을 혁신적으로 바꿀 수 있으며, 사용자 보호와 롤업 수익간의 최적 균형을 제공할 수 있는 궁극적인 솔루션이라 믿는다. 우리의 생태계의 비전에 함께 논의하고 만들어갈 참여자와 파트너를 찾고 있다.

--

--