저, @rishotics 및 팀에 의해
피드백과 제안을 해주신 Rand Hindi와 Zama 팀에 특별한 감사를 드립니다.
소개
블록체인과 DeFi 시스템은 투명성과 탈중앙화를 촉진하지만, 사용자 거래 데이터를 공개적으로 노출시킵니다. 이러한 가시성은 중요한 프라이버시 위험을 초래하여 프라이버시에 민감한 사용자들을 저지하고 프론트 러닝 공격과 같은 보안 위협의 문을 열어줍니다.
프라이버시는 오픈 소스 생태계의 근본적인 기둥이지만, DApp에서 종종 간과됩니다. 이 기사는 프라이버시를 사후 생각으로 취급하는 고립되고 분절된 생태계를 만드는 대신, 기존 애플리케이션에 프라이버시를 seamlessly 통합하는 우리의 접근 방식 중 하나를 설명합니다. 이더리움, 솔라나, 비트코인과 같은 생태계에 수십억 달러가 잠겨 있지만, 프라이버시 솔루션은 심지어 단기 로드맵에도 포함되어 있지 않습니다. 이로 인해 사용자들은 프라이버시 없이 이러한 시스템에 참여할 수밖에 없어 민감한 금융 데이터가 노출됩니다.
쉴드 풀, 하드웨어 솔루션, 임계값 암호화 등 이러한 문제를 해결하기 위한 여러 프라이버시 솔루션이 시도되었지만 중요한 한계를 겪고 있습니다. 쉴드 풀은 거래 세부 정보를 숨기는 데 효과적이지만, 복잡한 사용자 인터페이스와 규제 문제로 인해 채택에 장벽이 됩니다. 임계값 암호화 솔루션은 복잡한 키 관리와 분산 환경에서의 확장성 문제를 겪습니다. 결과적으로 이러한 솔루션은 종종 사용성과 규정 준수를 희생하여 실제 응용 프로그램에서의 효과를 제한합니다.
FHE, TEE, MPC와 같은 프라이버시 강화 기술은 암호화된 데이터에 대한 계산을 가능하게 하여 프라이버시를 보존하면서 이전 솔루션의 확장성 및 규제 문제를 해결하는 새로운 접근 방식을 제공합니다. 문제는 이러한 PET를 기존 EVM 스택 또는 DApp[2]와 어떻게 사용할 것인가입니다.
모든 사용자에게 프라이버시를 제공하기 위해서는 두 가지 핵심 영역에 초점을 맞추어야 합니다:
- 기존 애플리케이션 적응: 프라이버시 강화 기술과 호환되도록
- 새로운 애플리케이션 구축: 프라이버시 보존 기술을 사용하여 기존 생태계 내에서
기존 애플리케이션에 프라이버시를 도입하려는 노력은 매우 적습니다. 우리의 접근 방식은 위의 과제를 해결하고 현재 애플리케이션과의 상호 작용을 위한 일반화된 방법을 제공합니다.
이 게시물에서는 FHE와 같은 PET를 사용하여 EVM 호환 체인의 기존 DeFi 애플리케이션에 프라이버시를 통합하는 방법을 탐구합니다. 전체 아키텍처는 오프체인 코프로세서와 온체인 스마트 계약을 결합합니다. 이러한 오프체인 코프로세서가 온체인 상태와 효과적으로 상호 작용하려면 스마트 계약이 암호화된 데이터와 seamlessly 작동할 수 있는 프레임워크가 필요합니다.
또한 표준 ERC20 토큰에 대한 프라이버시 강화 대안인 암호화된 ERC20 토큰의 개념을 논의합니다. 최근 서클과 Inco가 암호화된 ERC20에 대해 더 깊이 있는 보고서를 발표했습니다. 정확히 말하면, 우리의 프레임워크는 특정 암호화된 ERC20 표준에 묶여 있지 않아 여러 표준에 걸쳐 사용할 수 있습니다.
배경 및 관련 작업
현재 거래 흐름
현재 거래 프로세스 - 사용자의 지갑 → 메모리풀 → 블록은 완전히 투명합니다. 이 투명성은 공개 블록체인의 핵심 목적과 일치하며, 원장에 포함된 데이터는 모든 참여자에게 visible해야 합니다. 그러나 이러한 개방성은 전 세계에 자신의 데이터가 visible해지는 것을 원하지 않는 많은 사람들을 이 공간에서 멀어지게 합니다.
실행 프로세스의 다양한 단계에서 프라이버시를 도입할 수 있으며, 각 단계에는 고유한 복잡성이 있습니다. 지갑이 서명한 즉시 거래를 암호화하는 것이 가장 합리적인데, 그렇게 하면 중요한 정보를 클라이언트 측에 숨길 수 있습니다.
기존 인프라를 수정하고 이러한 변경에 대한 커뮤니티 수용을 달성하는 것이 과제입니다. 솔루션에는 암호화된 메모리풀, 암호화된 해결, 프라이빗 RPC 제공자, TEE 내 블록 빌딩 등이 포함됩니다. 과거에 다른 팀들이 작업했던 일부 솔루션을 살펴보겠습니다.
이전 프라이버시 솔루션
암호화된 메모리풀
암호화된 메모리풀 솔루션을 개발하는 팀들이 이미 있습니다. 임계값 암호화된 메모리풀은 임계값 암호화를 사용하여 블록에 포함되기 전까지 메모리풀의 거래 세부 정보를 보호합니다. 이를 통해 거래가 보류 중일 때 송신자, 수신자 또는 금액과 같은 거래 세부 정보를 무단 당사자가 볼 수 없게 하여 MEV 상황에서의 프론트 러닝 문제를 해결합니다. 사용자는 자신의 세부 정보가 블록 확인 전까지 기밀로 유지될 것이라는 보장 하에 거래를 제출할 수 있습니다.
그러나 암호화된 메모리풀에는 고유의 암호화(타임 락 퍼즐, 임계값 암호화/복호화) 또는 하드웨어 요구 사항(TEE)으로 인해 진입 장벽이 높습니다.
대부분의 임계값 암호화 체계는 분산 키 생성을 포함하는 초기 설정 단계가 필요한데, 이는 시간과 리소스 측면에서 비용이 많이 듭니다. 대규모 분산 환경에서 이 설정은 위원회 구성원이 참여하거나 탈퇴할 때 키 재공유 또는 심지어 전체 설정 재실행이 필요하여 어려울 수 있습니다.
쉴드 풀
온체인 상호 작용을 보호하는 현재 솔루션은 UX 측면에서 사용자 친화성이 부족합니다.
쉴드 주소와 풀을 사용하면 온체인 프라이버시를 달성하는 데 상당한 복잡성이 발생합니다. 쉴드 풀을 통해 사용자는 거래 세부 정보(송신자, 수신자, 금액 등)를 블록체인에 공개하지 않고 자산을 저장하고 거래할 수 있습니다. 영지식(ZK) 증명은 실제 데이터를 공개하지 않고도 이러한 보호된 거래의 유효성을 검증할 수 있게 합니다. 이를 통해 네트워크 참여자가 누가 자금을 보냈거나 받았는지, 얼마나 전송되었는지 알지 못하면서도 거래의 유효성을 확인할 수 있습니다.
사용자가 쉴드 풀에 자산을 전송하면 해당 자산이 "쉴드"되어 거래 세부 정보(금액, 송신자, 수신자)가 공개 원장에 암호화되어 숨겨집니다. 그런 다음 ZK 증명을 사용하여 사용자가 유효한 잔액을 보유하고 이를 사용할 권한이 있음을 확인하되, 세부 정보는 공개하지 않습니다. 사용자는 쉴드 주소 간에 자산을 전송할 수 있으며, 모든 거래 세부 정보가 숨겨집니다. ZK 증명은 잔액 무결성 유지 및 유효한 소유권 확인과 같은 거래 규칙을 준수합니다. 사용자가 자금을 다시 투명(비쉴드) 주소로 이동하기로 선택하면 인출이 가능하지만, 이 경우 인출 금액이 visible해지므로 "프라이버시 중단"이 발생합니다.
적절한 검사 없이 쉴드 풀은 규정 준수 및 규제 문제를 야기하여 사용자들을 불안하게 합니다. 이러한 풀은 거래 세부 정보를 모호하게 하여 자금 추적과 관련 당사자 식별을 어렵게 합니다. 규제 기관은 쉴드 풀이 거래 가시성을 제한함으로써 불법 자금 세탁을 용이하게 할 수 있다는 우려를 표명합니다. 금융 기관과 규제 대상 기관은 자금 세탁 방지(AML) 규정을 준수해야 하며, 이는 의심스러운 활동을 탐지하고 보고해야 함을 요구합니다. 쉴드 풀은 거래 가시성을 제한하여 자금 출처를 확인하고 AML 기준을 준수하기 어렵게 만듭니다.
일부 예비 지식
차등 프라이버시
차등
수학적 공식화
우리는 애플리케이션의 프라이버시를 완화하기 위한 두 가지 방법을 제안하고 있습니다:
- 자산 암호화: 사용자가 보유한 자산은 공개적으로 검증 가능한 암호화 방식을 통해 암호화됩니다.
- 주문 배치: 실행 전에 nn개의 주문을 배치하는 크기를 선택합니다.
개별적으로는 이러한 솔루션만으로는 공격자의 관점에서 충분한 프라이버시 보장을 제공하지 않지만, 함께 사용하면 차별적 프라이버시를 도입하여 특정 사용자의 주문에 대한 확률적 구분 불가능성을 제공합니다.
온-체인에서 이루어지는 대부분의 DeFi 활동은 토큰이 들어오는 것( T_{in} Tin) 과 토큰이 나가는 것( T_{o} To)으로 정의할 수 있으며, 이는 어떤 해결 작업 \piπ도 다음과 같이 표현할 수 있음을 의미합니다.
사용자와 프로토콜 간의 상호 작용 영역을 변경하여 중간 스마트 계약 MM을 도입할 수 있으며, 이 MM은 nn명의 사용자로부터 주문을 받아 이를 집계하는 역할을 합니다. 이때 i \in [1,n]i∈[1,n]
사용자 i i의 T_{in} Tin의 암호화된 값을 C^{i} Ci로 나타낼 수 있으며, C^{i} Ci는 다음과 같이 표현할 수 있습니다.
위의 표현은 격자 기반 준동형 암호화된 평문의 모습입니다.
암호화가 준동형 특성을 가지므로 개별 암호문을 단순히 합하여 집계 암호문 C^{\pi_M}CπM을 만들 수 있습니다.
이 과정에서 누적되는 노이즈를 줄이기 위해 프로그래밍 가능한 부트스트래핑을 여러 번 수행해야 합니다.
복호화된 금액은 이후 DeFi 프로토콜과의 상호 작용에 사용됩니다.
결론
블록체인과 DeFi 생태계에서 프라이버시는 사용자 데이터를 보호하고 거래 프로세스를 안전하게 하는 데 점점 더 중요해지고 있습니다. 쉴드 풀, 임계값 암호화, 차별적 프라이버시, 완전 준동형 암호화 등 다양한 솔루션이 독특한 접근 방식을 제공하지만, 사용성, 규정 준수, 기술적 구현 측면에서 도전과제도 있습니다.
이러한 프라이버시 보호 기술을 탐구하는 것은 투명성과 규제 요구 사항의 균형을 유지하면서 기존 블록체인 애플리케이션에 프라이버시를 통합할 수 있는 가능성을 보여줍니다. 프라이버시 솔루션이 계속 발전함에 따라 더 포용적이고 안전하며 사용자 중심적인 블록체인 생태계를 조성하여 사용자가 탈중앙화 플랫폼에 자신감 있게 참여할 수 있게 할 것입니다.
참고 문헌
[1] Tarun Chitra와 Guillermo Angeris, Alex Evans의 Constant Function Market Makers에서의 차분 프라이버시
[2] Zama의 fhEVM 코프로세서
[3] 공개 블록체인에서 FHE를 사용한 규제 준수 온체인 프라이버시를 위한 기밀 ERC-20 프레임워크 공개
[4] Ilaria Chillotti, Nicolas Gama, Mariya Georgieva, Malika Izabachène의 토러스 상에서의 빠른 완전 동형 암호화 TFHE
[5] ZSwap Penumbra



