It all started when I was trying to swap something on Uniswap. I chose the CoinGecko
list and it showed that I had 1600 airdrop tokens. Well, that’s weird. Why do I have these tokens?
It looks like everyone got them. Even if you created a new MetaMask alt, you would still get them.
1600 Airdrop tokens are worth dust on Uniswap, and if you wanted to swap it
for ETH, you would have to pay a few dollars in gas… so it’s not worth.
But I was confused why I even had these tokens in the first place,
so I searched up the contract address on youtube and was surprised to find out
that there were more tokens just like Airdrop that every ETH address holds.
So I added them all to an alt MetaMask for fun. I then wanted to see if any of these
[tokens] actually had any value, so I went to Uniswap to try to swap them. They either
had a tiny amount of liquidity or no liquidity at all. So these [tokens] were also worth dust.
And then I tried one token called Gift. As usual, it looked like it was dust again.
But Uniswap said there was a better price on Uniswap v1.
And there was a better price: of four thousand Ethereum, or over 3 million dollars at this time.
I couldn’t believe it. I was in shock. I thought that I had made it.
Someone made a treasure hunt to this Gift token, and I found it. I was rich.
To swap it, I first had to turn on expert mode, which would let me swap with a price
impact over 10%. I then approved the spend of Gift and swapped. But I got an error. I kept
trying again, but nothing would work. And it’s not just Gift. I realized so many
other free airdrop [tokens] have this same glitch of exactly 4194.18 ETH and a 49.78% price impact.
So anyway, what are airdrop tokens? First, let’s define what tokens are. While coins,
such as Bitcoin and Ethereum have their own blockchain and unique software,
tokens run on top of other networks.
Most tokens are Ethereum-based, but there are some that run on networks like EOS and Tron.
Let’s only focus on ETH tokens. Ethereum’s tokens don’t really work the way it seems,
and are actually built off of smart contracts that dictate how much each person owns.
So when you send a token, you are just updating a contract. Airdrop tokens utilize this by coding
in a starting amount for every ETH address. So every address will get these tokens for free.
However, It’s important to note that these tokens will not show up in Etherscan.
This is because these airdrop tokens are not broadcasted through the network.
If you actually wanted to send the tokens across the ETH network to everyone, that would cost a lot
of money in gas. For this very reason, everyone owns airdrop tokens, but they are only viewable
in MetaMask when the contract address is added. So I could theoretically make a
Jun token and give one token to everyone to advertise my youtube channel,
but it would be pretty useless, as I would have to advertise the token address first before
people even see the token, which kinda defeats the purpose of using a token to advertise something.
Well, there was actually this time where someone found an Etherscan glitch and
broadcasted a spam advertisement token to everyone, but I’m getting ahead of myself.
It looks like airdrop tokens are just random tokens made by people for fun.
So while I may not have become a millionaire, I still wanted to solve this mystery.
The first clue came when I was analyzing the transaction in Etherscan.
I wasted a dollar to authorize the spend of my Gift token on this contract made up of 0s.
Let’s just call it 0x0 for short. If you look at 0x0, you will see that
it has a lot of money. It’s an address commonly used as a token burner address,
where people can send it ETH or other tokens and be sure that it is lost forever.
You can think of this like burning money or destroying some Pokémon cards.
This is commonly done with tokens. For example, a new project might ICO a token and
promise to burn the rest of them, which then raises the price for the rest of the tokens.
So 0x0 isn’t really rich. It’s just coins that nobody will ever have access to again.
This is because Ethereum addresses are generated with a random private key pair.
There are some vanity generators that bash random private keys until you get a cool address,
but it gets exponentially harder the more characters you want.
Therefore 0x0 is a special address in the fact that its pattern is so unique.
The odds of generating a private key for 0x0 are impossibly small. The same goes with 0x1 repeating
and any other address with distinct patterns. They can also be used for token burns.
But after my initial clue of 0x0, I didn't really have an answer to other questions,
like why exactly did so many airdrop tokens show 4194.18 ETH and 49.78% price impact
when the max value was inputted? And why did Uniswap even choose 0x0 as the contract?
So I posted it on the Uniswap Reddit, but it got removed. At this point, I really didn’t
know the answer to this, and I was ready to post this video admitting I didn't know the answer.
Maybe someone would know. But as I was reviewing my video footage,
I realized the amount of ETH had gone up from 4194.18 to 4199.64. Then it hit me.
Uniswap is a decentralized automated market maker that allows users to swap one token for
another instantly. It does this through liquidity pools. In Uni v1, a liquidity pool consists of two
currencies, a token and ETH. If you have some tokens and want ETH, you add some tokens to
the pool and take out some ETH and vice versa. Uniswap uses a formula of x * y = k. Where x is
the amount of token, y is the amount of ETH, and k is a constant depending on the pool size.
Let’s take a look at the Gift/ETH pool. As we add more and more Gift, you can see that the
subsequent amount of ETH keeps decreasing. This is a principle of Uniswap based on the formula xy=k.
As x increases, the slope of y decreases to a limit of 0.
The more Gift you sell, you will get less and less ETH per additional Gift until it reaches
near zero. This is called the price impact. So if we put a ridiculous amount of Gift into the pool,
we will drain the pool of nearly all its ETH. Wait, this number looks a bit familiar.
As it turns out, it is the exact amount of ETH in 0x0. And if we do the same thing by spamming ETH,
we see that the amount of Gift we get approaches 1000, which also happens to be the amount of Gift
0x0 owns. Remember the Gift contract dictates that every ETH address starts out with 1000 Gift.
So this is the reasoning for the price glitch. Uniswap is treating 0x0 as a liquidity pool.
When we trade 1000 Gift to ETH, we are increasing x by a factor of 2, so y should decrease by a
factor of 2. Therefore, we receive half of the ETH in the 0x0 burner address,
which is a lot of money. It actually turns out to be a bit under 50% because
Uniswap takes a 0.3% fee and gives it to the people who actually supply the liquidity.
Also, I could mess with this pool by sending 0x0 some of my Gift tokens,
but gas isn’t looking too good and I don't wanna waste more money on this.
Finally, why are some airdrop tokens being routed through 0x0? In Uni v1, you would usually see the
transaction approve the spend of your token on some contract that contains the token and ETH.
However, these coins route it through 0x0. This is because the [token] just doesn’t have
an exchange on Uniswap, so it will default to 0x0. A lot of tokens do not have an exchange,
because starting one requires deploying a smart contract, which costs a lot of money.
It looks like Uniswap is smart enough to prevent users from swapping ERC-20s over 0x0
and it just shows that there is no liquidity. However, these glitched airdrop tokens do
something to get around it. They all seem to have some weird code on Etherscan.
This is why not every airdrop token produces this glitch.
Free airdrop tokens have no purpose.
They're really just fun random tokens you can add to any wallet if you want, although they
will spam your token list. And don’t be fooled, as they are valueless. In my investigation, I found
some videos promoting these airdrops potentially being worth thousands of dollars or something,
but again, it’s just a Uniswap glitch and these tokens will never be worth anything.
Uniswap version 2 fixes this. There is no longer one contract per currency,
and everything is routed through one singular contract. It’s pretty cool.
However, even with this, Uniswap falsely shows there is a better price on Uniswap v1,
which can trick people into trying to swap it there and waste a bit of gas.
So it's January 15th, and it looks like Uniswap patched the glitch.
It no longer says there's a better price on Uniswap v1.
However, you can still see the glitch if you manually go over to Uniswap v1.
Also, they added another confirmation for when you try to swap a custom token
so you don't get scammed or something.
I guess it's good but then my video is also outdated now so I don't know.