본문으로 건너뛰기
0%

ZKsync Era란? 이더리움 개발자를 위한 개요

Sankrit K headshot

작성자 Sankrit K

2024년 5월 9일에 게시됨9분 읽기

ZK 롤업은 블록체인 확장성을 위한 유망한 솔루션으로 등장했다 — 영지식 증명(ZKP)을 통해 프라이버시를 개선하고, 트랜잭션 속도를 높이고, 수수료를 크게 줄였다. 하지만 ZK 롤업은 Ethereum Virtual Machine (EVM)과 호환되지 않아 채택이 부진했다.

EVM은 Ethereum의 핵심으로, 개발자들이 Solidity를 사용해 앱을 빌드하고 배포할 수 있게 해준다. 기존 ZK 롤업은 EVM과 호환되지 않았기 때문에, 개발자들은 ZK 롤업 환경을 위해 스마트 컨트랙트를 완전히 다시 작성해야 했다. 그 결과, 잠재적인 이점에도 불구하고 이는 이 기술의 채택을 가로막는 걸림돌이 되었다. ZKsync는 이를 바꾸고자 한다.

Matter Labs의 ZKsync는 Ethereum을 위한 최초의 레이어 2 스케일링 솔루션이다. Ethereum을 위한 신뢰 없는(trustless) 프라이버시 중심 스케일링 솔루션이라는 비전을 공개한 지 단 6개월 만에, ZKsync는 겉보기에 불가능해 보였던 것을 달성하며 블록체인 업계를 놀라게 했다: 바로 EVM 호환성이다.

이후 ZKsync는 두 갈래로 발전했다; ZKsync Lite와 ZKsync Era.

이 글에서는 ZKsync Era가 무엇인지, ZKsync Lite와 어떻게 다른지, 그리고 다른 ZK 블록체인들과 비교했을 때 어떤 점이 돋보이는지 자세히 다룬다.

zkSync era란 무엇인가?

ZKsync는 범용 레이어 2 Ethereum 솔루션이며 세계 최초의 EVM 호환 ZK 롤업이다.

이는 Ethereum 메인넷이 안고 있는 두 가지 고질적인 문제, 즉 확장성과 높은 트랜잭션 수수료를 해결한다.

zkSync Era TVL 그래프
zkSync Era TVL

LLVM 기반 컴파일러 덕분에, ZKsync를 통해 Ethereum용으로 빌드하는 개발자들은 Solidity, Vyper 같은 언어로 스마트 컨트랙트를 작성할 수 있다. 대부분의 EVM 기반 스마트 컨트랙트는 코드 한 줄 다시 작성하지 않고도 ZK 롤업의 잠재력을 온전히 활용하도록 마이그레이션할 수 있다.

zkEVM 개요

EVM은 완전히 투명하다 — 여기에는 검증 가능성이라는 타당한 이유가 있다. 투명성을 통해서만 EVM 기반 블록체인은 모든 트랜잭션이 눈에 보일 뿐만 아니라 모든 참여자가 검증 가능하다는 것을 보장할 수 있었다.

이 수준의 개방성은 모든 연산이 네트워크가 정한 합의 규칙을 준수하도록 보장하여, 부정행위를 막고 네트워크가 안전하고 탈중앙화된 상태를 유지하도록 한다.

하지만 목표는 투명성 자체가 아니었다. 목표는 신뢰 없음(trustlessness)이었다. ZK 롤업 이전에는 투명성이 신뢰 없음으로 가는 유일한 경로였을 뿐이다.

예를 들어, 정직한 행위자(예: 일반 사용자)는 개인적인 선호로 자신의 트랜잭션이나 다른 정보를 비공개로 유지하고 싶어할 수 있다. 전통적인 블록체인은 이를 허용하지 않았다.

하지만 zkEVM에서는 트랜잭션에 포함된 모든 정보를 공개하는 대신, 확률적으로 증명할 수 있다.

zkEVM 트랜잭션 다이어그램
zkEVM 트랜잭션 다이어그램

zkSync lite란 무엇인가?

Matter Labs의 첫 번째 ZKsync 버전은 ZKsync 1.0으로, 주로 Ethereum 상에서 안전하고 비용 효율적인 토큰 전송을 가능하게 하는 데 초점을 맞춘 레이어 2 솔루션이었다. 이후 "ZKsync Lite"로 이름이 바뀌었다.

ZKsync Lite는 트랜잭션을 오프체인에서 번들링하여 유효성 증명(validity proof)을 생성한 뒤, 이를 Ethereum 메인넷에 제출해 검증받는다. 다만 완전한 EVM 호환성을 갖추지 못해, 지원되는 앱의 범위가 제한적이다.

ZKsync Lite의 이러한 한계로 인해 두 번째 버전인 ZKsync 2.0, 지금 우리가 "ZKsync Era"로 알고 있는 버전이 나오게 되었다.

zkSync lite 대 zkSync era

체인

ZKsync Lite

ZKsync Era

초점

확장 가능한 결제 및 토큰 전송

완전히 프로그래밍 가능한 스케일링 솔루션

EVM 호환성

제한적

완전함

스마트 컨트랙트 지원

기본 수준 (스왑, 전송)

광범위함 (DeFi, NFT, DAO 등)

아키텍처

순수 ZK 롤업

하이브리드 (더 나은 확장성을 위한 ZK 롤업과 zkPorter)

통합 속도

빠름

ZKsync Lite보다 느림

사용 사례

결제, 간단한 트랜잭션

결제, 복잡한 앱, DeFi 프로토콜, NFT 마켓플레이스, 게임 등

문서에서 더 알아보기.

zkSync 네이티브 어카운트 추상화 개요

오래된, 즉 레거시 블록체인들은 프로토콜 레벨에서 어카운트 추상화 혁신을 네이티브로 구현하는 데 어려움을 겪는다. 이미 훨씬 더 성숙한 상태이기 때문에, 프로토콜 레벨에서 AA 기술 스택을 통합하면 하위 호환성 문제가 발생하게 된다.

반면 ZKsync는 비교적 새로운 솔루션으로, ERC-4337과 유사한 통합을 통해 AA를 프로토콜에 내재화했다.

프로토콜이 AA를 네이티브로 구현하는 방식은 다음과 같다:

zkSync 계정 추상화 다이어그램. 출처: Clave
zkSync 계정 추상화 다이어그램

트랜잭션 개시

트랜잭션은 EOA와 컨트랙트로부터 mempool로 전송된다. 여기에는 일반적인 전송, 컨트랙트 상호작용, 그 외 다양한 트랜잭션 유형이 포함된다.

트랜잭션 집계

Bundler (오퍼레이터 시퀀서)는 mempool에서 트랜잭션을 가져와 하나의 배치로 묶는다.

이 과정에는 **Entrypoint (BootLoader)**가 배치 내 모든 트랜잭션의 유효성을 기반 트랜잭션 데이터를 노출하지 않고 증명하는 암호학적 증명(아마도 영지식 증명)을 생성하는 작업이 포함된다.

증명 제출 및 트랜잭션 확정

번들링된 트랜잭션과 그 증명은 Ethereum L1의 Rollup Contract에 제출된다.

Rollup Contract는 이 증명들을 검증하고, 검증에 성공하면 트랜잭션을 확정한다.

이 단계는 사실상 레이어 2 연산의 결과를 Ethereum 메인 블록체인에 기록하는 것이다.

확정

Rollup Contract에 의해 트랜잭션이 확인되면, 이는 확정된 것으로 간주된다.

Ethereum 상 블록의 확정성(finality)은 포함된 모든 트랜잭션이 불변하며 공식적으로 Ethereum 원장의 일부가 되었음을 보장한다.

zkSync에는 어떤 종류의 ZK 기술이 사용되는가?

"ZK 기술은 스케일링의 성배다. 그리고 결국 이런 방식으로 Ethereum과 모든 블록체인이 확장될 것이다."

— Alex Gluchowski | Matter Labs 공동 창업자 겸 CEO

영지식 증명, 그중에서도 재귀적 ZK-SNARK는 ZKsync에 사용된 기술의 핵심이다.

SNARK는 간결하고(즉, 크기가 작고 검증이 빠름) 비대화형(prover와 verifier 간 주고받는 통신이 필요 없음)인 특정 유형의 영지식 증명이다.

재귀적 SNARK는 여기서 한 걸음 더 나아가, 하나의 SNARK 증명이 다른 SNARK를 검증할 수 있게 한다. 이를 통해 각 계층이 이전 계층의 유효성에 의존하는 "증명 피라미드"를 구성할 수 있으며, 잠재적으로 방대한 수의 연산이나 트랜잭션을 확장 가능하고 효율적으로 검증할 수 있다.

따라서 스마트폰처럼 상대적으로 연산 능력이 낮은 기기도 최소한의 자원으로 많은 수의 트랜잭션을 검증할 수 있다.

Matter Labs가 작성한 zkSync 블록 검증 다이어그램
zkSync 블록 검증 다이어그램. 출처: Matter Labs

ZKsync 기술을 뒷받침하는 것은 그 프레임워크인 ZK Stack이다.

ZK stack으로 빌드하기: zkSync를 움직이는 프레임워크

ZK Stack은 ZK Credo의 원칙을 기반으로 한 모듈형 오픈소스 프레임워크로, ZK 기반 Hyperchain을 빌드하는 데 사용된다.

이 Hyperchain들은 독립된 블록체인과 같으면서도 ZK Sync 생태계 내에서 매끄러운 상호운용성의 이점을 누린다.

ZK 기반 하이퍼체인 구조 다이어그램
ZK 하이퍼체인 다이어그램. 출처: Matter Labs

ZK Stack의 모듈성은 개발자에게 다음과 같은 세밀한 제어권을 제공한다:

  • 데이터 가용성: 최적의 프라이버시와 확장성 간의 트레이드오프를 위해 rollup, validium, volition 구성 중에서 선택할 수 있다.
  • 토크노믹스: Ether를 기본 토큰으로 사용하거나, 커스텀 토큰을 사용하거나, 여러 토큰을 지원하도록 Hyperchain을 설계할 수 있다.
  • 시퀀싱: 중앙화된 효율성(고빈도 거래)이나 탈중앙화된 무허가 보안을 위해 다양한 시퀀서 구성을 구현할 수 있다.

zkSync 대 다른 ZK 블록체인들

불과 몇 년 전만 해도, 커뮤니티는 Ethereum 확장성을 위해 사이드체인과 플라즈마를 추구했다. 하지만 이제는 롤업이 Ethereum을 효과적으로 확장하는 기술로서 중심 무대를 차지하고 있다.

2018년 도입된 이래, 특히 ZK 롤업은 Polygon 같은 대형 프로젝트가 이를 채택하고 Vitalik Buterin 같은 사상가들이 이를 옹호하면서 상당한 관심과 채택을 얻어왔다.

ZK 증명 및 스케일링 다이어그램
ZK 증명 및 스케일링 다이어그램. 출처: Linea

L2 beat에 따르면, 이 글을 쓰는 시점에 이미 11개의 ZK 롤업 기반 레이어 2 스케일링 솔루션이 가동 중이며, 14개가 더 준비 중이다. 이렇게 다양한 선택지가 있는 상황에서, 개발팀은 어떻게 빌드할 적합한 롤업을 선택하는 합리적인 결정을 내릴 수 있을까?

ZK 롤업 기반 레이어 2 스케일링 솔루션 목록
ZK 롤업 기반 레이어 2 스케일링 솔루션. 출처: L2Beat

앱을 빌드할 때 고려해야 할 세 가지 요소가 있다:

  1. 올바른 체인 선택하기: 확장성, 보안성, 개발자 지원을 평가하라. 이러한 영역에서 프로젝트 요구 사항에 부합하는 블록체인을 선택하라.
  2. 멀티체인 전략 고려하기: 멀티체인 접근 방식이 제공하는 더 넓은 시장 접근성과 리스크 완화 효과를, 늘어나는 복잡성 및 비용과 비교해 저울질하라.
  3. 엔지니어링 부담 평가하기: 통합 난이도, 운영 유지보수, 필요한 개발자 역량을 고려하라. 관련된 총비용과 소요 시간을 추정하라.

이제 ZKsync Era가 Starknet 및 Polygon zkEVM과 어떻게 다른지 살펴보자.

zkSync era 대 StarkNet

Starknet은 (TVL 기준) Ethereum을 위한 선도적인 ZK 롤업 스케일링 솔루션이며, ZKsync Era와 유사한 목표 — Ethereum을 확장하고 대중적 채택을 촉진하는 것 —를 공유한다.

ZKsync Era는 하위 호환성에 초점을 맞춰, 개발자들이 자신의 프로젝트를 쉽게 마이그레이션하거나 기존의 Solidity 및 Vyper 지식을 활용해 빌드할 수 있도록 했다.

반면 Starknet은 주류 블록체인 개발 언어에 익숙하지 않은 신규 진입자들을 끌어들일 수 있는 접근 방식을 우선시하여, 상대적으로 더 간단하다고 여겨지는 언어인 Cairo를 계속 사용할 수 있도록 했다.

아래 표는 ZKsync Era와 Starknet의 차이를 설명한다.

체인

ZKsync Era

Starknet

증명 생성

ZK-SNARK

ZK-STARK

증명 크기

작음

큼

신뢰 없음(Trustlessness)

낮음

높음

검증 비용

배치당 약 460,000 gas

다중로그(Polylogarithmic) (EIP-4844 적용 시 더 낮음)

EVM 호환성

있음

없음

개발자 경험

Ethereum 개발자에게 더 쉬움

Ethereum 개발자에게 학습 곡선이 있음

프로그래밍 언어

Solidity, Vyper

Cairo

컴파일러

LLVM

Warp

zkSync era 대 Polygon zkEVM

ZKsync Era와 Polygon zkEVM은 일주일도 채 차이 나지 않는 시점에 출시되었으며, 둘 다 유사한 기술을 기반으로 하되 미묘한 차이가 있다. 특히 Polygon zkEVM은 EVM-동등(equivalent) 롤업인 반면 ZKsync Era는 EVM-호환(compatible) 롤업이다.

"EVM 호환"이라는 것은 기반 가상 머신이 Ethereum Virtual Machine (EVM)용으로 작성된 코드를 이해하고 실행할 수 있다는 의미다. 개발자는 기존 Ethereum 스마트 컨트랙트를 최소한의 수정만으로 ZKsync Era로 쉽게 이식할 수 있다.

"EVM 동등"이라는 것은 EVM과 유사한 기능을 달성하지만 내부적으로는 다른 가상 머신을 사용한다는 의미다. 개발자는 Polygon zkEVM에서 완벽히 작동하도록 기존 Ethereum 스마트 컨트랙트를 수정해야 할 수도 있다.

아래 비교표는 ZKsync Era와 Polygon zkEVM 사이의 중요한 차이점을 보여준다.

체인

ZKsync Era

Polygon zkEVM

증명 생성

ZK-SNARK

ZK-SNARK와 zk-STARK

증명 크기

작음

큼

신뢰 없음(Trustlessness)

낮음

높음

EVM 호환성

호환(Compatible)

동등(Equivalent)

개발자 경험


Ethereum 스마트 컨트랙트의 쉬운 마이그레이션

일부 코드 수정이 필요할 수 있음

프로그래밍 언어

Solidity, Vyper

Solidity

컴파일러

LLVM

사용되는 컴파일러 없음

Alchemy로 빌드하기

ZKsync는 이제 Alchemy에서 사용할 수 있다.

이 통합을 통해 ZKsync 노드를 직접 운영하고 유지 관리하는 부담 없이, 애플리케이션의 고유한 가치 제안에 집중할 수 있다.

Alchemy의 Node API를 통해 ZKsync Era의 메인넷 및 테스트넷 RPC 엔드포인트에 접근할 수 있다. Alchemy의 API를 사용하면 개발자는 높은 신뢰성과 간소화된 개발 경험을 얻을 수 있다.

시작하기 위한 3단계

  1. 무료 계정 등록하기: Alchemy를 방문해 계정을 생성한다.
  2. ZKsync Era RPC 엔드포인트 확보하기: Alchemy 대시보드에서 ZKsync Era (메인넷 및 테스트넷) 엔드포인트를 찾는다.
  3. 빌드 시작하기: 이 엔드포인트들을 dApp에 통합한다.

_더 자세한 내용은 _ZKsync Era API Quickstart 문서를 참고하라.

자주 묻는 질문

zkSync era란 무엇인가?

zkSync Era는 레이어 2 Ethereum 스케일링 솔루션이자 세계 최초의 EVM 호환 ZK 롤업으로, 기존 Ethereum 스마트 컨트랙트와의 완전한 호환성을 유지하면서 Ethereum의 확장성 문제와 높은 트랜잭션 수수료 문제를 해결한다.

zkSync era는 zkSync lite와 어떻게 다른가?

zkSync Lite는 제한된 EVM 호환성을 가지고 확장 가능한 결제와 토큰 전송에 초점을 맞추는 반면, zkSync Era는 완전한 EVM 호환성을 갖춘 완전히 프로그래밍 가능한 스케일링 솔루션으로 DeFi 프로토콜, NFT 마켓플레이스, 게임 등 광범위한 앱을 지원한다.

zkSync era에서 빌드하려면 개발자가 새로운 프로그래밍 언어를 배워야 하는가?

아니다, 개발자는 Solidity와 Vyper 같은 익숙한 Ethereum 프로그래밍 언어를 사용할 수 있으며, 대부분의 EVM 기반 스마트 컨트랙트는 코드 한 줄 다시 작성하지 않고도 마이그레이션할 수 있다.

zkSync era는 어떤 유형의 영지식 기술을 사용하는가?

zkSync Era는 재귀적 ZK-SNARK를 사용하는데, 이는 간결하고 비대화형인 영지식 증명으로 최소한의 연산 자원으로 대량의 트랜잭션을 효율적으로 검증할 수 있게 해준다.

zkSync era의 네이티브 어카운트 추상화란 무엇인가?

zkSync Era는 프로토콜 레벨에 어카운트 추상화가 내재되어 있어, 오래된 블록체인들이 겪는 하위 호환성 문제 없이 고급 지갑 기능과 사용자 경험 개선을 가능하게 한다.

zkSync era는 Starknet 같은 다른 ZK 롤업과 비교해 어떠한가?

zkSync Era는 Solidity와 Vyper를 사용해 더 쉬운 마이그레이션이 가능하도록 EVM 호환성을 우선시하는 반면, Starknet은 자체 Cairo 프로그래밍 언어를 사용하여 개발자가 새로운 도구를 배워야 하지만 신규 진입자에게는 잠재적으로 더 단순한 개발 경험을 제공한다.

ZK stack이란 무엇이며 zkSync era와 어떤 관계가 있는가?

ZK Stack은 zkSync Era를 구동하는 모듈형 오픈소스 프레임워크로, 데이터 가용성, 토크노믹스, 시퀀싱 구성에 대한 세밀한 제어권을 가진 ZK 기반 Hyperchain을 빌드할 수 있게 해준다.

Background gradient

블록체인 매직을 만드세요

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