본문으로 건너뛰기
Change page

옵티미스틱 롤업

옵티미스틱 롤업은 이더리움 기본 레이어의 처리량을 확장하도록 설계된 레이어 2 (l2) 프로토콜입니다. 오프체인에서 트랜잭션을 처리하여 메인 이더리움 체인의 연산을 줄이고 처리 속도를 크게 향상시킵니다. 옵티미스틱 롤업은 사이드체인과 같은 다른 확장성 솔루션과 달리 트랜잭션 결과를 온체인에 게시하여 메인넷에서 보안을 파생합니다. 또한 이더리움에서 사기 증명으로 트랜잭션을 검증하지만 트랜잭션 데이터를 다른 곳에 저장하는 플라즈마 체인과도 다릅니다.

연산은 이더리움 사용 시 느리고 비용이 많이 드는 부분이므로, 옵티미스틱 롤업은 확장성을 10~100배까지 향상시킬 수 있습니다. 옵티미스틱 롤업은 또한 트랜잭션을 이더리움에 calldata 또는 블롭으로 기록하여 사용자의 가스비를 줄입니다.

전제 조건

이더리움 확장성레이어 2 (l2)에 대한 페이지를 읽고 이해해야 합니다.

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

옵티미스틱 롤업은 연산 및 상태 저장을 오프체인으로 이동시키는 이더리움 확장 방식입니다. 옵티미스틱 롤업은 이더리움 외부에서 트랜잭션을 실행하지만, 트랜잭션 데이터를 메인넷에 calldata 또는 블롭으로 게시합니다.

옵티미스틱 롤업 운영자는 이더리움에 제출하기 전에 여러 오프체인 트랜잭션을 대규모 배치로 일괄 처리합니다. 이 방식을 사용하면 각 배치의 여러 트랜잭션에 고정 비용을 분산시켜 최종 사용자의 수수료를 줄일 수 있습니다. 옵티미스틱 롤업은 또한 압축 기술을 사용하여 이더리움에 게시되는 데이터 양을 줄입니다.

옵티미스틱 롤업은 오프체인 트랜잭션이 유효하다고 가정하고 온체인에 게시된 트랜잭션 배치에 대한 유효성 증명을 게시하지 않기 때문에 "낙관적(optimistic)"으로 간주됩니다. 이는 오프체인 트랜잭션에 대한 암호화된 을 게시하는 영지식 롤업과 옵티미스틱 롤업을 구분 짓는 특징입니다.

대신 옵티미스틱 롤업은 트랜잭션이 올바르게 계산되지 않은 경우를 감지하기 위해 사기 증명 체계에 의존합니다. 이더리움에 롤업 배치가 제출된 후, 누구나 을 계산하여 롤업 트랜잭션 결과에 이의를 제기할 수 있는 기간(이의 제기 기간)이 주어집니다.

사기 증명이 성공하면 롤업 프로토콜은 트랜잭션을 재실행하고 그에 따라 롤업의 상태를 업데이트합니다. 성공적인 사기 증명의 또 다른 효과는 잘못 실행된 트랜잭션을 블록에 포함시킨 책임이 있는 시퀀서가 페널티를 받는다는 것입니다.

이의 제기 기간이 지난 후에도 롤업 배치에 대한 이의 제기가 없으면(즉, 모든 트랜잭션이 올바르게 실행된 경우) 유효한 것으로 간주되어 이더리움에서 수락됩니다. 다른 사람들은 확인되지 않은 롤업 블록을 기반으로 계속 구축할 수 있지만, 이전에 게시된 잘못 실행된 트랜잭션을 기반으로 한 경우 트랜잭션 결과가 취소된다는 점에 유의해야 합니다.

옵티미스틱 롤업은 이더리움과 어떻게 상호 작용하나요?

옵티미스틱 롤업은 이더리움 위에서 작동하도록 구축된 오프체인 확장성 솔루션입니다. 각 옵티미스틱 롤업은 이더리움 네트워크에 배포된 스마트 컨트랙트 세트에 의해 관리됩니다. 옵티미스틱 롤업은 메인 이더리움 체인 외부에서 트랜잭션을 처리하지만, 오프체인 트랜잭션을 (배치 단위로) 온체인 롤업 컨트랙트에 게시합니다. 이더리움 블록체인과 마찬가지로 이 트랜잭션 기록은 불변이며 "옵티미스틱 롤업 체인"을 형성합니다.

옵티미스틱 롤업의 아키텍처는 다음 부분으로 구성됩니다.

온체인 컨트랙트: 옵티미스틱 롤업의 작동은 이더리움에서 실행되는 스마트 컨트랙트에 의해 제어됩니다. 여기에는 롤업 블록을 저장하고, 롤업의 상태 업데이트를 모니터링하며, 사용자 예치금을 추적하는 컨트랙트가 포함됩니다. 이런 의미에서 이더리움은 옵티미스틱 롤업의 기본 레이어 또는 "레이어 1 (l1)" 역할을 합니다.

오프체인 가상 머신(VM): 옵티미스틱 롤업 프로토콜을 관리하는 컨트랙트는 이더리움에서 실행되지만, 롤업 프로토콜은 이더리움 가상 머신(EVM)과 분리된 다른 가상 머신에서 연산 및 상태 저장을 수행합니다. 오프체인 VM은 애플리케이션이 존재하고 상태 변경이 실행되는 곳으로, 옵티미스틱 롤업의 상위 레이어 또는 "레이어 2 (l2)" 역할을 합니다.

옵티미스틱 롤업은 EVM용으로 작성되거나 컴파일된 프로그램을 실행하도록 설계되었으므로 오프체인 VM은 많은 EVM 설계 사양을 통합합니다. 또한 온체인에서 계산된 사기 증명을 통해 이더리움 네트워크는 오프체인 VM에서 계산된 상태 변경의 유효성을 강제할 수 있습니다.

옵티미스틱 롤업은 별도의 프로토콜로 존재하지만 보안 속성이 이더리움에서 파생되기 때문에 '하이브리드 확장성 솔루션'으로 설명됩니다. 무엇보다도 이더리움은 롤업의 오프체인 연산의 정확성과 연산 이면의 데이터 가용성을 보장합니다. 이로 인해 옵티미스틱 롤업은 보안을 이더리움에 의존하지 않는 순수 오프체인 확장성 프로토콜(예: 사이드체인)보다 더 안전합니다.

옵티미스틱 롤업은 다음 사항에 대해 메인 이더리움 프로토콜에 의존합니다.

데이터 가용성

앞서 언급했듯이 옵티미스틱 롤업은 트랜잭션 데이터를 이더리움에 calldata 또는 블롭으로 게시합니다. 롤업 체인의 실행은 제출된 트랜잭션을 기반으로 하므로, 누구나 이더리움의 기본 레이어에 고정된 이 정보를 사용하여 롤업의 상태를 실행하고 상태 전환의 정확성을 검증할 수 있습니다.

상태 데이터에 접근할 수 없으면 이의 제기자가 유효하지 않은 롤업 작업에 대해 이의를 제기할 사기 증명을 구성할 수 없기 때문에 데이터 가용성은 매우 중요합니다. 이더리움이 데이터 가용성을 제공함으로써 롤업 운영자가 악의적인 행위(예: 유효하지 않은 블록 제출)를 저지르고도 무사히 넘어갈 위험이 줄어듭니다.

검열 저항성

옵티미스틱 롤업은 검열 저항성을 위해서도 이더리움에 의존합니다. 옵티미스틱 롤업에서는 중앙화된 주체(운영자)가 트랜잭션을 처리하고 롤업 블록을 이더리움에 제출할 책임이 있습니다. 이는 몇 가지 의미를 갖습니다.

  • 롤업 운영자는 완전히 오프라인 상태가 되거나 특정 트랜잭션이 포함된 블록 생성을 거부하여 사용자를 검열할 수 있습니다.

  • 롤업 운영자는 소유권의 머클 증명에 필요한 상태 데이터를 보류하여 사용자가 롤업 컨트랙트에 예치된 자금을 인출하는 것을 막을 수 있습니다. 상태 데이터를 보류하면 사용자에게 롤업의 상태를 숨기고 롤업과 상호 작용하는 것을 방지할 수도 있습니다.

옵티미스틱 롤업은 운영자가 상태 업데이트와 관련된 데이터를 이더리움에 게시하도록 강제하여 이 문제를 해결합니다. 롤업 데이터를 온체인에 게시하면 다음과 같은 이점이 있습니다.

  • 옵티미스틱 롤업 운영자가 오프라인 상태가 되거나 트랜잭션 배치 생성을 중단하면, 다른 노드가 사용 가능한 데이터를 사용하여 롤업의 마지막 상태를 재현하고 블록 생성을 계속할 수 있습니다.

  • 사용자는 트랜잭션 데이터를 사용하여 자금 소유권을 증명하는 머클 증명을 생성하고 롤업에서 자산을 인출할 수 있습니다.

  • 사용자는 시퀀서 대신 레이어 1 (l1)에 트랜잭션을 제출할 수도 있으며, 이 경우 시퀀서는 유효한 블록을 계속 생성하기 위해 특정 시간 제한 내에 트랜잭션을 포함해야 합니다.

정산

옵티미스틱 롤업의 맥락에서 이더리움이 수행하는 또 다른 역할은 정산 레이어입니다. 정산 레이어는 전체 블록체인 생태계를 고정하고, 보안을 확립하며, 중재가 필요한 다른 체인(이 경우 옵티미스틱 롤업)에서 분쟁이 발생할 경우 객관적인 완결성을 제공합니다.

이더리움 메인넷은 옵티미스틱 롤업이 사기 증명을 검증하고 분쟁을 해결할 수 있는 허브를 제공합니다. 또한 롤업에서 수행된 트랜잭션은 롤업 블록이 이더리움에서 수락된 후에만 최종적으로 확정됩니다. 롤업 트랜잭션이 이더리움의 기본 레이어에 커밋되면 (체인 재구성과 같이 발생 가능성이 매우 낮은 경우를 제외하고) 롤백할 수 없습니다.

옵티미스틱 롤업은 어떻게 작동하나요?

트랜잭션 실행 및 집계

사용자는 옵티미스틱 롤업에서 트랜잭션을 처리할 책임이 있는 노드인 "운영자"에게 트랜잭션을 제출합니다. "검증자" 또는 "애그리게이터(aggregator)"라고도 하는 운영자는 트랜잭션을 집계하고, 기본 데이터를 압축하며, 이더리움에 블록을 게시합니다.

누구나 검증자가 될 수 있지만, 옵티미스틱 롤업 검증자는 지분 증명 (PoS) 시스템과 마찬가지로 블록을 생성하기 전에 보증금을 제공해야 합니다. 검증자가 유효하지 않은 블록을 게시하거나 오래되었지만 유효하지 않은 블록을 기반으로 구축하는 경우(자신의 블록이 유효하더라도) 이 보증금은 슬래싱될 수 있습니다. 이러한 방식으로 옵티미스틱 롤업은 암호경제학적 인센티브를 활용하여 검증자가 정직하게 행동하도록 보장합니다.

옵티미스틱 롤업 체인의 다른 검증자는 롤업 상태의 복사본을 사용하여 제출된 트랜잭션을 실행할 것으로 예상됩니다. 검증자의 최종 상태가 운영자가 제안한 상태와 다를 경우, 이의 제기를 시작하고 사기 증명을 계산할 수 있습니다.

일부 옵티미스틱 롤업은 무허가성 검증자 시스템을 포기하고 단일 "시퀀서"를 사용하여 체인을 실행할 수 있습니다. 검증자와 마찬가지로 시퀀서는 트랜잭션을 처리하고, 롤업 블록을 생성하며, 롤업 트랜잭션을 레이어 1 (l1) 체인(이더리움)에 제출합니다.

시퀀서는 트랜잭션 순서에 대해 더 큰 통제력을 갖기 때문에 일반 롤업 운영자와 다릅니다. 또한 시퀀서는 롤업 체인에 대한 우선 접근 권한을 가지며 온체인 컨트랙트에 트랜잭션을 제출할 권한이 있는 유일한 주체입니다. 시퀀서가 아닌 노드나 일반 사용자의 트랜잭션은 시퀀서가 새 배치에 포함할 때까지 별도의 수신함에 대기열로 쌓입니다.

이더리움에 롤업 블록 제출

앞서 언급했듯이 옵티미스틱 롤업의 운영자는 오프체인 트랜잭션을 배치로 묶어 공증을 위해 이더리움으로 보냅니다. 이 과정에는 트랜잭션 관련 데이터를 압축하여 이더리움에 calldata 또는 블롭으로 게시하는 작업이 포함됩니다.

calldata는 스마트 컨트랙트에서 수정할 수 없고 영구적이지 않은 영역으로, 대부분 메모리처럼 작동합니다. calldata는 블록체인의 기록 로그 (opens in a new tab)의 일부로 온체인에 유지되지만, 이더리움 상태의 일부로 저장되지는 않습니다. calldata는 이더리움 상태의 어떤 부분도 건드리지 않기 때문에 온체인에 데이터를 저장하는 데 상태보다 저렴합니다.

calldata 키워드는 Solidity에서 실행 시 스마트 컨트랙트 함수에 인수를 전달하는 데에도 사용됩니다. calldata는 트랜잭션 중에 호출되는 함수를 식별하고 임의의 바이트 시퀀스 형태로 함수에 대한 입력을 보유합니다.

옵티미스틱 롤업의 맥락에서 calldata는 압축된 트랜잭션 데이터를 온체인 컨트랙트로 보내는 데 사용됩니다. 롤업 운영자는 롤업 컨트랙트에서 필요한 함수를 호출하고 압축된 데이터를 함수 인수로 전달하여 새 배치를 추가합니다. 롤업에서 발생하는 대부분의 비용은 온체인에 데이터를 저장하는 데서 발생하므로 calldata를 사용하면 사용자 수수료가 줄어듭니다.

이 개념이 어떻게 작동하는지 보여주는 롤업 배치 제출의 예시 (opens in a new tab)가 있습니다. 시퀀서는 appendSequencerBatch() 메서드를 호출하고 calldata를 사용하여 압축된 트랜잭션 데이터를 입력으로 전달했습니다.

일부 롤업은 이제 블롭을 사용하여 트랜잭션 배치를 이더리움에 게시합니다.

블롭은 (calldata와 마찬가지로) 수정할 수 없고 영구적이지 않지만 약 18일 후에 기록에서 삭제됩니다. 블롭에 대한 자세한 내용은 댕크샤딩을 참조하세요.

상태 커밋

어느 시점에서든 옵티미스틱 롤업의 상태(계정, 잔액, 컨트랙트 코드 등)는 "상태 트리"라는 머클 트리로 구성됩니다. 롤업의 최신 상태를 참조하는 이 머클 트리의 루트(상태 루트)는 해시되어 롤업 컨트랙트에 저장됩니다. 체인의 모든 상태 전환은 새로운 롤업 상태를 생성하며, 운영자는 새로운 상태 루트를 계산하여 이를 커밋합니다.

운영자는 배치를 게시할 때 이전 상태 루트와 새 상태 루트를 모두 제출해야 합니다. 이전 상태 루트가 온체인 컨트랙트의 기존 상태 루트와 일치하면 후자는 폐기되고 새 상태 루트로 대체됩니다.

롤업 운영자는 트랜잭션 배치 자체에 대한 머클 루트도 커밋해야 합니다. 이를 통해 누구나 머클 증명을 제시하여 (레이어 1 (l1)에서) 배치에 트랜잭션이 포함되었음을 증명할 수 있습니다.

상태 커밋, 특히 상태 루트는 옵티미스틱 롤업에서 상태 변경의 정확성을 증명하는 데 필요합니다. 롤업 컨트랙트는 운영자가 게시한 직후 새 상태 루트를 수락하지만, 나중에 유효하지 않은 상태 루트를 삭제하여 롤업을 올바른 상태로 복원할 수 있습니다.

사기 증명

설명한 바와 같이 옵티미스틱 롤업은 누구나 유효성 증명을 제공하지 않고도 블록을 게시할 수 있도록 허용합니다. 그러나 체인이 안전하게 유지되도록 옵티미스틱 롤업은 누구나 상태 전환에 이의를 제기할 수 있는 기간을 지정합니다. 따라서 누구나 유효성에 이의를 제기할 수 있으므로 롤업 블록을 "주장(assertions)"이라고 부릅니다.

누군가 주장에 이의를 제기하면 롤업 프로토콜은 사기 증명 계산을 시작합니다. 모든 유형의 사기 증명은 대화형입니다. 누군가 주장을 게시해야 다른 사람이 이의를 제기할 수 있습니다. 차이점은 사기 증명을 계산하는 데 몇 번의 상호 작용 라운드가 필요한지에 있습니다.

단일 라운드 대화형 증명 체계는 유효하지 않은 주장을 감지하기 위해 레이어 1 (l1)에서 분쟁 중인 트랜잭션을 다시 재생합니다. 롤업 프로토콜은 검증자 컨트랙트를 사용하여 레이어 1 (l1)(이더리움)에서 분쟁 중인 트랜잭션의 재실행을 에뮬레이트하며, 계산된 상태 루트가 이의 제기에서 누가 이길지 결정합니다. 롤업의 올바른 상태에 대한 이의 제기자의 주장이 맞다면 운영자는 보증금이 슬래싱되는 페널티를 받습니다.

그러나 사기를 감지하기 위해 레이어 1 (l1)에서 트랜잭션을 재실행하려면 개별 트랜잭션에 대한 상태 커밋을 게시해야 하며 롤업이 온체인에 게시해야 하는 데이터가 증가합니다. 트랜잭션을 다시 재생하면 상당한 가스비도 발생합니다. 이러한 이유로 옵티미스틱 롤업은 더 높은 효율성으로 동일한 목표(즉, 유효하지 않은 롤업 작업 감지)를 달성하는 다중 라운드 대화형 증명으로 전환하고 있습니다.

다중 라운드 대화형 증명

다중 라운드 대화형 증명은 레이어 1 (l1) 검증자 컨트랙트가 감독하는 주장자와 이의 제기자 간의 주고받는 프로토콜을 포함하며, 궁극적으로 거짓말을 하는 당사자를 결정합니다. 레이어 2 (l2) 노드가 주장에 이의를 제기한 후, 주장자는 분쟁 중인 주장을 두 개의 동일한 절반으로 나누어야 합니다. 이 경우 각각의 개별 주장은 다른 주장과 동일한 수의 연산 단계를 포함합니다.

그런 다음 이의 제기자는 이의를 제기할 주장을 선택합니다. 나누는 과정("이분법 프로토콜"이라고 함)은 양 당사자가 단일 실행 단계에 대한 주장을 놓고 분쟁을 벌일 때까지 계속됩니다. 이 시점에서 레이어 1 (l1) 컨트랙트는 사기 당사자를 잡기 위해 명령(및 그 결과)을 평가하여 분쟁을 해결합니다.

주장자는 분쟁 중인 단일 단계 연산의 유효성을 검증하는 "1단계 증명"을 제공해야 합니다. 주장자가 1단계 증명을 제공하지 못하거나 레이어 1 (l1) 검증자가 증명을 유효하지 않다고 판단하면 이의 제기에서 패배합니다.

이 유형의 사기 증명에 대한 몇 가지 참고 사항:

  1. 다중 라운드 대화형 사기 증명은 분쟁 중재에서 레이어 1 (l1) 체인이 수행해야 하는 작업을 최소화하기 때문에 효율적인 것으로 간주됩니다. 전체 트랜잭션을 다시 재생하는 대신 레이어 1 (l1) 체인은 롤업 실행에서 한 단계만 재실행하면 됩니다.

  2. 이분법 프로토콜은 온체인에 게시되는 데이터 양을 줄입니다(모든 트랜잭션에 대해 상태 커밋을 게시할 필요가 없음). 또한 옵티미스틱 롤업 트랜잭션은 이더리움의 가스 한도에 제약을 받지 않습니다. 반대로 트랜잭션을 재실행하는 옵티미스틱 롤업은 단일 이더리움 트랜잭션 내에서 실행을 에뮬레이트하기 위해 레이어 2 (l2) 트랜잭션의 가스 한도가 더 낮아야 합니다.

  3. 악의적인 주장자의 보증금 중 일부는 이의 제기자에게 수여되고 나머지 부분은 소각됩니다. 소각은 검증자 간의 담합을 방지합니다. 두 검증자가 담합하여 가짜 이의 제기를 시작하더라도 전체 스테이크의 상당 부분을 잃게 됩니다.

  4. 다중 라운드 대화형 증명은 양 당사자(주장자와 이의 제기자)가 지정된 기간 내에 조치를 취해야 합니다. 기한이 만료되기 전에 조치를 취하지 않으면 불이행 당사자는 이의 제기를 포기하게 됩니다.

옵티미스틱 롤업에서 사기 증명이 중요한 이유

사기 증명은 옵티미스틱 롤업에서 무신뢰 완결성을 촉진하기 때문에 중요합니다. 무신뢰 완결성은 트랜잭션이 유효한 한 결국 확인될 것임을 보장하는 옵티미스틱 롤업의 특성입니다.

악의적인 노드는 거짓 이의 제기를 시작하여 유효한 롤업 블록의 확인을 지연시키려고 시도할 수 있습니다. 그러나 사기 증명은 결국 롤업 블록의 유효성을 증명하고 확인되도록 합니다.

이는 옵티미스틱 롤업의 또 다른 보안 속성과도 관련이 있습니다. 체인의 유효성은 하나의 정직한 노드의 존재에 의존합니다. 정직한 노드는 유효한 주장을 게시하거나 유효하지 않은 주장에 이의를 제기하여 체인을 올바르게 진행할 수 있습니다. 어떤 경우든 정직한 노드와 분쟁을 벌이는 악의적인 노드는 사기 증명 과정에서 스테이크를 잃게 됩니다.

레이어 1/레이어 2 상호운용성

옵티미스틱 롤업은 이더리움 메인넷과의 상호운용성을 위해 설계되었으며 사용자가 레이어 1 (l1)과 레이어 2 (l2) 간에 메시지와 임의의 데이터를 전달할 수 있도록 합니다. 또한 EVM과 호환되므로 기존 탈중앙화 애플리케이션 (dapp)을 옵티미스틱 롤업으로 포팅하거나 이더리움 개발 도구를 사용하여 새로운 탈중앙화 애플리케이션 (dapp)을 만들 수 있습니다.

1. 자산 이동

롤업 진입

옵티미스틱 롤업을 사용하려면 사용자는 ETH, ERC-20 토큰 및 기타 허용되는 자산을 레이어 1 (l1)에 있는 롤업의 브릿지 컨트랙트에 예치합니다. 브릿지 컨트랙트는 트랜잭션을 레이어 2 (l2)로 중계하며, 여기서 동일한 양의 자산이 발행되어 옵티미스틱 롤업에서 사용자가 선택한 주소로 전송됩니다.

사용자 생성 트랜잭션(예: 레이어 1 > 레이어 2 예치)은 일반적으로 시퀀서가 롤업 컨트랙트에 다시 제출할 때까지 대기열에 있습니다. 그러나 검열 저항성을 유지하기 위해 옵티미스틱 롤업은 허용된 최대 시간을 초과하여 지연된 경우 사용자가 온체인 롤업 컨트랙트에 직접 트랜잭션을 제출할 수 있도록 허용합니다.

일부 옵티미스틱 롤업은 시퀀서가 사용자를 검열하는 것을 방지하기 위해 더 간단한 접근 방식을 채택합니다. 여기서 블록은 롤업 체인에서 처리된 트랜잭션 외에도 이전 블록 이후 레이어 1 (l1) 컨트랙트에 제출된 모든 트랜잭션(예: 예치금)으로 정의됩니다. 시퀀서가 레이어 1 (l1) 트랜잭션을 무시하면 (증명 가능하게) 잘못된 상태 루트를 게시하게 됩니다. 따라서 시퀀서는 레이어 1 (l1)에 게시된 사용자 생성 메시지를 지연시킬 수 없습니다.

롤업 종료

옵티미스틱 롤업에서 이더리움으로 인출하는 것은 사기 증명 체계로 인해 더 어렵습니다. 사용자가 레이어 1 (l1)에 에스크로된 자금을 인출하기 위해 레이어 2 > 레이어 1 트랜잭션을 시작하는 경우, 대략 7일 동안 지속되는 이의 제기 기간이 지날 때까지 기다려야 합니다. 그럼에도 불구하고 인출 과정 자체는 상당히 간단합니다.

레이어 2 (l2) 롤업에서 인출 요청이 시작된 후 트랜잭션은 다음 배치에 포함되며 롤업에 있는 사용자의 자산은 소각됩니다. 배치가 이더리움에 게시되면 사용자는 블록에 종료 트랜잭션이 포함되었음을 검증하는 머클 증명을 계산할 수 있습니다. 그런 다음 지연 기간을 기다려 레이어 1 (l1)에서 트랜잭션을 최종 확정하고 메인넷으로 자금을 인출하면 됩니다.

이더리움으로 자금을 인출하기 전에 일주일을 기다리지 않으려면 옵티미스틱 롤업 사용자는 유동성 공급자(LP)를 이용할 수 있습니다. 유동성 공급자는 보류 중인 레이어 2 (l2) 인출의 소유권을 가정하고 (수수료를 대가로) 레이어 1 (l1)에서 사용자에게 지불합니다.

유동성 공급자는 자금을 지급하기 전에 (체인을 직접 실행하여) 사용자의 인출 요청의 유효성을 확인할 수 있습니다. 이런 방식으로 그들은 트랜잭션이 결국 확인될 것이라는 보장(즉, 무신뢰 완결성)을 갖게 됩니다.

2. EVM 호환성

개발자에게 옵티미스틱 롤업의 장점은 이더리움 가상 머신(EVM)과의 호환성, 더 나아가 동등성입니다. EVM 호환 롤업은 이더리움 황서 (opens in a new tab)의 사양을 준수하고 바이트코드 수준에서 EVM을 지원합니다.

옵티미스틱 롤업의 EVM 호환성은 다음과 같은 이점이 있습니다.

i. 개발자는 코드베이스를 광범위하게 수정하지 않고도 이더리움의 기존 스마트 컨트랙트를 옵티미스틱 롤업 체인으로 마이그레이션할 수 있습니다. 이를 통해 개발 팀은 레이어 2 (l2)에 이더리움 스마트 컨트랙트를 배포할 때 시간을 절약할 수 있습니다.

ii. 옵티미스틱 롤업을 사용하는 개발자 및 프로젝트 팀은 이더리움의 인프라를 활용할 수 있습니다. 여기에는 프로그래밍 언어, 코드 라이브러리, 테스트 도구, 클라이언트 소프트웨어, 배포 인프라 등이 포함됩니다.

기존 도구를 사용하는 것은 이러한 도구가 수년에 걸쳐 광범위하게 감사, 디버깅 및 개선되었기 때문에 중요합니다. 또한 이더리움 개발자가 완전히 새로운 개발 스택으로 구축하는 방법을 배울 필요가 없습니다.

3. 크로스체인 컨트랙트 호출

사용자(외부 소유 계정)는 롤업 컨트랙트에 트랜잭션을 제출하거나 시퀀서 또는 검증자가 대신 수행하도록 하여 레이어 2 (l2) 컨트랙트와 상호 작용합니다. 옵티미스틱 롤업은 또한 이더리움의 컨트랙트 계정이 브릿징 컨트랙트를 사용하여 레이어 1 (l1)과 레이어 2 (l2) 간에 메시지를 중계하고 데이터를 전달함으로써 레이어 2 (l2) 컨트랙트와 상호 작용할 수 있도록 합니다. 즉, 이더리움 메인넷의 레이어 1 (l1) 컨트랙트를 프로그래밍하여 레이어 2 (l2) 옵티미스틱 롤업의 컨트랙트에 속한 함수를 호출할 수 있습니다.

크로스체인 컨트랙트 호출은 비동기적으로 발생합니다. 즉, 호출이 먼저 시작된 다음 나중에 실행됩니다. 이는 호출이 즉시 결과를 생성하는 이더리움의 두 컨트랙트 간의 호출과는 다릅니다.

크로스체인 컨트랙트 호출의 예로는 앞서 설명한 토큰 예치가 있습니다. 레이어 1 (l1)의 컨트랙트는 사용자의 토큰을 에스크로하고 페어링된 레이어 2 (l2) 컨트랙트에 메시지를 보내 롤업에서 동일한 양의 토큰을 발행합니다.

크로스체인 메시지 호출은 컨트랙트 실행으로 이어지므로 발신자는 일반적으로 연산에 대한 가스비를 부담해야 합니다. 대상 체인에서 트랜잭션이 실패하지 않도록 가스 한도를 높게 설정하는 것이 좋습니다. 토큰 브릿징 시나리오가 좋은 예입니다. 트랜잭션의 레이어 1 (l1) 측(토큰 예치)은 작동하지만 레이어 2 (l2) 측(새 토큰 발행)이 가스 부족으로 실패하면 예치금을 복구할 수 없게 됩니다.

마지막으로 컨트랙트 간의 레이어 2 > 레이어 1 메시지 호출은 지연을 고려해야 한다는 점에 유의해야 합니다(레이어 1 > 레이어 2 호출은 일반적으로 몇 분 후에 실행됨). 옵티미스틱 롤업에서 메인넷으로 전송된 메시지는 이의 제기 기간이 만료될 때까지 실행될 수 없기 때문입니다.

옵티미스틱 롤업 수수료는 어떻게 작동하나요?

옵티미스틱 롤업은 이더리움과 마찬가지로 가스비 체계를 사용하여 사용자가 트랜잭션당 지불하는 금액을 나타냅니다. 옵티미스틱 롤업에 부과되는 수수료는 다음 구성 요소에 따라 다릅니다.

  1. 상태 쓰기: 옵티미스틱 롤업은 트랜잭션 데이터와 블록 헤더(이전 블록 헤더 해시, 상태 루트, 배치 루트로 구성됨)를 이더리움에 blob 또는 "바이너리 라지 오브젝트(binary large object)"로 게시합니다. EIP-4844 (opens in a new tab)는 온체인에 데이터를 포함하기 위한 비용 효율적인 솔루션을 도입했습니다. blob은 롤업이 압축된 상태 전환 데이터를 이더리움 레이어 1 (l1)에 게시할 수 있도록 하는 새로운 트랜잭션 필드입니다. 온체인에 영구적으로 남아 있는 calldata와 달리 블롭은 수명이 짧으며 4096 에포크 (opens in a new tab)(약 18일) 후에 클라이언트에서 삭제될 수 있습니다. 블롭을 사용하여 압축된 트랜잭션 배치를 게시함으로써 옵티미스틱 롤업은 레이어 1 (l1)에 트랜잭션을 기록하는 비용을 크게 줄일 수 있습니다.

  2. 사용된 블롭 가스: 블롭을 전달하는 트랜잭션은 EIP-1559 (opens in a new tab)에서 도입한 것과 유사한 동적 수수료 메커니즘을 사용합니다. 유형 3 트랜잭션의 가스비는 블롭 공간 수요와 전송되는 트랜잭션의 블롭 공간 사용량을 기반으로 네트워크에서 결정하는 블롭의 기본 수수료를 고려합니다.

  3. 레이어 2 (l2) 운영자 수수료: 이더리움의 가스비와 마찬가지로 트랜잭션 처리 시 발생하는 연산 비용에 대한 보상으로 롤업 노드에 지불되는 금액입니다. 레이어 2 (l2)는 처리 용량이 더 높고 이더리움의 검증자가 더 높은 수수료를 가진 트랜잭션의 우선순위를 정하도록 강제하는 네트워크 혼잡에 직면하지 않기 때문에 롤업 노드는 더 낮은 트랜잭션 수수료를 청구합니다.

옵티미스틱 롤업은 트랜잭션을 일괄 처리하고 calldata를 압축하여 데이터 게시 비용을 줄이는 등 사용자의 수수료를 줄이기 위해 여러 메커니즘을 적용합니다. 레이어 2 (l2) 수수료 추적기 (opens in a new tab)를 확인하여 이더리움 기반 옵티미스틱 롤업을 사용하는 데 드는 비용에 대한 실시간 개요를 볼 수 있습니다.

옵티미스틱 롤업은 이더리움을 어떻게 확장하나요?

설명한 바와 같이 옵티미스틱 롤업은 데이터 가용성을 보장하기 위해 압축된 트랜잭션 데이터를 이더리움에 게시합니다. 온체인에 게시된 데이터를 압축하는 기능은 옵티미스틱 롤업을 통해 이더리움의 처리량을 확장하는 데 매우 중요합니다.

메인 이더리움 체인은 가스 단위로 표시되는 블록이 보유할 수 있는 데이터 양에 제한을 둡니다(평균 블록 크기는 1,500만 가스입니다). 이는 각 트랜잭션이 사용할 수 있는 가스 양을 제한하지만, 트랜잭션 관련 데이터를 줄여 블록당 처리되는 트랜잭션을 늘릴 수 있음을 의미하기도 하며, 이는 확장성을 직접적으로 향상시킵니다.

옵티미스틱 롤업은 트랜잭션 데이터 압축을 달성하고 TPS 속도를 향상시키기 위해 여러 기술을 사용합니다. 예를 들어, 이 문서 (opens in a new tab)는 기본 사용자 트랜잭션(이더 전송)이 메인넷에서 생성하는 데이터와 동일한 트랜잭션이 롤업에서 생성하는 데이터 양을 비교합니다.

매개변수이더리움 (레이어 1 (l1))롤업 (레이어 2 (l2))
논스~30
가스 가격~80-0.5
가스30-0.5
수신자214
9~3
서명~68 (2 + 33 + 33)~0.5
발신자0 (서명에서 복구됨)4
총합~112바이트~12바이트

이 수치에 대해 대략적인 계산을 해보면 옵티미스틱 롤업이 제공하는 확장성 향상을 보여주는 데 도움이 될 수 있습니다.

  1. 모든 블록의 목표 크기는 1,500만 가스이며 1바이트의 데이터를 검증하는 데 16가스가 듭니다. 평균 블록 크기를 16가스로 나누면(15,000,000/16) 평균 블록이 937,500바이트의 데이터를 보유할 수 있음을 알 수 있습니다.
  2. 기본 롤업 트랜잭션이 12바이트를 사용하는 경우 평균 이더리움 블록은 78,125개의 롤업 트랜잭션(937,500/12) 또는 39개의 롤업 배치(각 배치가 평균 2,000개의 트랜잭션을 보유하는 경우)를 처리할 수 있습니다.
  3. 이더리움에서 15초마다 새 블록이 생성된다면 롤업의 처리 속도는 대략 초당 5,208개의 트랜잭션에 달할 것입니다. 이는 이더리움 블록이 보유할 수 있는 기본 롤업 트랜잭션 수(78,125)를 평균 블록 타임(15초)으로 나누어 계산합니다.

옵티미스틱 롤업 트랜잭션이 이더리움의 전체 블록을 구성할 수 없다는 점을 감안할 때 이는 상당히 낙관적인 추정치입니다. 그러나 옵티미스틱 롤업이 이더리움 사용자에게 얼마나 많은 확장성 이점을 제공할 수 있는지에 대한 대략적인 아이디어를 제공할 수 있습니다(현재 구현은 최대 2,000 TPS를 제공합니다).

이더리움에 데이터 샤딩이 도입되면 옵티미스틱 롤업의 확장성이 향상될 것으로 예상됩니다. 롤업 트랜잭션은 다른 비롤업 트랜잭션과 블록 공간을 공유해야 하므로 처리 용량은 메인 이더리움 체인의 데이터 처리량에 의해 제한됩니다. 댕크샤딩은 비싸고 영구적인 CALLDATA 대신 더 저렴하고 영구적이지 않은 "블롭" 스토리지를 사용하여 레이어 2 (l2) 체인이 블록당 데이터를 게시할 수 있는 공간을 늘릴 것입니다.

옵티미스틱 롤업의 장단점

장점단점
보안이나 무신뢰성을 희생하지 않고 확장성을 크게 향상시킵니다.잠재적인 사기 이의 제기로 인한 트랜잭션 완결성 지연.
트랜잭션 데이터가 레이어 1 (l1) 체인에 저장되어 투명성, 보안, 검열 저항성 및 탈중앙화가 향상됩니다.중앙화된 롤업 운영자(시퀀서)가 트랜잭션 순서에 영향을 미칠 수 있습니다.
사기 증명은 무신뢰 완결성을 보장하고 정직한 소수가 체인을 보호할 수 있도록 합니다.정직한 노드가 없으면 악의적인 운영자가 유효하지 않은 블록과 상태 커밋을 게시하여 자금을 훔칠 수 있습니다.
사기 증명 계산은 특수 하드웨어가 필요한 유효성 증명(영지식 롤업에서 사용됨)과 달리 일반 레이어 2 (l2) 노드에 열려 있습니다.보안 모델은 롤업 트랜잭션을 실행하고 유효하지 않은 상태 전환에 이의를 제기하기 위해 사기 증명을 제출하는 최소 하나의 정직한 노드에 의존합니다.
롤업은 "무신뢰 활성도(trustless liveness)"의 이점을 얻습니다(누구나 트랜잭션을 실행하고 주장을 게시하여 체인을 강제로 진행시킬 수 있음).사용자는 이더리움으로 자금을 다시 인출하기 전에 1주일의 이의 제기 기간이 만료될 때까지 기다려야 합니다.
옵티미스틱 롤업은 체인의 보안을 강화하기 위해 잘 설계된 암호경제학적 인센티브에 의존합니다.롤업은 모든 트랜잭션 데이터를 온체인에 게시해야 하므로 비용이 증가할 수 있습니다.
EVM 및 Solidity와의 호환성을 통해 개발자는 이더리움 네이티브 스마트 컨트랙트를 롤업으로 포팅하거나 기존 도구를 사용하여 새로운 탈중앙화 애플리케이션 (dapp)을 만들 수 있습니다.

옵티미스틱 롤업에 대한 시각적 설명

시각적인 학습을 선호하시나요? Finematics의 옵티미스틱 롤업 설명을 시청해 보세요.

Rollups: the ultimate Ethereum scaling strategy?

A deep dive into rollups as Ethereum's primary scaling strategy.

대본과 함께 시청하기 

옵티미스틱 롤업에 대한 추가 자료

튜토리얼: 이더리움의 옵티미스틱 롤업 및 브릿지