I would be terribly afraid to write a real world retail system in Solidity. One stupid mistake and all the money is gone, without much you can do about it.
And without formal verification, bugs are certain sooner or later.
You could insulate here by simply transferring to a hardcoded user wallet at relatively frequent intervals (like once a day). Worst case then, you lose a day of sales.
Not Ethereum, but smart contracts have been demonstrated in Bitcoin to guarantee delivery of certain immaterial goods for which you can build specialized zero-knowledge proofs. You could for example buy cryptographic keys this way.
It would at least enforce agreement about what is being purchased and how much each item costs. Not getting what you purchased would still have to be resolved by other means, but it would avoid scenarios where I tried to buy something for $1 and got charged $5, or where I tried to buy 1 item and got charged for 10, or similar.
I don't know if that's enough to make it a compelling use case, but it's kind of cool.
Seems like paypal accomplishes the same thing. I have to explicitly agree to be billed a specific amount through paypal's checkout process and it is not possible for the merchant to bill me again unless I explicitly agree to a recurring subscription (and even then, the recurrence is managed by the paypal subscription API, preventing the merchant from receiving any more funds than what I explicitly agreed to)
I don't think any blockchain technology accomplishes anything that couldn't also be accomplished with a trusted third party. The innovation, if you see it that way, is always in doing things without any trusted third party.
That's sort of side-stepping the point. if a trusted third party is a satisfactory solution for the problem then a more complex and obscure trustless alternative is not compelling.
Additionally, your response is in the context of the question: "How does Ethereum help with retail?". Your answer is "it helps to avoid erroneous charges", but that doesn't answer the question of why Ethereum is a compelling option compared to a system that has already solved this problem without the inefficiencies of the blockchain approach.
You seem intent on getting me to defend a point I'm not making. I'm just describing what Ethereum could provide here and what makes it different from other solutions. The closest I came to actually praising it in any way was calling it "kind of cool." I'm not actually attempting to say, in any way, that this is actually useful or the way everything should be done or anything like that.
I'm not intent on anything, I am just pointing out that your stated reasoning for why eth is useful in a retail context isn't compelling. It'd be like if someone asked "why is an iPad useful for web development" and you responded "well, iPads support bluetooth keyboards so users don't have to input code on a touch screen"... ok well that's true, but it's not compelling because keyboard input is already a solved problem without the need to confine your development environment to the limitations of a tablet.
Nobody said anything about "compelling." The person asked, "How does Ethereum help with retail?" I answered. What exactly is your problem with me here?
Ok... replace compelling with insightful or noteworthy. You're being pretty defensive and seem to be taking my responses personally. I'm discussing your reasoning, not your personality. This is a discussion forum, and as you stated, someone asked a question, you answered, and I explained why I find your answer to be lacking, it's as simple as that. I didn't attack you or insult you so I'm not sure why you perceive a simple reply to your comment as my having "a problem" with you. If you find mild criticism to be so harrowing you're more than free to ignore my replies at your own discretion.
The fact that you don't see a use case where this solution could shine doesn't mean others can't see it... Paired with bittorrent or IPFS this is perfect for digital goods...
The problem with digital goods is it's trivial to copy and give away at a fraction of the original price or even for free. This should especially be considered in this space, where we talk about trust-less scenarios.
Not a fair comparison, you have the same risks even when you pay for digital goods sold via conventional channels. Having the files encrypted in IPFS and then sell the decryption key is not that different.
Also don't forget that digital goods include stuff like "subscriptions"...
Im no real fan of eth, as my use case is more as a store of value in a crypto. But if you were actually providing a service, not a good, it could have applications?
The "specific examples" are so obvious that I presumed that any HNer could guess at least some of them, but I understand that not everyone has had the "aha!" moment with blockchains....
Here's an specific example, and certainly not the only one: I sell a digital good valued in $20k and I don't need to give paypal $580 (2.9% fee), it can be accomplished with $0 fees with the same level of trustworthiness. You just got rid of the middlemen...
Now multiply this sale for 100 articles my store sells daily and you'll begin to understand why this is so powerful.
$20,000 digital goods are so uncommon it might as well be a fantasy. Of course, it all adds up, and I will concede that you will save money on fees, but you can very easily end up paying a similar price for conversion surcharges and unpredictable daily price swings that can easily cost you more than 3% (though, there is the possibility that you might gain some money in the conversion, but that type of volatility has its own indirect costs in terms of business planning)
> $20,000 digital goods are so uncommon it might as well be a fantasy.
$20k subscriptions in finance (like a market data live feed) are not only common but even cheap. Now ask yourself why Wall Street is so much more hyped with blockchains than SV...
> You can very easily end up paying a similar price for conversion surcharges and unpredictable daily price swings
You don't have to pay with ETH, you could do things like peg your ERC20 token to the USD, 1 of your token = $1, the underlying asset (ETH) can do whatever it wants with the price, your tokens are decoupled from its value. The monetary policy is up to the party that issues the token... Remember: this is "programmable money".
> $20k subscriptions in finance (like a live market data feed) are not only common but even cheap
I'm not saying $20k digital goods are non-existent, I'm saying that they're an extreme niche that does not reflect practical reality for the vast majority of businesses.
> Now ask yourself why Wall Street is so much more hyped with blockchains than SV
Because SV is more often composed of individuals with a deep understanding of technical topics while finance is more often composed of people who are less knowledgable on these topics and more susceptible to buzzwords and hype (not that this doesn't exist in SV, but it is even worse in finance). This is evident by the fact that nearly nobody in finance is using blockchain tech outside of experimental research and buzzword bingo (unless you count crypto gamblers and traders).
> you could do things like peg your ERC20 token to the USD, 1 of your token = $1, the underlying asset (ETH) can do whatever it wants with the price
Except that this is even worse than Eth because arbitrary custom tokens are of questionable liquidity at best and impossible to liquidate at worst.
Sure thing. Cryptomoney is very advantageous for merchants because their funds cannot be frozen nor are they vulnerable to chargebacks or any other type of restrictions placed on them by financial companies attempting to discourage or incentivize specific behaviors. On the other hand, in the centralized world, consumers enjoy many protections from fraudulent and incompetent merchants and gain nothing by participating in a system where all consumer protections are absent.
What? Yeah they can. Have an escrow that releases the sale price to the seller and additional security deposits to both parties when the buyer sends proof that they received a nonce shipped with the physical item. You can even add a refund mechanism by allowing the buyer to send back another nonce along with the returned item, which when redeemed returns all escrows back to whoever originally paid in.
There is a saying that goes "If it's not broke, don't fix it". What problem are we solving here exactly by replacing a centralized Shopify / Amazon / E-bay by the solution you've described? Is it better from the common user's perspective?
I understand your not wanting to put your money into a bleeding edge technology, but there are /plenty/ of ways that Ethereum is working on the scaling problem:
1. Sharding and shard-based consensus algorithms are already in development and can be deployed after PoS hits.
2. Raiden offers scalability solutions for certain DApps.
Why is this considered a solution? All it does is formalize Vitalik's control over the network. If he doesn't like it, it gets forked.
Not to mention, do you know how few Ethereum nodes there are that /actually/ verify the contracts? Proof of Stake isn't going to incentivize anyone to execute the contracts on the scale that is needed to maintain this network. Sharding won't work if there aren't enough people to work with.
What about DoS contracts? I know for a fact, that I can write code to brick SSDs by writing as much as possible to them.
I honestly have no idea why anyone thinks joining into a botnet that allows arbitrary code execution is okay.
Furthermore, all it takes is a single vulnerability in the Ethereum VM to cause a chain split that could, theoretically, throw every node off.
But with the store itself running in the blockchain (I think that's how it works), so it's a lot harder for the FBI and co to infiltrate and take down. Of course, they could instead create legislation that illegalizes the use of Ethereum or any similar blockchain technology.
There's a much simpler solution. Cops sell drugs on the market. Sellers have to physically mail the drugs to the customer, so they need a mailing address. Then instead of mailing drugs they raid the house. Pretty easy. And to get sellers they can buy drugs and trace the drugs they bought back to the dealer.
The FBI may not be able to take down the entire store, but they don't have to.
The first issue is addressed by a reputation system (e.g. like in LocalBitcoins where traders have the history and reputation). For cops to get a good reputation would mean actually selling drugs to a lot of people.
And the second issue: what if cops traced the package to a country where selling these drugs is legal (e.g. generics in India)?
In an anonymous/pseudonymous system you can fake your reputation. If you can launder the coin being used, you can reuse it to create a bunch of fake sales and purchases with a randomized (but positive) score attached to the transactions (or some subset of them, people don't always provide ratings). This establishes the seller (and the buyer) reputations and allows them to interact with others.
An account (seller or buyer) with a positive reputation could be hijacked if their computers are compromised or they reveal just enough PII for an investigative team to track them.
Re second issue: It may be legal to sell (drug) in (nation). If it's not legal in (other nation), then you're breaking the law by sending it to (other nation) even if you're in (nation). Local legality does not protect you entirely, though it may shield you partially (through your nation not supporting extradition). But should you enter (other nation), be prepared to be arrested (this has happened several times in the US).
Reputation systems need to have more than just the number, they need to have a date, and they need to have out-of-band communication points where prospective buyers can see anything said about sellers outside of the transaction-level reputation system. Silk Road at least had this. So how many months/years is the cop account going to operate for, and how many fake sales can they get away with without selling a legit thing to someone? If the system is using bitcoin, each fake sale needs to use real bitcoin (and pay transaction fees), and since site owners have an incentive to find and get rid of fakers cops need to make sure their coins are adequately mixed too. To not actually ever distribute anything, how long until multiple people complain that attempts to buy resulted in the item being delisted? Or if they actually do get to buy, how many times are the cops going to sell and deliver illegal goods in a manner that will give them positive reviews sometimes with pictures (like good package obfuscation)? The real protection for buyers is that cops don't spend nearly as much resources (with the exception of maybe a couple items / circumstances) going after buyers as they do going after sellers.
The protection for sellers is that it's actually pretty hard to track one down from a package. Not impossible but hard. (And you might even get the wrong seller. The seller you buy from might just be buying from someone else and entering your information for delivery, like drop shipping. If you're concerned about a seller, you might even pay a premium to sell their same item at a loss and wait for someone else to take the buy risk for you.)
It's interesting to look at known dark market arrests, buyers tend to go down to controlled deliveries of certain items but there's not all that much commonality in arrests. https://www.gwern.net/DNM%20arrests#analysis
No reputation system is perfect, especially in an anonymous setting.
For the second issue, I guess they wouldn't do anything (though I'm pretty sure selling drugs to someone in a country where it is illegal is always illegal). But unless the only dealers on there are doing that they can still pretty easily catch dealers. And, even with a perfect reputation system, once you catch a dealer you can locate the addresses of all the customers he sold to and bust them, or keep his online business running for a while and busting buyers until his reputation runs out.
EDIT: actually, does Ethereum even allow for hidden information between two parties? Isn't it just a public ledger so everyone can run the code and verify? That means anyone could get all the shipping addresses
For messaging you'd have to use some sort of public key encryption to protect the message. When thinking of platforms like Status.im I wondered the same thing for messaging, but they also have an actual client, not just on the blockchain.
This is so cool! I was starting to research the design of something like this...
The ERC20 token idea is also great, people then would have a reference implementation for their own tokens... it could unlock a new wave of DApps. Kudos!
And without formal verification, bugs are certain sooner or later.