
모든 투자 수익은 특히 스마트 계약이 아직 실험 단계에 있을 때 위험 통제를 전제로 합니다.
이 기사의 구조:
이 기사의 구조:
토큰 유동성 문제 및 AMM
유니스왑의 전면
유니스왑이란?
버전 업그레이드
유니스왑의 뒷면
외부 위험
기술적 위험
보조 제목
요약하다
토큰 유동성 문제 및 AMM
분산형 거래소에는 항상 문제가 있었습니다. 바로 토큰의 유동성입니다. 유동성 부족은 자연스럽게 사용자 경험 저하로 이어집니다.
예전에 DEX 사용자들은 오더북 방식으로 거래했는데, DEX 오더북 거래 정보는 체인에 기록되고, 사용자는 거래 주문을 만들어 주문을 완료한 다음 체인에서 일정량의 가스비를 지불하고 거래를 완료했습니다. 부기. AMM(Automated Market Maker)의 출현은 유동성 문제를 매우 잘 해결했습니다.AMM형 거래소는 가격을 표시하기 위해 오더북 데이터를 제공할 필요가 없습니다.이러한 유형의 Dex는 유동성을 모아 하나의 형태를 만듭니다.유동성 풀은 완전히 자동화된 시장을 실현합니다. 알고리즘을 기반으로 제작. 현재 시장에서 가장 인기있는 Dex는 Uniswap, Balancer, Curve 등과 같은 AMM을 통해 수행됩니다.
보조 제목
유니스왑의 전면
이미지 설명
이미지 설명
Uniswap 공식 웹 사이트 데이터에 따르면 총 유통량은 2억 5천만 달러이며 일일 거래 수는 100,000을 초과합니다.
유니스왑이란?
Uniswap은 ERC20 토큰을 거래하는 데 사용할 수 있는 이더리움 네트워크 기반의 탈중앙화 거래소(DEX)입니다.
일반적인 중앙 집중식 거래소에서는 거래 에이전트가 구매자와 판매자의 유동성을 생성하는 반면 Uniswap은 자동으로 거래 시장을 생성할 수 있습니다.
Uniswap은 dex의 유동성 문제를 해결할 수 있습니다.
버전 업그레이드
V1 버전은 ETH만 브리지 통화로 사용할 수 있습니다. 예를 들어 두 개의 ERC20 ABC/XYZ를 변환하려면 ABC/ETH를 ETH/XYZ로 변환해야 합니다.
V2 버전은 유동성을 직접 제공하기 위해 두 개의 ERC20 쌍을 직접 생성할 수 있습니다.
V2 버전의 장점:
환승은 한 번뿐이므로 취급 수수료를 절약하십시오.
트랜잭션이 하나뿐이기 때문에 하나의 슬리피지 저장
보조 제목
유니스왑의 뒷면
Uniswap의 위험은 세 가지 측면으로 나눌 수 있다고 결론지었습니다.
외부 위험
외부 위험은 Uniswap 자체의 위험이 아니라 Uniswap에서 시작된 프로젝트의 위험을 의미합니다. 예: 프로젝트의 허위 홍보, 프로젝트 당사자가 대량의 토큰을 판매하여 통화 가격 폭락 등
기술적 위험
스마트 계약이 개발자가 의도한 대로 작동하지 않을 위험. 특히 블록체인 업계에서 스마트 컨트랙트를 작성하는 것은 오류 없이 코드를 작성하는 것이 매우 어렵기 때문에 Uniswap은 어느 정도의 기술적 위험이 있음을 알기가 매우 어렵습니다. 감사, 테스트 및 스마트 계약 보험 구매는 모두 기술적 위험을 줄일 수 있습니다. 예를 들어 지난 이틀 동안 통화 가격이 99% 급락한 Defi 프로젝트 YAM은 코드 작성자의 부주의와 테스트되지 않은 코드의 성급한 출시로 인해 프로젝트가 실패했습니다.
경제 모델 위험
특히 DeFi 분야의 많은 블록체인 프로젝트는 네트워크 참여자에게 동기를 부여하기 위해 경제적 인센티브에 의존해야 합니다. 인센티브 방식이 참여자가 좋은 피드백을 받을 수 없다면 다른 사용자에게 영향을 미칠 수 있습니다. 예를 들어 올해 초 천둥을 쳤던 에프코인 거래소 붕괴의 주된 원인은 경제적 인센티브 모델인 '트랜잭션 마이닝'의 실패라고 생각한다. 프로젝트 또는 교환의 붕괴에 대한 중요하고 중요한 요소 가장 눈에 띄지 않는 요소.
이러한 위험은 아래에서 자세히 분석됩니다.
1. 외부 리스크
최근 화폐계에서 가장 핫한 단어는 더 이상 "1CO"나 "1EO"가 아니라 초기 Uniswap 오퍼링이라고 하는 "1UO"입니다.
Uniswap에 등록하는 것은 진정한 삼위일체 제품입니다.
"상장 수수료 없음", "검열 없음", "비용 없음"의 두 가지 자본 풀만 설정하면 되며 경제 모델 메커니즘 설계는 자연스럽게 FOMO에 도움이 되며 100번 이상의 클릭이 필요하지 않습니다. 마우스와 키보드 Uniswap에 코인을 나열하는 작업을 완료할 수 있습니다.
Uniswap의 등장으로 프로젝트 당사자가 코인을 발행하고 부추를 자르는 데 드는 어려움과 비용이 크게 줄었습니다.Uniswap에는 텔레그램, 디스코드, WeChat 그룹(일부 성실한 프로젝트 당사자도 웹사이트를 만들 것임), ICO 시대에는 코인 발행 마크도 첨부된 백서가 없습니다.
프로젝트 당사자는 매우 저렴한 비용으로 거래소 통화 상장, 시세 관리, 유통 유지 등의 서비스를 받을 수 있으며, 이러한 서비스는 중앙화 거래소에서 BTC 몇 개 또는 수십 개를 지불해야만 누릴 수 있음을 알아야 합니다. .
Uniswap은 2017년에 이더리움의 1co를 계승하여 모든 프로젝트가 거래소에 상장될 수 있도록 했습니다. 부추는 통화권을 재검토했다.
이미지 설명
Near Protocol 공식 트위터 성명
2. 기술적 위험
이미지 설명
Uniswap은 이제 알려진 공격 경로를 가지고 있으며 위험 소스는 주로 ERC-777token의 재진입 공격입니다.공격의 일반적인 원칙은 다음과 같습니다.
tokenToEthSwapInput 함수를 두 번 호출하여 Uniswap 토큰 교환에 들어갑니다.
두 번째 토큰 구매 시 ETH 준비금은 더 낮지만 토큰 준비금은 동일합니다. 이것은 토큰의 두 번째 배치가 있어야 하는 것보다 조금 더 많은 ETH로만 교환된다는 것을 의미합니다. 다음은 판매되는 토큰을 교환하는 가격을 결정하는 공식입니다.
정상적인 운영에서 후속 정기 토큰 판매 후 토큰 준비금은 증가하고(분모 증가) Ethereum 준비금은 감소합니다(분자 감소). 따라서 토큰으로 지급되는 금액은 판매가 끝날 때마다 감소합니다.
대신, 재진입을 이용함으로써 이 조치는 예비 토큰의 수가 증가하는 것을 효과적으로 방지하여 방정식의 분모를 상수로 바꿉니다. 예치금의 ETH 금액은 여전히 감소합니다(즉, 각 재진입 호출의 분자는 더 작아짐). 장기적으로(몇 번의 재진입 반복 후) 상당한 수익을 올릴 수 있으며 재진입 반복이 많을수록 좋습니다. 이 공격을 "재진입 소액 결제" 공격이라고 합니다.
이미지 설명
이미지 설명
위의 그림은 작성자가 그린 것입니다.
각 포인트는 Uniswap에서 지불한 ETH의 고정 판매 금액을 나타냅니다. 예를 들어, 각각 350개의 토큰을 판매하는 20개의 "재진입 공격"에서 재진입 소액 거래 공격(빨간색)을 사용하여 약 22.192 ETH를 생성하는 반면 정상적인 조건에서 tokenToEthSwapInput 함수는 외부에서 20번 호출됩니다(각 호출에서 판매됨) 350 토큰), a 총 7000개의 토큰이 판매되었으며 수익은 17.44 ETH(파란색)에 불과합니다.
호출 횟수가 증가함에 따라 재진입 공격에서 나타나는 이익에는 분명한 차이가 있습니다. 합법적인 정상 거래(파란색)는 약 17.418 ETH를 생성하는 반면 재진입 소액 거래 공격(빨간색)은 약 22.324 ETH를 생성합니다. 파란색 점선은 시간이 지남에 따라 일정하지 않고 기울기가 작습니다.
코드 기여: OpenZeppelin,
참조:
참조:https://github.com/openzeppelin/exploit-Uniswap
https://smartcontractsecurity.github.io/SWC-registry/docs/SWC-107
3. 경제 모델 위험
Uniswap의 토큰 유동성이 제공하는 경제 모델은 ETH/ERC20 토큰 거래 쌍을 선택하여 자금 풀에 투입하고, 필요에 따라 동일한 가치의 ETH와 ERC20을 추가(동일한 가치는 1:1로 자금 투입)하는 것입니다. ETH 또는 ERC20이 교환되면 통화를 예치한 사람이 거래 수수료를 일정 비율로 공유할 수 있습니다(수수료는 0.3%).
여기에는 두 개의 자금 풀이 있습니다. 하나는 ETH용이고 다른 하나는 ERC20 토큰용이며 둘의 총 가치는 이론적으로 동일합니다. 그 중 ETH의 시장 가격은 상대적으로 명확하므로 이 ETH 풀의 시장 가치는 토큰의 시장 가치와 동일하다고 볼 수 있습니다.
예시: 1(ETH) * 2000(특정 ERC20) = 2000(2000은 상수) 구매자가 특정 erc20 토큰에 해당하는 ETH 100개를 교환하고자 할 때 구매자는 특정 ERC20 토큰 100개를 충전하여 입금 ERC20 토큰의 경우 계산 결과가 여전히 2000이 되도록 펀드 풀에 남아 있어야 하는 ETH의 양은 2000/(2000+100)=0.952이며 구매자가 얻을 수 있는 값은 1-0.952=0.048입니다(취급 수수료 무시). ERC20 코인 100개를 팔면 0.048ETH를 받는 것과 같습니다. 이것이 교환의 논리입니다.
이것은 가장 간단한 계산 방법이며 상수 함수 마켓 메이커의 계산 논리는 더 복잡하므로 여기서는 자세히 설명하지 않겠습니다. 다들 여기서 문제를 발견하셨겠죠 원래 0.05이더리움(계산방식: 100/2000=0.05ETH)을 얻었어야 하는데 교환 후 0.048밖에 못받았습니다. . 큰 미끄러짐이 있습니다.
이미지 설명
유니스왑 백서 5페이지
Uniswap의 유일한 경제적 매개변수는 거래당 0.30%의 거래 수수료입니다. 수수료는 사람들이 유동성 풀에 자금을 투자하도록 장려하기 위해 유동성 풀 토큰 또는 eth에 투자하는 참가자에게 인센티브를 제공합니다. 취급 수수료의 설계가 너무 높거나 너무 낮으면 각 펀드 풀의 자금 수준이 변경되어 유동성 공급자의 수익이 변경될 수 있지만 유동성 공급자의 자금에 직접적인 영향을 미치지는 않습니다.
요약하다
요약하다
유니스왑(Uniswap)은 AMM형 탈중앙화 거래소로, 이 글에서는 외부 리스크, 기술적 리스크, 경제 모델 리스크를 중심으로 다차원적으로 포괄적인 분석을 진행하고 있습니다.
심층 조사 결과 주요 위험은 외부 위험(즉, 프로젝트 당사자의 위험)이며 플랫폼 자체의 위험은 크지 않은 것으로 나타났습니다. 이것은 ICO와 같으며 그 자체는 새로운 자금 조달 모델이지만 일부 프로젝트 당사자는 이 모델을 사용하여 부정 행위를 합니다. 조항. 계속 지켜봐