ZKSpace 기술 설명: 무허가 토큰 상장, ZK 롤업 기반 Plonk, Layer2 등
머리말
지난 1년 동안 우리는 의심의 여지가 있는 모든 목소리에 직면하기 위해 고군분투했지만 탈출하지 않기로 선택했습니다. 그때는 우리가 지금까지 해낼 수 있다는 것이 믿기지 않겠지만, 오늘날 우리는 이 길을 굳건하고 굳건하게 계속하고 있습니다. 모든 준비를 마치고 다음 여행을 떠날 준비를 하고 있습니다.
ZKSwap V1(2021/02) — ZK 롤업을 사용한 최초의 AMM
ZKSwap V1 메인넷은 2021년 2월 8일 이더리움에서 공식적으로 출시되었습니다. ZK-Rollups를 사용한 최초의 Layer2 AMM으로 당시 이더리움의 트랜잭션 혼잡을 최대 50TPS로 완화했습니다. 사용) 이더리움 체인을 훨씬 능가합니다.
우리는 오랫동안 이더리움 확장성에 주목해 왔습니다. 오랜 연구 끝에 이더리움과 동일한 보안 수준을 유지할 수 있는 유일한 확장성 솔루션인 ZK-Rollups를 선택했습니다. 결국 사용자 자금의 안전이 가장 중요합니다.
기술적인 측면에서 ZKSync는 ZK-Rollups 기반의 가장 안정적인 Layer 2 확장성 솔루션이었지만 매우 비효율적이었고 단순 전송만 지원했습니다. 이를 기반으로 빠른 반복을 수행하고 거래 쌍 생성, 유동성 추가/제거, 스왑 등과 같은 AMM 모델의 일련의 기능을 추가했습니다.
ZKSync는 ZK-Rollups를 기반으로 하는 Layer 2 확장성 계획을 구현한 최초의 제품으로, 이는 실제로 존경받을 만하고 박수를 받을 만한 가치가 있습니다. 초기에 ZKSync에서 개발한 솔루션은 기능 및 성능 면에서 자체적인 문제가 있었습니다. 그럼에도 불구하고 더 많은 기능과 더 나은 효율성을 지원하기 위해 코드를 읽고 회로를 작성할 수 있다는 것은 이미 큰 기술적 과제입니다.
ZKSwap V2(2021/07) — 무허가 토큰 상장
ZKSwap V2에는 Permissionless Token Listing 기능(Unlimited Independent Token Listing이라고도 함)이 추가되었습니다. 사용자는 일정 수수료를 지불한 후 플랫폼에 자신이 발행한 토큰을 나열할 수 있습니다. 나열된 총 토큰 수를 제어하기 위해 두 개의 변수를 사용하는 것이 ZKSyncV2의 논리입니다. 하나의 변수는 쌍 수를 제어하는 데 사용되는 핫 구성 ListingCap이고 다른 하나는 고정 구성 MAX_AMOUNT_OF_REGISTERED_TOKENS = 16384입니다. 두 변수는 많은 수의 새로운 암호화폐를 지원하기에 충분합니다(토큰 덕분에 등재 수수료, 악의적 인 목록을 피할 수 있습니다).
ZKSpace (2021/12) — ZKSwap V3, ZKSea 및 ZKSquare
ZKSpace는 ZKSwap V3, ZKSea 및 ZKSquare를 통합하면서 DEX, NFT 및 결제를 포괄하는 여러 계층 2 기능을 지원합니다. 따라서 ZKSwap V3부터 여러 제품을 포함하는 ZK 기반 플랫폼으로 이동하고 완전한 기능을 갖춘 레이어 2 생태계를 점진적으로 형성하는 일련의 브랜드 변경 활동을 시작했습니다.
ZKSea — 모두를 위한 NFT
민트
레이어 2에서 NFT 발행을 허용하는 이점은 사용자의 가스 수수료를 절약하는 동시에 사용자의 레이어 2 거래 경험을 향상시키는 것입니다.
사용자는 지갑에 연결한 후 NFT 수신자 주소와 NFT 콘텐츠 해시(IPFS 콘텐츠 식별자 등)를 입력한 다음 “Mint”를 클릭하여 NFT를 생성할 수 있습니다.
옮기다
발신자가 기존 주소이든 계층 2에 등록되지 않은 주소이든 상관없이 계층 2의 NFT 전송이 지원됩니다.
자금 인출
NFT 출금도 지원됩니다. 사용자는 ZKSpace 또는 제3자가 공식적으로 발행한 NFT를 레이어 2에서 레이어 1로 출금할 수 있습니다. ZKSpace에서 공식적으로 발행한 NFT가 레이어 1로 출금되면 레이어 1에 배포된 NFT 계약을 통해 사용자가 지정한 주소로 발행됩니다. 레이어 1로 철회할 NFT가 ZKSpace가 아닌 제3자에 의해 발행된 경우 ERC-721 표준 SafeTransferFrom 메서드가 호출되어 ZKSpace 계약에서 사용자가 지정한 주소로 NFT를 전송합니다.
자금 입금
ZKSpace에서 발행한 NFT를 레이어 1로 철회하거나 레이어 2로 다시 저장하는 것이 모두 지원됩니다. 또한 주요 기능은 ZKSpace가 제3자가 발행한 NFT를 레이어 2에 예치하는 것을 지원하므로 NFT 거래가 더 낮은 가스 수수료와 더 빠른 속도로 레이어 2에서 운영될 수 있다는 것입니다.
ZK 롤업 기반 PLONK
ZKSpace의 ZKP(Zero-Knowledge Proof) 시스템은 분산 아키텍처와 최신 ZKP 알고리즘인 PLONK를 채택하여 증명을 생성합니다. Prove 서버는 Prove 서버에서 증명 작업을 적극적으로 확인하고 증명이 생성된 후 Prove 서버로 다시 보내는 여러 Prover를 지원합니다. PLONK의 글로벌 트러스트 설정은 한 번만 생성하면 되며 특정 범위의 회로 규모 내 애플리케이션을 재사용할 수 있으므로 ZKP 사용 임계값이 크게 줄어듭니다. 그리고 트랜잭션 처리의 시스템 성능을 지속적으로 개선하기 위해 항상 PLONK 알고리즘을 최적화하고 탐색해 왔습니다.
베이직 PLONK
PLONK 알고리즘의 출현은 ZKP의 적용을 새로운 단계로 끌어 올렸다고 말할 수 있습니다. 회로 설명의 더 친숙한 방법은 다른 ZKP 알고리즘보다 더 보편적입니다. PLONK 프로토콜에 대한 자세한 설명은 Vitalik의 PLONK 이해를 참조하십시오.
향상된 GPU PLONK
PLONK 알고리즘은 여러 ROUND로 분할될 수 있으며 일부 단계는 특히 다항식 T(x) 계산과 같이 계산하기가 복잡합니다.
PLONK 프로토콜은 또한 q_M, q_O, s_σ 등과 같은 많은 사전 계산을 필요로 합니다. 큰 크기의 FFT는 다른 다항식 연산보다 약 4배 더 비쌉니다.
일부 팀은 프로젝트를 구현할 때 많은 병렬 최적화를 수행했지만 운영을 위해서는 여전히 고성능 구성이 필요합니다. 따라서 우리는 PLONK의 CPU 버전에 비해 효율성을 최소 6배 향상시킬 수 있는 GPU 버전의 PLONK를 개발했습니다. 한편, GPU는 더 많은 코어와 상대적으로 낮은 클럭 속도를 포함하는 고유한 아키텍처를 가지고 있습니다.
집계 PLONK
회로 규모의 제한으로 인해 회로에서 수행되는 트랜잭션 수가 제한되며, 이는 증명에 포함된 트랜잭션 수도 제한됨을 의미합니다. 따라서 우리는 여러 Proof를 하나의 Proof로 집계하는 집계 알고리즘을 구현하여 이러한 Proof에 포함된 트랜잭션 수가 몇 배 증가하여 평균 오버헤드를 크게 줄였습니다. 집계의 원리 다이어그램은 아래 그림과 같습니다.
코드는 다음과 같습니다.
for proof_idx in 0..self.num_proofs_to_check {
let proof = &proof_witnesses[proof_idx];
let vk = &vk_witnesses[proof_idx];
let [pair_with_generator, pair_with_x] = aggregate_proof::<_, _, T, CS::Params, P, _, _>(
cs,
self.transcript_params,
&proof.input_values,
&vk,
&proof,
&self.aux_data,
self.rns_params,
)?;
pairs_for_generator.push(pair_with_generator);
pairs_for_x.push(pair_with_x);
}
PLONK에서 Halo2로
ZK 기술의 지속적인 개발과 함께 ZKP 알고리즘은 CRS에서 SRS로, 단순한 2-팬 게이트에서 맞춤형 게이트로 더 높은 성능을 향해 진화하고 있습니다. 따라서 PLONK와 같은 단순한 2-팬 게이트를 기반으로 하는 회로용으로 설계된 알고리즘은 점차 포기되기 시작했습니다. 회로의 크기가 ZKP 알고리즘의 효율성에 직접적인 영향을 미친다는 것은 부인할 수 없는 사실이므로 사용자 정의 게이트 및 조회 인수 기술이 등장하여 단순히 몇 가지 추가 계산을 도입함으로써 회로의 규모를 크게 줄였습니다.
맞춤형 게이트 및 조회 인수 기술의 원리는 Sin7Y Labs에서 작성한 조회 기술 원리 분석을 참조할 수 있습니다.
지금까지 Halo2는 맞춤형 게이트와 조회 인수의 기술을 결합한 모범 사례입니다. Halo2 원칙의 해석은 다음 문서를 참조하십시오.
1. Halo and more — Vitalik
2. Interpretation of Halo2 principle — SIN7Y
3. How to develop circuits with Halo2 — SIN7Y
ZKSpace 소개
완전히 새로운 ZKSpace 플랫폼은 ZK-Rollups 기술을 활용하는 혁신적인 레이어 2 탈중앙화 거래소인 ZKSwap, 지불 서비스 ZKSquare, 그리고 NFT 발행 및 거래소인 ZKSea로 구성되어 있습니다. 새로운 사용자 인터페이스, NFT 지원, 무제한 토큰 리스팅, 원활한 인출, 최적화된 효율성 및 다중 체인 지원을 통해 ZKSpace는 EVM 호환 ZK-Rollups를을 구현하고 커뮤니티에 더 많은 레이어 2 기반 제품을 제공하는 것을 목표로 합니다.