영지식 롤업
페이지 마지막 업데이트됨: 2026년 2월 25일
영지식 롤업(ZK-롤업)은 연산과 상태 저장을 오프체인으로 이동시켜 이더리움 메인넷에서 처리량을 높이는 레이어 2 확장 솔루션입니다. 영지식 롤업은 수천 개의 트랜잭션을 일괄적으로 처리한 다음 최소한의 요약 데이터만 메인넷에 올린다. 요약 데이터는 이더리움 상태에 적용해야하는 변경 사항과 변경 사항이 옳다는 암호학적 증거를 정의합니다.
필수 구성 요소
이더리움 확장 및 레이어 2에 대한 페이지를 읽고 이해해야 합니다.
영지식 롤업이란?
영지식 롤업(ZK-롤업)은 오프체인에서 실행되는 배치로 트랜잭션을 묶습니다(또는 '롤업'합니다). 오프체인 연산은 블록체인에 게시해야 하는 데이터의 양을 줄입니다. 영지식 롤업 운영자(operator)는 각 트랜잭션을 개별적으로 보내는 대신 모든 트랜잭션 묶음을 나타내는 데 필요한 변경사항의 요약을 제출합니다. 또한 변경 사항의 정확성을 증명하기 위해 을 생성합니다.
영지식 롤업의 상태는 이더리움 네트워크에 배포된 스마트 컨트랙트에 의해 유지됩니다. 이 상태를 업데이트 하기 위해서는 영지식 롤업 노드가 검증을 위한 유효성 증명을 제출해야합니다. 언급했듯이, 유효성 증명은 롤업에 의해 제안된 상태 변화가 주어진 트랜잭션 묶음을 실제로 실행한 결과라는 암호화된 보증입니다. 이는 ZK-롤업이 낙관적 롤업처럼 모든 트랜잭션 데이터를 온체인에 게시하는 대신, 이더리움에서 트랜잭션을 확정하기 위해 유효성 증명만 제공하면 된다는 것을 의미합니다.
영지식 롤업 계약이 유효성 증명을 확인하면 출금 트랜잭션(exit transaction)이 실행되기때문에 이더리움으로 자금을 이동시킬 때 지연이 없습니다. 반대로, 낙관적 롤업에서 자금을 인출하는 경우 누구나 으로 출금 트랜잭션에 이의를 제기할 수 있도록 지연이 발생합니다.
ZK-롤업은 트랜잭션을 calldata로 이더리움에 기록합니다. calldata는 스마트 계약 함수에 대한 외부 호출에 포함된 데이터가 저장되는 위치입니다. calldata의 정보는 블록체인에 게시되므로 누구나 독립적으로 롤업의 상태를 재구성할 수 있습니다. 영지식 롤업은 압축기술을 사용하여 트랜잭션 데이터를 줄입니다. 예를들어, 계정은 주소가 아닌 인덱스로 표시되어 28바이트의 데이터로 저장합니다. 온체인 데이터 게시는 롤업에 상당한 비용이 들기 때문에, 데이터 압축을 통해 사용자 수수료를 줄일 수 있습니다.
영지식 롤업은 이더리움과 어떻게 상호 작용하나요?
ZK-롤업 체인은 이더리움 블록체인 위에서 작동하는 오프체인 프로토콜이며 온체인 이더리움 스마트 계약에 의해 관리됩니다. ZK-롤업은 메인넷 외부에서 트랜잭션을 실행하지만, 주기적으로 오프체인 트랜잭션 배치를 온체인 롤업 계약에 커밋합니다. 이 거래 기록은 이더리움 블록체인과 마찬가지로 불변이며, 영지식 롤업 체인을 형성합니다.
영지식 롤업의 핵심 아키텍처 구성은 다음과 같습니다.
-
온체인 계약: 앞서 언급했듯이, ZK-롤업 프로토콜은 이더리움에서 실행되는 스마트 계약에 의해 제어됩니다. 여기에는 롤업 블록을 저장하고 예금을 추적하며 상태 업데이트를 모니터링하는 메인 스마트 컨트랙트가 포함됩니다. 또 다른 온체인 계약(검증자 계약)은 블록 생산자가 제출한 영지식 증명을 검증합니다. 따라서 이더리움은 영지식 롤업의 기본 계층 또는 "레이어 1" 역할을 합니다.
-
오프체인 가상 머신(VM): ZK-롤업 프로토콜은 이더리움에 있지만, 트랜잭션 실행 및 상태 저장은 EVM과 독립적인 별도의 가상 머신에서 이루어집니다. 이 오프체인 VM은 ZK-롤업에서 트랜잭션을 실행하기 위한 환경이며 ZK-롤업 프로토콜의 보조 레이어 또는 "레이어 2" 역할을 합니다. 이더리움 메인넷에서 검증된 유효성 증명은 오프체인 VM의 상태 전환에 대한 정확성을 보장합니다.
ZK-롤업은 "하이브리드 확장 솔루션"으로, 독립적으로 작동하지만 이더리움으로부터 보안을 파생하는 오프체인 프로토콜입니다. 특히 이더리움 네트워크는 영지식 롤업에 대한 상태 업데이트의 유효성을 강화하고 롤업 상태에 대한 모든 업데이트 뒤에 있는 데이터의 가용성을 보장합니다. 결과적으로, ZK-롤업은 자체 보안 속성을 책임지는 사이드체인이나, 유효성 증명을 통해 이더리움에서 트랜잭션을 검증하지만 트랜잭션 데이터는 다른 곳에 저장하는 밸리디움과 같은 순수 오프체인 확장 솔루션보다 훨씬 더 안전합니다.
영지식 롤업은 다음을 위해 메인 이더리움 프로토콜에 의존합니다.
데이터 가용성
ZK-롤업은 오프체인에서 처리된 모든 트랜잭션의 상태 데이터를 이더리움에 게시합니다. 이 데이터를 사용해 개인이나 기업에서 롤업의 상태를 재생산하고 스스로 체인의 유효성을 검증할 수 있습니다. 이더리움은 이 데이터를 calldata로 네트워크의 모든 참여자가 사용할 수 있도록 합니다.
유효성 증명이 이미 상태 전환의 진위 여부를 검증하기 때문에, ZK-롤업은 많은 트랜잭션 데이터를 온체인에 게시할 필요가 없습니다. 그럼에도 불구하고 온체인에 데이터를 저장하는 것은 중요합니다. L2 체인의 상태를 무허가적이고 독립적으로 검증할 수 있게 해주기 때문입니다. 이는 결국 누구나 트랜잭션 배치를 제출할 수 있게 하여 악의적인 운영자가 체인을 검열하거나 동결하는 것을 방지합니다.
사용자가 롤업과 상호 작용하려면 온체인이 필요합니다. 상태 데이터 접근 없이 유저는 그들의 잔고나 상태 정보에 의존하는 트랜잭션 (예, 출금) 을 실행할 수 없습니다.
트랜잭션 완결성
이더리움은 ZK-롤업의 정산 레이어 역할을 합니다. L2 트랜잭션은 L1 계약이 유효성 증명을 수락해야만 완결됩니다. 모든 트랜잭션이 메인넷에서 승인되어야 하므로, 악의적인 운영자가 체인을 손상시키는(예: 롤업 자금 탈취) 위험을 제거합니다. 또한 이더리움은 사용자 작업이 L1에서 완결되면 되돌릴 수 없음을 보장합니다.
검열 저항성
대부분의 ZK-롤업은 "슈퍼노드"(운영자)를 사용하여 트랜잭션을 실행하고, 배치를 생성하며, 블록을 L1에 제출합니다. 이는 효율성을 보장하지만 검열의 위험을 증가시킵니다. 악의적인 ZK-롤업 운영자는 사용자의 트랜잭션을 배치에 포함시키기를 거부함으로써 사용자를 검열할 수 있습니다.
보안 조치로서, ZK-롤업은 사용자가 운영자에 의해 검열되고 있다고 생각하는 경우, 메인넷의 롤업 계약에 직접 트랜잭션을 제출할 수 있도록 합니다. 이를 통해 사용자는 운영자의 허가에 의존하지 않고 ZK-롤업에서 이더리움으로 강제 출금을 할 수 있습니다.
ZK-롤업은 어떻게 작동하나요?
트랜잭션
ZK-롤업의 사용자는 트랜잭션에 서명하고 다음 배치에 포함되도록 처리를 위해 L2 운영자에게 제출합니다. 어떤 경우에는 운영자가 시퀀서라고 불리는 중앙화된 주체이며, 트랜잭션을 실행하고, 배치로 집계하여 L1에 제출합니다. 이 시스템의 시퀀서는 L2 블록을 생성하고 ZK-롤업 계약에 롤업 트랜잭션을 추가할 수 있는 유일한 주체입니다.
다른 ZK-롤업은 지분 증명 검증자 세트를 사용하여 운영자 역할을 순환시킬 수 있습니다. 예비 운영자는 롤업 계약에 자금을 예치하며, 각 스테이킹의 크기는 스테이커가 다음 롤업 배치를 생성하도록 선택될 확률에 영향을 미칩니다. 운영자가 악의적으로 행동하면 스테이킹이 삭감될 수 있으며, 이는 유효한 블록을 게시하도록 장려합니다.
ZK-롤업이 이더리움에 트랜잭션 데이터를 게시하는 방법
설명한 바와 같이, 트랜잭션 데이터는 calldata로 이더리움에 게시됩니다. calldata는 함수에 인수를 전달하는 데 사용되는 스마트 계약의 데이터 영역이며 메모리와 유사하게 동작합니다. calldata는 이더리움의 상태의 일부로 저장되지는 않지만, 이더리움 체인의 기록 로그 (opens in a new tab)의 일부로 온체인에 유지됩니다. calldata는 이더리움의 상태에 영향을 미치지 않으므로 온체인에 데이터를 저렴하게 저장하는 방법입니다.
calldata 키워드는 종종 트랜잭션에 의해 호출되는 스마트 계약 메서드를 식별하고 임의의 바이트 시퀀스 형태로 메서드에 대한 입력을 보유합니다. ZK-롤업은 calldata를 사용하여 압축된 트랜잭션 데이터를 온체인에 게시합니다. 롤업 운영자는 롤업 계약에서 필요한 함수를 호출하여 새 배치를 추가하고 압축된 데이터를 함수 인수로 전달하기만 하면 됩니다. 롤업 수수료의 상당 부분이 온체인에 트랜잭션 데이터를 저장하는 데 사용되므로 이는 사용자 비용을 줄이는 데 도움이 됩니다.
상태 커밋먼트
L2 계정 및 잔액을 포함하는 ZK-롤업의 상태는 머클 트리로 표시됩니다. 머클 트리의 루트(머클 루트)에 대한 암호화 해시는 온체인 계약에 저장되어 롤업 프로토콜이 ZK-롤업 상태의 변경 사항을 추적할 수 있도록 합니다.
롤업은 새로운 트랜잭션 세트가 실행된 후 새로운 상태로 전환됩니다. 상태 전환을 시작한 운영자는 새로운 상태 루트를 계산하여 온체인 계약에 제출해야 합니다. 배치와 관련된 유효성 증명이 검증자 계약에 의해 인증되면 새로운 머클 루트는 ZK-롤업의 정식 상태 루트가 됩니다.
상태 루트를 계산하는 것 외에도 ZK-롤업 운영자는 배치 루트, 즉 배치의 모든 트랜잭션으로 구성된 머클 트리의 루트도 생성합니다. 새 배치가 제출되면 롤업 계약은 배치 루트를 저장하여 사용자가 트랜잭션(예: 인출 요청)이 배치에 포함되었음을 증명할 수 있도록 합니다. 사용자는 트랜잭션 세부 정보, 배치 루트 및 포함 경로를 보여주는 머클 증명을 제공해야 합니다.
유효성 증명
ZK-롤업 운영자가 L1 계약에 제출하는 새로운 상태 루트는 롤업 상태 업데이트의 결과입니다. 예를 들어 앨리스가 밥에게 10개의 토큰을 보내면 운영자는 앨리스의 잔액을 10만큼 줄이고 밥의 잔액을 10만큼 늘립니다. 그런 다음 운영자는 업데이트된 계정 데이터를 해시하고 롤업의 머클 트리를 다시 빌드한 다음 새 머클 루트를 온체인 계약에 제출합니다.
그러나 롤업 계약은 운영자가 새 머클 루트가 롤업 상태에 대한 올바른 업데이트의 결과임을 증명할 때까지 제안된 상태 약정을 자동으로 수락하지 않습니다. ZK-롤업 운영자는 배치된 트랜잭션의 정확성을 검증하는 간결한 암호화 약정인 유효성 증명을 생성하여 이를 수행합니다.
유효성 증명을 사용하면 당사자가 진술 자체를 공개하지 않고도 진술의 정확성을 증명할 수 있으므로 영지식 증명이라고도 합니다. ZK-롤업은 유효성 증명을 사용하여 이더리움에서 트랜잭션을 다시 실행하지 않고도 오프체인 상태 전환의 정확성을 확인합니다. 이러한 증명은 ZK-SNARK (opens in a new tab)(영지식 간결 비대화형 지식 논증) 또는 ZK-STARK (opens in a new tab)(영지식 확장형 투명 지식 논증)의 형태를 띨 수 있습니다.
SNARK와 STARK는 각각 독특한 특징을 가지고 있지만 ZK-롤업에서 오프체인 계산의 무결성을 증명하는 데 도움이 됩니다.
ZK-SNARK
ZK-SNARK 프로토콜이 작동하려면 공통 참조 문자열(CRS)을 생성해야 합니다. CRS는 유효성 증명을 증명하고 검증하기 위한 공개 매개변수를 제공합니다. 증명 시스템의 보안은 CRS 설정에 따라 달라집니다. 공개 매개변수를 생성하는 데 사용된 정보가 악의적인 행위자의 손에 들어가면 거짓 유효성 증명을 생성할 수 있습니다.
일부 ZK-롤업은 신뢰할 수 있는 개인을 포함하는 다자간 계산(MPC) 행사 (opens in a new tab)를 사용하여 ZK-SNARK 회로에 대한 공개 매개변수를 생성함으로써 이 문제를 해결하려고 시도합니다. 각 당사자는 CRS를 구성하기 위해 약간의 무작위성("독성 폐기물"이라고 함)을 제공하며, 이를 즉시 파기해야 합니다.
신뢰 기반 설정은 CRS 설정의 보안을 높이기 때문에 사용됩니다. 한 명의 정직한 참가자가 자신의 입력을 파기하는 한 ZK-SNARK 시스템의 보안은 보장됩니다. 하지만 이 접근 방식은 관련된 사람들이 샘플링된 무작위성을 삭제하고 시스템의 보안 보장을 훼손하지 않을 것이라고 신뢰해야 합니다.
신뢰 가정을 제외하고, ZK-SNARK는 작은 증명 크기와 상수 시간 검증으로 인기가 있습니다. L1에서의 증명 검증은 ZK-롤업 운영 비용의 더 큰 부분을 차지하므로 L2는 ZK-SNARK를 사용하여 메인넷에서 빠르고 저렴하게 검증할 수 있는 증명을 생성합니다.
ZK-STARK
ZK-SNARK와 마찬가지로 ZK-STARK는 입력을 공개하지 않고 오프체인 계산의 유효성을 증명합니다. 그러나 ZK-STARK는 확장성과 투명성 때문에 ZK-SNARK보다 개선된 것으로 간주됩니다.
ZK-STARK는 공통 참조 문자열(CRS)의 신뢰 기반 설정 없이도 작동할 수 있으므로 '투명'합니다. 대신 ZK-STARK는 공개적으로 검증 가능한 무작위성에 의존하여 증명을 생성하고 검증하기 위한 매개변수를 설정합니다.
ZK-STARK는 또한 유효성 증명을 증명하고 검증하는 데 필요한 시간이 기본 계산의 복잡성과 관련하여 준선형적으로 증가하기 때문에 더 많은 확장성을 제공합니다. ZK-SNARK의 경우 증명 및 검증 시간은 기본 계산의 크기에 비례하여 선형적으로 확장됩니다. 이는 대규모 데이터세트가 관련될 때 ZK-STARK가 증명 및 검증에 ZK-SNARK보다 시간이 덜 걸린다는 것을 의미하며, 따라서 대용량 애플리케이션에 유용합니다.
ZK-STARK는 양자 컴퓨터에 대해서도 안전하지만, ZK-SNARK에 사용되는 타원 곡선 암호화(ECC)는 양자 컴퓨팅 공격에 취약한 것으로 널리 알려져 있습니다. ZK-STARK의 단점은 더 큰 증명 크기를 생성하여 이더리움에서 검증하는 데 더 많은 비용이 든다는 것입니다.
ZK-롤업에서 유효성 증명은 어떻게 작동하나요?
증명 생성
트랜잭션을 수락하기 전에 운영자는 일반적인 검사를 수행합니다. 여기에는 다음 확인 사항이 포함됩니다.
- 송금인과 수취인 계정이 상태 트리의 일부입니다.
- 송금인이 트랜잭션을 처리하기에 충분한 자금을 가지고 있습니다.
- 트랜잭션이 정확하고 롤업의 송금인 공개 키와 일치합니다.
- 송금인의 논스가 정확합니다.
ZK-롤업 노드에 충분한 트랜잭션이 있으면 이를 배치로 집계하고 증명 회로가 간결한 ZK-증명으로 컴파일할 수 있도록 입력을 컴파일합니다. 여기에는 다음이 포함됩니다.
- 배치의 모든 트랜잭션으로 구성된 머클 트리 루트.
- 배치 포함을 증명하기 위한 트랜잭션에 대한 머클 증명.
- 해당 계정이 롤업 상태 트리의 일부임을 증명하기 위해 트랜잭션의 각 송금인-수취인 쌍에 대한 머클 증명.
- 각 트랜잭션에 대한 상태 업데이트를 적용한 후 상태 루트를 업데이트하여 파생된 중간 상태 루트 세트(즉, 송금인 계정 감소 및 수취인 계정 증가).
증명 회로는 각 트랜잭션을 "반복"하고 운영자가 트랜잭션을 처리하기 전에 완료한 것과 동일한 검사를 수행하여 유효성 증명을 계산합니다. 먼저 제공된 머클 증명을 사용하여 송금인의 계정이 기존 상태 루트의 일부인지 확인합니다. 그런 다음 송금인의 잔액을 줄이고, 논스를 증가시키고, 업데이트된 계정 데이터를 해시한 다음 머클 증명과 결합하여 새로운 머클 루트를 생성합니다.
이 머클 루트는 ZK-롤업 상태의 유일한 변경 사항인 송금인의 잔액과 논스 변경을 반영합니다. 계정의 존재를 증명하는 데 사용되는 머클 증명이 새로운 상태 루트를 도출하는 데 사용되기 때문에 이것이 가능합니다.
증명 회로는 수취인의 계정에서 동일한 프로세스를 수행합니다. 중간 상태 루트 아래에 수취인의 계정이 있는지 확인하고(머클 증명 사용), 잔액을 늘리고, 계정 데이터를 다시 해시한 다음 머클 증명과 결합하여 새로운 상태 루트를 생성합니다.
이 프로세스는 모든 트랜잭션에 대해 반복됩니다. 각 "루프"는 송금인의 계정을 업데이트하여 새로운 상태 루트를 생성하고 수취인의 계정을 업데이트하여 후속 새로운 루트를 생성합니다. 설명한 바와 같이 상태 루트에 대한 모든 업데이트는 롤업 상태 트리의 한 부분이 변경되었음을 나타냅니다.
ZK 증명 회로는 전체 트랜잭션 배치를 반복하여 마지막 트랜잭션이 실행된 후 최종 상태 루트가 되는 업데이트 순서를 확인합니다. 계산된 마지막 머클 루트는 ZK-롤업의 최신 정식 상태 루트가 됩니다.
증명 검증
증명 회로가 상태 업데이트의 정확성을 확인한 후 L2 운영자는 계산된 유효성 증명을 L1의 검증자 계약에 제출합니다. 계약의 검증 회로는 증명의 유효성을 확인하고 증명의 일부를 구성하는 공개 입력도 확인합니다.
-
이전 상태 루트: ZK-롤업의 이전 상태 루트(즉, 일괄 처리된 트랜잭션이 실행되기 전)로, L2 체인의 마지막으로 알려진 유효한 상태를 반영합니다.
-
이후 상태 루트: ZK-롤업의 새로운 상태 루트(즉, 일괄 처리된 트랜잭션이 실행된 후)로, L2 체인의 최신 상태를 반영합니다. 이후 상태 루트는 증명 회로에서 상태 업데이트를 적용한 후 파생된 최종 루트입니다.
-
배치 루트: 배치의 머클 루트로, 배치의 트랜잭션을 머클화하고 트리의 루트를 해시화하여 파생됩니다.
-
트랜잭션 입력: 제출된 배치의 일부로 실행된 트랜잭션과 관련된 데이터.
증명이 회로를 만족시키는 경우(즉, 유효한 경우) 이전 상태(이전 상태 루트로 암호화 지문 채취)에서 새로운 상태(이후 상태 루트로 암호화 지문 채취)로 롤업을 전환하는 유효한 트랜잭션 시퀀스가 존재함을 의미합니다. 이전 상태 루트가 롤업 계약에 저장된 루트와 일치하고 증명이 유효하면 롤업 계약은 증명에서 이후 상태 루트를 가져와 롤업의 변경된 상태를 반영하도록 상태 트리를 업데이트합니다.
진입 및 탈출
사용자는 L1 체인에 배포된 롤업 계약에 토큰을 예치하여 ZK-롤업에 참여합니다. 운영자만 롤업 계약에 트랜잭션을 제출할 수 있으므로 이 트랜잭션은 대기열에 추가됩니다.
보류 중인 예금 대기열이 채워지기 시작하면 ZK-롤업 운영자는 예금 트랜잭션을 가져와 롤업 계약에 제출합니다. 사용자의 자금이 롤업에 있으면 처리를 위해 운영자에게 트랜잭션을 전송하여 거래를 시작할 수 있습니다. 사용자는 계정 데이터를 해시하고 해시를 롤업 계약에 보낸 다음 머클 증명을 제공하여 현재 상태 루트에 대해 확인하여 롤업의 잔액을 확인할 수 있습니다.
ZK-롤업에서 L1으로 인출하는 것은 간단합니다. 사용자는 롤업의 자산을 소각을 위해 지정된 계정으로 보내 출금 트랜잭션을 시작합니다. 운영자가 다음 배치에 트랜잭션을 포함하면 사용자는 온체인 계약에 인출 요청을 제출할 수 있습니다. 이 인출 요청에는 다음이 포함됩니다.
-
사용자의 트랜잭션이 소각 계정으로 전송되었음을 증명하는 머클 증명
-
트랜잭션 데이터
-
배치 루트
-
예치된 자금을 받을 L1 주소
롤업 계약은 트랜잭션 데이터를 해시하고 배치 루트가 있는지 확인한 다음 머클 증명을 사용하여 트랜잭션 해시가 배치 루트의 일부인지 확인합니다. 그 후 계약은 출금 트랜잭션을 실행하고 L1에서 사용자가 선택한 주소로 자금을 보냅니다.
ZK-롤업 및 EVM 호환성
낙관적 롤업과 달리 ZK-롤업은 이더리움 가상 머신(EVM)과 쉽게 호환되지 않습니다. 회로에서 범용 EVM 계산을 증명하는 것은 이전에 설명한 토큰 전송과 같은 간단한 계산을 증명하는 것보다 더 어렵고 리소스 집약적입니다.
그러나 영지식 기술의 발전 (opens in a new tab)으로 인해 EVM 계산을 영지식 증명으로 래핑하는 것에 대한 관심이 다시 불붙고 있습니다. 이러한 노력은 프로그램 실행의 정확성을 효율적으로 검증할 수 있는 영지식 EVM(zkEVM) 구현을 만드는 것을 목표로 합니다. zkEVM은 회로에서 증명/검증을 위해 기존 EVM 옵코드를 재생성하여 스마트 계약을 실행할 수 있도록 합니다.
EVM과 마찬가지로 zkEVM은 일부 입력에 대한 계산이 수행된 후 상태 간에 전환됩니다. 차이점은 zkEVM이 프로그램 실행의 모든 단계의 정확성을 검증하기 위해 영지식 증명을 생성한다는 것입니다. 유효성 증명은 VM의 상태(메모리, 스택, 스토리지)에 영향을 미치는 작업의 정확성과 계산 자체(즉, 작업이 올바른 옵코드를 호출하고 올바르게 실행했는지 여부)를 확인할 수 있습니다.
EVM 호환 ZK-롤업의 도입은 개발자가 영지식 증명의 확장성과 보안 보장을 활용하는 데 도움이 될 것으로 예상됩니다. 더 중요한 것은 네이티브 이더리움 인프라와의 호환성은 개발자가 익숙하고 검증된 툴링과 언어를 사용하여 ZK 친화적인 탈중앙화앱을 구축할 수 있음을 의미합니다.
ZK-롤업 수수료는 어떻게 작동하나요?
ZK-롤업에서 사용자가 트랜잭션에 대해 지불하는 금액은 이더리움 메인넷과 마찬가지로 가스 수수료에 따라 다릅니다. 그러나 가스 수수료는 L2에서 다르게 작동하며 다음 비용의 영향을 받습니다.
-
상태 쓰기: 이더리움 상태에 쓰는 데(즉, 이더리움 블록체인에 트랜잭션을 제출하는 것) 고정 비용이 있습니다. ZK-롤업은 트랜잭션을 일괄 처리하고 여러 사용자에게 고정 비용을 분산시켜 이 비용을 줄입니다.
-
데이터 게시: ZK-롤업은 모든 트랜잭션의 상태 데이터를
calldata로 이더리움에 게시합니다.calldata비용은 현재 EIP-1559 (opens in a new tab)에 의해 관리되며, 이는 0이 아닌 바이트에 대해 16 가스,calldata의 0바이트에 대해 각각 4 가스의 비용을 규정합니다. 각 트랜잭션에 대해 지불하는 비용은 온체인에 게시해야 하는calldata의 양에 따라 영향을 받습니다. -
L2 운영자 수수료: 이더리움 메인넷의 트랜잭션 "우선 수수료(팁)"와 마찬가지로 트랜잭션 처리 시 발생하는 계산 비용에 대한 보상으로 롤업 운영자에게 지불되는 금액입니다.
-
증명 생성 및 검증: ZK-롤업 운영자는 트랜잭션 배치에 대한 유효성 증명을 생성해야 하며, 이는 리소스 집약적입니다. 메인넷에서 영지식 증명을 검증하는 데에도 가스(~500,000 가스)가 소요됩니다.
트랜잭션을 일괄 처리하는 것 외에도 ZK-롤업은 트랜잭션 데이터를 압축하여 사용자 수수료를 줄입니다. 이더리움 ZK-롤업 사용 비용에 대한 실시간 개요 (opens in a new tab)를 볼 수 있습니다.
ZK-롤업은 이더리움을 어떻게 확장하나요?
트랜잭션 데이터 압축
ZK-롤업은 계산을 오프체인으로 가져와 이더리움의 기본 레이어에서 처리량을 확장하지만, 확장을 위한 진정한 이점은 트랜잭션 데이터를 압축하는 데 있습니다. 이더리움의 블록 크기는 각 블록이 보유할 수 있는 데이터의 양과 나아가 블록당 처리되는 트랜잭션 수를 제한합니다. 트랜잭션 관련 데이터를 압축함으로써 ZK-롤업은 블록당 처리되는 트랜잭션 수를 크게 늘립니다.
ZK-롤업은 각 트랜잭션을 검증하는 데 필요한 모든 데이터를 게시할 필요가 없으므로 낙관적 롤업보다 트랜잭션 데이터를 더 잘 압축할 수 있습니다. 롤업에서 계정 및 잔액의 최신 상태를 재구성하는 데 필요한 최소한의 데이터만 게시하면 됩니다.
재귀적 증명
영지식 증명의 장점은 증명이 다른 증명을 검증할 수 있다는 것입니다. 예를 들어, 단일 ZK-SNARK는 다른 ZK-SNARK를 검증할 수 있습니다. 이러한 "증명의 증명"은 재귀적 증명이라고 하며 ZK-롤업의 처리량을 극적으로 증가시킵니다.
현재 유효성 증명은 블록 단위로 생성되어 검증을 위해 L1 계약에 제출됩니다. 그러나 운영자가 증명을 제출할 때 하나의 블록만 완결될 수 있으므로 단일 블록 증명을 검증하면 ZK-롤업이 달성할 수 있는 처리량이 제한됩니다.
그러나 재귀적 증명을 사용하면 하나의 유효성 증명으로 여러 블록을 완결할 수 있습니다. 이는 증명 회로가 최종 증명이 하나 생성될 때까지 여러 블록 증명을 재귀적으로 집계하기 때문입니다. L2 운영자는 이 재귀적 증명을 제출하며, 계약이 이를 수락하면 모든 관련 블록이 즉시 완결됩니다. 재귀적 증명을 사용하면 일정 간격으로 이더리움에서 완결될 수 있는 ZK-롤업 트랜잭션의 수가 증가합니다.
ZK-롤업의 장단점
| 장점 | 단점 |
|---|---|
| 유효성 증명은 오프체인 트랜잭션의 정확성을 보장하고 운영자가 잘못된 상태 전환을 실행하는 것을 방지합니다. | 유효성 증명을 계산하고 검증하는 데 드는 비용이 상당하며 롤업 사용자의 수수료를 증가시킬 수 있습니다. |
| L1에서 유효성 증명이 검증되면 상태 업데이트가 승인되므로 더 빠른 트랜잭션 완결성을 제공합니다. | 영지식 기술의 복잡성으로 인해 EVM 호환 ZK-롤업을 구축하는 것은 어렵습니다. |
| 낙관적 롤업과 같이 인센티브를 받는 행위자의 정직성이 아니라 보안을 위해 무신뢰 암호화 메커니즘에 의존합니다. | 유효성 증명을 생성하려면 특수 하드웨어가 필요하며, 이는 소수 당사자에 의한 체인의 중앙 집중식 제어를 조장할 수 있습니다. |
| L1에서 오프체인 상태를 복구하는 데 필요한 데이터를 저장하여 보안, 검열 저항성 및 탈중앙화를 보장합니다. | 중앙화된 운영자(시퀀서)는 트랜잭션 순서에 영향을 미칠 수 있습니다. |
| 사용자는 더 큰 자본 효율성의 이점을 누리고 지연 없이 L2에서 자금을 인출할 수 있습니다. | 하드웨어 요구 사항으로 인해 체인을 강제로 진행시킬 수 있는 참여자 수가 줄어들어 악의적인 운영자가 롤업 상태를 동결하고 사용자를 검열할 위험이 증가할 수 있습니다. |
| 활성 가정에 의존하지 않으며 사용자는 자금을 보호하기 위해 체인을 검증할 필요가 없습니다. | 일부 증명 시스템(예: ZK-SNARK)은 신뢰 기반 설정을 필요로 하며, 이를 잘못 처리하면 ZK-롤업의 보안 모델이 손상될 수 있습니다. |
더 나은 데이터 압축은 이더리움에서 calldata를 게시하는 비용을 줄이고 사용자의 롤업 수수료를 최소화하는 데 도움이 될 수 있습니다. |
ZK-롤업에 대한 시각적 설명
Finematics에서 영지식 증명에 대해 설명합니다.
zkEVM을 개발하는 곳은 어디인가요?
zkEVM을 개발하는 프로젝트는 다음과 같습니다.
-
zkEVM (opens in a new tab) - zkEVM은 이더리움 재단이 EVM 호환 ZK-롤업과 이더리움 블록에 대한 유효성 증명 생성 메커니즘을 개발하기 위해 자금을 지원하는 프로젝트입니다.
-
Polygon zkEVM (opens in a new tab) - 이더리움 메인넷의 탈중앙화된 ZK 롤업으로, 영지식 증명 검증을 통해 스마트 계약을 포함한 이더리움 트랜잭션을 투명하게 실행하는 영지식 이더리움 가상 머신(zkEVM)을 개발하고 있습니다.
-
Scroll (opens in a new tab) - Scroll은 이더리움을 위한 네이티브 zkEVM 레이어 2 솔루션을 구축하는 기술 중심 회사입니다.
-
Taiko (opens in a new tab) - Taiko는 탈중앙화된 이더리움 동등 ZK-롤업(유형 1 ZK-EVM (opens in a new tab))입니다.
-
ZKsync (opens in a new tab) - ZKsync Era는 Matter Labs가 구축한 EVM 호환 ZK 롤업으로, 자체 zkEVM으로 구동됩니다.
-
Starknet (opens in a new tab) - StarkNet은 StarkWare가 구축한 EVM 호환 레이어 2 확장 솔루션입니다.
-
Morph (opens in a new tab) - Morph는 zk-증명을 활용하여 레이어 2 상태 문제 문제를 해결하는 하이브리드 롤업 확장 솔루션입니다.
-
Linea (opens in a new tab) - Linea는 Consensys가 구축한 이더리움 동등 zkEVM 레이어 2로, 이더리움 생태계와 완벽하게 일치합니다.
ZK-롤업에 대한 추가 자료
- 영지식 롤업이란? (opens in a new tab)
- 영지식 롤업이란? (opens in a new tab)
- 이더리움 롤업 실용 가이드 (opens in a new tab)
- STARK 대 SNARK (opens in a new tab)
- zkEVM이란? (opens in a new tab)
- ZK-EVM 유형: 이더리움 동등, EVM 동등, 유형 1, 유형 4 및 기타 암호화된 유행어 (opens in a new tab)
- zkEVM 소개 (opens in a new tab)
- ZK-EVM L2란? (opens in a new tab)
- Awesome-zkEVM 리소스 (opens in a new tab)
- ZK-SNARK 내부 구조 (opens in a new tab)
- SNARK는 어떻게 가능한가? (opens in a new tab)