요약
UniswapX 프로토콜은 Ethereum Virtual Machine을 위해 구현된 네덜란드 경매 기반 비수탁 거래 프로토콜입니다.
UniswapX는 온체인 및 오프체인 유동성을 집계하고 MEV를 지속적으로 가격을 최적화하는 형태로 프로토콜에 내부화하며 사용자에게 가스 없는 교환을 제공하고 크로스체인 거래를 지원하도록 확장될 수 있습니다.
1. 소개
우리는 온체인 실행 및 결제를 위해 오프체인 서명 주문을 사용하는 네덜란드 경매 기반 분산 거래 프로토콜의 설계를 소개합니다.
UniswapX 프로토콜에는 다음과 같은 몇 가지 장점이 있습니다.
UniswapX는 라이선스가 없는 필러 그룹에 라우팅 및 일괄 처리를 아웃소싱합니다. 이러한 주문 필러는 주문을 온체인 및 오프체인 유동성의 조합으로 라우팅하여 교환자의 주문이 항상 최적의 실행을 받도록 보장합니다.
UniswapX 거래는 Permit2 실행 가능한 오프체인 토큰을 사용하므로 교환자가 거래 수수료를 교환의 일부로 암시적으로 포함할 수 있으므로 체인에서 기본 토큰 잔액을 보유해야 하는 요구 사항이 제거됩니다.
Uniswap 프로토콜의 스왑과 비교하여 상환자는 거래 실패에 대해 수수료를 지불하지 않으며 일괄 처리 및/또는 필러 재고에서 직접 채워지는 스왑이 더 비용 효율적입니다.
AMM과 달리 UniswapX는 MEV[9]를 내부화하여 주문으로 생성된 잉여분을 가격 상승의 형태로 거래소에 반환함으로써 가치 손실을 줄입니다. 또한 UniswapX 주문은 선행 실행에 덜 민감합니다.
UniswapX는 교차 체인 거래를 지원하도록 확장될 수 있으므로 교환자는 대상 체인에서 원하는 자산과 교환하여 소스 체인에서 자산을 원활하게 거래할 수 있습니다.
다음 섹션에서는 이러한 변경 사항과 이를 구현하는 데 도움이 되는 아키텍처를 자세히 설명합니다.
2 서명 주문
교환기는 Uniswap 프로토콜(v1, v2, v3 및 v4[[3-6])을 통해 트랜잭션을 수행할 때 트랜잭션을 생성하고 서명합니다. 이러한 트랜잭션은 입력 토큰, 출력 토큰, 특정 실행 경로 및 최소 출력 금액을 지정합니다. 그런 다음 상환자는 트랜잭션을 멤풀(퍼블릭 또는 프라이빗)에 제출하고, 이는 블록 빌더가 수신하여 블록에 포함됩니다.
UniswapX는 ERC20 토큰에 대한 서명 기반 인증 및 전송을 도입하는 토큰 인증 계약인 Permit2 [19]를 활용합니다. 또한 UniswapX는 온체인 결제를 위해 Reactor 계약도 사용하는데, Reactor 계약은 거래 실행이 사용자가 기대하는 매개변수를 충족하는지 확인하고 매개변수를 충족하지 않는 거래를 취소하는 역할을 담당합니다. 상환자는 먼저 Permit2 계약을 승인해야 합니다. 그런 다음 UniswapX 프로토콜을 통해 거래하는 교환기는 자체적으로 거래를 생성하고 제출할 필요가 없으며 대신 거래 순서 앞에 다음을 지정합니다.
(1) 토큰 입력(예: 유료 토큰)
(2) 출력 토큰(즉, 토큰 획득)
(3) 투입(산출)량
(4) 개시 출력(입력)량
(5) 최소 출력(입력) 수량
(6) 붕괴 함수
(7) 상환기간
(8) UniswapX 리액터 계약을 대신하여 토큰을 사용하도록 승인합니다.
이러한 주문은 MEV 검색자, 시장 조성자 및/또는 기타 온체인 에이전트(총칭하여 필러라고 함)가 수신하여 Reactor 계약으로 전송됩니다. 체인에 교환기의 주문을 제출함으로써 주문 작성자는 대신 가스 수수료를 지불합니다. 이러한 수수료는 가스 비용을 회수하기 위해 실행 가격에 반영됩니다.
Reactor 계약은 주문 작성기의 Executor 계약(Executor)을 호출하고 주문 작성 논리를 지정합니다. 자산의 출처가 결정되면 Executor 계약은 자산을 교환기로 보내고 Executor 계약은 자금을 인출합니다. 교환기 주소. 마지막으로 Reactor는 주문 조건이 충족되는지 확인합니다.
UniswapX는 주문 작성자가 교환기 주문을 채우는 방법을 지시하지 않습니다. 유동성은 Uniswap 또는 기타 DEX, 오프체인 유동성 또는 기타 UniswapX 주문과 같은 온체인 유동성 풀에서 나올 수 있습니다. 여러 주문을 동일한 트랜잭션으로 묶을 수 있으며, 다른 작업은 온체인에서 원자적으로 수행될 수 있습니다.
3개의 네덜란드 주문
교환자에게 최고의 실행 가격을 제공하기 위해 UniswapX는 더치 경매와 매우 유사한 더치 주문이라고 하는 주문 유형을 사용합니다. 네덜란드 주문의 쇠퇴하는 특성으로 인해 주문 필러 사이에 경쟁 시장이 형성되어 교환기에게 가장 좋은 가격을 가능한 한 빨리 찾으면서 약간의 이익 마진을 유지합니다.
항상 지정가로 실행되는 일반 지정가 주문과 달리 더치 주문의 실행 가격은 해당 주문이 블록에 포함되는 시점에 따라 달라집니다. 주문의 시작 가격은 현재 예상 시장 가격보다 거래소에 더 유리한 가격입니다. 예를 들어 현재 시장 가격이 1 ETH = 1000 USDC인 경우 매도 ETH 주문의 시작 가격은 1 ETH일 수 있습니다. = 1050USDC. 주문 가격은 교환기가 수용할 수 있는 최악의 가격(예: 1 ETH = 995 USDC)에 도달할 때까지 시간이 지남에 따라 점차 감소합니다.
수익이 나면 양식을 작성하는 사람은 가능한 한 빨리 양식을 작성하려는 동기를 갖게 됩니다. 너무 오래 기다리면 낮은 이익을 기꺼이 받아들이는 다른 주문 작성자에게 주문을 잃을 위험이 있습니다.
4 크로스체인 주문
UniswapX 프로토콜은 교환기가 소스 체인에 보유하고 있는 자산을 대상 체인의 필수 자산으로 교환하는 크로스체인 트랜잭션을 지원하도록 확장될 수 있습니다.
크로스체인 UniswapX에는 다음과 같은 장점이 있습니다.
UniswapX는 두 체인 사이에 메시지 전송 브리지가 있는 한 두 체인 간에 빠른 교환을 제공할 수 있습니다.
교환 및 브리징은 단일 작업으로 결합되며 교환기는 브리지와 직접 인터페이스하거나, 두 체인에서 가스 토큰을 유지하거나, 결제 지연을 기다릴 필요가 없습니다.
UniswapX는 L2에서 상위 L1으로 거의 즉각적인 종료를 제공할 수 있습니다.
교환자는 브리지 자산 대신 대상 체인의 기본 자산 또는 표준 자산을 받도록 지정할 수 있습니다. 예를 들어, 메인넷의 ETH는 Avalanche의 AVAX로 직접 교환될 수 있습니다.
패시브 브리징 위험이 최소화됩니다. 교환자는 기본 자산을 교환할 때 브리징 위험을 부담하지 않는 반면, 주문 작성자는 브리징을 통해 체인 간에 자산이 재조정될 때만 브리징 위험을 부담합니다.
4.1 단순화된 크로스체인 주문
먼저 UniswapX 프로토콜 크로스체인의 단순화된 버전을 설명한 다음 보다 효율적인 낙관적 버전으로 확장하겠습니다.
크로스체인 주문을 시작하려면 교환자는 단일 체인 주문과 동일한 매개변수와 다음 추가 매개변수를 포함하는 오프체인 주문에 서명해야 합니다.
(1) 결제 오라클 - 특정 대상 체인에서 발생한 이벤트를 증명할 수 있는 단방향 오라클입니다. 이는 공식 브리지, 라이트 클라이언트 브리지 또는 Rollup과 해당 상위 체인 간의 타사 브리지일 수 있습니다.
(2) 주문 작성 마감일 - 대상 체인에서 주문이 완료되어야 하는 시간
(3) 폼필러 입금액 및 폼필러 예치자산 - 폼필러가 소스체인에 예치해야 하는 예치금
(4) 증명 기한 - 주문 작성자는 이 시간 이전에 주문을 완료했음을 소스 체인에서 증명해야 합니다.
양식 작성자의 입금액, 양식 작성 기한, 인증 기한 등의 매개변수는 이 문서의 범위를 벗어납니다.
UniswapX 프로토콜의 단일 체인 구현과 마찬가지로 교환기의 주문은 주문 작성기 네트워크로 전파되고 주문 작성기는 주문, 교환기의 자금 및 주문 작성기 예금을 소스 체인의 리액터 계약에 제출하여 경쟁합니다. 명령 실행을 위해.
주문 작성자는 변환기에 필요한 자산을 대상 체인으로 전송하여 주문을 실행합니다. 그들은 먼저 자산을 원자로 계약으로 보낸 다음 자산을 교환기의 주소로 전달합니다. 타겟 체인의 리액터 계약은 지정된 기한 이전에 주문이 완료되었음을 기록하고, 결제 오라클을 통해 소스 체인의 리액터 계약으로 메시지를 다시 전달하여 교환자의 주문이 완료되었음을 확인합니다.
교환기의 자산은 마진과 함께 소스 체인의 주문 작성자에게 공개됩니다. 주문 작성자가 인증 마감일 이전에 주문을 실행하지 않으면 교환자는 소스 체인의 리액터 계약에서 지불한 자산과 주문 작성자의 예치금을 받게 됩니다.
4.2 낙관적인 크로스체인 주문
일부 결제 오라클은 사용하기에는 너무 느리거나 비용이 많이 들 수 있습니다. 예를 들어, 하나의 롤업 체인에서 다른 롤업 체인으로 교환을 실행하는 것은 필러 비용이 엄청나게 높을 수 있으며, 7일 이상이 소요되고 최소한 L1에서 트랜잭션을 수행해야 합니다.
낙관적인 크로스체인 프로토콜은 이러한 결제 지연 문제를 완화하여 느린 브리지 위에 빠르고 저렴한 브리지를 효과적으로 구축할 수 있습니다.
낙관적 프로토콜에는 단순화된 프로토콜과 동일한 매개변수와 다음과 같은 추가 매개변수가 포함됩니다.
(1) 시험 입금액 및 시험 입금 자산 - 도전자가 소스 체인에서 지불해야 하는 입금액입니다.
(2) 도전 마감일 - 도전자가 완성된 양식에 이의를 제기할 수 있는 마감일입니다. 이 마감일은 인증 마감일 이전이어야 합니다.
프로토콜의 단순화된 버전에서 주문 작성자가 주문을 실행하는 방식은 교환자에게 주문을 요청하고 주문 작성자의 예금을 소스 체인 Reactor 계약에 제출한 다음 다음을 통해 대상 체인의 교환자에게 자산을 전송하는 것입니다. 대상 체인의 원자로 계약 주소. 원자로 계약에는 마감일 이전에 주문이 완료되었음을 기록합니다.
가장 낙관적인 시나리오에서는 주문 작성자가 주문 작성 마감일 이전에 대상 체인에서 교환기의 주문을 완료하고, 질문 기간이 끝나기 전에 주문 거래에 대해 아무도 질문하지 않으며, 주문 작성자가 소스 체인에서 교환기의 주문을 받습니다. 양식 작성을 위한 자금 및 보증금.
양식 필러를 정직하게 유지하기 위해 누구나 소스 체인의 Reactor 계약을 사용하여 양식 작성 마감일 이후 및 챌린지 마감일 전에 양식 필러에 도전할 수 있습니다. 양식 작성자가 이의를 제기하는 경우 양식 작성자는 증명 마감일 이전에 결제 오라클을 사용하여 증명을 제공해야 합니다. 주문 작성자가 인증 마감일 이전에 주문을 완료했음을 입증할 수 있는 경우 도전자 보증금을 받게 됩니다. 양식 작성자가 유효한 증거를 제공하지 못하는 경우 양식 작성자의 보증금은 도전자와 교환자 간에 균등하게 나누어지며 교환자의 자금은 소스 체인에서 그들에게 반환됩니다.

5 주문 매개변수화 방식
UniswapX 프로토콜은 특정 붕괴 기능을 시행하지 않습니다. 마찬가지로 프로토콜은 초기 네덜란드 주문 가격을 설정하는 방법을 지정하지 않지만 다양한 메커니즘을 활성화하는 몇 가지 선택적 기능을 포함합니다.
네덜란드 주문 시작 가격을 매개변수화하는 한 가지 방법은 오프체인 견적 요청 시스템(RFQ: Request For Quote)을 통해 주문 작성자에 투표하는 것입니다. 가능한 최상의 가격을 제공하기 위해 이 필러 네트워크에 인센티브를 주기 위해 UniswapX는 주문이 짧은 기간 동안 주문을 채울 수 있는 독점적 권리를 가진 필러를 지정할 수 있도록 허용하며, 그 후 더치 경매가 시작되고 모든 필러 주문이 실행될 수 있습니다.
RFQ 시스템은 이 배타적 권리에 따라 필러를 형성할 수 있는 선택의 자유 남용을 제한하고 상환자의 사용자 경험이 손상되지 않도록 보장하기 위해 수반되는 보상 또는 처벌 시스템의 이점을 누릴 수 있습니다. 차수 매개변수화된 설계와 마찬가지로 이러한 시스템은 핵심 프로토콜과 이 문서[2]의 범위를 벗어납니다.
6 수수료
Uniswap 거버넌스는 UniswapX 거래소당 최대 0.05%의 수수료를 부과할 수 있으며 이는 Uniswap v2와 동일한 최대 수수료입니다. 거버넌스는 거래 쌍당 수수료를 지정해야 하며 수수료는 베이시스 포인트 단위의 정수 값이어야 합니다. 거버넌스는 또한 체인별로 수수료를 활성화해야 합니다.
인터페이스와 지갑은 플랫폼을 통해 제출된 스왑에 대해 추가로 제한 없는 수수료를 청구하도록 선택할 수 있습니다.
7 사전작업
UniswapX 프로토콜은 과거와 현재의 많은 프로토콜에서 영감을 얻었습니다. 이것은 완전한 목록이 아닙니다.
7.1 서명 순서
0x[20] 및 Wyvern[21]을 포함하여 많은 프로토콜은 교환자가 주문에 서명하도록 함으로써 실제 거래의 사용을 이미 인식하고 있습니다. CoW Swap [8] 및 dYdX [13]를 포함한 일부 프로토콜은 오프체인 주문의 대량 서명을 지원합니다. Seaport [17]는 특히 붕괴 기능을 사용하여 오프체인 서명 주문을 지원합니다.
7.2 네덜란드 경매
더치 경매에는 Seaport의 NFT 판매, MakerDAO[14] 및 Euler Protocol[11]의 청산, DutchX[15]와 같은 프로토콜의 거래를 포함하여 DeFi에 수많은 응용 프로그램이 있습니다. Stephane Gosselin은 또한 EIP 2593[10]에서 거래 수수료를 결정하는 방법으로 네덜란드 경매의 사용을 제안했습니다.
최근 1inch는 Fusion 프로토콜에서 서명 주문과 네덜란드 경매의 조합을 탐색했습니다[1].
7.3 수집자
1inch, 0x API 및 Paraswap[18]을 포함한 프로젝트는 교환기에게 다양한 온체인 유동성 풀에 걸쳐 스마트 주문 라우팅 기능을 제공합니다. 이러한 프로젝트 중 일부에서는 오프체인 마켓 메이커가 RFQ 시스템을 통해 주문 개선을 제공할 수도 있습니다.
7.4 크로스체인 네덜란드 경매
Summa[12]는 단방향 메시지 전달 오라클을 통해 네덜란드 경매 기반 크로스체인 거래 아이디어를 처음 제안했습니다.
7.5 낙관적 브리지
Optics [7] , Nomad [16] 및 Across [2]는 모두 사기 방지 결제 설계를 채택하여 신뢰할 수 없고 빠른 토큰 브리지를 제공합니다.
8 결론
UniswapX는 네덜란드 경매를 사용하여 주문 작성자 간에 경쟁력 있는 라우팅 시장을 만들고 온체인 및 오프체인 유동성의 조합을 활용하는 관리형 및 무허가 거래 프로토콜입니다. 주문을 Permit2 실행 가능한 오프체인 서명으로 구조화함으로써 프로토콜은 교환자에게 가스 없는 거래 경험을 제공합니다. UniswapX는 크로스체인 교환을 지원하도록 확장될 수도 있으므로 교환기가 L2의 자산을 상위 체인 L1에 거의 즉각적으로 연결할 수 있습니다.
참고자료
[1]
개척자 번역 계획: https://github.com/lbc-team/Pioneer
[2]
작은 곰: https://learnblockchain.cn/people/15
[삼]
learnblockchain.cn/article…: https://learnblockchain.cn/article/6200