롤업은 이더리움 Layer 2를 위한 확장성 솔루션으로, 오프체인에서 트랜잭션을 처리하여 이더리움의 트랜잭션 처리량을 향상시키는 것을 목표로 합니다. Optimistic 롤업은 이름에서 알 수 있듯이 낙관적인 메커니즘을 사용합니다. Optimistic 롤업은 Layer 2의 모든 트랜잭션이 유효하다고 가정하고, 여러 트랜잭션을 이더리움에 단일 제출로 압축합니다. 제출 후 1주일 동안 체인의 모든 사용자가 트랜잭션의 진위 여부에 이의를 제기할 수 있는 기간이 있습니다. 상태 업데이트 중에 사기가 감지되면 이의 제기자는 보상을 받을 수 있습니다. 의심할 여지 없이 Optimistic 롤업은 이더리움 Layer 2를 위한 가장 실용적이고 혁신적인 솔루션이며, 기술적 세부 사항은 더 자세히 살펴볼 가치가 있습니다. 이번 글에서는 Optimistic 롤업의 구현 세부 사항을 간략히 분석하고, 기술적 원리에 대해 살펴보겠습니다.
Optimistic 롤업 Layer 2에서 사용자 트랜잭션은 Optimistic 롤업 노드의 운영자에게 전송됩니다. 이러한 노드는 트랜잭션의 집계와 유효성 검사를 담당하는 "검증자" 및 "집계자" 역할을 합니다. 이들은 여러 트랜잭션의 데이터를 단일 트랜잭션으로 압축하며, 압축 후 다른 트랜잭션과 마찬가지로 이더리움 Layer 1의 트랜잭션 풀에 들어갑니다. 마지막으로 노드는 트랜잭션을 수신하고 처리하여 이더리움 블록체인에 블록을 게시합니다. 누구나 Optimistic 롤업 노드가 될 수 있지만, 지분 증명(PoS) 메커니즘과 유사하게 노드는 무결성을 보장하기 위해 이더리움 네트워크에 보증금을 제공해야 합니다.
블록을 제출하는 동안 노드는 상태 전환의 적법성을 검증하지 않습니다. 그러나 블록에 대해 1주일간의 "사기 증명" 이의 제기 기간을 제공합니다. 이 기간 동안 노드나 사용자가 블록의 적법성에 대해 이의를 제기하지 않으면 블록이 확정됩니다. "사기 증명" 이의를 제기하는 데 성공하면 블록을 게시한 노드는 보증금을 잃게 됩니다. 사기 행위 탐지에 대한 인센티브를 제공하기 위해 사기를 성공적으로 증명한 사용자에게 보증금이 보상으로 지급됩니다. 이러한 접근 방식을 통해 Optimistic 롤업은 암호화 경제학의 인센티브 방식을 활용하여 노드의 정직성과 신뢰성을 보장합니다.
이더리움 전송과 같은 일반적인 이더리움 트랜잭션은 일반적으로 약 110바이트를 소비합니다. 그러나 Optimistic 롤업에서 이더리움을 전송하면 약 12바이트만 소비됩니다. 이를 위해 Optimistic 롤업은 더 간단한 고급 인코딩 기술을 사용합니다.
Optimistic 롤업 Layer 2 트랜잭션에서는 논스가 완전히 생략되고 대신 이전 상태에서 복구됩니다. 가스 가격이나 가스 같은 가스 관련 정보는 Layer 2 트랜잭션 밖으로 이동됩니다. 받는 사람 및 보내는 사람 필드에는 더 이상 이더리움 주소가 필요하지 않으며, 대신 인덱스와 주소의 매핑을 저장하기 위해 하위 트리가 스테이트에 추가됩니다. 과학적 표기법을 사용해 값을 저장할 수 있으며, 전송 시 3자리만 입력하면 됩니다. 서명의 경우, 배치 내의 트랜잭션은 BLS 집계 서명을 사용하여 집계할 수 있으므로 각 개별 트랜잭션 서명에 대한 스토리지 소비를 줄일 수 있습니다. 이 집계된 서명은 전체 메시지와 발신자 세트를 일괄적으로 확인할 수 있습니다. 또한 이러한 트랜잭션 데이터는 상대적으로 가스 비용이 낮은 온체인 콜데이터 필드에 저장됩니다.
업로드된 데이터에는 앞서 언급한 트랜잭션 데이터와 내용뿐만 아니라 일괄 트랜잭션 전후의 머클 트리 루트(계정, 잔액, 컨트랙트 코드와 같은 상태 데이터, 즉 상태 루트라고 함)도 포함됩니다. 또한 상태 전환의 적법성을 증명(또는 검증)하는 데 사용되는 데이터도 포함됩니다. 이러한 압축 기술은 Optimistic 롤업을 사용하여 확장성을 달성하는 데 매우 중요합니다. 현재 Optimistic 롤업은 압축 후 이더리움보다 30배 이상 높은 처리량을 제공할 수 있습니다.
Optimistic 롤업은 이더리움 Layer 1에 롤업 계약이라는 특정 스마트 계약을 배포합니다. 이 계약은 사용자 잔액 추적, 입금, 출금 처리, 분쟁 해결 등 롤업 상태를 관리하는 역할을 담당합니다. Optimistic 롤업에서는 트랜잭션이 오프체인 노드에 의해 수집되고 집계되어 여러 트랜잭션을 "롤업 블록"으로 묶습니다. 이 블록에는 트랜잭션 콘텐츠와 새 계정 상태의 머클 트리 루트가 포함됩니다.
나중에 노드는 집계된 데이터를 이더리움에 콜데이터로 게시합니다. 콜데이터는 스마트 계약 내에서 수정할 수 없고 영구적이지 않은 영역으로, 내부 저장소와 유사합니다. 블록체인의 히스토리 로그의 일부인 콜데이터는 이더리움의 상태의 일부로 저장되지 않습니다. 콜데이터는 이더리움 상태의 일부를 포함하지 않으므로, 콜데이터를 사용해 온체인에 데이터를 저장하는 것이 더 비용 효율적입니다.
앞서 언급했듯이 업로드된 데이터에는 트랜잭션 내용뿐만 아니라 트랜잭션 전후의 머클 트리 루트도 포함됩니다. 머클 트리 루트는 계정, 잔액, 컨트랙트 코드 등을 포함한 특정 시점의 Optimistic 롤업 상태를 나타냅니다. "상태 트리"라고도 하며 Optimistic 롤업 상태의 조직적 형태 역할을 합니다. 머클 트리의 리프 노드는 계좌 상태를 나타내고 루트 노드는 최종 값을 나타냅니다. Optimistic 롤업의 Layer 2 트랜잭션이 변경되면 계정 상태가 업데이트되고, 이는 다시 리프 노드의 정보에 영향을 미쳐 궁극적으로 루트 해시값의 변경으로 이어집니다. Layer 2 운영자는 배치 트랜잭션이 발생하기 전과 후에 루트 해시값을 기록하여 로컬에서 Layer 2 계정의 상태 트리를 유지하며 배치 트랜잭션을 업로드할 때 이 루트 해시값을 업로드합니다.
이 머클 트리 루트(상태 루트)는 롤업의 최신 상태를 참조하고 해시 처리를 거친 후 롤업 계약에 기록됩니다. 각 온체인 상태 전환은 새로운 롤업 상태를 생성하고, 노드는 새로운 상태 루트를 계산하여 이 상태를 제출합니다.
노드가 블록을 게시할 때, 이전 상태 루트와 새 상태 루트를 모두 제출해야 합니다. 이전 상태 루트가 온체인 계약의 기존 상태 루트와 일치하는 경우, 후자는 폐기되고 새 상태 루트로 대체됩니다. 또한 노드는 트랜잭션 배치 자체에 대한 머클 트리 루트를 제출해야 합니다. 이를 통해 누구나 머클 트리 증명을 제공하여 트랜잭션이 블록에 포함되었음을 증명할 수 있습니다. 머클 트리 루트는 Optimistic 롤업에서 상태 변경을 증명하는 데 매우 중요합니다.
Optimistic 롤업을 사용하면 누구나 트랜잭션 정보와 상태 전환 정보를 제공하고 유효성 증명을 제공하지 않고도 블록을 게시할 수 있습니다. 이더리움 블록체인의 보안을 보장하기 위해 Optimistic 롤업은 사용자가 블록(상태 전환 및 기타 정보 포함)에 대해 의문을 제기할 수 있는 1주일의 기간을 설정했습니다.
누군가 의심을 제기하면 Optimistic 롤업 프로토콜은 사기 방지 작업을 시작합니다. 체인에서 상태 전환을 일으킨 트랜잭션을 재생하여 새로운 상태 루트를 계산합니다. 이렇게 계산된 상태 루트는 시퀀서가 제안한 상태 루트와 비교됩니다. 다른 노드나 사용자가 최종 블록 상태와 노드가 제안한 상태 사이의 불일치를 발견하면 사기 방지 챌린지가 성공하고 상태 전환이 취소됩니다. 동시에 이의를 제기한 노드는 불이익을 받게 되며, 해당 노드의 채권이 몰수되어 이의를 제기한 사람에게 지급됩니다.
사기를 탐지하기 위해 이더리움에서 트랜잭션을 다시 실행하려면 개별 트랜잭션에 대한 스테이트 커미션을 게시하고 온체인에 게시해야 하는 데이터를 추가해야 합니다. 트랜잭션을 다시 실행하는 데에는 상당한 가스 비용도 발생합니다. 현재 Optimistic 롤업의 챌린지 기간은 일주일이지만, 자본 효율성 문제로 인해 커뮤니티에서 챌린지 기간을 단축할지 여부에 대해 활발히 논의하고 있습니다.
Optimistic 롤업은 이더리움의 확장성을 지원할 뿐만 아니라 이더리움 스마트 계약의 전체 기능을 Layer 2 프레임워크에 통합하여 dApp의 개발과 배포를 위한 Turing이 완료된 OVM 가상 머신을 제공합니다.
OVM 가상 머신은 이더리움 EVM 가상 머신과 완벽하게 호환되며 Layer 2 시스템용으로 설계된 완벽한 기능을 갖춘 실행 환경입니다. 개발자는 OVM 가상 머신을 사용하여 롤업 체인에서 모든 이더리움 온체인 작업을 수행하고 API를 통해 블록체인과 상호작용할 수 있습니다. 또한, OVM 가상 머신은 dApp을 Layer 2로 이전하는 과정을 간소화합니다. 프로젝트 팀은 다양한 Layer 2 확장 솔루션을 배포하는 대신 OVM과 간단히 통합하여 다양한 Layer 2 구조를 활용할 수 있습니다.
Optimistic 롤업 프로토콜을 기반으로 개발된 두 개의 Layer 2 네트워크가 있습니다: Optimism과 Arbitrum입니다. 현재 Optimism과 Arbitrum은 이더리움 공간에서 가장 큰 Layer 2 생태계로, 총 고정 가치가 40억 달러에 달하며 여전히 상당한 성장세를 이어가고 있습니다. 유니스왑, 스시스왑 등 많은 유명 프로젝트들도 Optimistic 롤업 진영에 합류했습니다.
그러나 Optimistic Rollup이 이 분야의 유일한 플레이어는 아니며, ZK 롤업과 경쟁에 직면해 있습니다. 앞서 언급했듯이 Optimistic 롤업은 시스템이 트랜잭션 데이터의 정확성을 최선이라고 믿고 사기 문제의 경제 논리를 통해 트랜잭션의 유효성을 보장하는 사기 방지에 의존합니다. 반면, ZK 롤업은 무지식 증명을 기반으로 하는 확장성 솔루션으로, 오프체인 트랜잭션을 일괄 처리하고 각 트랜잭션 배치의 진위 여부를 검증하기 위해 암호학적 유효성 증명을 생성합니다. 어느 쪽이 다른 쪽보다 우월한지는 더 오랜 기간에 걸쳐 추가적인 검토가 필요합니다.