Skip to main content
For the complete documentation index, see llms.txt

zswap

다양한 자산 유형을 지원하고 atomic swap을 수행하는 것은 DeFi 같은 사용 사례에 중요합니다. Midnight은 이러한 기능을 데이터 보호와 함께 제공하기 위해 Zswap을 사용합니다.

Atomic swap

Atomic swap은 전부 아니면 전무의 트랜잭션입니다. Alice가 낚시 장비를 원하고, Bob의 가게에 있다고 가정해 봅시다. 둘은 다음과 같은 트랜잭션에 합의합니다:

낚싯대 $600.00, 릴 $300.00, 소품 $100.00.

Alice는 현금이 $700밖에 없어서 나머지 $300은 카드 신용을 사용합니다. Alice가 모든 장비를 받고 Bob이 현금과 전자 자금을 모두 수령해야만 완료되므로 atomic swap입니다.

합법적인 트랜잭션이라도 프라이버시 요구 사항이 있을 수 있습니다. Bob은 회계사와 세무서에는 세부 사항을 공유하겠지만 경쟁자에게는 알리고 싶지 않습니다. Alice도 신뢰하는 사람에게는 괜찮지만, 공개적으로는 알리고 싶지 않을 것입니다.

탈중앙화된 permissionless blockchain에서도 동일한 개념이 다른 메커니즘으로 적용됩니다. Bob과 Alice는 Bob의 코인 B1 600개, B2 300개, B3 100개와 Alice의 코인 A1 7,000,000개 같은 UTXO를 교환할 수 있습니다. Swap은 원자적으로 실행되어야 합니다. 이 주문이 시장 가격에 영향을 줄 수 있다면, 관찰자가 선행 매수(front-run)할 수 있습니다. Shielded asset swap은 거래 전 가시성을 줄여 이러한 공격을 완화합니다.

How Zswap helps

Midnight은 데이터 보호 atomic asset swap을 위한 트랜잭션 체계인 Zswap을 사용합니다. Zerocash 개념에 기반하여, Zswap은 기밀성을 유지하면서 트랜잭션 병합을 가능하게 합니다. 다양한 자산 유형과 atomic swap을 DeFi 스타일 워크로드에 맞게 확장 가능한 방식으로 지원합니다.

swap

위 그림은 Zswap의 간단한 작동 예시입니다. Alice는 5유로에 3달러를 지불하려 하고, Bob은 3달러에 5유로를 지불하려 합니다. 광범위한 공개 전에 zero-knowledge proof를 사용하여 프라이버시를 보존합니다.

그 다음 Zswap이 두 트랜잭션을 Alice와 Bob 사이의 단일 atomic swap으로 병합하여, 민감한 세부 정보의 기밀성을 유지합니다.

Key features and benefits of Zswap

기능이점
기밀성: Zswap은 zk-SNARK를 사용하여 트랜잭션 데이터의 기밀성을 유지합니다.발신자, 수신자, 금액 세부 정보가 공개적으로 노출될 필요가 없습니다.
다중 자산 atomic exchange: Zswap은 하나의 atomic 연산에서 여러 자산 교환을 지원합니다.교환의 모든 부분이 완료되거나 아무것도 실행되지 않아, 부분 실행을 방지합니다.
효율적인 swap: Zswap은 집계된 공개 무작위성이 있는 희소 동형 commitment를 사용합니다.자산 유형 간 swap이 효율적으로 실행됩니다.
증명 가능한 보안: Zswap은 공식적인 보안 논증으로 설계되었습니다.명시적 가정 하에서 보안 속성에 대해 추론할 수 있습니다.
검증된 기반 위에 구축: Zswap은 Zcash Sapling 기법과 구현 경험을 활용합니다.강력하고 충분히 연구된 출발점을 제공합니다.

Zswap에서 트랜잭션은 기밀성을 유지하면서 안전한 병합을 지원하도록 설계됩니다. 트랜잭션 데이터가 서명 흐름과 분리되는데, 이는 Zcash 생태계에서 영감받은 설계입니다. 이 분리 덕분에 검증에 비대화형 zero-knowledge proof(NIZK)를 사용할 수 있어, 느린 다자간 계산(MPC) 프로토콜이 필요 없습니다.

다중 자산 atomic swap을 지원하기 위해, Zswap은 희소 다중 값 Pedersen commitment와 완화된 서명 요구 사항을 사용합니다. 희소 commitment를 통해 사전 신뢰 관계가 없는 당사자 간에도 비대화형 트랜잭션 병합이 가능합니다. 프로토콜은 자산 유형별로 제한된 불균형 정보만 공개하며, 정확한 전송 관계의 노출을 방지합니다.

Zswap은 로컬 교환 시장 워크플로도 가능하게 합니다. 사용자가 교환 제안을 제출하면, 선택된 참여자가 온체인 제출 전에 오프체인에서 매칭하고 병합할 수 있습니다. 매칭 흐름은 최소한의 정보만 공개하며, 부분 병합은 불균형이 0인 자산 유형을 삭제할 수 있습니다. 더 큰 교환 풀은 유동성을 개선하고 주문장 스타일 조정을 지원할 수 있습니다.

zswap이 Midnight에 기여하는 것:

  • 공식 모델: Zswap은 nullifier와 유사한 비공개 UTXO 메커니즘을 추상화하는 One-Time Account(OTA) 시스템 위에 구축된, swap이 포함된 다중 자산 Zcash 시스템의 공식 모델을 도입합니다. OTA 모델과 Zswap의 증명 기법은 독립적으로도 의미가 있으며, Zcash나 Monero 같은 시스템의 보안 증명에 적용할 수 있습니다.
  • 실용적 구현: Zswap은 비공개 비대화형 atomic swap의 실용적인 구현을 제공합니다. 인가와 블라인딩 서명을 제거하면서 보안을 유지하여 Zcash 프레임워크를 단순화합니다.
  • 보안: Zswap 구성은 Zerocash에서 사용된 것과 유사한 일반적 가정 하에서 안전한 것으로 증명됩니다. Zcash 서명의 제거가 검증되었으며, 소비 및 출력 commitment의 완벽한 숨김 및 바인딩 속성만으로 보안이 충분함이 입증되었습니다.
  • 구현 및 평가: Zswap은 실제로 구현되고 평가되어, 병합 메커니즘이 매우 효과적이며 swap 없는 기본 단일 자산 프로토콜 대비 성능 오버헤드가 최소한임이 확인되었습니다.

종합하면, Zswap은 Midnight에서 프라이버시 중심의 다중 자산 atomic swap을 위한 기반을 제공합니다.

더 자세한 내용은 Zswap: ZK Snark Based Non-Interactive Multi-Asset Swaps 연구 논문을 참조하세요.