Hacker News new | past | comments | ask | show | jobs | submit login
Ethereum: what’s about to happen (docs.google.com)
107 points by llamataboot on July 30, 2015 | hide | past | favorite | 60 comments

I like the idea of Ethereum but it does not solve distributed application needs IMO. I fear it is not able to solve large-scale app problems considering it only has the computation power of a "1999 phone", requires every to store (or at least know about) all state, and requires everyone up to date to run EVERY computation. For instance, take a distributed Reddit where posts can be mappings, even by deferring the costs to the viewers in terms of small amounts of wei per view, it surely wouldn't be enough to cover the expense of centralized permanent store (I understand Whisper is coming but it isn't permanent enough).

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?

This is probably the most cogent criticism that can be leveled against ethereum right now- The performance constraints for ethereum dapps are pretty extreme. There are indeed plans to solve the problem you describe (read posts on blog.ethereum.org mentioning scalability) and these problems are probably solvable, but a working system remains far off.

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."

I think criticism is valid in regards to TPS. But for storage it's misguided. The blockchain is meant for consensus, storing reddit comments or cat pictures is an expensive and inefficient misuse of the blockchain.

Hashes in the blockchain, when necessary, and then markets which will sell you a file when presented with the hash. Storage technology can be whatever.

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!

36 cents will get you a gigabyte stored for a year with 99.999999999% durability and 99.99% availability at S3, accessible at multiple gigabits per second.

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.

Ethereum doesn't aim to store massive data within the blockchain itself. Instead, we're building an additional component into the network, Swarm, which essentially acts as a DHT/DFS. There are already experimental branches within the main repos, they function, but probably at a POC state.

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 :)

True it might be misguided for Ethereum, but I meant my comment to be taken in the context of other distributed crypto tech being worked out. It was more a criticism of the blockchain. Surely we can find some middle ground for a "web-of-trust" between a few nodes and everyone. I think maidsafe settled on 32...I forget, and I don't know enough to know the dangers there.

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).

Ethereum is indeed not meant for distributed computing, You should use Ethereum only for consensus and avoid any unneeded processing, the blockchain is there to avoid 'cheating' it's not meant to be a backend.

As for frameworks I guess you are referring to Embark: https://github.com/iurimatias/embark-framework

Agreed. Right now it's a single shared processor emulated with cryptography and massive replication - but that's not an architecture that will get you supercomputer performance.

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:


That's because you're looking at the platform with the wrong perspective...

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.

Here's another angle on Ethereum: I think it's going to put Walmart, Amazon, Uber and Airbnb out of business.

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. (niran@niran.org)

Maybe I'm overly optimistic. That's a risk I'm willing to take. You should too.

I've heard this specific dream pitched before and while I think it's a great idea it still doesn't solve the issues around shipping specifically. One of the things Amazon does really really well is the logistics of shipping the product to the customers and while a bunch of people coming together to buy goods straight from the producer would cut out the profit taken by the middleman it wouldn't help with getting the items to your door. Individual manufacturers simply can't negotiate the contracts that Amazon has with UPS and individual manufacturers don't have the the warehouses and the massive infrastructure Amazon has. If a producer made 10,000 widgets and sent them out to 10,000 people that is a lot more difficult than simply sending a pallet to Amazon and having them sell the items and send them to the customers. They aren't just some website that lets you buy things, there is an enormous infrastructure that supports the commerce.

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 is going out of business, too. UPS owns warehouses, trucks, and planes, none of which are very defensible advantages. Like the companies I listed, they're a network effect company. Those companies are going away because bigger networks can be formed on the global computer by anyone who wants to participate—warehouse owners, truck drivers, bike messengers, etc.

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.

I think there will be a similar flood of ideas of business to run on ethereum that are ahead of the market.

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.

When dot com companies failed, their work was thrown away or sold for pennies on the dollar to companies who ignored it. Decentralized systems built on Ethereum are forces of nature: they don't get shut down and don't depend on any group in particular for their functions.

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.

what prevents Amazon, specifically Amazon, from pivoting and doing the same? They certainly have some forward thinking people within the org, and an enormous and dedicated work force behind them. Do you think they're sincerely overlooking this?

Is an Amazon that pivots to take no profit on its sales still "Amazon"? I think it's different enough that my claim stands.

I don't understand your point. Are you saying that a commercial chokepoint on all transactions is cost-free?

My understanding is that Ethereum adds a cost to absolutely all transactions. Am I wrong?

You are correct. You have to pay someone a tiny amount: the cost to make executing your transaction, storing the blockchain, and mining a block worthwhile. That cost is far less than the monopoly rents that beneficiaries of network effects collect. It is cents per transaction.

What about user interface and user experience? That's a key area that all the successful companies you've listed do very well, and something that decentralized approaches traditionally don't do well.

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?

Exactly, and also this will make users to pay more for almost the same service if they just get what they want without to much complexity

There's actually no justification for charging for this.

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.

Hi, I'm the author of the piece, and the release coordinator for Ethereum. If you have any questions about the launch, please ask me. You can watch the new network stats here https://stats.ethdev.com/ or download a client at https://ethereum.org/ and get involved!

I get a certificate error when I visit the page from my Android phone. http://imgur.com/69AR8JG

Thanks, I've passed that on to our web guys.

I'm interested in more about the sustainability of this project: what's paying the bills now, and what's going to ensure the bills are payed in the future?

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'.

We still have a substantial reserve of bitcoin and fiat currency, plus the pre-mined Ether which the Ethereum Foundation holds for further development. I can't speak on this officially, but Vitalik Buterin has mentioned it in the past https://www.reddit.com/r/ethereum/comments/2zoawi/ethereum_f...

The ethereum foundation was given a sizeable endowment of ether currency to help advance development, as part of the launch. It will take 3-4 days before we'll have any idea of the market price of ether, and I won't speculate, but this will be a critical data point to answer your question.


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!

We really do hope that there will be mass adoption, and that we can continue to build out Metropolis (a web-browser that extends the security of the block chain right the way through rich user apps) and Serenity (parallel supercomputer performance from blockchains.)

But only the people can decide.

How much thought has gone into preventing underhanded [1] smart contracts? It seems like, if this catches on, there could be large rewards for sneaking in hard-to-notice "mistakes". And given how little attention people already pay to EULAs...

1: https://en.wikipedia.org/wiki/Underhanded_C_Contest

The solidity programming language is expected to support embedded proofs in the near future, so that contract developers can specify invariants that are guaranteed to hold true if the contract compiles... so you'll be able to state things like "No person other than the depositor in a bank will be able to withdraw the money" and the compiler will generate a proof to verify this, visible to any users of the contract.

(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...)

A very good question about a very hard problem.

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.

So, one potential idea is to incentivise developers to "audit" smart contracts in repositories. The metrics of the audit score can then be shown to the end user to let them make the decision as to whether a smart contract is safe or not.

It's a start.

Bitcoin's big push was to make central banks obsolete. It's a temporary success, long-term failure because the blockchain grows infinitely. Soon only big corps will be able to afford maintaining instances of the blockchain. The more successful it is, the less it achieves its original goals.

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.

Actually, storage on blockchains has two different solutions.

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.)

Thanks for this response. I'm not liking things a little less.

Thanks. I think it's a much less troubling problem than power consumption for mining, frankly. Serenity, serenity, serenity.

The block chain does not grow 'infinitely' it grows linearly at a predictable maximum rate.

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.


This is good writing, although it doesn't fulfill the promise at the beginning of explaining the blockchain. Very intrigued by Ethereum now.

Good writing indeed. And for a technical audience, I also like to use the following (if oversimplified) description of Ethereum (quoting from [1]):

"... 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?"

[1] https://ristoalas.wordpress.com/2015/07/30/what-is-ethereum/

"by the end of this article, you’re going to understand blockchains well enough to decide what they mean to your life."

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.

I already understand mining. I didn't need to learn about mining. It's just looking for hashes with successively larger numbers of zeros at the ends as the difficulty increases (or the other way around.. the difficulty increases as the zeros do). But I wanted to understand the blockchain, which I didn't, and still don't. Apparently it being distributed is important in some way, and there is some mechanism by which it gets updated with records of recent transactions (again nothing to do with mining) but I don't know the details, and would like to. The promise was not fulfilled. But otherwise, great article. BTW I have no database background but do know what a transaction is.

Ethereum is getting a lot of heat for being "pre-mined". What stops someone from running an alt-ethereum blockchain which is not pre-mined? AKA a non-pre-mined Ethereum fork?

1. It would be more prone to 51% attacks, unless they use a different mining algorithm than the more popular chain

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

A desire for a funded entity to continue development work.

How do I unload this ETHEREUM crap. I just don't see any exchanges accepting it. And I don't see value of ETHER listed anywhere!!!!

How do I unload this ETHEREUM crap. I just don't see any exchanges accepting it. And I don't see value of ETHER listed anywhere!!!

How do I unload this ETHEREUM crap. I just don't see any exchanges accepting it. And I don't see value of ETHER list anywhere!!!!

How do I unload this ethereum crap. I just don't see any exchanges accepting it. And I don't see value of ether list anywhere!!!!

So how come Satoshi makes a brilliant breaktrough and released a really well designed/coded opensource project (Bitcoin) to the world without asking anyone for a cent, and then promptly disappearing (dead?) with all the coins he mined at the beginning not moved despite now being worth billions.

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.

I think we have just delivered quite a lot: the network is up and running, transactions enabled Monday or Tuesday, and the code is all FOSS and available for download.

We have shipped.

From what I gather one has to pay you (in bitcoin of course) to get ether to even use the network.

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.

You're a bit misinformed. If you've got a decent GPU, there's nothing stopping you from firing up the mining software and earning some ether right now. In a few days you'll also be able to buy it on exchanges.

Programmers generally have to be hired and paid.

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.

Crowd funding would have been fine. What you did was pre-mine. This undermines the currency. Nobody is going to trust a currency where you hold so much of it and there is no way to prove you gave as much away as you clam you did.

Earlier today, they completely delivered the product they had promised during their crowdsale, and more. As a participant in the crowdsale, I am fully satisfied with the release of geth 1.0.0 and the Frontier production network.

(with the caveat that the network is still limited until Monday or so when a regular transaction load will be possible)

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact