4

I'm wondering if by interacting with a contract, it could affect my ETH or tokens on other contracts.

I'm asking because I'm seeing many EOS airdrops on ethereum that require us to send a 0 ETH transaction, some with data, to their contract address to claim their tokens.

And because I never heard of such a scam ever happening, I participated in an airdrop that required me sending 0 ETH but no data to a contract. I received their tokens immediately after sending it, but I can't help but wonder if it could later mess with any of my other tokens.

The contract was the following: https://etherscan.io/address/0xb562ec0261a9cb550a5fbcb46030088f1d6a53cf#code

2

Generally no, an address can be used to interact with various different contracts and your address interacting with Contract A should not give any special permissions to that contract with regard to Contract B.

However, there are various ways to trick someone so that they think they're interacting with Contract A when really they're interacting with Contract B. This is particularly true if you're using a dapp, because the dapp is responsible for formatting transactions that it sends to the contract, and although tools like Metamask will ask the user to preview them, it's hard to reliably vet the transactions you're sending.

Also, some contracts use signed data rather than relying purely on the transaction sender, and that signed data could be used with a different contract than the one you expect.

So generally it's safer to use different addresses with different contracts. Depending on the value held, it may also be a good idea to store the more valuable addresses on a different computer or hardware wallet.

  • So for example, to trick someone even when sending 0 ETH, an airdrop site could list the contract address of a token I own, and tell me 'Hey, send 0 ETH to this contract with the data XXXXX...' and unknowingly I would be calling a function on that contract with arguments that would send my tokens of that contract to the hackers address. – user3137646 Jun 4 '18 at 23:37
  • Also, in your last paragraph you mentioned it may be a good idea to store the more valuable addresses on a different computer or hardware wallet. But if an address from a hardware wallet interacts with a contract, other addresses on that same hardware wallet won't be affected even though the private keys were both derived from the same seed, right? – user3137646 Jun 4 '18 at 23:37
  • Right, using a different address on the same hardware wallet would close down some angles of attack compared to using the same address on the same hardware wallet. The things we're worrying about involve the site somehow tricking you into doing one thing when you think you're doing another thing, and more separation makes that harder for them. – Edmund Edgar Jun 6 '18 at 22:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.