위험 경고: '가상화폐', '블록체인'이라는 이름으로 불법 자금 모집 위험에 주의하세요. — 은행보험감독관리위원회 등 5개 부처
검색
로그인
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt
BTC
ETH
HTX
SOL
BNB
시장 동향 보기
기술적 관점에서: 디플레이션 메커니즘 토큰이 취약한 이유
Eocene
特邀专栏作者
2023-03-12 02:42
이 기사는 약 1422자로, 전체를 읽는 데 약 3분이 소요됩니다
이 기사에서는 디플레이션 토큰이 공격받는 이유를 논의 및 분석하고 해당 방어 솔루션을 제공합니다.

개요

첫 번째 레벨 제목

블록체인에 디플레이션 메커니즘이 있는 토큰은 최근 자주 공격을 받았습니다. 이 기사는 디플레이션 메커니즘 토큰이 공격받는 이유를 논의 및 분석하고 해당 방어 솔루션을 제공합니다.

일반적으로 토큰에서 디플레이션 메커니즘을 구현하는 두 가지 방법이 있습니다. 하나는 소각 메커니즘이고 다른 하나는 반사 메커니즘입니다. 아래에서는 이러한 두 가지 구현과 가능한 문제를 분석합니다.

첫 번째 레벨 제목

연소 메커니즘

일반적으로 소각 메커니즘이 있는 토큰은 _transfer 함수에서 소각 로직을 구현합니다. 발송인이 수수료를 부담하는 경우가 있습니다. 이 경우 받는 사람이 받는 토큰의 양은 변하지 않지만 보내는 사람은 거래 수수료를 부담해야 하기 때문에 더 많은 토큰을 지불해야 합니다. 다음은 간단한 예입니다.

그런 다음 이 상황에서 발생할 수 있는 위험에 대해 논의합니다.

토큰 컨트랙트만 본다면 이런 작성 방식에는 사실 문제가 없다는 것을 알 수 있지만, 블록체인에는 여러 가지 측면을 고려해야 하는 복잡한 상황이 많이 있습니다.

일반적으로 토큰이 가격을 갖기 위해 프로젝트 당사자는 Uniswap 및 Pancakeswap과 같은 탈중앙화 거래소에서 토큰에 유동성을 추가합니다.

그 중 Uniswap에는 유동성 풀에 있는 두 토큰의 잔액과 준비금의 차액을 호출자에게 전송하여 잔액과 준비금의 균형을 맞추는 함수 skim이 있습니다.

이때 보낸 사람은 유동성 풀이 되는데 _transfer가 호출되면 유동성 풀의 토큰이 부분적으로 소멸되어 토큰 가격이 부분적으로 상승하게 됩니다.WDOGE) :

실제 공격 사례, 승자 도제(

WDOGE 계약의 _transfer 함수에서 block.timestamp > ClosingTime일 때 else 루프를 입력합니다. 코드 라인 21에서는 전송 금액이 발신인의 잔액에서 차감되고, 코드 라인 31에서는 발신인이 토큰을 소각합니다. 공격자는 이 수수료 메커니즘을 사용하여 위에서 언급한 공격 방법을 통해 유동성 풀의 모든 가치 토큰(WBNB)을 훔칩니다.

첫 번째 레벨 제목

반사 메커니즘

반영 메커니즘에서 사용자는 토큰을 보유한 사용자에게 보상하는 데 사용되는 각 트랜잭션에 대한 처리 수수료를 부과하지만 전송을 트리거하지 않고 단순히 계수를 수정합니다.

이 메커니즘에서 사용자는 tAmount와 rAmount라는 두 가지 유형의 토큰 금액을 가집니다. tAmount는 토큰의 실제 수량, rAmount는 반영된 토큰 수량이며 비율은 tTotal / rTotal입니다.일반적인 코드 구현은 다음과 같습니다.

일반적으로 리플렉션 메커니즘의 토큰에는 전달이라는 기능이 있는데, 이는 호출자의 토큰을 파괴하고 rTotal의 가치를 감소시키므로 비율이 증가하고 다른 사용자가 반영하는 토큰의 수도 증가합니다.

공격자는 이 기능을 알아차리고 해당 Uniswap 유동성 풀을 공격하는 데 사용했습니다.

그렇다면 그는 그것을 어떻게 사용해야 할까요? 또한 Uniswap의 탈지 기능으로 시작하십시오.

Uniswap의 예비금은 예비 기금이며 이는 token.balanceOf(address(this))와 다릅니다.

공격자는 먼저 deliver 함수를 호출하여 자신의 토큰을 파괴하므로 rTotal의 값이 감소하고 그에 따라 비율이 증가하므로 반영된 토큰의 값도 증가하고 token.balanceOf(address(this))는 적립금의 가치와도 차이가 있습니다.BEVO):

따라서 공격자는 skim 함수를 호출하여 둘 사이의 차액만큼 토큰을 전송함으로써 이익을 얻을 수 있습니다.

실제 공격 사례, BEVO NFT Art Token(

토큰 계약에 소각 기능이 있는 경우 유사한 공격 방법이 또 있습니다.

공격자는 이 기능을 이용하여 소각 기능을 여러 번 호출하여 tTotal 값을 줄인 후 유동성 풀의 동기화 기능을 호출하여 준비금과 잔액을 동기화합니다. 결국 유동성 풀의 토큰은 대폭 줄어들었고 가격은 급등했습니다. 그런 다음 공격자는 이익을 위해 토큰을 판매합니다.SHEEP):

실제 공격 사례, Sheep Token(

소각 매커니즘과 반사 매커니즘의 토큰에 대한 공격 방법을 해석하면 공격자의 공격 핵심 포인트가 유동성 풀의 가격을 조작하는 것이라는 점을 어렵지 않게 알 수 있다. 이러한 공격은 토큰의 반사 메커니즘에 참여함으로써 피할 수 있습니다.

요약하다

요약하다

첫 번째 레벨 제목

At Eocene Research, we provide the insights of intentions and security behind everything you know or don’t know of blockchain, and empower every individual and organization to answer complex questions we hadn’t even dreamed of back then.

더 알아보기:Website | Medium | Twitter

기술
Odaily 공식 커뮤니티에 가입하세요