7 ms·
That's not how it works at all. When you connect a wallet, the only unrestricted access it gives the app is the ability to see your public address. The app doe
by dcolkitt 4y ago
That's not how it works at all. When you connect a wallet, the only unrestricted access it gives the app is the ability to see your public address.
The app does not have the ability to sign transactions on your behalf without your explicit approval.
- gowld 4y agoWhat does a user see? How should a user investigate a transaction to check what it does? Is there any good automated explanation/visualization of the effect of a transaction?
- bko 4y agoThis is what I do: When a site initiates a transaction, you can see the address you're interacting with. You should then look up the address on etherscan to see if it has public code and a lot of transactions. Then you should search that address in google and see if the main site links to it. A lot of projects have a list of addresses in their github. You can also inspect the function code. Once you're comfortable, you should add it to your saved addresses on your wallet and next time you'll see the name of the address. Also you can create a new throw away address, transfer just a little bit of coins to it and interact with the contract. If it does what you think it should do, then you can create a new account and do it again. It's not perfect. It could be a proxy, so you're not guaranteed the contract you're interacting with. There's no easy way to "see what a transaction does". You just need to do risk management.
- happyopossum 4y ago> When a site initiates a transaction, you can see the address you're interacting with. You should then look up the address on etherscan to see if it has public code and a lot of transactions. Then you should search that address in google and see if the main site links to it. A lot of projects have a list of addresses in their github. You can also inspect the function code. Once you're comfortable, you should add it to your saved addresses on your wallet and next time you'll see the name of the address Oh, that’s it? So simple.
- pmcjones 4y agoAny suggestions for how this could be scaled up to the general public (the vast majority of whom aren't comfortable reading code and have no idea what github is)?
- bko 4y agoThere may be a public repo of known addresses. Of course it would be centralized and carefully curated, but I think that would be a good start. I wish wallets made it easier to create a burner throw away account or there were some trusted contracts that would create an account, do something and then transfer back to another account. I don't know if anything like that exists or even if the workflow is generalizable enough
- tsimionescu 4y ago> Also you can create a new throw away address, transfer just a little bit of coins to it and interact with the contract. If it does what you think it should do, then you can create a new account and do it again. How much money would you be spending on this scheme (in transaction fees)?
- davidmurdoch 4y agoI'm currently building in the ability to inspect a transaction's effects before it is run directly into MetaMask. So... we'll alleviate some of the problem Soon (TM)
- jensvdh 4y agoProblems that have been solved by regular banking decades ago. Jesus Christ the stupidity of crypto amazes me every day.
- davidmurdoch 4y agoI'm not Jesus Christ, but I understand your sentiment. (let's keep the discussions civil)
- im3w1l 4y agoPeople want the benefits of regular banking without the drawbacks.
- inkblotuniverse 4y agoUnless you want to send money to truckers
- s5300 4y agoWhere have you heard anything about having issues sending money to truckers? The only thing I can imagine you’re talking about is when some wannabe domestic terrorists rightfully had their funding declined.
- djbusby 4y agoMaybe was poke at the "Freedom Convoy"?
- inkblotuniverse 4y agoMLK would've had his bank account frozen. If I want to send somebody money, I want to send them money; no matter what you call them. Crypto seems like a convenient way to do this, and the more repressive governments get, the more of a use-case there'll be!
- zeven7 4y agoIt depends on the website and the wallet, but either way the wallet app tells you what permissions it's giving the website. My guess is people don't pay attention or think about it. But it's not as parent described "the way the crypto community designed it". It's actually the opposite. The crypto community designed wallets that give you control over what third parties are allowed to do with your accounts. It's a lot more than what debit cards offer (I say debit cards because credit cards do of course offer a good rollback system).
- api 4y ago> My guess is people don't pay attention or think about it. This is a well known fact in secure system design. Most people just click through dialogs. If you must get their attention you have to make the dialog huge and scary but then people will usually just turn back instead of reading. Scary dialogs make it seem like you should never say OK.
- a4isms 4y agoAnd not just secure system design. “Undo” is powerful in any app, not just because it can roll a change back with a single click, but because scary dialog boxes (“Really, really REALLY delete this file? It can not be recovered once deleted, so check this box saying you know what you’re doing before clicking OK”) don’t work for regular apps, either.
- worksonmine 4y agoHow would you undo a crypto transfer, and is that a feature that fits in that system?
- zeven7 4y agoThere are ways it could be built into the contract. But most don't support that operation today.
- 4y ago
- dlubarov 4y agoThe parent is probably thinking of websites which make use of ERC20's 'approve' method, which "Sets `amount` as the allowance of `spender` over the caller's tokens." It's used by a lot of DeFi apps, often with an unlimited amount. It doesn't give control of the tokens to a website, but rather to a contract. It's fine if the contract is secure and immutable, but of course that's not always the case.
- quickthrower2 4y agoIt depends on the site of course. It is easy to create a site that asks you to provide your wallet private phrase. The DNS MyEtherWallet hack that I vaguely recall exploited this. On the other hand, good crypto citizens will just use the web3 library that will request permissions on an ad-hoc basis from your wallet extension (such as MetaMask). However even then you can scam someone using social engineering: Just tell them "how" to do XYZ. E.g. "To get your free mini-monkey NFT, just connect your wallet with your bored ape, and when the confirm box pops up from metamask just click OK". The fiat equivalent of course is a site that asks you to log into paypal and send them $1000 - but that is way more obvious than the crypto equivalent, where you interact with a smart contract and it isn't necessary clear ahead of time what will happen. Especially as smart contracts might be used for, for example user registration. If the user registration endpoint asks for money then you could get scammed that way.