As a summary by @0xPolygonHermez
The zkEVM code has already been open-sourced!
Road to Mainnet of zkEVM:
✅ Q3 2022 - public testnet, permission-less
✅ Early 2023 - Mainnet.
[블록체인과 영지식 증명 이해하기]
영지식 증명을 공부하면서 남겼던 글들입니다. 좀 더 수학적으로 깊이 영지식 증명을 이해하고 싶으신 분들에게 아래 글들을 순서대로 읽어보시는 것을 추천드립니다 :)
1편. 영지식 증명 이해하기 medium.com/@hyun-jeong/h-…
[Lookup table]
- 증명자가 table에 witness value가 존재한다고 주장할 수 있도록 미리 만들어 놓은 값. zkEVM에서 증명을 만들때 이 table에서 값을 가져와 연산의 정확성을 증명함
- 대표적인 솔루션: Plookup, Halo2 Lookup table
- Halo2를 사용하면 Plookup보다 universality가 높음
먼저 각 서비스들의 zkEVM 특성 별로 분류해 봅시다. 이 분류는 앞으로 여러분이 zkEVM의 업데이트를 이해하는데 큰 도움이 될 것입니다. 1) zkVM @StarkWareLtd 2) custom zkEVM @0xPolygonHermez 3) native zkEVM @Scroll_ZKP @zksync -- 원래는 zkVM이었으나 zkEVM으로 구현 방향을 바꿈
1) zkVM (Language Level) @StarkWareLtd
- EVM과 Solidity는 영지식을 구현하기 좋은 환경이 아님
- 언어부터 영지식 친화적으로 설계하여 자체 VM에서 실행
- 장점: EVM 설계에 제한받지 않고, 당장 돌아갈 만큼 견고하며 오버헤드가 적음
- 단점: EVM 호환성 ❌, 개발 접근성이 떨어짐
[Verkle tree와 Merkle tree 간단 비교]
- Verkle tree는 ETH 2.0 업그레이드의 주요한 부분임
- Verkle tree는 기존 Merkle tree보다 증명 크기를 매우 작게 줄일 수 있음
- 이는 ETH 2.0 확장성에 큰 기여를 할 걸로 보임
👇detail
- Verkle tree와 Merkle tree의 가장 큰 차이는 원소(element)의 존재를 증명하기 위해 저장해야하는 데이터의 차이임
- Merkle tree: 32를 증명하기 위해서 빨간색 원소(sister node)를 모두 증명에 포함
- Verkle tree: pi_3를 증명하기 위해서 초록색 부분만 증명에 포함 vitalik.ca/general/2021/0…
대신 Verkle tree는 root 부터 pi_3원소까지의 경로를 함께 증명해야함. 이를 위해 부모(바로 위에 있는 원소)와 자식간의 연결을 증명해야함. 부모는 자식의 commitment(쉽게 말해 hash 값)를 포함하여 경로 증명에 필요한 값을 가지고 있음. vitalik.ca/general/2021/0…