Resolving the Multiple Withdrawal Attack on ERC20 Tokens

07/01/2019
by   Reza Rahimian, et al.
0

Custom tokens are an integral component of decentralized applications (dapps) deployed on Ethereum and other blockchain platforms. For Ethereum, the ERC20 standard is a widely used token interface and is interoperable with many existing dapps, user interface platforms, and popular web applications (e.g., exchange services). An ERC20 security issue, known as the "multiple withdrawal attack", was raised on GitHub and has been open since November 2016. The issue concerns ERC20's defined method approve() which was envisioned as a way for token holders to give permission for other users and dapps to withdraw a capped number of tokens. The security issue arises when a token holder wants to adjust the amount of approved tokens from N to M (this could be an increase or decrease). If malicious, a user or dapp who is approved for N tokens can front-run the adjustment transaction to first withdraw N tokens, then allow the approval to be confirmed, and withdraw an additional M tokens. In this paper, we evaluate 10 proposed mitigations for this issues and find that no solution is fully satisfactory. We then propose 2 new solutions that mitigate the attack, one of which fully fulfills constraints of the standard, and the second one shows a general limitation in addressing this issue from ERC20's approve method.

READ FULL TEXT
research
07/05/2022

Penny Wise and Pound Foolish: Quantifying the Risk of Unlimited Approval of ERC20 Tokens on Ethereum

The prosperity of decentralized finance motivates many investors to prof...
research
06/19/2023

Decentralized Valuation and Inflation Control for NFTs in Incentivized Play-to-Earn Web3 Applications

Non-fungible tokens (NFTs) are becoming increasingly popular in Play-to-...
research
03/05/2019

Token Exchange Games

Human societies engage in a number of games which use tokens as a means ...
research
08/28/2023

Evaluation of Non-Fungible Token (NFT)

The derivative of token standard of Ethereum blockchain, termed as Non F...
research
08/21/2019

Flexible S-money token schemes

S-money [Proc. R. Soc. A 475, 20190170 (2019)] schemes define virtual to...
research
03/23/2023

The Universal NFT Vector Database: A Scaleable Vector Database for NFT Similarity Matching

Non-Fungible Tokens (NFTs) are a type of digital asset that represents a...
research
05/10/2022

To incentivize or not: Impact of blockchain-based cryptoeconomic tokens on human information sharing behavior

Cryptoeconomic incentives in the form of blockchain-based tokens are see...

Please sign up or login with your details

Forgot password? Click here to reset