영지식증명 기술: DeFi의 새로운 별을 밝히다
원작자: LZ
I. 소개
탈중앙화 금융(DeFi)은 현재 금융 혁신 분야에서 중요한 발전 방향입니다. DeFi에서는 거래 정보를 숨기고 사용자 개인정보를 보호하는 것이 중요합니다. DeFi가 지속적으로 확장되고 심화됨에 따라 다양한 프로젝트가 끝없이 등장하고 활력이 넘칩니다. 영지식증명(ZK) 기술의 적용은 DeFi에서 개인정보 보호의 새로운 가능성을 열었습니다. ZK 기술을 사용하면 한 당사자는 해당 정보에 대한 구체적인 세부 정보를 공개하지 않고도 특정 정보를 알고 있음을 다른 당사자에게 증명할 수 있습니다. 이 기술은 다음과 같은 애플리케이션에 사용됩니다.ZigZag、unyfy그리고 OKXZK DEXDeFi 프로젝트의 적용은 DeFi의 개인정보 보호 기능, 특히 거래 정보 보호 기능을 크게 강화했습니다. ZK 기술의 광범위한 적용은 DeFi 및 전체 암호화폐 분야를 처리하는 방식에 혁신을 가져오고 전체 분야의 미래 발전을 촉진하며 큰 돌파구를 달성할 것으로 예상됩니다.
2. DeFi의 개인정보 보호 문제
블록체인에는 비밀이 없으며 DeFi의 데이터 투명성은 논쟁의 여지가 없습니다. Uniswap V3에서 특정 거래 수행거래예를 들어, Etherescan 웹사이트를 통해 거래 세부정보를 쉽게 볼 수 있습니다(그림 1 참조). 예를 들어 주소 0 x 3A 4 D...a 6 f 2는 Uniswap V3에서 2 WETH를 17, 654, 123, 249, 375 Bonk로 교환했으며 거래 수수료는 0.0046 Ether였습니다. 이러한 거래에서 보내는 사람(From), 받는 사람(To), 거래 금액(Value), 거래 수수료(Transaction Fee) 등 주요 정보는 모두 공개됩니다.

그림 1 Etherescan에 공개된 거래 내역
또한 주소 0 x 3A 4 D...a 6 f 2 아래의 모든 거래를 볼 수도 있습니다.기록(그림 2에서 볼 수 있듯이) 조건이 허락한다면 현실 세계에서 이 주소의 실제 신원도 추론할 수 있습니다.

그림 2 특정 주소에 대한 모든 거래 목록이 Etherescan에 공개되어 있습니다.
그러나 DeFi의 데이터 투명성에는 몇 가지 단점이 있을 수 있습니다. 귀하가 DeFi 고래인 경우, 귀하가 수행하는 모든 거래는 시장의 관심을 끌 수 있습니다.예를 들어, 고래가 바이낸스에서 탈퇴하는 경우발췌1,124만 WOO(약 420만 달러), 이 거래는 광범위한 확산을 가져올 것입니다.집중하다. 마찬가지로, 대규모 지불이나 기관 수준의 거래도 광범위한 대중의 우려를 불러일으킬 수 있습니다.
다른 시장 참여자들은 이러한 거래 행동을 기반으로 매수 및 매도 결정을 내릴 수 있으며 이는 귀하의 투자 전략에 부정적인 영향을 미칠 수 있습니다. 예를 들어, 특정 프로젝트에 거액을 투자했는데, 일단 거래가 시장에 알려지면 다른 투자자도 이를 따르게 되어 자산 가격이 상승하여 투자 비용이 증가할 수 있습니다. 또한 판매 작업으로 인해 시장 패닉이 발생하여 가격이 하락하고 투자 수익에 영향을 미칠 수도 있습니다.
이러한 상황은 DeFi 프로젝트와 사용자 사이의 개인 정보 보호에 대한 긴급한 필요성을 강조합니다. 거래 세부 사항이 대중에게 공개되는 것을 원하지 않는 경우 DeFi 거래에 대한 특정 정보를 비공개로 유지하도록 선택할 수 있습니다.
ZK 기술은 거래 세부 정보를 숨기면서 거래의 적법성을 보장할 수 있습니다. 사용자는 두 가지 유형의 정보를 제출해야 합니다. 하나는 세부 정보(예: 거래 수신자 또는 금액 등)를 부분적으로 숨기는 거래(즉, 개인 거래)이고, 다른 하나는 이러한 숨겨진 정보에 대한 ZK 인증서입니다. 개인 거래의 적법성을 확인하는 것은 실제로 해당 ZK 인증서를 확인하는 것입니다.
3. DeFi의 잠재력 잠금 해제: ZK 기술이 가져온 기회
3.1 선행 거래에 저항하는 ZK 기술의 역할
운이 좋게도 대기업이 특정 자산을 대량 구매하려고 한다는 사실을 알게 되었다고 가정해 보겠습니다. 회사가 구매하기 전에 해당 자산을 구매하도록 선택할 수 있습니다. 그런 다음 해당 회사를 대량 매수하면 해당 자산의 가격이 오르게 되므로 해당 회사를 판매하여 이익을 얻습니다. 이 경우, 대형 플레이어 이전의 거래는 선두 거래를 구성합니다.
선행 실행은 일반적으로 Uniswap과 같은 거래소에서 발생하는 금융 거래의 투자 전략입니다. 블록체인의 거래는 공개적이어서 거래 확인에 일정 시간이 걸리기 때문이다. 따라서 일부 악의적인 거래자는 선행 거래의 목적을 달성하기 위해 다른 사람의 거래 전에 자신의 거래를 채굴하고 확인할 수 있도록 거래 가스 수수료를 인상할 수 있습니다.
선행거래는 원래의 거래 환경을 변화시켜 다른 거래자의 거래가 원래 계획대로 진행되지 않을 수 있기 때문에 다른 거래자에게 피해를 줄 수 있습니다. 반면, 공격자는 스스로 이익을 얻기 위해 선행 거래를 시작하며, 가격이 변동하기 전에 이익을 얻을 수도 있습니다. 따라서 많은 DeFi 프로젝트에서도 다양한 방법을 통해 선행거래를 방지하려고 노력하고 있습니다.
ZK 기술은 선두 거래에 맞서 싸우는 데 핵심적인 역할을 할 수 있습니다. 아래에서는 DEX(Decentralized Exchange)의 샌드위치 공격을 예로 들어보겠습니다. 이는 사례 분석을 위한 일반적인 선행 거래 유형이기도 합니다.
3.1.1 사례 연구: DEX의 샌드위치 공격
샌드위치 공격이란 무엇입니까?
DEX에 100 ETH / 300,000 USDT의 보유 상태를 가진 유동성 풀이 있다고 가정합니다. Alice는 USDT를 구매하기 위한 거래를 시작하고 20 ETH를 USDT로 교환합니다. 그녀가 거래를 제출하면 DEX는 유동성 풀의 현재 보유 상태를 기반으로 결과를 반환하여 Alice에게 약 50,000 USDT를 구매할 수 있음을 알려줍니다. 그러나 실제로 Alice는 결국 45,714 USDT만을 얻었습니다.
여기서는 먼저 Alice가 20 ETH로 50,000 USDT를 구매할 수 있는 이유를 간략하게 살펴보겠습니다. DEX는 AMM(Automated Market Maker) 모델을 채택하고 CPMM(Constant Product Market Maker) 알고리즘을 통해 매수 및 매도 가격을 자동으로 계산합니다. CPMM은 유동성 공급을 달성하고 자산 가격을 자동으로 조정하기 위해 거래 풀에 있는 두 자산의 일정한 곱을 유지하는 현재 널리 사용되는 자동화된 시장 조성자 알고리즘입니다. 이 예에서 앨리스가 구매할 수 있는 USDT 금액은 50,000 = 300,000-(100* 300,000)/(100+ 20) 공식을 통해 계산됩니다(수수료가 없다고 가정).
앨리스는 샌드위치 공격을 당해 예상한 만큼의 USDT를 구매하지 못했습니다.
샌드위치 공격은 주로 AMM 기반 DEX에서 발생합니다. 샌드위치 공격에서 공격자는 피해자의 일반 거래 주변에 두 개의 거래를 배치하여 자산 가격을 조작하고 피해자의 손실로 이익을 얻습니다. 이 두 거래를 각각 선행거래와 후속거래로 하며, 정규거래 이전의 거래를 선행거래, 정규거래 이후의 거래를 후속거래라고 합니다.
그렇다면 앨리스의 샌드위치 공격은 어떻게 이루어졌을까요? 그림 3과 같습니다.

그림 3 샌드위치 공격 프로세스
1. 공격자의 선점 거래: Alice가 USDT를 구매하기 위해 시작한 거래가 실행되기 전에 공격자는 USDT를 구매하기 위한 거래(선제 거래)도 시작했습니다. 즉, 5 ETH를 USDT로 교환하는 것입니다. 게다가 이번 거래를 위해 공격자가 채굴자에게 지불하는 가스비도 앨리스보다 높기 때문에 공격자의 거래가 앨리스보다 먼저 실행된다.
2. 공격자가 USDT를 구매하기 위해 거래를 실행한 후 그는 유동성 풀에서 약 14,286 USDT, 14,286 ≒ 300,000-(100*300,000)/(100+ 5)를 얻었습니다. 유동성 풀의 보유량이 초기 상태인 100 ETH / 300,000 USDT에서 105 ETH / 285,714 USDT로 변경되었습니다. 그러나 Alice는 거래를 제출한 시점과 거래가 실행된 시점 사이에 유동성 풀의 보유 상태가 변경되었음을 알지 못합니다.
3. 피해자의 일반 거래: 이후 앨리스의 일반 거래가 실행되기 시작합니다.
4. Alice의 USDT 구매 거래가 실행된 후, 그녀는 유동성 풀에서 45,714 USDT를 받았습니다. (상수 제품 함수에 따르면, 45, 714 ≒ 285, 714-( 105* 285, 714)/( 105+ 20) ). 유동성 보유 상태가 105 ETH / 285, 714 USDT에서 125 ETH / 240, 000 USDT로 변경되었습니다. 따라서 Alice는 20 ETH로 50,000 USDT를 구매할 수 있었지만, 공격자의 거래로 인한 유동성 풀의 변화로 인해 이제 45,714 USDT만 구매할 수 있습니다. Alice는 약 4286 USDT(4286 = 50,000-45,714)를 잃었습니다.
5. 공격자의 후속 거래: 마지막으로 공격자는 다시 거래(후속 거래)를 시작했습니다. 즉, 14,286 USDT를 ETH로 교환했습니다(방금 14,286 USDT를 구매했습니다).
6. 공격자의 후속 트랜잭션이 실행된 후 그는 유동성 풀에서 7 ETH를 꺼냈습니다(확정 제품 함수, 7 ≒ 125-(125* 240, 000)/(240, 000+ 14, 286)). 유동성 풀의 보유 상태가 125 ETH / 240,000 USDT에서 118 ETH / 254,286 USDT로 변경되었습니다. 따라서 공격자는 처음에는 5 ETH만 소비했지만 최종적으로는 7 ETH를 얻었고 2 ETH의 이익을 얻었습니다(2=7-5).
전체 샌드위치 공격 과정에서 공격자는 선행 트랜잭션과 후속 트랜잭션, 총 2개의 트랜잭션을 시작했습니다. 선행 실행으로 인해 Alice는 약 4286 USDT를 잃었습니다. 선행 거래와 추격 거래의 조합으로 공격자는 2ETH를 얻었습니다.
DEX에서 거래의 공개적 성격은 특히 AMM 프로토콜에서 샌드위치 공격의 출현으로 이어지는 핵심 요소입니다. 이러한 프로토콜은 DEX의 실시간 거래 정보를 공개하며, 이러한 높은 수준의 투명성으로 인해 공격자는 샌드위치 공격을 수행할 기회를 찾기 위해 거래 흐름을 관찰하고 분석할 수 있습니다.
3.1.2 ZK 기술은 샌드위치 공격에 저항할 수 있습니다.
ZK 기술을 적용하면 샌드위치 공격 가능성을 크게 줄일 수 있습니다. ZK 기술을 사용하여 거래량, 자산 유형, 사용자 또는 유동성 풀 잔액, 사용자 신원, 거래 지침 및 기타 프로토콜 관련 정보를 숨김으로써 거래 데이터의 개인 정보 보호를 효과적으로 향상시킬 수 있습니다. 결과적으로 공격자가 완전한 거래 정보를 얻기 어려워 샌드위치 공격을 구현하기가 더욱 어려워집니다.
또한 ZK 기술은 샌드위치 공격에 저항할 수 있을 뿐만 아니라 ZK 기반 개인 거래로 인해 사용자 행동 모델을 판단하기가 더욱 어려워질 수 있습니다. 계정 내역 거래 분석, 행동 패턴 추론, 활동 주기 탐색, 거래 빈도 또는 선호도 등을 위해 블록체인 데이터를 수집하려는 제3자는 어려움에 직면하게 됩니다. 행동 모델 추론으로 알려진 이러한 종류의 분석은 사용자 개인 정보를 침해할 뿐만 아니라 허니팟 공격 및 피싱 사기의 길을 열 수도 있습니다.
3.2 ZK 기술을 기반으로 유동성 조작 방지
유동성 조작과 선행 거래는 모두 DeFi의 공격 방법으로, 두 공격 방법 모두 이익을 얻기 위해 시장 정보와 거래 속도를 이용하는 것이지만 구체적인 전략과 운영은 다릅니다.
선행거래는 정보를 이용하는 반면, 유동성 조작은 시장 활동을 이용하여 다른 거래자를 오도하는 것입니다. 전자는 주로 공개되지 않은 중요한 정보를 획득하고 활용하여 수익을 창출하는 반면, 후자는 허위 시장 활동을 만들어 다른 투자자를 호도하여 불리한 거래 결정을 내리게 합니다.
ZK 기술은 선행 거래에 저항하는 데 중요한 역할을 할 수 있을 뿐만 아니라 유동성 조작을 방지하는 데에도 도움이 될 수 있습니다.
3.2.1 사례 연구: 오라클을 이용한 유동성 조작
당신이 분주한 과일 시장에서 사과를 사고 있다고 가정해 보자. 시장 가격은 일반적으로 수요와 공급의 변화에 따라 변동합니다. 일반적으로 일정 기간 동안 가격을 관찰한 다음 평균 가격을 기준으로 구매 여부를 결정합니다. 이제 매우 부유한 구매자가 시장에 들어와서 정말로 사과를 사고 싶어한다고 상상해 보십시오. 그는 가격에 관계없이 사과를 대량으로 사기 시작했습니다. 이로 인해 Apple의 가격은 단기간에 급등하게 됩니다. 여전히 이 가격을 기준으로 Apple을 구매한다면 실제 가치보다 더 많은 금액을 지불하게 될 것입니다.
이 예는 TWAP(시간 가중 평균 가격, 시간 가중 평균 가격) 오라클의 작동 원리와 유동성 조작의 개념을 더 잘 이해할 수 있습니다. 평균 가격을 기준으로 사과 구매를 결정하는 행위는 TWAP 오라클의 운영과 유사하며, 부유한 사업가들이 사과를 대량 구매하여 가격을 상승시키는 것은 유동성 조작과 유사합니다.
TWAP 오라클은 일정 기간 동안의 평균 거래 가격을 계산하여 자산 가격을 결정합니다. 최근 거래일수록 평균 가격에 미치는 영향은 더 커집니다. 누군가 단기간에 대량의 거래를 하거나 많은 돈을 들여 거래하는 경우, 이는 자산의 평균 가격에 큰 영향을 미칠 수 있으며 이는 유동성 조작입니다. 유동성 조작으로 인해 자산 가격을 인위적으로 올리거나 내릴 수 있어 가격 정보가 부정확해질 수 있습니다. 누군가 TWAP 오라클을 사용하여 의도적으로 자산 가격을 높이려는 경우 단기간에 많은 돈을 사용하여 자산을 구매하여 일시적으로 가격이 상승할 수 있습니다. 이 기간 동안 자산 가격이 크게 상승하면 TWAP 오라클은 이 높은 가격을 자산 가격으로 처리할 수 있습니다.
TWAP 오라클의 유동성 조작은 DeFi 프로토콜, 특히 유동성이 낮은 신흥 토큰에 상당한 영향을 미칠 수 있습니다. 이러한 DeFi 프로토콜은 종종 자산 가격을 기준으로 청산, 대출 등과 같은 재정적 결정을 내립니다. 가격 정보가 부정확하거나 신뢰할 수 없는 경우 잘못된 결정으로 이어져 이용자에게 손실을 입힐 수 있습니다. 따라서 유동성 조작으로부터 TWAP 오라클을 보호하는 것이 중요합니다.
3.2.2 ZK 기술은 유동성 조작에 저항할 수 있습니다.
ZK 기술을 기반으로 TWAP 오라클의 유동성 조작에 저항할 수 있습니다. 스마트 계약은 자산 가격을 얻기 위해 TWAP 오라클에 의존하도록 설계될 수 있습니다. 공격자가 유동성 조작을 할 경우 TWAP 오라클에서 얻은 가격이 미리 설정된 허용 범위를 초과할 수 있습니다. 이 경우 해당 계약은 일시적으로 운영을 중단합니다. 그런 다음 ZK 기술을 기반으로 자산 가격을 다시 계산하고 확인합니다.
ZK 기술을 사용하여 자산 가격을 계산하려면 먼저 TWAP 오라클에 래퍼 계약을 추가해야 합니다. 계약은 N개의 가격 보고서에 직접 액세스하거나 임의의 간격으로 N개의 가격 체크포인트 값을 기록할 수 있습니다. 주어진 간격 내에서 N개의 데이터 포인트를 사용할 수 있으면 정렬되지 않은 가격 배열의 중앙값을 증명하기 위해 ZK 증명을 구성할 수 있습니다. 정렬되지 않은 가격 배열은 길이 N의 열 벡터 x로 레이블이 지정됩니다. 다음은 ZK 기술을 기반으로 한 자산 가격 계산입니다.프로세스:
1. 증명은 다음 두 가지 방법 중 하나로 검증할 수 있으며, 두 경우 모두 증명자가 임의로 가격 배열을 입력으로 선택할 수 없습니다.
계약 저장소에서 배열 값을 검색하고 이를 온체인 검증자에 대한 공개 입력으로 사용합니다.
해시 함수를 통해 해시 체인이 점진적으로 형성되며, 배열을 단일 해시 값으로 나타내고 해당 값을 온체인 검증기에서 사용합니다.
2. N x N 행렬 A(정방행렬)가 있는데, 행렬에 열 벡터 x를 곱하면 다음과 같은 열 벡터 y가 생성된다. A는 역순열 행렬이지만 중복된 가격 값이 있을 수 있으므로 A는 반드시 고유하지는 않으며 A에는 이진 값만 포함됩니다.
3. y의 값은 순서대로 정렬됩니다. 또한, 중복된 가격 값이 있을 수 있으므로 <는 사용할 수 없습니다.
4. 회로의 공개 출력 m은 y의 중앙값입니다. 증명은 회로가 컴파일될 때 N이 정적 값인 경우 홀수여야 함을 보여줍니다.
위의 과정에 따르면 변조 방지가 가능한 ZK 기술을 기반으로 중간 가격 m이 출력됩니다. 중앙값 m은 유동성 조작을 어느 정도 방지할 수 있는데, 이를 위해서는 각 블록에서 y값이 한 번만 삽입되거나 삽입 횟수가 허용 가능한 범위 이내가 되도록 y값을 제한해야 합니다. 번호 범위 내에서.
3.3 ZK 기술은 대출 플랫폼을 강화합니다
위에서 언급했듯이 ZK 기술은 DEX의 선행 실행 및 유동성 조작에 저항합니다. 그렇다면 다른 DeFi 시나리오에서 ZK 기술의 적용 가능성을 더 자세히 살펴볼 수 있습니까? 예를 들어, ZK 기술은 DeFi 프로젝트의 중요한 부분인 대출에서도 중요한 역할을 할 수 있습니다.
3.3.1 대출의 핵심: 차용자의 신용도를 평가하는 방법
전통적인 대출 플랫폼에서 대출 신청 프로세스는 일반적으로 신청, 신용 평가, 대출 승인, 대출 발행 및 상환의 5단계로 구성됩니다. 그 중 신용평가 연계가 특히 중요하며, 차용자는 자신의 소득이 기준을 충족하고 상환능력이 있음을 입증해야 합니다. 평가 과정에서 플랫폼은 소득, 부채, 과거 상환 기록을 포함한 차용자의 신용 기록에 대한 심층 조사를 수행하여 차용자가 대출금을 상환할 능력이 있는지 확인합니다. 이를 토대로 플랫폼은 대출 신청 승인을 고려할 것입니다.
그러나 Aave나 Combine과 같은 DeFi 대출 플랫폼으로 눈을 돌리면 상황이 달라집니다. 탈중앙화 특성으로 인해 대부분의 DeFi 대출 플랫폼에는 기존 은행의 KYC(Know Your Customer, Know Your Customer) 절차와 위험 평가 절차가 없으며, 공동 신용 조사 기관을 통해 차용인의 신용 상태를 조사할 수 없습니다. 이런 경우 나의 신용은 어떻게 평가될지 궁금하실텐데요.
DeFi 대출 플랫폼에서는 평판 토큰 증명을 통해 신용도를 증명할 수 있습니다. 평판 토큰은 디지털 토큰을 사용하여 사용자의 평판을 표현하고 수량화하는 블록체인 기술을 기반으로 한 신용 시스템입니다. 평판 토큰의 수는 사용자의 신용도를 평가하는 중요한 지표가 되었으며, 토큰의 수가 많을수록 사용자의 평판이 향상되고 그에 따른 신용 등급이 향상되어 DeFi 대출 플랫폼에서 더 많은 대출 한도를 확보할 수 있게 됩니다.
그러나 평판 토큰의 생성은 사용자의 거래 내역 및 금융 정보에 의존하므로 사용자의 개인 정보 보호 권리를 침해할 수 있습니다.
3.3.2 차용인의 신용 평가: ZK 기술 기반 평판 토큰
ZK 기술은 사용자의 개인 정보를 보호합니다. ZK 기술과 평판 토큰의 결합은 네트워크에서 평판을 유지하고 추적하는 동시에 사용자 개인 정보를 보호할 수 있습니다.
사용자는 ZK 기술을 사용하여 과거 거래를 공개하지 않고도 평판 토큰을 생성할 수 있습니다. 한편, 사용자는 ZK 기술을 기반으로 과거 거래에 대한 증거를 생성할 수 있고, 다른 한편으로는 스마트 계약(흔히 평판 토큰 생성 계약이라고도 함)을 통해 증거를 검증하고, 검증에 통과하면 평판 토큰이 생성될 수 있습니다. .
또한, 과잉 담보가 필요한 일부 DeFi 대출 플랫폼에서는 평판 토큰이 담보 요구 사항을 줄여 과잉 담보 문제를 해결하고 시장 유동성을 향상시킬 수 있습니다. 그리고 ZK 기술을 기반으로 한 평판 토큰의 적용은 DeFi 대출 플랫폼에만 국한되지 않고 보험, 의료 보조금 및 기타 분야에서도 널리 사용될 수 있습니다.
4. 요약 및 전망
이 기사에서는 DeFi의 개인정보 보호를 위한 ZK 기술의 다양한 적용 시나리오, 특히 선행거래, 유동성 조작 및 대출에 저항할 수 있는 잠재력을 살펴봅니다. DeFi를 탐색하면서 우리는 여러 가지 문제, 특히 개인 정보 보호 및 보안과 관련된 문제에 직면합니다. DeFi 생태계의 개인 정보 보호 문제는 핵심 주제이며, ZK 기술은 개인 정보 보호를 강화할 뿐만 아니라 거래 효율성과 보안도 향상시키는 고유한 솔루션을 제공합니다. 귀하의 DApp에 ZK 기술을 도입하고 싶다면 언제든지 문의해 주세요.Salus연결하다.
미래를 내다보면 ZK 기술은 유동성 스테이킹, 파생상품 프로토콜, 실제 자산, 보험 등과 같은 더 깊은 DeFi 분야에 적용될 수 있습니다. Salus는 DeFi 및 기타 Ethereum 애플리케이션 레이어 프로젝트에서 ZK 기술 적용을 연구하고 탐구하는 데 중점을 둡니다. 우리는 전 세계 web3 분야의 블록체인 연구원, 기술 개발자 및 모든 전문가를 진심으로 초대하여 ZK 기술의 심층적인 개발과 광범위한 적용을 촉진하여 DeFi는 물론 전체 산업의 발전을 주도할 수 있도록 돕습니다.


