[Polygon시리즈]#4: Polygon Hermez

지슈·2023년 2월 18일
0

Blockchain

목록 보기
8/9

[Polygon 시리즈]#4: Polygon Hermez - 탈중앙 zk롤업 및 zkEVM

중앙화된 롤업 오퍼레이터 문제를 해결하기 위해 새로운 합의 과정인 PoD, PoE를 도입하고, 범용적인 스마트 컨트랙트의 실행을 가능하게 하는 바이트코드 단계의 zkEVM을 도입한 폴리곤 헤르메즈(Polygon Hermez)에 대해…

출처|https://medium.com/a41-ventures/polygon-시리즈-4-polygon-hermez-탈중앙-zk롤업-및-zkevm-f29b1aedb1c5

롤업에 대한 복습..

롤업은 이더리움의 확장성을 개선하기 위한 솔루션이며, 사용자들의 트랜잭션은 오프체인에서 연산을 수행하여, 롤업 네트워크의 상태를 요약한 ‘스테이트 루트’와, 사용자들의 ‘트랜잭션 데이터’를 이더리움 메인 체인에 기록하는 방식.

→ 이때 스테이트 루트가 타당한지 어떻게 검증할 수 있을까. 악의적인 블록 생성자(오퍼레이터 혹은 시퀀서)로 인한 문제를 롤업 오퍼레이터 문제라고 한다.

▶︎ 롤업 오퍼레이터 문제에 대한 해결

  • 사기 증명(Fraud proof)을 사용하는 옵티미스틱 롤업(Optimistic rollups) 특정 데이터가 잘못 되었다는 것을 증명하는데, 일단 모든 스테이트 루트 값이 옳다고 가정하고 7일 간의 분쟁 기간을 두어 옳지 않은 스테이트 루트 값에 대한 증명을 하는 것
  • 유효성 증명(validity proof)을 사용하는 zk롤업(zk-Rollups) 영지식 증명이라는 암호학적 방법을 사용하여 제출한 스테이트 루트가 항상 옳다는 것을 증명하는 것이다. 트랜잭션을 batch의 형태로 모아 이더리움에 제출할 때, 스테이트 루트와 트랜잭션 데이터 + 영지식 증명 까지 같이 제출한다. → L2의 오퍼레이터는 영지식 증명을 생성해서 트랜잭션 데이터를 완전하지 공개하지 않고도 증명할 수 있기 때문에 훨씬 효율적이다. 일반적으로 zk롤업은 옵티미스틱 롤업보다 더 높은 확장성을 가질 수 있다. 그러나 zk롤업은 기술적으로 어려움이 크고 EVM을 포함한 범용적인 가상머신을 구축하는 데에 어려움이 있다.


폴리곤 헤르메즈 1.0

: 폴리곤이 zk롤업 프로젝트를 진행하던 헤르메즈 팀을 인수하여 리브랜딩한 zk롤업 프로젝트

► PoD(Proof of Donation)

PoW나 PoS의 경우 롤업 네트워크에 적용하기에 맞지 맞지 않고, 비효율적이다.

대신 폴리곤 헤르메즈 1.0의 경우에는 탈중앙 오퍼레이터를 구현하기 위해 PoD(Proof of Donation)이라는 합의 과정을 사용한다.

여기서는 블록 생성자를 코디네이터(Coordinators)라고 한다. 다수의 코디네이터들이 존재하고,이들은 사용자들로부터 트랜잭션 요청을 받아 수행하고, 스테이트 루트+트랜잭션 데이터+영지식 증명을 이더리움 네트워크에 제출한다. 코디네이터들은 경매 과정을 통해 블록을 생성하는 권리를 얻는다. 권리를 부여받은 코디네이터가 부른 값의 30%는 소각, 40%는 이더리움 재단이 관리하는 계정에 기부되어 추후에 프로젝트에 펀딩하고, 남은 30%는 네트워크 성장에 쓰인다. 따라서 합의 알고리즘의 이름이 PoD(Proof of Donation)인 것이다.

PoD에도 필요 이상의 비용이 소모되고 복잡하다는 등 여러 단점이 존재하기 때문에 현재 개발되고 있는 폴리곤 헤르메즈 2.0에는 PoE(Proof of Efficiency) 를 도입했다.

폴리곤 헤르메즈 2.0

: PoE(Proof of Efficiency)를 통한 탈중앙 오퍼레이터 구현, zkEVM의 도입

▶︎ PoE(Proof of Efficiency)

1)롤업 사용자들의 트랜잭션을 모아 batch의 형태로 모으고, 이를 PoE 스마트 컨트랙트에 추가하는 시퀀서(Sequencers),2)제출된 batch의 타당성을 검증하고 유효성 증명을 생성하는 애그리게이터(Aggregators)에 의해 작동된다.

  • 시퀀서(Sequencers) - 폴리곤 헤르메즈 2.0의 노드 운영에 필요한 소프트웨어인 zkNode를 실행하는 사람들은 누구나 시퀀서가 될 수 있다. batch 생성, PoE 스마트 컨트랙트에 제출할 때 스팸 공격을 막기 위한 요금을 MATIC 토큰으로 내야 한다.


  • 애그리게이터(Aggregators) - zkNode와 더불어 영지식 증명을 생성하기 위한 zkProver를 실행하고 있어야 한다. 시퀀서로부터 제출된 batch를 검증하고, 유효성 증명을 생성하여 이더리움 네트워크에 제출하면 시퀀서가 제출한 MATIC 토큰을 받을 수 있다.


→ 시퀀서와 애그리게이터가 공모할 수도 있고, 경쟁에 뒤쳐진 애그리게이의 컴퓨팅 리소스가 낭비된다는 점 등의 한계가 있지만 zk롤업 중 최초로 탈중앙 오퍼레이터를 구현하려고 노력하는 PoE 방식..!

▶︎ zkEVM

가상 머신이 있어야 실행 환경이 존재하고, 다양한 스마트 컨트랙트 및 디앱이 실행 가능하다. 이더리움 가상머신(EVM)의 경우 솔리디티를 사용할 수 있고 다양한 이더리움 개발 도구를 사용할 수 있다는 장점

→ but, zk롤업의 EVM 도입은 매우 어려움. 애초에 EVM이 영지식 증명을 생성할 수 있도록 구현되어져 있지 않기 때문이다.

따라서 다양한 어플리케이션이 zk롤업 네트워크에 들어오기 위해 현재의 zk롤업들은 EVM을 비롯한 가상머신을 도입하는 프로젝트들을 시도하고 있다.

개발자들에게는 영지식 친화적인 언어에 대한 추가적인 이해를 요구되는데, zkEVM은 솔리디티를 지원하고 있지 않기 때문에 솔리디티 코드를 가상머신에 사용할 수 없으며 영지식 증명을 위한 트랜스파일 과정을 거쳐야 하기 때문이다.

ex. 매터랩스의 지케이싱크 2.0(zkSync 2.0), 스타크웨어의 스타크넷(StarkNet), 폴리곤의 폴리곤 마이든(Polygon Miden)

→이렇게 호환이 불편하기 때문에 바이트 코드 단계의 zkEVM에 더욱 집중하게 된다.

⌙ 이더리움 재단, 스크롤, 폴리곤 헤르메즈 2.0이 여기에 속한다.

바이트 코드 단계의 zkEVM은 EVM 옵코드 수준의 호환성까지 제공하기 때문에 개발자들은 다른 EVM 호환 네트워크와 마찬가지로 솔리디티 스마트 컨트랙트 코드를 사용할 수 있다.

이 글의 설명처럼 보다 범용적인 zkEVM이 구현 가능해진다면 개발자들은 더욱 손쉽게 솔리디티 기반의 디앱을 zk롤업 위에 구축 가능할 수 있을 것 같다..

profile
공댕이😎_블체

0개의 댓글