상세 컨텐츠

본문 제목

Uniswap v3에 대하여

Blockchain/DeFi

by Yongari 2023. 4. 27. 08:58

본문

유니스왑 v1은 2018년 11월에 누구나 자산을 모아 시장 조성 전략을 공유할 수 있는 거래소 유형인 자동화된 시장 조성자(AMM)의 개념 증명으로 출시되었습니다.

2020년 5월, 유니스왑 v2는 새로운 기능과 최적화를 도입하여 AMM 채택이 기하급수적으로 증가할 수 있는 발판을 마련했습니다. 출시 후 1년도 채 되지 않아 v2는 1,350억 달러 이상의 거래량을 촉진하며 세계 최대 암호화폐 현물 거래소 중 하나로 자리매김했습니다.

이제 유니스왑은 탈중앙화 금융의 핵심 인프라로서 개발자, 트레이더, 유동성 공급자가 안전하고 견고한 금융 시장에 참여할 수 있도록 지원하고 있습니다.

오늘 유니스왑 v3의 개요를 소개해드리게 되어 기쁘게 생각합니다. 5월 5일에 L1 이더리움 메인넷 출시를 목표로 하고 있으며, 곧이어 옵티미즘에 L2가 배포될 예정입니다.

 

 

유니스왑 v3를 소개합니다:

1. 유동성이 집중되어 개별 LP가 자본이 할당되는 가격 범위를 세밀하게 제어할 수 있습니다. 개별 포지션이 단일 풀로 합산되어 사용자가 거래할 수 있는 하나의 결합된 곡선을 형성합니다.
2. 다양한 수수료 계층을 통해 LP가 다양한 수준의 위험을 감수하는 것에 대해 적절한 보상을 받을 수 있습니다.
이러한 기능 덕분에 유니스왑 v3는 지금까지 설계된 AMM 중 가장 유연하고 효율적입니다:
3. LP는 유니스왑 v2 대비 최대 4000배의 자본 효율로 유동성을 제공하여 자본에 대한 더 높은 수익을 얻을 수 있습니다.
4. 자본 효율성은 중앙화된 거래소와 스테이블코인 중심의 AMM을 능가하는 낮은 슬리피지 거래 체결을 위한 기반을 마련합니다.
5. LP는 선호 자산에 대한 노출을 크게 늘리고 하방 리스크를 줄일 수 있습니다.
6. LP는 시장가보다 완전히 높거나 낮은 가격대에 유동성을 추가하여 한 자산을 다른 자산에 매도할 수 있으며, 이는 부드러운 곡선을 따라 체결되는 수수료 수익 제한 주문에 근접합니다.

 

이제 유니스왑의 오라클을 훨씬 더 쉽고 저렴하게 통합할 수 있습니다. V3 오라클은 지난 ~9일 이내의 모든 기간에 대해 온디맨드 방식으로 시간 가중 평균 가격(TWAP)을 제공할 수 있습니다. 따라서 통합자가 과거 값을 체크포인트할 필요가 없습니다.

이러한 획기적인 설계 개선에도 불구하고 이더리움 메인넷에서 v3 스왑의 가스 비용은 v2보다 약간 저렴합니다. 옵티미즘 배포에서 이루어진 거래는 훨씬 더 저렴할 것입니다!

유니스왑 v3에 대한 자세한 내용을 읽어보시기 바랍니다. 더 자세한 기술 개요를 확인하시려면

유니스왑 v3 코어 백서, 유니스왑 v3 코어 스마트 컨트랙트를 살펴보세요

 

 

집중된 유동성

유니스왑 v2에서 유동성은 0에서 무한대 사이의 모든 가격에 대해 자산이 예약되어 있는 x*y=k 가격 곡선을 따라 균등하게 분배됩니다. 대부분의 풀에서 이 유동성의 대부분은 사용되지 않습니다. 예를 들어, v2 DAI/USDC 쌍은 LP가 가장 많은 거래량을 보고 결과적으로 가장 많은 수수료를 받을 것으로 예상되는 가격대인 0.99달러에서 1.01달러 사이의 거래를 위해 자본의 ~0.50%만 보유합니다.

V2 LP는 자본의 일부에 대해서만 수수료를 받으므로, 두 토큰의 재고를 대량 보유함으로써 발생하는 가격 위험("비영구적 손실")을 적절히 보상하지 못할 수 있습니다. 또한 유동성이 모든 가격대에 고르게 분산되어 있기 때문에 트레이더는 종종 높은 수준의 슬리피지에 노출될 수 있습니다.

유니스왑 v3에서 LP는 사용자 지정 가격 범위 내에서 자본을 집중하여 원하는 가격에 더 많은 양의 유동성을 제공할 수 있습니다. 이를 통해 LP는 자신의 선호도를 반영한 개별화된 가격 곡선을 구성할 수 있습니다.

 

 

LP는 단일 풀 내에서 여러 개의 개별 집중 포지션을 결합할 수 있습니다. 예를 들어, 이더리움/DAI 풀의 LP는 $1,000-$2,000 가격대에 100달러를 할당하고 $1,500-$1,750 가격대에 50달러를 추가로 할당할 수 있습니다.

이를 통해 LP는 자동화된 시장 메이커 또는 활성 오더북의 형태를 대략적으로 예측할 수 있습니다.

사용자는 유동성 공급자당 가스 비용 증가 없이 모든 개별 커브의 유동성을 합산해 거래할 수 있습니다. 특정 가격대에서 징수된 거래 수수료는 해당 가격대에 기여한 유동성 양에 비례하여 LP가 비례 배분합니다.




자본 효율성

LP는 유동성을 집중함으로써 지정된 가격 범위 내에서 v2와 동일한 유동성 깊이를 제공하면서 훨씬 적은 자본을 위험에 노출시킬 수 있습니다. 절약한 자본은 외부에 보유하거나, 다른 자산에 투자하거나, DeFi의 다른 곳에 예치하거나, 지정된 가격 범위 내에서 익스포저를 늘려 더 많은 거래 수수료를 받는 데 사용할 수 있습니다.

 

 

 

 

예를 들어 설명해 보겠습니다:

앨리스와 밥은 모두 유니스왑 v3에서 이더리움/다이아 풀에 유동성을 공급하고자 합니다. 둘은 각각 100만 달러를 보유하고 있습니다. 현재 이더리움의 가격은 1,500 DAI입니다.

앨리스는 유니스왑 v2에서와 마찬가지로 전체 가격 범위에 걸쳐 자본을 배치하기로 결정합니다. 앨리스는 500,000 다이와 333.33 이더리움(총 100만 달러 가치)을 예치합니다.

대신 밥은 집중 포지션을 생성하여 1,000에서 2,250 사이의 가격 범위 내에서만 예치합니다. 그는 91,751 DAI와 61.17 ETH를 예치하여 총 약 183,500달러를 예치합니다. 나머지 81만 6500달러는 본인이 직접 보유하며 원하는 방식으로 투자합니다.

앨리스가 밥보다 5.44배 많은 자본을 예치했지만, 이더리움/다이아 가격이 1,000~2,250 범위 내에서 유지되는 한 두 사람은 동일한 금액의 수수료를 받습니다.

 

밥의 사용자 지정 포지션은 유동성에 대한 일종의 손절매 역할도 합니다. 이더리움 가격이 0달러로 떨어지면 앨리스와 밥의 유동성은 모두 이더리움으로 표시됩니다. 그러나 밥은 159,000달러, 앨리스는 1백만 달러의 손실을 입게 될 것입니다. 밥은 추가로 확보한 81만 6,500달러를 사용해 하방 노출에 대한 헤지를 하거나 다른 전략에 투자할 수 있습니다.

 

v2 LP와 동등한 유동성 depth를 적은 자본으로 제공하는 대신, v3 LP는 v2 LP와 동일한 자본으로 더 큰 depth를 제공하도록 선택할 수 있습니다. 이를 위해서는 더 많은 거래량을 지원하고 더 높은 수수료를 받는 대신 더 많은 가격 위험("비영구적 손실")을 감수해야 합니다.

보다 안정적인 풀의 LP는 특히 좁은 범위에서 유동성을 제공할 가능성이 높습니다. 현재 유니스왑 v2 DAI/USDC 쌍에 보유 중인 2500만 달러가 v3에서 0.99~1.01 사이에 집중되어 있다면, 가격이 해당 범위 내에 머무는 한 유니스왑 v2의 50억 달러와 동일한 깊이를 제공할 수 있습니다. 만약 2500만 달러가 0.999 - 1.001 범위에 집중되었다면 유니스왑 v2에서 500억 달러와 동일한 심도를 제공하게 됩니다.

아래 도구는 전체 가격 곡선에 걸쳐 자본을 배분하는 것과 비교하여 집중된 유동성 포지션(현재 가격을 중심으로)의 자본 효율성 이득을 계산합니다.

 

다음의 포지션에 따라 자본효율성을 확인할 수 있습니다. 가격대가 좁을 수록 자본 효율성이 높고 가격대가 넓을수록 자본 효율성이 낮습니다. 

 

출시 시 0.10% 단일 가격 범위 내에서 유동성을 제공하는 LP의 경우 자본 효율성 이득은 최대 4000배에 달할 것입니다. v3 풀 팩토리는 기술적으로 0.02%까지 세분화된 범위를 지원할 수 있으며, 이는 V2 대비 최대 20,000배의 자본 효율성 이득을 의미합니다. 그러나 더 세분화된 풀은 스왑 가스 비용을 증가시킬 수 있으며 레이어 2에서 더 유용할 수 있습니다.




활성화된 유동성


시장 가격이 LP가 지정한 가격 범위를 벗어나면 해당 유동성은 풀에서 효과적으로 제거되어 더 이상 수수료를 받지 못합니다. 이 상태에서 LP의 유동성은 시장 가격이 지정된 가격 범위로 돌아오거나 현재 가격을 고려하여 범위를 업데이트할 때까지 두 자산 중 가치가 낮은 자산으로만 구성됩니다.

 

 

 

v3에서는 이론적으로 특정 가격대에 유동성이 존재하지 않을 수 있습니다. 그러나 합리적인 LP는 현재 시장 가격을 반영하여 가격 범위를 지속적으로 업데이트할 것으로 예상합니다.

 

 

범위 주문

v3의 LP 커스터마이징 기능은 시장가 주문을 보완하는 새로운 주문 기능을 제공하며, 우리는 이를 "범위 주문"이라고 부릅니다.

LP는 단일 토큰을 현재 가격보다 높거나 낮은 사용자 지정 가격 범위에 예치할 수 있으며, 시장 가격이 지정한 범위로 진입하면 부드러운 곡선을 따라 한 자산을 다른 자산으로 매도하고 그 과정에서 스왑 수수료를 받습니다.

좁은 범위로 입금하는 것은 기존 지정가 주문과 비슷하게 느껴집니다. 예를 들어 현재 DAI 가격이 1.001 USDC 미만인 경우 앨리스는 1.001 - 1.002 DAI/USDC 범위에서 1000만 달러 상당의 DAI를 추가할 수 있습니다.

DAI가 1.002 DAI/USDC 이상으로 거래되면 앨리스의 유동성은 USDC로 완전히 전환됩니다. 앨리스는 유동성이 1.002 이하에서 거래되기 시작하면 DAI로 자동 전환되는 것을 방지하기 위해 유동성을 인출하거나 타사 서비스를 사용하여 대신 인출해야 합니다.

 

완전히 체결된 지정가 주문의 평균 체결 호가는 최소 가격과 최대 가격의 기하평균입니다. 앨리스의 경우 체결 호가는 1.001499 DAI/USDC로 총 1,001,499달러입니다. 이 체결가에는 1.001 - 1.002 DAI/USDC 범위 내에서 가격이 거래되는 기간 동안 발생하는 추가 스왑 수수료는 포함되지 않습니다.

더 넓은 범위의 지정가 주문은 차익 실현, 저가 매수, 1차 발행 이벤트에 특히 유용할 수 있습니다. 이후 사용 사례에서 발행자는 단일 자산에 유동성을 예치하고 토큰을 판매하고자 하는 정확한 가격 범위를 지정할 수 있게 되었습니다.

 

대체 불가능한 유동성

LP별 맞춤 가격 곡선의 부산물인 유동성 포지션은 더 이상 대체할 수 없으며, 코어 프로토콜에서 ERC20 토큰으로 표시되지 않습니다.

대신 LP 포지션은 대체 불가능한 토큰(NFT)으로 표시됩니다. 그러나 일반적인 공유 포지션은 주변 계약이나 다른 파트너 프로토콜을 통해 대체 가능(ERC20)하게 만들 수 있습니다. 또한 거래 수수료는 더 이상 LP를 대신하여 풀에 자동으로 재투자되지 않습니다.

시간이 지남에 따라 점점 더 정교한 전략이 토큰화되어 LP가 수동적인 사용자 경험을 유지하면서 참여할 수 있게 될 것으로 예상합니다. 여기에는 멀티 포지션, 시장 가격에 집중하기 위한 자동 리밸런싱, 수수료 재투자, 대출 등이 포함될 수 있습니다.

 

 

유연한 수수료

유니스왑 v3는 LP에게 페어당 0.05%, 0.30%, 1.00%의 세 가지 개별 수수료 계층을 제공합니다. 이러한 다양한 옵션을 통해 LP는 예상되는 페어 변동성에 따라 마진을 조정할 수 있습니다: ETH/DAI와 같이 상관관계가 없는 쌍에서는 더 많은 위험을 감수하고, 반대로 USDC/DAI와 같이 상관관계가 있는 쌍에서는 최소한의 위험을 감수하는 것입니다.

뚜렷한 수수료 계층이 어느 정도의 유동성 파편화로 이어질 수 있지만, 대부분의 쌍은 분명한 수수료 계층으로 조정될 것이며, 이는 표준 시장으로 작용할 것으로 예상됩니다. 동종 자산 쌍은 0.05% 수수료 계층을 중심으로 모일 것으로 예상되며, 이더리움/DAI와 같은 쌍은 0.30%를, 이색 자산은 1.00% 스왑 수수료가 더 적절할 수 있습니다. 거버넌스는 필요에 따라 추가 수수료 계층을 추가할 수 있습니다.

유니스왑 v2는 프로토콜 수수료 스위치를 도입하여 거버넌스에 따라 고정 5 베이시스 포인트(LP 수수료의 16.66%) 수수료를 설정할 수 있도록 했습니다. 유니스왑 v3 프로토콜 수수료는 훨씬 더 유연합니다. 수수료는 기본적으로 꺼져 있지만, 거버넌스에서 풀 단위로 켜고 LP 수수료의 10%에서 25% 사이로 설정할 수 있습니다.

 

 

개선된 오라클

유니스왑 v2는 시간 가중 평균 가격(TWAP) 오라클을 도입했습니다. 이러한 오라클은 디파이 인프라의 핵심적인 역할을 하며, 컴파운드와 리플렉서를 포함한 수십 개의 프로젝트에 통합되었습니다.

V2 오라클은 유니스왑 페어 가격의 누적 합계를 초 단위로 저장하는 방식으로 작동합니다. 이러한 가격 합계는 기간 시작 시점과 종료 시점에 한 번씩 확인하여 해당 기간 동안의 정확한 TWAP을 계산할 수 있습니다.

유니스왑 v3는 TWAP 오라클을 크게 개선하여 단 한 번의 온체인 호출로 지난 9일 이내의 모든 최근 TWAP을 계산할 수 있습니다. 이는 하나의 누적 합계가 아닌 여러 개의 누적 합계 배열을 저장함으로써 가능합니다.

 

 

이러한 다양한 과거 가격 누적기를 사용하면 단순 이동 평균(SMA), 지수 이동 평균(EMA), 이상값 필터링 등을 포함하는 고급 오라클을 훨씬 쉽고 저렴하게 만들 수 있습니다.

이러한 주요 개선에도 불구하고 유니스왑 트레이더가 오라클을 최신 상태로 유지하는 데 드는 가스 비용은 버전 2에 비해 약 50% 감소했습니다. 외부 스마트 계약에서 TWAP을 계산하는 데 드는 비용도 훨씬 저렴해졌습니다.

 

라이선스

저희는 탈중앙화 금융 인프라가 궁극적으로 무료 오픈소스 소프트웨어여야 한다고 굳게 믿고 있습니다. 동시에 유니스왑 커뮤니티가 유니스왑 v3 코어 코드베이스를 중심으로 생태계를 구축하는 첫 번째 주자가 되어야 한다고 생각합니다.

이를 염두에 두고, 유니스왑 v3 코어는 비즈니스 소스 라이선스 1.1(사실상 한시적으로 지연된 GPL-2.0 이상의 라이선스)에 따라 출시될 예정입니다. 이 라이선스는 상업용 또는 프로덕션 환경에서 최대 2년 동안 v3 소스 코드 사용을 제한하며, 이 시점이 지나면 영구적으로 GPL 라이선스로 전환됩니다.

유니스왑 거버넌스는 언제든지 v3-core-license-date.uniswap.eth 및 v3-core-license-grants.uniswap.eth에서 파일을 업데이트하여 GPL로의 변경을 가속화하거나 라이선스에 대한 면제를 부여할 수 있습니다.

BUSL 1.1 라이선스는 통합에 영향을 미치지 않습니다. 수학 라이브러리, 주변 계약, 인터페이스 및 개발자 SDK를 포함하여 외부 통합에 필요할 수 있는 모든 코드는 GPL 또는 MIT 에 따라 라이선스가 부여되었습니다. 모든 지갑, 인터페이스, 모바일 앱, 프로토콜 또는 기타 프로젝트는 예상대로 v3와 통합할 수 있습니다.

이 라이선스에 대한 자세한 내용은 이 FAQ를 참조하세요.

 

 

감사 및 버그 바운티

 

저희 팀은 보안을 가장 중요하게 생각하기 때문에, 수백 시간의 테스트를 거쳐서야 Uniswap v3를 편안하게 출시할 수 있었습니다.

v3에 대한 보안 프로세스가 포함되어 있습니다:

1. Trail of Bits의 전수 감사
2. ABDK의 전수 감사
3. 샘즈썬의 전체 감사(보고서 없음)
4. 엔지니어링 팀의 감사 및 검토 프로세스
5. 자동화된 도구인 Echidna와 Manticore를 포함한 포괄적인 테스트 스위트

 

테스트 및 감사 과정에서 발견된 주요 버그가 수정되었습니다. 하지만 유니스왑 v3는 매우 복잡한 프로토콜이며, 모든 버그가 이미 발견되어 해결되었다고 보장할 수 없다는 점을 알려드립니다.

공개 버그 바운티는 공개 취약점을 찾기 위해 향후 30일 동안 진행되며, 중요한 버그에 대해 최대 50만 달러가 지급됩니다. 공개 버그 포상금에 대한 자세한 내용은 여기에서 확인할 수 있습니다.

 

 

출시 세부 정보

 

유니스왑 v3 스마트 컨트랙트는 향후 롭스텐, 린케비, 코반, 괼리 테스트넷에 배포될 예정이며, 개발자들은 공식 출시 전에 프로토콜을 실험해볼 수 있는 시간을 가질 수 있습니다.

유니스왑 v3 코어 저장소에는 프로토콜을 구동하는 필수적인 로우레벨 스마트 컨트랙트가 포함되어 있습니다.

유니스왑 v3 주변 저장소에는 사용자가 핵심 콘트랙트와 쉽게 상호작용할 수 있도록 설계된 스마트 콘트랙트 모음이 포함되어 있습니다.

유동성 공급자 마이그레이션 포털은 출시 시점에 제공될 예정이며, 이를 통해 v2 LP는 유동성을 새로운 프로토콜로 원활하게 이전할 수 있습니다.

그 동안 완료해야 할 미완성 항목이 거의 없습니다:

파트너와 통합은 메인넷 출시에 대비하여 유니스왑 v3를 즉시 구축할 수 있습니다!

인터페이스, 분석 사이트, API, 개발자 SDK는 유니스왑 v3와 함께 작동하도록 재설계되고 있습니다.

초기 유니스왑 v3 라우터와 포지션 매니저 계약이 거의 완료되었습니다. 아직 변경될 수 있지만, 여기에서 확인하실 수 있습니다.

문서, 가이드, 추가 예시는 진행 중입니다.

메인넷 출시 후 유니스왑 랩이 유니스왑 커뮤니티와 함께 대체 가능한 포지션, 유동성 채굴, 더 복잡한 전략 및 기타 다양한 사용 사례를 지원하기 위한 추가 인프라를 구축할 예정입니다.

 

연락하기

 

 

출처: https://blog.uniswap.org/uniswap-v3

 

Introducing Uniswap v3

All about Uniswap V3.

blog.uniswap.org

 

관련글 더보기