지케이싱크는 EVM 완전 호환성을 갖춘 업데이트를 통해 기존 EraVM의 한계를 극복하고 생태계 확장을 가속화할 기반을 마련했다.
또한 자체 솔리디티 컴파일러 solx를 발표하며 가스비 절감과 다양한 가상머신 호환성을 제공해, RISC-V 전환 가능성에 빠르게 대응할 기술적 우위를 확보했다.
이번 두 업데이트는 지케이싱크가 단순한 롤업을 넘어 지케이 스택 기반의 엘라스틱 체인 생태계를 구축하며, 옵티미즘 슈퍼체인 생태계와 경쟁 구도를 형성할 가능성을 보여준다.
대부분의 영지식 롤업들은 효율성을 위해 EVM을 약간 변경하거나 자체 VM을 개발해 사용하는 방식을 사용하곤 한다. 영지식 기반 프로토콜의 연산 과정에서 증명을 생성하는 부분이 가장 큰 병목을 차지하는데, 이를 네이티브 EVM에서 그대로 수행하기에는 연산의 부하가 너무 크기 때문이다. 이때 영지식 연산을 위해 구현체를 추가 혹은 변경한 EVM을 zkEVM이라고 칭한다.
zkEVM은 네이티브 EVM과의 호환성을 기준으로 타입 1~4로 나뉘는데, 이 중 ZKsync Era는 가장 낮은 EVM 호환성인 타입 4에 해당했다. ZKsync는 자체적으로 영지식 연산에 최적화된 LLVM 기반 가상머신 EraVM을 별도로 구현해 사용하고 있기 때문이다. 이때 사용자가 작성한 솔리티디/바이퍼 코드를 자체 컴파일러인 zksolc/zkvyper로 컴파일하고, EraVM은 이를 이용해 바이트코드를 구동시키는 방식을 사용해왔다.
Source: Ethereum Daily
하지만 이러한 구조는 여러가지 불편 요소들을 발생해왔는데, 이를 간단히 정리하면 아래와 같다.
EVM 개발도구와의 낮은 호환성: 연산 시뮬레이션을 기반으로 하는 다양한 개발도구들은 EraVM에 대한 완전한 호환성을 제공하지 못한다. 파운드리(Foundry), 하드햇(Hardhat) 등 EVM 생태계에서 가장 많이 쓰이는 개발 도구들을 사용하기 위해서는 foundry-zksync, hardhat-zksync 등 매터랩스에서 추가적으로 개발한 플러그인을 사용해야만 했다. 이들의 사용을 위해 추가적인 명령어를 숙지해야하는 것, 그리고 여러 유용한 디버깅 툴의 사용이 제한되는 것은 개발자 입장에서 큰 불편으로 작용해왔다.
저수준 호환 문제: EraVM과 EVM의 차이는 저수준의 개발에서 두드러지는데, 가장 대표적인 것이 CREATE2 옵코드(opcode) 호환 문제이다. CREATE2는 간단히 말해 주소를 생성하는 옵코드인데, 개발자가 추후 배포할 컨트랙트의 주소를 미리 알 수 있어 계정추상화 등에 매우 유용하게 사용된다. 하지만 이를 통해 생성하는 주소가 바이트코드 해시에 의존하며, EraVM은 해싱 방식의 차이로 인해 CREATE2와 완전한 호환성을 갖지 못했다. 이때문에 기존 계정추상화 프로젝트들은 지케이싱크에 컨트랙트를 배포하는 데에 추가적인 소요가 발생했고, 지케이싱크는 이에 대응해 네트워크 수준에서 자체 AA를 탑재하는 방식으로 문제를 해소했다. 이외에도 주소의 범위가 일부 제한되어 있는 점, 바이트코드에 대한 여러 제약사항들은 개발 및 테스트 과정에서 불편 요소로 작용해왔다.
보안 문제: 최근 대부분 해소되었지만, 지케이싱크 내에는 EVM과 명령어 수준의 차이가 존재하며 이를 고려하지 못한 채 개발될 경우 자금 손실 등 치명적인 문제가 발생할 수 있었다. 대표적으로 젬홀릭(Gemholic) 사건을 들 수 있는데, 이들은 지케이싱크가 .transfer() 메서드를 지원하지 않음을 인지하지 못한 채 사전 모금 컨트랙트를 구현했다가 약 921 ETH의 사용자 자금을 동결시키고 말았다. 이렇듯 EVM과의 호환성 차이를 인지하지 못한 채로 개발된 컨트랙트는 심각한 문제를 발생시킬 수 있으며, 이는 구현 상의 수정과 이로 인한 추가적인 오딧 비용 소모 등의 문제로 이어져 다른 EVM 완전 호환 체인에 배포된 프로젝트들이 지케이싱크로 온보딩하는 데에 걸림돌로 작용해왔다.
Source: ZKsync
그런데 지난 7일 지케이싱크는 EVM 완전 호환성을 갖추었음을 발표했으며, 해당 업데이트는 위의 문제들을 완전히 해소했다. 지케이싱크는 어떤 방식으로 EVM 완전 호환성을 갖추게 된 것일까?
지케이싱크는 이번 업데이트를 통해 EVM 인터프리터를 EraVM 내에 추가했다. EVM 인터프리터는 solc/vyper로 컴파일된 EVM 바이트코드를 내부적으로 우선 구동하고, 이를 EraVM이 실행할 수 있도록 EraVM용 옵코드로 변환해주는 역할을 수행한다. 간단하게 설명하자면 기존에 컨트랙트 개발을 위해 사용하던 플러그인들을 가상머신이 내장하는 형태로 바꿨다고 보면 된다. 인터프리터 외에도 CREATE2, ERC-2470 싱글톤 팩토리, Multicall3 등 기존 EVM과 호환되지 않던 모든 요소들을 프리컴파일 컨트랙트로 구현해 추가했으며, 이로써 EVM과 개발 측면에서의 차이가 완전히 사라졌다.
Source: ZKsync Developers
구조상으로는 간단해보이지만 개발자 입장에서는 지케이싱크와 다른 EVM 체인과의 개발환경을 통합하게 되며, 그동안 지케이싱크로의 온보딩을 주저하던 다양한 프로젝트들이 추가적인 소요 없이 컨트랙트 배포가 가능해졌다는 것은 생태계에 큰 장점으로 작용할 것으로 보인다.
지케이싱크는 연이어 9일 자체적으로 개발한 솔리디티 컴파일러인 solx를 발표했다. 현재 솔리디티는 solc 외에 다른 컴파일러 선택지가 존재하지 않으며, 아직 완전하다고 할 수는 없으나 컴파일러 선택지가 추가되었다는 것만으로도 개발 생태계에 큰 의의를 갖는다.
프로그래밍 언어가 하나의 컴파일러만을 지원할 경우 독점 생태계의 다양한 문제가 발생할 수 있는데, 대표적인 문제는 컴파일러 버그 발생시 해당 언어를 기반으로 하는 모든 프로그램이 영향을 받을 수 있다는 것이다. 웹3 생태계에도 컴파일러 버그로 인해 대형 사고가 발생한 전적이 있는데, 지난 2023년 Vyper 컴파일러 내 재진입 처리 관련 버그로 인해 커브 파이낸스 (Curve Finance) 풀에서 5000만 달러가 넘는 자금이 탈취된 뼈아픈 기억이 있다.
이외에도 최적화 기법이 제한적인 점, 아키텍처 호환성 등 다양한 제한점이 존재하며, 추가적인 컴파일러를 구현해 오픈소스화했다는 것은 EVM 개발 생태계에 있어 매우 큰 기여이다.
solx는 LLVM이라는 오픈소스 컴파일러를 기반으로 구현되었는데, LLVM은 가장 오랜 시간동안 빌딩된 컴파일러로써 다양한 아키텍처에 대한 호환성이 뛰어나다는 장점이 있다. solx는 solc를 통해 솔리디티로 작성된 코드의 정보를 추출, LLVM이 읽을 수 있는 중간 표현식으로 변환한 뒤 추가 최적화를 거쳐 바이트코드로 변환하는 방식으로 구현되었다.
Source: ZKsync
그렇다면 solx는 어떤 장점을 갖고 있을까?
가장 돋보이는 강점은 LLVM 최적화를 통한 가스비 절감이라고 할 수 있다. 매터랩스의 벤치마크에 따르면 solx는 런타임 환경에서 solc로 컴파일된 바이트코드에 비해 약 10~40%의 가스비 절감을 이루어냈다. solx에는 루프 언롤링(loop unrolling) 등 기존에 수동으로 취해야했던 다양한 소프트웨어 최적화 기법들이 내장되어 있으며, 이는 온체인 사용성에 더해 가스 수수료를 최적화하기 위한 개발 비용의 절감 효과를 낼 수 있을 것으로 기대된다.
Source: ZKsync Blog
solx는 아직 알파 단계로, 모든 컨트랙트에 대해 완전한 호환성을 갖고 있지는 않다. 이더리움 내 대형 컨트랙트들에 대한 실험 결과 80~100% 수준의 컴파일 성공률을 보이고 있는데, 현재 발견되는 이슈들은 거의 대부분 solc의 고질적인 문제인 stack-too-deep 에러라고 하며 적극 해결 중에 있다고 한다.
두번째 강점은 강력한 가상머신 환경 호환성이다. LLVM 기반으로 설계된 solx는 EVM 외의 새로운 가상 머신으로 쉽게 확장할 수 있는 유연성을 제공한다. solx는 특히 이더리움이 RISC-V 기반 가상머신으로 실행 환경을 전환할 가능성을 염두에 두고 설계되었는데, 이는 비탈릭이 지난 4월 제안한 EVM을 RISC-V로 대체하는 아이디어와 맥락을 같이 한다. 이더리움이 RISC-V를 채택하는 시나리오를 제외하고도, 다양한 대체VM(altVM)들이 솔리디티를 구현언어로 빠르게 채택할 수 있는 가능성이 생겼다는 의미를 갖기도 한다.
Source: Delphi Digital
앱스트랙트(Abstract), 렌즈(Lens), 소폰(Sophon) 등 지케이 스택(ZK Stack)을 기반으로 구현된 체인들이 속속들이 등장하고 있다. 옵티미즘 스택(OP Stack)으로 개발된 체인들이 옵티미즘을 중심으로 슈퍼체인 생태계를 형성하려 하는 것과 유사하게, 지케이싱크는 이들을 엘라스틱 체인(Elastic Chain)이라는 이름으로 연결하고자 하는 비전을 갖고 있다.
주목할만한 점은 현재 옵티미즘 스택으로 개발된 옵티미스틱 롤업들이 바운드리스(Boundless), 썩싱트(Succinct) 등 증명자 네트워크(Prover Network)와의 결합을 통해 영지식 (혹은 하이브리드) 롤업으로 전환하려는 시도들이 보이고 있다는 것이다. 대표적으로 맨틀과 크로마가 썩싱트를 통해 각각 영지식 롤업과 하이브리드 롤업으로 전환할 것임을 발표한 바 있다.
영지식 증명 생성 비용의 점진적 감소와 영지식 롤업 전환을 통한 사용성 향상, 탈중앙화라는 장점을 고려하면 점차 많은 옵티미스틱 롤업들이 영지식 롤업으로 전환하게 될 것이라고 전망한다. 이는 추후 {옵티미즘 스택 + 증명자 네트워크} 생태계와 지케이 스택 생태계가 경쟁하는 구도를 만들게 될 것이다.
아직까지는 EVM 호환성 부족이라는 강력한 장벽으로 인해 지케이 스택의 확장이 제한되었고, 이로 인해 유의미한 비교가 불가능했으나 이번 호환성 업데이트로 인해 영지식 인프라 생태계가 보다 본격적인 비용/성능 경쟁에 돌입할 수 있을 것이다. {옵티미즘 스택 + 증명자 네트워크}의 구성을 모듈러, 지케이 스택을 모놀리틱에 비견할 수 있는데, 매터랩스라는 독보적인 연구 능력을 갖춘 지케이싱크 생태계가 증명자 네트워크 기반 생태계에 비해 우위를 가져갈 수 있을지 지켜볼 필요가 있다.
solx 또한 지케이싱크 팀의 기술적 우위를 보여주는 명백한 근거이다. 기존의 컴파일러를 보다 효율적이고 버그 없이 설계하는 것은 매우 어려운 과제이며, 이로 인해 지난 10년동안 솔리디티는 solc 외에 다른 컴파일러 선택지를 갖지 못했다. 이더리움 생태계에 RISC-V로의 실행환경 전환과 같은 급진적인 변화가 논의되는 시점에서, 지케이싱크의 기술적 우위는 매우 중요한 경쟁 요소로 작용할 수 있다. solx의 유연한 아키텍처는 EVM뿐만 아니라 RISC-V와 같은 새로운 가상머신으로의 전환에도 빠르게 적응할 수 있으며, 이는 지케이싱크 팀이 이더리움 생태계의 변화에 누구보다 신속히 대응할 수 있는 역량을 갖추고 있음을 시사한다.