What is EtherDoge
EtherDoge is an ERC-20 token on the Ethereum blockhain. View the whitepaper (or the "wowpaper") here. It was advertised as a successor to DogeCoin, a popular "meme coin" that's largely used for tipping to give a laugh..
How was EtherDoge distributing tokens?
There are two main ways EtherDoge was distributing tokens.
Airdrop
This has been a pretty popular way for reputable tokens to be distributed lately. The tokens are just given away to people, essentially. Usually the amount is x tokens per ETH in every address on the blockchain, but EtherDoge had people register their address and picked around 8000 to send ~5-20 million tokens each. This was finished sometimes last week.
Contests
This isn't as common. The creators of the token made posts on their subreddit having people submit entries to a CSS and a Minecraft design contest to win EtherDoge.
Sounds innocent and meme-ish enough , what's wrong?
I first realized something was up when a mod posted on their subreddit saying the token would become sendable this past Monday. Curious, I combed through the token contract on Etherscan There were two signs that something was up..
unlockTimeStamp
The first thing, and probably the most obvious, was the unlockTimeStamp. Now, it's not that unusual for a token to have a "live" date when it becomes tradable, but it is unusual for the creators to not know the actual date it goes live. Here is the source for the transfer function in the timestamp:
function transfer(address _to, uint _ value) returns (bool success) {
if (now < unlockTimeStamp && !\_lockByPass[msg.sender]) return false;
return super.transfer(_to, _ value);
}
That first part of the if statement, now < unlockTimestamp
that's how the contract checks if the contract should be unlocked yet, so unlockTimestamp should've been sometime on Monday, October 16th since that's when they were supposed to be tradable. However, if you check the Read Smart Contract page of the contract, which shows you variables like unlockTimestamp, you'll see that it's set to unlock at unix timestamp 1508774400. Plug this into any timestamp converter and you see it's actually Monday, October _ , _ 23rd*. Why would the developers lie about when the tokens become tradable?
setLockByPass
This is when I really started getting concerned. I'd never seen something like this used in a smart contract. I even googled it to see if it was used in any other contracts. Here's the source for setLockByPass:
function setLockByPass(address[] addresses, bool locked) onlyOwner{
for (uint i = 0; i < addresses.length; i++) {
\_lockByPass[addresses[i]] = locked;
}
}
What does this do? Well, it takes an array of addresses and a boolean, locked. It then sets the value in the address -> boolean map _lockByPass to the value of the locked boolean. Since the default boolean in Ethereum is false, all addresses have lockByPass false by default. Now, what does _ lockByPass do? If you check the code for transfer
above, you'll see the second part of the if statement references this && ! lockByPass[msg.sender]
What this does is allows the addresses with _. _ lockByPass set to true to transfer EtherDoge before the unlockTimestamp is reached .
After seeing this, I immediately checked if the contract owner had ever called this, and he did. It was called twice on Monday, October 16th, the day the developers said it would be tradable, and once on Saturday, October 14th. Overall, he turned on trading for just over 100 addresses. In fact, the transaction on October 14th was to exactly 100 addresses. Every one of those 100 addresses had 500 million EtherDoge (100x as much as each as the normal 5 million airdrop) airdropped 2 days before the setLockByPass call, and then .02 ETH sent to them each 2 hours after the setLockByPass call.
To recap, that is 100 addresses that the contract owner enabled sending EtherDoge for, and then sent them all 500 million EtherDoge and .02 ETH *
Okay, so how is the developer scamming people with these tricks?
Simple. EtherDelta. It's a decentralized exchange on the Ethereum blockchain that allows you to trade ETH and ERC-20 tokens without using anything besides the blockchain. The thing is, when you send tokens to EtherDelta, they're stored in their contract. Even when you buy a token on EtherDelta, it doesn't transfer, it just changes your balance in the contract .
So now that the contract owner can send 10's of billions of EtherDoge to the EtherDelta contract, and no one else can, they can control supply to the market as much as they want. Since the moderator told everyone that the launch was on Monday, October 16th, everyone put in buy orders for EtherDoge on EtherDelta trying to get it since they didn't get in on the airdrop. The seller started selling to everyone that created high buy orders, ignoring low ones, and since EtherDelta's address had _lockByPass set to false, nobody could withdraw.
As of now, the contract owner has only sent 1.55 billion EtherDoge to EtherDelta, but he's sold most if not all of those for over 200 ETH total, or >$50,000. Once the tokens become tradable for real next Monday, the price will tank and all the people that bought from the contract owner are going to be out thousands of dollars.
I also haven't even mentioned the fact that the contract owner has never called finishMinting(), so they can still mint new tokens whenever they want. Don't buy EtherDoge.
TL;DR
FOMO is real and it can lose you money. Do your research, learn to read smart contracts, and second guess everything before you buy an unproven token.
no scam if they give free tokens.
yes scam if they lie about the launch date, hord most of the tokens, and sell to people that think the token has launched when it hasn't. They gave some away, but they drove up demand by limiting supply and then sold it
You can easy look yourself that the unlock will be at 23th October. It is no Hidden.
Did you even read the post? I went over that. The developers kept saying the unlock was October 16th on reddit, and then they announced that they didn't know why transfers weren't working -_- even though it's obviously because they lied. Then a mod of the subreddit made this post today saying how they haven't been able to get any straight answers from the developers, and that they don't condone buying or selling basically because they realize it's a scam. When the community leaders of a project announce that they're quitting because they've realized they're promoting a scam, you should probably question the project.
Definitely it is a hi-tech scam! Normal trader (without programming experience) will never be able to understand or aware of this kind of scam. I wonder if it is possible to have a simulator of the smart contract for trader, and warn normal traders. Right now, people has to send out transaction directly to the blockchain for executing the code . So whether or not it can be executable, the issuers are first punished by the tx fee.
Congratulations @flygoing! You have completed some achievement on Steemit and have been rewarded with new badge(s) :
Award for the number of upvotes
Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here
If you no longer want to receive notifications, reply to this comment with the word
STOP
Hi and thx for the follow!
Leaving you an upvote and follow as well :)
Thank you for the article, very informative. I guess the moral of the story is to always read the contract before you do anything.
@OriginalWorks
The @OriginalWorks bot has determined this post by @flygoing to be original material and upvoted it!
To call @OriginalWorks, simply reply to any post with @originalworks or !originalworks in your message!
To enter this post into the daily RESTEEM contest, upvote this comment! The user with the most upvotes on their @OriginalWorks comment will win!
For more information, Click Here!
Special thanks to @reggaemuffin for being a supporter! Vote him as a witness to help make Steemit a better place!
well and good article with lot of info about these scammers... thank u for describing.
This is great investigative journalism. Thx!
what an excellent explanation ... Thanks!
Hi flygoing, nice to see your post. I started mine recently too. good luck and please follow or comment. thank you