Ethereum is a world computer. As in, it acts like a single public computer that can perform computations for anyone who is willing to pay for them, but instead of this computer being run by a third party, it's run by the network as a whole.
This is useful for any situation where you would usually need a trusted third party to perform some computations or enforce one side of a bargain - for example ecommerce/escrow, trading, voting, bets, issuing stock/currency, plus other things that probably have not even been thought of yet.
I agree, it can be a pretty wishy-washy mission statement at times. But then again, so was the idea of a global communications network where anyone could communicate with everyone and publish their own content in the 1980s.
Compared to actual Python code, or Ruby code, or any code that you can imagine, Ethereum VM code is a hobbled down child's toy. Think: Gameboy from 1995. The memory is scant. The performance, abysmal.
> This is useful for any situation where you would usually need a trusted third party to perform some computations or enforce one side of a bargain - for example ecommerce/escrow, trading, voting, bets, issuing stock/currency, plus other things that probably have not even been thought of yet.
You can do all of those things with Bitcoin. We don't promote it much because no one has cared to use any of it for years. It's always hooked in investors, though. Lots and lots of investors.
Example: I bet a friend that Hillary will be the next president. We create an Ethereum app/contract/whatever and fund it with $50 (worth of 'ether') each. When the election rolls around, we want to pay the winner automatically, but how can you do that?
You could have a rule to check some 'official' source on the internet but that data could easily be faked or unavailable. Then what?
If this kind of app is not suited to Etherium, then what are some good examples of Etherium's capabilities?
There are a few ways to act as the oracle who indicates what the outcome of an event was. You can tell users to just trust you, which is what every centralized prediction market does with few problems. You can pick a few trusted oracles and require a majority vote. Or you can use any data that is served over a TLS connection so the outcome can be cryptographically verified, which is what Oraclize.it does. All of these approaches work for Gnosis markets.
We're in the process of defining economic interactions—both existing and novel interactions—as entries in a digital historical record to eliminate the need for middlemen in much of our economy and give everyone access to financial tools that were once limited to the wealthy and their corporations. Social interactions that don't involve money can be built as well.
Join us. Let's build software that users control.
(I've tried explaining these as applications that no one controls, but that has a wild west connotation that isn't applicable.)
> the user's choice to use the application in the first place.
Right, but if none of the users can even run the so called "peer-to-peer" component, what's the difference between that and run-of-the-mill centralized DB software? Either way nobody but the chosen few can directly access the DB.
Users can run a node of the peer-to-peer component if they want. Anyone can. They just don't have to.
That trait is far from being unique to blockchains.
But no, users aren't in full control of cloud software.
> Users can run a node of the peer-to-peer component if they want. Anyone can. They just don't have to.
After 18 months of block size debate, this is deja vu. No, anyone can't run a node if you make it cost $5k/mo
it's also a statement that's simply not true. the parties that usually control financial and legal systems might not control it. it might be the case that no single person or single organization controls it. but to say that "no one controls" it is false. there are people whose input controls it. if that were not the case, it would not be useful.
Ethereum solves this problem by creating truly virtual machine that does not have physical location. If somebody wants to tamper with the execution there is no address to drive to or datacenter to cut power from. Even service providers themselves can prove that they have locked themselves out. Without ethereum you just have to take their word for it.
This all comes with caveats. Radical transparency, everyone can see your code and when it is running. Cost, you need to pay for every instruction to keep the system running and to prevent spamming. It's a shared resource, you need to wait for your turn and the computer is very slow.
Is there usecase for such contraption remains to be seen.