[논문 리뷰] ZETH: On Integrating Zerocash on Ethereum
ZETH는 이더리움의 프로토콜을 수정하지 않고 계정 기반 모델에 Zerocash의 Zero-knowledge 증명을 적응시킨 프라이버시 보장 거래 프로토콜을 제안한다. zk-SNARKs를 활용해 이더와 ERC20/ERC223 토큰의 프라이빗 이체를 가능하게 하며, 표준 joinsplit 연산의 온체인 검증 비용이 200만 가스 이하로 유지되어 실현 가능성을 입증한다. 정보 泄露는 통제 가능하다.
Transaction privacy is a hard problem on an account-based blockchain such as Ethereum. While Ben-Sasson et al. presented the Zerocash protocol [BCG+14] as a decentralized anonymous payment (DAP) scheme standing on top of Bitcoin, no study about the integration of such DAP on top of a ledger defined in the account model was provided. In this paper we aim to fill this gap and propose ZETH, an adaptation of Zerocash that can be deployed on top of Ethereum without making any change to the base layer. Our study shows that not only ZETH could be used to transfer Ether, the base currency of Ethereum, but it could also be used to transfer other types of smart contract-based digital assets. We propose an analysis of ZETH's privacy promises and argue that information leakages intrinsic to the use of this protocol are controlled and well-defined, which makes it a viable solution to support private transactions in the context of public and permissioned chains.
연구 동기 및 목표
- 이더리움의 계정 기반 모델은 비트코인의 UTXO 모델과 근본적으로 다름을 고려해, 프라이버시 보장 거래 솔루션의 부재를 해결하기 위함이다.
- 이더리움의 기본 계층을 수정하지 않고도 이더와 스마트 컨트랙트 기반 토큰(예: ERC20, ERC223)의 프라이버시 이체를 가능하게 하기 위함이다.
- 프로토콜 설계에서 신뢰할 수 있는 제3자나 특수 노드에 의존하지 않도록 최소한의 신뢰 가정을 확보하기 위함이다.
- 가스 모델과 스토리지 제약 조건 하에서 이더리움에서의 Zero-knowledge 증명의 실용성을 평가하기 위함이다.
- 이더리움에서 종단 간 프라이버시 거래 플로우를 구현하는 데 있어 데모 구현체를 제공하기 위함이다.
제안 방법
- Zerocash의 zk-SNARKs를 수정된 joinsplit 회로를 사용해 이더리움의 계정 모델에 적응시켜, 프라이빗 입력과 출력을 지원한다.
- 신뢰할 수 있는 설정 단계를 통해 G1, G2, GT 군의 원소를 포함하는 공통 참조 문자열(CRS)을 생성하며, 이는 효율적인 증명 생성과 검증을 가능하게 한다.
- 이중선형 페어링 e: G1 × G2 → GT를 사용해 검증자 컨트랙트에서 Zero-knowledge 증명의 정확성을 검증한다.
- 거래 로직을 스마트 컨트랙트(Mixer 컨트랙트)에 인코딩하여 머클 트리의 리프와 일련번호를 저장함으로써 소모된 노트의 유일성과 추적 가능성을 보장한다.
- 가스 효율적인 검증 프로토콜을 구현하여 비밀번호 지식, 계수 일관성, QAP 다항식의 나누어떨어짐 여부를 검증한다.
- 이더리움의 EIP-1108 제안을 활용해 페어링 가스 비용을 감소시켜 향후 배포를 위한 확장성 향상을 도모한다.
실험 결과
연구 질문
- RQ1Zerocash 스타일의 프라이버시 거래는 프로토콜 수준의 변경 없이 이더리움의 계정 기반 모델에 안전하고 효율적으로 구현될 수 있는가?
- RQ2이더리움에서 프라이버시 거래를 위한 zk-SNARK 증명의 온체인 가스 비용은 얼마이며, 거래 복잡도에 따라 어떻게 증가하는가?
- RQ3가스 모델과 공개 상태 변경으로 인한 정보 泄露가 스마트 컨트랙트 기반 믹서에서 프라이버시를 얼마나 약화시키는가?
- RQ4최소한의 신뢰 가정을 바탕으로 Zero-knowledge 증명을 활용해 신뢰 없는 분산 프라이버시 거래 시스템을 이더리움에 구축할 수 있는가?
- RQ5기존 프라이버시 솔루션과 비교했을 때 ZETH의 통합은 성능, 스토리지 오버헤드, 기존 토큰 표준과의 호환성 측면에서 어떻게 다른가?
주요 결과
- ZETH는 기본 계층을 수정하지 않고도 이더리움에서 이더와 ERC20/ERC223 토큰의 프라이버시 이체를 성공적으로 가능하게 하였다.
- 2개의 프라이빗 입력과 2개의 프라이빗 출력을 포함한 joinsplit에 대한 ZK 증명의 온체인 검증 비용이 200만 가스 이하로 유지되어 현재 이더리움 제약 조건 하에서 실현 가능하다.
- 프로토콜은 제어되고 잘 정의된 정보 泄露를 유지하며, 주로 가스 지불과 공개 상태 변경에서 비롯되나, 핵심 프라이버시 보장을 손상시키지 않는다.
- 실제로 Zero-knowledge 증명이 이더리움의 스마트 컨트랙트 모델에 수용 가능하며, 특히 EIP-1108 지원 시 성능이 만족스럽게 유지됨을 입증하였다.
- 머클 트리 리프와 일련번호를 지속 저장해야 하므로 스토리지 비용이 크며, 트리 깊이가 확장성에 중요한 매개변수임을 확인하였다.
- 증명 시간과 신뢰 가정을 줄이기 위해 향후 개선 사항으로 회로 최적화 및 다자간 계산을 통한 CRS 생성이 필요하다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.