I see a couple of Ehtereum frameworks out there using things IPFS for storage. Are there any plans for Ethereum to solve concerns about forcing everyone to run all calculations or should it always be seen as a small DHT that you only want to use when you have real auditability concerns?
That said, I think ethereum dapps are going to be substantively different from traditional apps people are used to- I think there's a lot of opportunity in this type of system for people who don't take the mindset of "This system is bad at running existing app X therefore it is bad for everything."
That's the smart plan, I think. I really want to take a crack at those storage markets in-browser, use a distributed hash table and WebRTC to pay people for leaving a browser open and allowing us to store stuff on their hard drives!
When gigabit class connections are pervasive, the idea of paying people to store data in an open web browser is maybe feasible, but certainly not profitable for any involved party.
Before then? I dont even see the point.
Furthermore, a 1Gbit DL/200Mbit UL link costs $13.70/month where I live, so I think it it is already very much viable, but maybe the distribution will be skewed towards more internet friendly countries :)
But yes, I realize that for storage it is ideal to use another service, I just fear normal developers inability to tie the two safely...frameworks like Embark do seem help there (though I find IPFS too slow for my stateful needs).
As for frameworks I guess you are referring to Embark: https://github.com/iurimatias/embark-framework
The work on that thread - getting Ethereum to supercomputer status - is called CASPAR and you can read more about the efforts to get a formal proof for it here:
When the Uber app needs consensus with the banks in order to mark a payment as "legit", it uses just few kb's of bandwidth and a couple of requests to communicate with Braintree. You don't run all your apps on Braintree's shoulders.
The same way, I can build a normal app, or NW.js wrapper for my desktop app (HTML/JS/CSS) and use localstorage as db, or remote servers as backends to process the heavy tasks. Then I'd connect to the Ethereum network just when is required consensus. I don't have to run all the app on Ethereum.
That's how I see it. You don't use a blockchain as a DB to store Reddit posts. It's a poor choice. Ethereum is very good for other use cases.
Consider Amazon. They buy goods from manufacturers, then sell those goods to consumers for higher prices and pocket (or spend) the profits. Pretty simple. They provide a great service that makes it easier for people to buy and sell stuff, and they get paid well to do it.
But what if all of Amazon's customers wanted to band together and cut out the middleman? They could use their collective buying power to get the same prices from manufacturers, but eliminate the profit and just pay lower prices. It's possible, but it'd be hard to achieve. Who would run the system? How would they make decisions? It's so hard that the customers would give up, finish buying their disposable consumer goods, watch an episode of Humans and go to sleep.
Or one of them could come up with a solution. "Hey y'all, I wrote the software for a marketplace system to connect us all directly to manufacturers, but I know you can't trust me to never take a cut if I run the system myself. So instead, I'll run it on a global computer that no one controls. Programs on the global computer can never change, and no one can fake their data. That means the system will be out of my control and the rules are set in stone. It's everyone's system."
That global computer is called Ethereum, and it lets us build new kinds of software that can coordinate human interactions so powerfully that this guy's solution just might work. You could build other kinds of apps on Ethereum too, like voluntary social safety nets, apps that let your future smart appliances talk to each other long after their manufacturer shuts down, or pretty much the entire financial industry—all without any middlemen to charge you or restrict your access.
If you know how to program, you should learn how to build apps on Ethereum. And not just the code that runs directly on the global computer, but web apps and mobile apps that you already know how to build, just with the global computer as the backend instead of a private computer. I will help you get started. (email@example.com)
Maybe I'm overly optimistic. That's a risk I'm willing to take. You should too.
This is something you can get a better sense for when you back Kickstarter projects and see just how much time is spent around packaging and shipping. It is a huge task that a lot of inexperienced companies get totally swamped by.
Edit: I would also like to add that if we bought goods straight from the manufacturer then we would have to deal with greater ship times as well. If you're ordering something from a factory across the US it's going to take a week to get to you. But if Amazon or another marketplace has already purchased the item and stores it a day away from you or in the same city (knowing that there is a chance someone like you is going to order one soon) then you can get the item much faster. That convenience is something that really only a logistics and warehousing middleman can do effectively and people pay for that convenience.
Edit 2: I don't work for or am affiliated with Amazon.com - I just have seen into the belly of the beast at a few online retailers and have good sense of what goes on in there.
UPS gives Amazon a good deal because they push so much volume, and it's way easier to sell to one company than it is to sell to millions of them. But the global computer makes it feasible to directly connect every producer with every consumer—it won't be hard to sell to millions of them. If a shipper needs guaranteed future business, customers can band together and put a contract for lower prices on the global computer that enforces a payment or reputation penalty if a minimum spending limit isn't reached. Decentralization gives everyone the economies of scale that once required the backing of a megacorporation.
Most of the advantages of scale are reducible to middleman-free interactions on the global computer.
Back in the dot com boom, there were people who understood the potential of the internet and pushed plans to take advantage. Many failed to hold together because there had not been a large enough migration of users to the new medium.
I agree with you about Ethereum's potential, but I think the first businesses to succeed will be low overhead outfits that can handle waiting out the slow transition.
I am thinking about what would have happened with Amazon if they had started AWS, Amazon Instant Video, and Amazon Prime Now back in '97. They would never have been able to pay developer salaries waiting for 2011 to come. The biggest upside on Ethereum will be a company that understands the medium, starts small, and presses the envelope.
Some products might be too early, but they'll just keep running with their small user bases until the market is ready. Companies should proceed with caution, but individuals who want to make an impact should start today.
My understanding is that Ethereum adds a cost to absolutely all transactions. Am I wrong?
The typical user doesn't care how it works under the hood--they just want their room/driver/goods and services quickly and with a minimum of fuss. Being good at this will remain difficult and expensive even in a world where Ethereum dominates. Perhaps it competes better on the infrastructural level, against the likes of credit card companies, banks, and cloud services than against polished b2c applications?
The "cost" of making the transaction includes development costs, which you've had $18m to pay for (isn't that enough?) and computer cycles, which are distributed anyway.
So what you're actually doing is adding a commercial chokehold and red tape into a system designed for the open distribution of value and information.
You're simply aiming to become an alternative monopoly.
Thiel approves, of course. I think the idea is a very bad one, because I believe in removing all friction and cost of entry to the absolute maximum extent possible - not in automating red tape with contract code.
Bitcoin survived long enough to become within a reasonable approximation of self-sustaining... is Ethereum basically someone spending their early-adopter Bitcoin collection as runway?
Edit: found this blogpost - https://blog.ethereum.org/2015/03/14/ethereum-the-first-year...
My TL,DR: Ethereum development is under a non-profit initially 'VC-funded(-ish)' (with Bitcoin) vs. how Bitcoin itself was organically 'bootstrapped'.
My gut feeling is that the technology is sound, but it remains to be seen whether or not enough of a community grows to sustain things like the headcount behind the glitzy PR campaign.
I wish the Ethereum team great success in this endeavor; if nothing else it is uncharted territory!
But only the people can decide.
(That said, this is an EXTREMELY ambitious feature and I'm mildly skeptical that they'll be able to deliver it... but the team working on Solidity has put out very good work so far...)
We've discussed a variety of approaches. The one I like best is that "contract interpreters" offer a professional service, which is that they read a contract and tell you what it will do. You pay them for this service, and they have a public bond of sufficient size that if they screw up, a claim against their public bond will make the person affected whole.
This assumes a few things: dispute resolution services, flexible escrow agreements, and a lot of human judgement in a relatively corruption-free environment. My guess is that this is going to be expensive to provide, and might well rest up against existing contracting infrastructure (i.e. KPMG type agencies might offer a blockchain auditing service with insurance in some imagined futures.)
Hence I'd expect a long tail from high value, deeply audited contracts with insurance and bonds to back them up, through to collaborative pools that just note when they've been ripped off, down to "it worked for me!" reviews on forums.
I'm not sure there's a better solution than this, but it's a topic of ongoing research and discussion.
It's a start.
Ethereum uses a blockchain and therefore has the same fault (although democratization is not a stated goal of Ethereum). I'm sure it will be a useful platform for some but the pre-mining thing leaves as bad a taste as all other alt-coins that popped up. It's the big-business version of the digital Ponzi scheme.
I'm still waiting on Maidsafe.
1) Disk space halves in price roughly every year and a half. Currently 2tb costs $100 USD. So odds-are the price of running a full node continues to stay about static, unless transactions increase faster than 2x every year and a half.
2) clients can calculate the current state of play for every account, and then shed the past transactions past a certain point, or amortize the cost of the storage pools by each keeping a fragment of the total transactions.
Remember, transactions can't be forged, only omitted, so it's possible in all cases for a set of clients to collaborate and ensure that between them they have a complete history.
And these are just the naive approaches. See https://blog.ethereum.org/2015/06/26/state-tree-pruning/ for a more sophisticated approach (by Vitalik Buterin.)
For any given point in time the block chain will be at max a certain size, given that Moore's law grows faster than the block chain we should be safe in assuming that any reasonable computer in the future will be capable of storing the block chain.
Seriously, we're talking like 20 GB per year at current rates... The entire thing fits comfortably on an iPhone, let alone a $60 1TB drive.
"... In a way, Ethereum is like a cloud infrastructure that is extremely open. You can run any code you like in this cloud, as long as you follow some rules. Firstly, the code you run in Ethereum has to be essentially open source: you can only run your code if you publish it, unmodified. Secondly, even your database contents are public. (Privacy is still possible with client-side encryption, though client-side encryption will not work if the server also needs to read the data. In that case, preserving full privacy is still possible, though it may require sophisticated cryptography). The openness goes further: the underlying cloud infrastructure has no single owner. Rather, Ethereum is a fully distributed system, enabled by the block chain technology.
Why would anybody need this much openness? There are certain applications that truly require this level of trust and auditability. The Bitcoin currency is one example. Bitcoin already uses the same underlying block chain technology as Ethereum (in fact, Bitcoin pioneered it). It is unlikely that Bitcoin could have succeeded otherwise. Indeed, who would trust a startup that essentially prints and sells their own money, and whose founders are not known?"
I very deliberately didn't explain mining or blocks or consensus protocols because, really, that's technical gubbins that fits between "BEGIN TRANSACTION" and "COMMIT TRANSACTION" in an SQL database.
Unless your technical concerns are between those two statements, you don't need to care about mining. That's where we've been going wrong explaining blockchains so far.
2. The usefulness of contracts involving money is directly proportional to the stability and aggregate value of the base currency, and a copycat will not be able to match the official net on this measure.
3. The grim trigger equillibrium would doom such a blockchain if it becomes successful (look up on wikipedia)
4. There would be no dev team to support ongoing development if it overtakes the main net.
5. Network effects
Yet every day, yet another project such as Ethereum, Maidsafe, Storj, OpenBazaar popup make grand promises via fancy websites and raise millions worth of bitcoin and then ... ... nothing.
BTW #3 on > https://en.wikipedia.org/wiki/List_of_highest_funded_crowdfu...
Please stop with all the promises and "crowdfunding" (which downright smells) and actually deliver something.
We have shipped.
Now once again contrast it to how Satoshi quietly created probably one of the most important projects of the last decade without asking for a cent.
You do understand that the whole crowdfunding thing quite literally sends all sorts of alarm bells rolling, especially since so many other project are doing the same.
Now granted out of all the projects i listed above yours is the most promising and the most ambitious, but once again the whole thing stinks.
We do not know what Satoshi's financial arrangements were, and we do not know if he mined early on in the network using accounts which are not publicly associated with him.
I do not think your position is stable under close examination.
We took an approach to that, and we've produced the code. I don't see that as a problem. My permanent project, http://hexayurt.com is a fully FOSS refugee building solution that hasn't taken people's money (not a charity, and we don't accept cash donations) and there are good reasons for that, but not all public works can be produced by volunteers. Sometimes you need 100% of a professional for years, and unless they're going to live on the streets, their rent needs to be paid.
We should not require FOSS programmers to self-fund.
There's a reason this is in the HN guidelines.
I'd just like to note I'm not their buddies and specifically downvoted you because:
1. You're repeating yourself.
2. You're not being realistic about what it takes to write a complicated programming project.
3. You're not really being clear what about their crowdfunding position 'stinks' besides that crowdfunding is commonly used to fund scams (and even that I got through inference).
Fuck them and their fucking scam
(with the caveat that the network is still limited until Monday or so when a regular transaction load will be possible)