본문으로 이동

전송 수수료 토큰의 위험

전송 수수료 토큰은 실제 수령량이 전송량보다 적을 수 있고 매수, 매도, 지갑 간 전송에 서로 다른 수수료를 적용할 수 있습니다. 라우터 지원, 권한, 시뮬레이션, 소액 왕복 테스트를 확인하는 방법을 설명합니다.

업데이트

교육 목적으로만 제공되며 투자 조언이 아닙니다. 투자로 인해 손실이 발생할 수 있습니다.

핵심 답변

전송 수수료 토큰은 전송 로직 안에서 가치의 일부를 차감하므로 수령인이 받는 수량이 transfer 또는 transferFrom에 전달된 수량보다 적을 수 있습니다. 차감분은 소각, 재분배, 다른 지갑으로 전송되거나 유동성에 투입될 수 있습니다. 발신자, 수신자, 거래 상황에 따라 규칙이 달라질 수도 있습니다.

주요 위험은 공시된 수수료율에만 있지 않습니다. 매수, 매도, 지갑 간 전송 요율이 서로 다를 수 있고, 특정 주소는 면제되거나 차단될 수 있으며, 특권 계정이 규칙을 변경할 수도 있습니다. 따라서 견적이나 성공적인 매수만으로는 나중에 합리적인 비용으로 매도할 수 있다고 입증되지 않습니다.

작동 방식

일반적인 자동화 시장조성자 라우터는 명목 입력량으로 각 출력량을 계산할 수 있습니다. 반면 Uniswap V2 Router02는 전송 수수료 토큰 전용 스왑 함수를 제공하며, 페어 잔액 변동에서 실제 입력량을 추론하고 수령인의 잔액 증가분을 amountOutMin과 비교합니다. 호환성은 토큰 기호만이 아니라 정확한 라우터, 경로, 토큰 동작에 달려 있습니다.

토큰 수수료는 풀 수수료 및 가격 충격과 복합적으로 작용합니다. 다중 홉 경로는 전송 로직을 여러 번 실행할 수 있고, 면제 규칙이나 매수·매도 판별 때문에 실효 요율이 방향에 따라 달라질 수 있습니다. 현재 온체인 상태를 기준으로 진입과 청산 비용을 따로 추정해야 합니다.

예시

거래자가 1,000 USDC를 사용한다고 가정합니다. 풀 수수료와 가격 충격으로 가치가 2% 줄고, 이어서 5%의 매수 수수료가 부과됩니다: 1,000 × 0.98 × 0.95 = 931. 시장 가격이 그대로인 상태에서 10%의 매도 수수료와 추가 2%의 거래 마찰을 적용하면 약 US$821를 돌려받습니다: 931 × 0.90 × 0.98 ≈ 821. 시장 가격이 하락하지 않아도 왕복 손실은 약 18%입니다.

이는 설명을 위한 예시이지 견적이 아닙니다. 차감 순서는 다를 수 있으며 수수료율, 유동성, 경로, 컨트랙트 상태도 두 거래 사이에 변할 수 있습니다. 추정치에 의존하기 전에 현재 컨트랙트와 풀 상태를 읽고 동일한 지갑과 정확한 경로로 시뮬레이션해야 합니다.

위험 및 점검 사항

  • 컨트랙트 주소와 배포된 코드를 확인합니다. 수수료 로직, 면제, 차단 목록, 최대 수수료 제한, 소유자 역할, 업그레이드 통제, 일시 정지 권한을 식별합니다.
  • 견적 출력량과 시뮬레이션에서 수령인 잔액이 변한 양을 비교합니다. 경로의 모든 라우터와 홉이 전송 수수료 동작을 명시적으로 처리하는지 확인합니다.
  • 같은 지갑에서 매도를 시뮬레이션한 다음 전액을 잃어도 감당할 수 있는 소액으로만 왕복 테스트를 합니다. 테스트 성공은 이후 규칙이나 유동성이 그대로 유지된다는 보장이 아닙니다.
  • amountOutMin을 실제로 받아들일 수 있는 손실 한도에 맞춥니다. 0으로 설정하거나 슬리피지를 반복해서 넓히면 가격 보호가 사라지지만 리버트, 차단 목록, 과도한 토큰 수수료를 우회하지는 못합니다.
  • 신뢰할 수 있는 최악의 순청산가치를 기준으로 포지션 규모를 정합니다. 매도 시뮬레이션 실패, 미검증 코드, 불투명한 권한, 또는 관리자가 실질적인 지연 없이 수수료를 올리거나 전송을 막을 수 있다면 진행하지 않습니다.

흔한 오해

  • 오해 1: 전송 수량이나 이벤트가 실제 수령량을 증명한다. 수령인의 잔액 변화를 확인해야 합니다. 전송 수수료 연동 코드가 잔액 차이를 쓰는 데에는 이유가 있습니다.
  • 오해 2: Gas나 슬리피지를 높이면 어떤 매도든 성공한다. Gas는 거래 포함 여부에, 슬리피지는 최저 가격에 영향을 주지만 어느 쪽도 컨트랙트 로직을 우회하지 못합니다.
  • 오해 3: 소유권을 포기하면 토큰을 변경할 수 없다. 프록시 관리자, 다른 특권 역할, 외부 설정 컨트랙트가 여전히 동작을 통제할 수 있으므로 실효 권한 경로를 모두 확인해야 합니다.

관련 주제

출처

탐색

위키 검색...