본문으로 건너뛰기
0%

옵티미스틱 rollups는 어떻게 작동하는가 (완벽 가이드)

Alchemy team headshot

작성자 Alchemy

2023년 8월 9일에 게시됨7분 읽기

한때 변두리 아이디어로 여겨졌던 Ethereum—세계 최초의 스마트 컨트랙트 플랫폼—은 수년간 상당히 성장하여, 현재 약 3,000개의 탈중앙화 애플리케이션, 4,000개 이상의 스마트 컨트랙트, 그리고 하루 90,000건 이상의 트랜잭션을 처리하고 있습니다.

하지만 Ethereum의 활동 증가에는 대가가 따랐습니다: 바로 확장성입니다.

블록 크기와 블록 시간에 대한 제한은 탈중앙화와 보안을 위해 필요하지만, Ethereum이 확장하고 더 많은 사용자를 수용할 수 있는 능력을 제한합니다. 그 결과 대부분의 Ethereum 사용자에게 익숙한 일련의 문제들—높은 가스 비용과 느린 트랜잭션—이 발생합니다.

Ethereum을 안전하게 확장하려면 신뢰 가정을 추가하지 않으면서 네트워크 처리량과 지연 시간을 확장할 수 있는 능력을 높여야 합니다. 이것이 바로 레이어 2 롤업 및 사이드체인과 같은 여러 확장 솔루션이 시도하는 것입니다.

이 글에서는 Ethereum을 더 저렴하고 빠르게 사용할 수 있도록 설계된 L2 롤업 솔루션의 한 종류인 옵티미스틱 롤업(Optimistic Rollups, ORUs)을 살펴봅니다.

옵티미스틱 롤업이란 무엇인가?

‍옵티미스틱 롤업은 연산과 데이터 저장을 오프체인으로 옮김으로써 Ethereum 기본 레이어의 처리량과 지연 시간을 개선하는 레이어 2(L2) 구조입니다. 옵티미스틱 롤업은 Ethereum Mainnet 외부에서 트랜잭션을 처리하여 기본 레이어의 혼잡을 줄이고 확장성을 개선합니다.

“옵티미스틱(optimistic)”이라는 명칭은 옵티미스틱 롤업의 뚜렷한 특징을 가리킵니다: 온체인에는 트랜잭션에 대한 정보를 거의 공개하지 않고, 모든 트랜잭션이 유효하다고 자동으로 가정한다는 점입니다. “롤업”이라는 이름은 수천 건의 트랜잭션을 Mainnet에 제출하기 전에 배치로 모아서(“말아서”) 처리하기 때문에 붙었습니다.

옵티미스틱 롤업의 아키텍처

1. 옵티미스틱 롤업 진입하기

옵티미스틱 롤업은 Ethereum에 배포된 스마트 컨트랙트를 사용하여 L2 체인과 L1 블록체인(Ethereum) 간의 상호작용을 관리합니다. 롤업 사용자는 롤업에서 동일한 금액이 잠금 해제되기 전에 이 스마트 컨트랙트 중 하나에 자금을 예치해야 합니다.

_시퀀서(sequencer)_라고 불리는 제3자는 사용자가 롤업 컨트랙트에 예치했다는 증명을 받은 후 롤업 상에서 해당 사용자에게 자금을 크레딧합니다. 이후 사용자는 잔액을 소진할 때까지 롤업에서 자유롭게 거래할 수 있습니다.

옵티미스틱 롤업의 아키텍처
출처

2. 옵티미스틱 롤업 사용하기

롤업에서 사용자는 트랜잭션에 서명하여 트랜잭션 순서 지정 및 실행을 담당하는 시퀀서에게 제출합니다. 시퀀서는 트랜잭션을 검증하고, 데이터를 블록으로 압축한 다음, 배치를 단일 트랜잭션으로 Ethereum에 제출합니다.

여기서 롤업 컨트랙트가 다시 등장합니다. 온체인 컨트랙트는 롤업 상태의 머클 루트(Merkle root)인 “상태 루트(state root)”를 저장합니다. 이를 좀 더 자세히 살펴보겠습니다:

상태(State)

_상태(State)_는 특정 시점에서 네트워크에 관해 이용 가능한 정보를 가리키는 개념입니다. “롤업의 상태”는 L2 체인의 현재 상황을 나타내며 기존 계정, 잔액, 스마트 컨트랙트 등의 세부 정보를 명시합니다.

롤업에서 수행되는 모든 트랜잭션은 그 상태에 변화를 일으킵니다—예를 들어, Alice가 Bob에게 5 ETH를 보내면 Alice의 잔액이 감소합니다. 따라서 트랜잭션은 롤업이 트랜잭션을 실행한 후 이전 상태에서 새로운 상태로 이동하기 때문에 _상태 전이(state transition)_라고 불립니다.

머클 루트

머클 루트는 사용자가 암호화 해시를 사용하여 대량의 정보를 인코딩할 수 있게 해줍니다. 또한 머클 루트는 특정 데이터(예: 트랜잭션)가 더 큰 데이터 집합(예: 트랜잭션 배치)의 일부인지 확인하는 것을 더 쉽게 만들어줍니다.

따라서 롤업 컨트랙트에 저장된 “상태 루트”는 서로 다른 시점에서 롤업의 상태를 검증하는 암호학적 커밋먼트입니다. 시퀀서가 롤업 컨트랙트에 트랜잭션 배치를 제출할 때는 사전(pre) 상태 루트와 사후(post) 상태 루트를 모두 포함해야 합니다.

  1. 사전 상태 루트(Pre-state root): 제출된 트랜잭션이 실행되기 전 롤업의 상태를 나타내는 이전 상태 루트입니다.

  2. 사후 상태 루트(Post-state root): 제출된 트랜잭션이 실행된 후 롤업의 상태를 나타내는 새로운 상태 루트입니다.

시퀀서가 배치를 제출하면, 컨트랙트는 사전 상태 루트가 기존 상태 루트와 일치하는지 확인합니다. 두 값이 일치하면 컨트랙트는 이전 상태 루트를 폐기하고 시퀀서가 제안한 새로운 상태 루트를 저장합니다.

이는 사후 상태 루트에서 참조된 트랜잭션이 확정되어 되돌릴 수 없게 되었음을 의미합니다. 시퀀서는 배치 처리된 트랜잭션의 유효성에 대한 증명을 제출할 필요가 없다는 점에 유의하세요.

증명이 필요한 유일한 경우는 검증자(verifier)가 사기 증명(fraud proof)을 사용하여 부정한 롤업 트랜잭션을 신고하는 경우입니다. 사기 증명의 작동 방식은 이 글의 뒷부분에서 설명하겠습니다.

옵티미스틱 롤업에서 state root를 생성하는 Merkle tree 다이어그램
출처

3. 옵티미스틱 롤업에서 나가기

Alice(사용자)가 이 롤업 업무에 충분히 지쳐서 Ethereum Mainnet의 롤업 컨트랙트에서 자금을 인출하려 한다고 가정해 봅시다. 이를 위해서는—짐작하셨겠지만—그녀의 트랜잭션이 롤업의 상태 루트에 포함되어 있음을 증명하는 머클 증명(Merkle proof)이 필요합니다.

머클 증명을 구성하려면 시퀀서가 제공할 것으로 예상되는 초기 트랜잭션 데이터에 접근할 수 있어야 합니다. 모든 일이 순조롭게 진행되면, Alice는 데이터를 받아 머클 증명을 생성하고 롤업 컨트랙트에 제출합니다.

하지만 트랜잭션 데이터 제공을 시퀀서에게 의존하는 것은 신뢰 가정을 도입하게 됩니다. 시퀀서가 악의적으로 돌변하여 Alice의 토큰을 자신의 지갑으로 이체하는 트랜잭션을 실행하고, 그녀가 자금 소유권을 증명하는 데 필요한 데이터를 제공하지 않을 수도 있습니다. 시퀀서가 오프라인이 되는 것처럼 덜 악의적인 상황조차도 옵티미스틱 롤업의 탈중앙화와 보안을 위협할 수 있습니다.

옵티미스틱 롤업은 시퀀서가 전체 트랜잭션 데이터를 Ethereum 메인 실행 레이어에 게시하도록 요구함으로써 이 문제를 해결합니다. 이 정보는 Ethereum Virtual Machine의 메모리나 스토리지에 저장하는 것보다 저렴한 "콜데이터(calldata)"로서 Ethereum Mainnet에 게시됩니다(이는 롤업 수수료를 더욱 낮춥니다).

이는 두 가지 목표를 달성합니다:

  1. 시퀀서가 오프라인이 되더라도, 다른 시퀀서가 트랜잭션 데이터를 사용하여 롤업의 상태를 재구성하고 블록 생성을 계속할 수 있습니다.

  2. Alice(사용자)는 직접 데이터를 다운로드하여 머클 증명을 생성하는 데 사용할 수 있습니다.

온체인 데이터 가용성의 사용은 옵티미스틱 롤업을 다른 확장 솔루션보다 훨씬 더 안전하게 만드는 요소입니다. 트랜잭션 데이터가 Ethereum에 저장되어 있는 한, Ethereum이 계속 운영되는 한 사용자 자금은 항상 안전합니다.

이렇게 어떤 방식으로든, Alice는 자금 소유권을 증명하는 머클 증명을 생성하게 됩니다. 하지만 그녀는 자금을 인출하기 전에 _분쟁 기간(dispute period)_이 지나기를 기다려야 합니다. 옵티미스틱 롤업에서 분쟁 기간은 인출 요청 제출과 요청한 자금 수령 사이의 1-2주 간격입니다.

이 기간 동안, 누구든지 특정 트랜잭션이나 트랜잭션 배치가 유효하지 않다고 주장하는 사기 증명을 게시할 수 있습니다. 사기 증명이 성공하면, 시퀀서의 본드(정직한 행동에 대한 보증으로 제공된 것)가 삭감되고, Alice의 “자금”은 되돌려지며, “고발자”(_검증자_라고 불림)는 그 노력에 대해 보상을 받습니다.

Alice의 인출 요청에 아무도 이의를 제기하지 않으면, 그녀는 1-2주 후 롤업 컨트랙트에서 자금을 받을 수 있습니다.

사기 증명이란 무엇인가?

사기 증명은 상태 전이(즉, 트랜잭션)가 유효하지 않으며 그 결과로 전체 배치가 되돌려져야 한다는 주장입니다. 복잡하지만, 사기 증명은 작동하기 위해 앞서 언급한 상태 루트에 크게 의존합니다.

이 과정은 당사자(검증자)가 L1 체인의 상태 루트에서 참조된 롤업 상태와 롤업 체인의 실제 상태 간의 불일치를 감지하면서 시작됩니다.

한 예로, Alice가 전송을 전혀 수행하지 않았는데도 시퀀서가 Alice의 잔액을 5 ETH 줄이고 Bob의 잔액을 같은 금액만큼 늘리는 사후 상태 루트를 제출하는 경우를 들 수 있습니다.

검증자는 이 상태 전이에 “이의를 제기”하고 그것이 무효임을 증명할 수 있습니다. 이는 검증자가 모든 트랜잭션에 대한 데이터를 다운로드하여 자신이 가진 롤업 상태 사본에 적용하고 사후 상태 루트를 계산하기 때문에 가능합니다.

시퀀서의 사후 상태 루트가 검증자의 것과 일치하면 아무 일도 일어나지 않습니다. 하지만 시퀀서의 사후 상태 루트가 다르다면—Alice의 사례에서 설명한 것처럼 허위 트랜잭션이 포함되어 있을 가능성이 높으므로—검증자는 사기 증명 계산을 트리거할 수 있습니다.

옵티미스틱 롤업 트랜잭션에 이의를 제기하는 fraud proof 프로세스 다이어그램
Source: https://ethereum.org/en/developers/docs/scaling/optimistic-rollups/#disputing-transactions

사기 증명은 어떻게 작동하는가?

다음은 사기 증명 과정에 대한 개략적인 설명입니다:

  1. 검증자가 이의 제기를 시작하며 다음 정보를 제공합니다:

    a. 이의가 제기된 상태 전이

    b. 사전 상태 루트

    c. 롤업 상태 데이터

    d. 그들의 사후 상태 루트 버전.

    1. 트랜잭션은 이의 제기자가 제공한 정보 등을 사용하여 L1 체인의 샌드박스 환경에서 재생됩니다.

이 “샌드박스 환경”은 Ethereum에서 실행되는 스마트 컨트랙트로, 동시에 가상 머신(VM) 역할도 합니다.

  1. 계산 결과 나온 사후 상태 루트가 이의 제기자의 것과 일치하면, 시퀀서가 실제로 무효한 상태 전이를 포함한 배치를 게시했음을 알 수 있습니다.

무효한 배치(및 그 이후에 게시된 다른 배치들)는 되돌려져 롤업을 이전 상태로 복원합니다.

여기서 설명한 것보다 사기 증명 메커니즘은 더 복잡하다는 점을 유의해야 합니다.

롤업의 사기 증명에 관한 이 글이 추가적인 맥락을 제공할 수 있습니다.

사기 증명과 유효성 증명의 차이는 무엇인가?

사기 증명이 유효성 증명과 다른 주요 이유는 온체인에서 계산된다는 점입니다. 유효성 증명(영지식 증명이라고도 함)은 오프체인(즉, 롤업 상)에서 계산되고 Ethereum에서 검증됩니다.

서로 다른 영지식 증명 유형을 비교하는 저희 글에서 설명했듯이, SNARK나 STARK와 같은 유효성 증명은 오프체인에서 수행된 트랜잭션의 유효성을 증명하는 데 사용됩니다. 이는 영지식 롤업의 기반입니다.

ZK 롤업에서는 트랜잭션 데이터를 입력값으로 사용하여 모든 배치에 대해 유효성 증명이 생성됩니다. 이 유효성 증명은 배치와 함께 Ethereum Mainnet에 제출되고 온체인 컨트랙트에 의해 검증됩니다. 이는 (옵티미스틱 롤업처럼) 이의 제기를 기다릴 필요 없이 트랜잭션이 즉시 유효한 것으로 선언될 수 있음을 의미합니다.

사기 증명과 ZK 증명의 또 다른 차이점은 후자가 온체인에서 검증하기가 다소 더 쉽다는 것입니다. 스마트 컨트랙트가 해야 할 일은 배치 처리된 트랜잭션의 유효성을 판단하기 위해 유효성 증명을 실행하는 것뿐입니다. 사기 증명의 경우, 사기 증명 계산을 완료하기 전에 전체 상태 전이를 재생해야 합니다.

옵티미스틱 롤업과 ZK 롤업의 차이는 무엇인가?

옵티미스틱 롤업과 ZK 롤업의 주요 차이는 전자가 스마트 컨트랙트를 지원하는 방식, 지연된 인출, 암호경제적 인센티브에 대한 의존, 그리고 보안 속성에서 나타납니다.

다음은 옵티미스틱 롤업과 ZK 롤업의 자세한 비교입니다:

Features
Optimistic Rollups
ZK Rollups
Proof
Uses fraud proofs to prove transaction validity.
Uses validity (zero-knowledge) proofs to prove transaction validity.
Capital Efficieny
Requires waiting through a 1-week delay (dispute period) before withdrawing funds.
Users can withdraw funds immediately because validity proofs provide incontrovertible evidence of the authenticity of off-chain transactions.
Data Compression
Publishes full transaction data as calldata to Ethereum Mainnet, which increases rollup costs.
Doesn't need to publish transaction data on Ethereum because ZK-SNARKs and ZK-STARKs already guarantee the accuracy of the rollup state.
EVM Compatibility
Uses a simulation of the Ethereum Virtual Machine (EVM), which allows it to run arbitrary logic and support smart contracts.
Doesn't widely support EVM computation, although a few EVM-compatible ZK-rollups have appeared.
Rollup Costs
Reduces costs since it publishes minimal data on Ethereum and doesn't have to post proofs for transactions, except in special circumstances.
Faces higher overhead from costs involved in generating and verifying proofs for every transaction block. ZK proofs require specialized, expensive hardware to create and have high on-chain verification costs.
Trust Assumptions
Doesn't require a trusted setup.
Requires a trusted setup to work.
Liveness Requirements
Verifiers are needed to keep tabs on the actual rollup state and the one referenced in the state root to detect fraud.
Users don't need someone to watch the L2 chain to detect fraud.
Security Properties
Relies on cryptoeconomic incentives to assure users of rollup security.
Relies on cryptographic guarantees for security.

대표적인 옵티미스틱 롤업 블록체인은 무엇인가?

Total Value Locked(TVL) 기준으로 대표적인 옵티미스틱 롤업 블록체인은 Arbitrum, Optimism, Metis Andromeda, Boba Network입니다. 아래는 서로 다른 옵티미스틱 롤업(ORU)에 대한 개요입니다:

1. Arbitrum

Arbitrum은 연산과 데이터 저장을 오프체인으로 옮김으로써 Ethereum의 사용자 비용과 트랜잭션 속도를 개선하도록 설계된 옵티미스틱 롤업 프로젝트입니다. Arbitrum Virtual Machine(AVM)은 EVM 호환 스마트 컨트랙트를 지원하여, 사용자가 Ethereum 비용의 일부만으로 즐겨 사용하는 앱을 이용할 수 있게 해줍니다.

2. Optimism

Optimism은 Ethereum의 보안 보장을 활용하는 EVM 호환 옵티미스틱 롤업 체인입니다. Optimism은 옵티미스틱 롤업(OR) 구조를 사용하여 수천 건의 오프체인 트랜잭션을 롤업하고 사용자의 가스 비용을 절감합니다.

3. Metis andromeda

Metis Andromeda는 옵티미스틱 롤업을 기반으로 한 확장 가능하고, 저비용이며, 기능적인 L2 프로토콜입니다. Metis Andromeda의 독자적인 스택은 앱, DAO, DeFi를 포함한 다양한 사용 사례에 적용될 수 있습니다.

4. Boba network

Boba Network는 옵티미스틱 롤업 설계로 처리량을 확장하는 Ethereum L2입니다. Boba Network는 7일간의 챌린지 기간이 지나기를 기다리지 않고 즉시 자금을 인출할 수 있도록 하는 유동성 공급자(Liquidity Provider, LP) 서비스를 제공합니다.

토큰을 보유한 옵티미스틱 블록체인이나 프로젝트는 무엇인가?

다음 옵티미스틱 롤업 프로젝트들은 토큰을 보유하고 있습니다:

  • Optimism (OP)
  • Boba Network (BOBA)
  • Metis Andromeda (METIS)

옵티미스틱 롤업 도구

옵티미스틱 롤업은 앱을 확장하고 스마트 컨트랙트와 더 비용 효율적이고 효율적인 방식으로 상호작용하는 데 유용한 솔루션입니다. 하지만 옵티미스틱 롤업을 쉽고 안전하게 사용하려면 먼저 다양한 도구가 필요합니다.

다음은 개발자와 최종 사용자를 위한 다양한 옵티미스틱 롤업 도구들입니다:

옵티미스틱 레이어 2 블록체인으로의 크로스체인 브릿지

옵티미스틱 롤업은 Ethereum의 기본 레이어 위에 구축되어 있지만, 두 체인의 자산은 기본적으로 호환되지 않습니다. 하지만 크로스체인 브릿지를 사용하여 Ethereum과 같은 L1 체인에서 옵티미스틱 롤업으로 자금을 전송할 수 있습니다:

다음은 L1 체인과 다양한 L2 롤업을 연결하는 브릿지의 예시입니다:

Arbitrum과의 브릿지

  • Arbitrum Token Bridge
  • cBridge
  • Hop Protocol
  • Synapse Protocol
  • Anyway Bridge
  • DeGate Bridge

Optimism과의 브릿지

  • Connext
  • Celer Bridge
  • Li.Fi
  • Optimism Bridge
  • Poly Network
  • Via Protocol
  • Synapse Protocol
  • Across

metis andromeda와의 브릿지

  • Metis Bridge
  • cBridge
  • AnySwap
  • Synapse Protocol

boba network와의 브릿지

  • Across
  • Boba Standard Token Bridge/Fast Token Bridge
  • cBridge
  • Synapse Protocol

옵티미스틱 롤업 테스트넷

테스트넷은 연관된 메인 네트워크(Mainnet)의 동작을 시뮬레이션하는 공개 블록체인 네트워크입니다. 실제 블록체인과 달리 테스트넷은 실제 자금을 사용하지 않으므로, 개발자는 최소한의 위험으로 스마트 컨트랙트를 배포하고 테스트할 수 있습니다.

Optimism과 Arbitrum은 Ethereum의 현재 테스트넷인 Sepolia에서 테스트를 진행합니다. Kovan과 Rinkeby 상의 기존 롤업 테스트넷은 지원이 중단되었습니다.

결론

옵티미스틱 롤업은 레이어 2 아키텍처를 사용하여 Ethereum을 확장하려는 노력의 주요 부분입니다. 옵티미스틱 롤업은 Ethereum의 보안과 탈중앙화를 기반으로 하면서도 더 저렴한 수수료와 더 빠른 트랜잭션을 제공합니다.

Alchemy는 옵티미스틱 롤업을 기반으로 한 두 개의 주요 프로젝트, Arbitrum과 Optimism을 지원합니다. 지금 무료로 가입하여 Ethereum 기반 옵티미스틱 롤업으로 dApp을 확장하는 방법을 확인해 보세요.

자주 묻는 질문

옵티미스틱 롤업이란 무엇인가?

옵티미스틱 롤업은 이의가 제기되지 않는 한 모든 트랜잭션이 유효하다고 가정하면서 연산과 데이터 저장을 오프체인으로 옮김으로써 Ethereum의 처리량과 지연 시간을 개선하는 레이어 2 확장 솔루션입니다.

옵티미스틱 롤업에 자금을 예치하는 방법은?

사용자는 Ethereum에 배포된 스마트 컨트랙트에 자금을 예치하고, 시퀀서는 예치 증명을 받은 후 롤업 상에서 동등한 금액을 사용자에게 크레딧합니다.

옵티미스틱 롤업의 챌린지 기간이란 무엇인가?

챌린지 기간은 인출 요청 제출 후 자금 인출이 가능해지기 전까지 누구든지 무효한 트랜잭션에 이의를 제기하는 사기 증명을 게시할 수 있는 1-2주 간격입니다.

시퀀서는 어떤 역할을 하는가?

시퀀서는 트랜잭션의 순서를 지정하고 실행하며, 트랜잭션 데이터를 블록으로 압축하고, 배치를 단일 트랜잭션으로 Ethereum에 제출하며, 예치 후 사용자에게 자금을 크레딧합니다.

옵티미스틱 롤업은 ZK 롤업과 어떻게 다른가?

옵티미스틱 롤업은 트랜잭션이 유효하다고 가정하고 이의가 제기될 때만 사기 증명을 사용하는 반면, ZK 롤업은 모든 배치에 대해 유효성 증명을 사용하여 대기 기간 없이 즉시 인출을 허용합니다.

사기 증명이란 무엇인가?

사기 증명은 상태 전이가 유효하지 않다는 주장으로, 검증자가 롤업 상태의 불일치를 감지하고 부정한 배치를 되돌리기 위한 증거를 제출할 때 트리거됩니다.

옵티미스틱 롤업은 왜 인출 지연이 있는가?

1-2주의 인출 지연은 롤업 컨트랙트에서 자금이 방출되기 전에 검증자들이 부정한 트랜잭션을 감지하고 이의를 제기할 시간을 제공하기 위한 것입니다.

주요 옵티미스틱 롤업 블록체인은 무엇인가?

Total Value Locked 기준 대표적인 옵티미스틱 롤업 블록체인은 Arbitrum, Optimism, Metis Andromeda, Boba Network입니다.

Background gradient

블록체인 매직을 만드세요

Alchemy는 가장 강력한 Web3 개발자 제품 및 도구를 리소스, 커뮤니티, 그리고 전설적인 지원과 결합합니다.