Hacker News new | comments | show | ask | jobs | submit login
New Kid on the Blockchain (nytimes.com)
226 points by drcode on Mar 28, 2016 | hide | past | web | favorite | 188 comments

Ethereum becomes useless as soon as it interacts with the real world. Its brave new world of digital contracts works fine for creating simple gambling games or 'provably fair' Ponzi schemes, but as soon as a piece of code on the blockchain has to rely on a real world piece of data, you lose all of the benefits of the system.

You want to write something related to (say) a share price, or property ownership? Then your code needs to trust an external system providing the data, and the users need to trust that other people will honour the 'facts' decided by your program on the blockchain.

You want to create even a simple system that opens a lock when someone pays money? (The much-hyped Slock.it startup selling 'smart' locks) The blockchain makes no promise that a physical lock will operate based on bits in the blockchain. You have to trust that someone isn't cheating you.

And why is this need for extra trust a problem? Because once you require trust, you are back into the real world where we already have real solutions to these Ethereum based problems, that rely on trust (e.g. Share dealing, property sales, etc). By moving onto the blockchain, you have gained nothing and only complicated matters.

It's like the IoT: putting a blockchain into an existing system is just as helpful as wiring your fridge up to the Internet. For anyone getting seriously involved in Ethereum, sorry for your loss.

> For anyone getting seriously involved in Ethereum, sorry for your loss.

I appreciate good criticism, and you bring up an important point (which the digital currency communities have solved so far in an ad-hoc manner using "oracles", look it up if you aren't already familiar with it. At best it's a half solution, but it's not quite as bad as you portray here).

But why add that last statement? Just to be a jerk? Revel in your superior understanding/arrogance? I don't get it.

Edit: And for the record, I own no Ethereum and a few cents or dollars worth of Bitcoin, not sure how much.

What you're looking at right there is the very high cost of the toxic environment being nurtured by Theymos and his supporters.

For those who don't know, Theymos is the name of the person who controls the most important communication channels: /r/Bitcoin, Bitcoin.org, and others. He has a clear and stated agenda and makes no bones about his policies. In short he curates social media channels to reflect his point of view and hide opposition.

The blatant censorship and the armies of trolls arguing their convoluted logic have ended most polite and reasoned conversation on the topic.

Which came first? The toxic discussion boards or the toxic blockchain scammers?

Sorry if it sounded superior, it was not meant in that way. "sorry for your loss" seemed to become a very common phrase on most Bitcoin-related discussions where someone posted how they made a mistake, trusted a con, got scammed etc. There would always be someone saying sorry, perhaps someone tipping the poor unfortunate 0.5 cents out of sympathy, and an army of others revelling in pointing out which of the many hundreds of 'obvious' precautions they should have taken to avoid their misfortune.

My prediction is that many many Ethereum users will be hearing the SFYL phrase when their promised 'trustless' system fails or the armies of scammers converge on a new blockchain.

I wasn't sure what to make of riprowan's above accusation that /r/bitcoin has become a toxic environment, but you've pretty much confirmed it.

Sorry for your loss.

To take your Slock.it example, isn't Ethereum still adding value to the interaction even if your trust is broken? You have a cryptographic proof with a timestamp that you transacted with the individual, who then failed to follow through.

Suppose every user who "slocks" something has to put up a stake, or an account with some Ether in it. If there is then a dispute a user could submit it to a decentralized jury of some sort, also putting up their own stake, and which ever party loses has to pay damages from the linked account.

Ethereum isn't interesting solely because it allows computations, but also because it provides a immutable datastore (as bitcoin does) that then can be used in Smart Contracts and systems. I see it as a platform for building trust, not a guarantee of trust.

How do you prove that they did not follow through? It's the ebay/brick problem all over again and i see absolutely no way a blockchain could make it better (but many ways it could make it worse).

"Decentralized jury", aka p2p conflict resolution sounds quite expensive and like a system even more ripe for gaming: this would not be servers slowly heating a room for some fractional hint of a reward, this would be people who would be extremely unlikely to donate their time unless they have some form of hidden agenda (which might be as generic as white supremacists, to pick any random group, always voting in favor of disputants who drop subtle hints of the "right" ethnicity in their problem description texts). And due to the extra-legal nature of the system, there would not even be a law against it.

Why does it need to be a fractional hint of a reward? There are numerous way a system like this could be set up to incentivize jurors.

As for your second point the proposed solution for that, as mentioned by varav in another comment, is Schelling Point[1] consensus, as described[2] by Vitalik Buterin.

In essence, you call multiple random assessors, with no knowledge of each other, to respond to your given question, or in this case to pass judgement. They're then rewarded based on how close they are to the "average" or consensus. Augur[3] and Truthcoin/Hivemind[4] use a similar idea, and the former is deployed live.

I don't think there's an automatic or immediately clear solution, but its by no means impossible, and the value added by Ethereum could justify coming up with one.

[1]: https://en.wikipedia.org/wiki/Focal_point_%28game_theory%29

[2]: https://blog.ethereum.org/2014/03/28/schellingcoin-a-minimal...

[3]: https://augur.net

[4]: http://bitcoinhivemind.com/

If randomly called assessors can decide not to assess, the subset of actual jurors stops being random. The market research industry is battling this problem all the time: it's easy to poll opinion from stay at home moms and retirees, but it's near-impossible to access most high income groups (and the implicit selection within that group that derives from this difficulty will make the results pretty much useless, psst, don't tell their customers).

If you incentivize assessors enough to make the rate of non-assessors sufficiently small, you not only make the process very expensive, you also open the door far and wide to non-assessing by not seriously considering the options and selecting one of the "truths" at random. Market research has this pretty much under control because they ask so many questions in one go and random-voters tend to enter subjectively-random values that are quite visible to statistical analysis, but i doubt this could be transferred to conflict resolution, because the requirements for a serious answer are so much higher there. I really doubt that this is solvable, not every problem is a good match for a crows-* solution.

Great points. This is a big selling point of Ethereum that could potentially be fundamentally flawed, so really interesting to consider.

I'm curious what you think of using a blockchain as a conflict resolver with a large company on the other end. Essentially, instead of having your average joe resolve the conflict, the user can pick eBay, Amazon, etc. to act as resolver.

I realize there is no incentive for established companies to provide this service, but I see it as quite empowering for the consumer and seller so maybe someday people will fight for it. I personally think that if this was to work, it wouldn't be a mom & pop shop providing conflict resolution, instead it would be a large semi-transparent entity like eBay. All blockchain would do is provide a trusted medium for everyone to transact on.

The way I understand you (which might be off quite a bit), the natural candidates for that kind of service would not be Amazon or Ebay, it would be insurance companies. "Sorry, I can't do business with you, seems like my conflict resolution provider does not have a peering point with yours" might be part of a perfectly reasonable conversation some day.

But are we still looking at problems solved by a blockchain or are we already looking at problems caused by it? Honestly, I think I've lost track at some point.

"There are numerous way a system like this could be set up to incentivize jurors."

i find this statement worrisome on its face. for matters of the legal and/or moral variety, i don't want jurors to have an incentive. i want them to be compelled by law to execute the duties appointed to them by the democracy they participate in. jury duty should not be a financial opportunity.

'They're then rewarded based on how close they are to the "average" or consensus.'

similarly, i do not want a juror who's aiming to give the same answer most people would give, which sounds like a perverse sort of guessing game. i want a juror who will consider the evidence and pronounce a judgement based on their understanding of the evidence and the law. i want a juror to have the opportunity to exercise their right to jury nullification. etc.

i'm not saying that the current western implementations of democracy and jurisprudence are perfect. but they have at least grappled with a bunch of philosophical questions about what say an individual might have. and while i'm a big believer in the potential of things like the etherium and bitcoin blockchains to make our lives better and to facilitate relationships we couldn't have had before, i'm vary wary of the feeling that these systems by their very existence imply clear well-defined solutions to old political and social problems. that is not the case. the existence of a robust tool does not get you out of having to think philosophically.

You have a cryptographic proof with a timestamp that you transacted with the individual, who then failed to follow through.

Do you, though?

One large problem with bitcoin is that you cannot prove that you don't own a given address.

IF this is also true for Ethereum, all you really get is proof that you sent money to an address; not that the address necessarily belongs to anyone.

Well the address would be registered into the Slock.it system, so you have proof that a certain lock belongs to a certain address.

In a way though your point still stands, a user could always claim that someone else put the listing up or someother situation beyond their control, UNLESS there is previous history within the slock.it ecosystem, which would be very easy to see.

But you can prove that you controll an address. To solve your concern you only transact with people who have proven in a publicly verifiable way that they control the address they provided you with.

>To solve your concern you only transact with people who have proven in a publicly verifiable way that they control the address they provided you with.

And how can those people prove that they didn't receive your money?

As in, I want to dispute that the address you've sent money to is under my control.

> your code needs to trust an external system providing the data

As for the reliability of external data sources to a contract running on Ethereum, there are multiple proposed solutions.

One is to use some sort of reputation tokens similar to what Augur[1] - a prediction market built on Ethereum; employs.

Another solution that was suggested by one of the co-founders of the Ethereum project is to use "Schelling points"[2] as guides since a large number of non-communicating reporters of events will most likely converge at what is closest to the truth[3].

> other people will honour the 'facts' decided by your program

I don't really see that as a technical limitation of Ethereum. IANAL but, if the terms of the smart contract can be codified into a legal agreement, then the decisions of the program can be made enforceable by law.

[1]: http://augur.link/augur.pdf

[2]: https://en.wikipedia.org/wiki/Focal_point_%28game_theory%29

[3]: https://blog.ethereum.org/2014/03/28/schellingcoin-a-minimal...

I agree that oracles make many use-cases over-hyped, but IMO you shouldn't overlook that Ethereum is far better at transacting ETH than Bitcoin is for transacting BTC.

ETH has a powerful use case as programmable money which settles faster and cheaper than any other, and has native support for payment channels and other complexities not only because of it's Turing complete language, but because it does not use bitcoin's UTXO architecture.

Not all interested in Ethereum view smart contracts as the best use case.

> Ethereum is far better at transacting ETH than Bitcoin is for transacting BTC.

Care to elaborate the benefits of using ethereum for value transfers vs. bitcoin? Block size limit is an obvious advantage, but what are the others?

> ETH has a powerful use case as programmable money which settles faster and cheaper than any other

That is quite a claim, which makes me doubt if you know what you are talking about. In blockchain-based systems the costs are related to market dynamics. Eg. miners can decide what they put to blocks and at what price. Or is ethereum somehow fundamentally different in this aspect?

> and has native support for payment channels and other complexities not only because of it's Turing complete language, but because it does not use bitcoin's UTXO architecture.

Payment channels are perfectly supported by Bitcoin, what do you mean by "native"? Is it how much easier to use payment channels in ETH in practice, are people actually using them?

Why is ethereums account-based architecture better than Bitcoin's UTXO architecture? Isn't really obvious to me.

14 second low-variance block times is one that makes an impression from a user perspective.

>In blockchain-based systems the costs are related to market dynamics. Eg. miners can decide what they put to blocks and at what price. Or is ethereum somehow fundamentally different in this aspect?

Both Bitcoin and Ethereum are fundamentally different from current payment systems, and as Ethereum goes to PoS, it will likely be quite different than Bitcoin's PoW. Both probably represent an improvement on current transaction methods, i.e. credit card with 1-2%, plus $0.2 to $0.3 flat processing fees.

>Payment channels are perfectly supported by Bitcoin, what do you mean by "native"?

I mean that off-chain channels can be integrated without changes to the current Ethereum code.


>Why is ethereums account-based architecture better than Bitcoin's UTXO architecture? Isn't really obvious to me.

For bitcoin one txn requires n signatures for n unspent outputs. For Ethereum one txn requires just one signature. This has consequences for efficiency of micropayments and payment channels.


Adoption of segwit in Bitcoin will pave the way for use of Schnorr signatures, offering comparable efficiency gains.

Segregated witness and other changes seem like positive news for bitcoin scaling.


Here's an article by Ethereum's creator on the reasons they moved to an account-based architecture: https://medium.com/@ConsenSys/thoughts-on-utxo-by-vitalik-bu...

Take your head out of the sand. Everything is far easier to program with an actual programming language (even a somewhat mediocre one, like ethereum's solidity). It's always amusing to see the vast number of hoops that one must jump through to shoehorn functionality into bitcoin script (a non Turing complete assembly).

He asked a reasonable question; give a reasonable answer. For example 'bitcoin script' or 'non Turing complete assembly' is not a term that makes sense. Describe specifics.

It's pretty simple: you can use an actual programming language with Ethereum.

If you're not familiar with Bitcoin, "Bitcoin script" is the pseudolang that must be used to program Bitcoin. One of its most prominent features is that it has no loops. Most Bitcoin applications involve a ton of jumping through hoops to even make them work at all. The equivalent programs on Ethereum are short and look like C.

If Bitcoin can add real programmability, Ethereum is done for. But so far, the Bitcoin community has not even been able to change a single constant (I'm referring to the block size debate).

Ethereum relies on a defined opscode language, if anything this is the new thing about Ethereum. The return function in Bitcoin is storage, store the opscode in the return function. In Ethereum you store the opscode in a special data field.

The thing the Ethereum client adds is the ability to take the data in the transaction storage (weather it be return or a defined datafield makes no difference) and pass it through an EVM to generate the current state. So there is no reason for that functionality to be limited to just the Ethereum client.

You would take that piece of the client and run the opscode in the return data storage across several transactions.

I thought this was obvious to anyone who understands the discussion on a reasonably technical level. I suspect many posters in this thread are just Ethereum investors with no programming knowledge.

Slock.it has a long way to go, but you could imagine tamper evident/resistant hardware where the integrity and origin can be externally validated.

You'd still need to trust the manufacturer, and that an entity with significant (nation-state? Fortune 50?) resources hasn't successfully tampered with it, but that's a lot easier than trusting the average owner of a lock.

1) No, you can't. Besides, am I really going to get to examine this tamper-evident lock on the front door of your decentralised-Airbnb rental before paying for it? Not a chance.

2) Locks could be connected to the Internet without any messy block chains getting in the way. It would really on trust, but you wouldn't need any nation-states behind it. (You can also rent locks without internet connectivity at all and without blockchains, so Slock.it is really a double layer of wasted complexity)

If you are sure that the Ethereum project will fail, I'd be happy to take on bets 1 : infinity. I pay you $1 if the project is no longer around, say 10 years from now, you pay me everything you have otherwise. It would only be rational for you to take this bet, since I'm offering you a free dollar according to your beliefs.

EDIT: the intent here was to expose overconfidence and vague predictions, not pay fan service to ethereum or suggest an actual bet. if anybody is interested in how to make proper predictions, I recommend the books by Philip Tetlock, especially the latest called Superforecasting [1].

EDIT2: I wasn't aware my views are so controversial, so here is some more background: If somebody was convinced something couldn't happen, he'd assign a probability of 0 to that event. If that person wanted to act according to her believes, taking on bets, no matter the odds, would have positive expected utility. Since almost nobody takes on such bets, it suggests that we generally over-exaggerate when we say things like "impossible" or "sorry for you loss", hence we are being overconfident. The other is vagueness. By not being clear about what exactly we are predicting, we're leaving the door open to back out of it later. In fact, Tetlock has found that, by making vague predictions, experts could later convince themselves (and others) that they were "close", skewing their sense of accuracy. Unfortunately, when subject to a prediction tournament with strict rules, they would score no better than random [2].

[1]: http://www.amazon.com/Superforecasting-The-Art-Science-Predi...

[2]: http://www.amazon.com/Expert-Political-Judgment-Good-Know/dp...

>If you are sure that the Ethereum project will fail, >the project is no longer around

You should work on your reading comprehension. The parent never made these claims. Whose beliefs are you even talking about? Saying something is not useful and not practical is not the same as saying it will fail or stop existing.

The only thing you're doing here is psychologically manipulating someone into accepting a bet with conditions you yourself chose that are clearly in your favour.

You didn't even define what the vague phrases "the Etherum project will fail" or "the project is no longer around" is even supposed to mean. The betting conditions are effectively "give me everything you have when I feel like it".

> [intent was not] suggest an actual bet

>if the project is no longer around

You're offering a nonsensical bet.

We live a world where people often delight in keeping obscure things alive. Even http://nyan-coin.org still has a following!

As an illustration of what I mean, I'll be incredibly surprised if bitcoin ever truly dies, and the price ever truly tanks. I'd expect coins to remain above $100, as a few people will flat-out refuse to sell for less, and minimal trading will still take place. Anything in the "real" world though? naaaaah.

That was part of the point...

>That was part of the point...

Not really; my point was that some things never die, however functionally useless they become.

The top comment said that Eth will become functionally useless, and the bet offered didn't involve it becoming functionally useless.

Yes, I have to admit it's vague. Price below $1 or not traded at all, would be a better condition. Maybe add some trade volume requirements as well.

Debating the exact rules of this bet is already not worth a dollar of anyone's time.

>Price below $1 or not traded at all

All it'd take is two bored people to stop this from happening, merrily trading just for their own delight.

As with bitcoin, I'd be really surprised if any of these coins stopped being used entirely, thanks to tech enthusiasts keeping them alive.

Generally, there has to be some condition on which to judge the success of a project.

>Generally, there has to be some condition on which to judge the success of a project.

So why not try offering a bet on the success of a project, rather than going through the horror of trying to prove a negative?

The bet would be joosters gets a dollar for every dollar short of break-even the Ethereum industry is, and you get one for every dollar it creates in surplus. Or you can change to order of magnitude, to make it more viable.

if you would like to sell me ETH put options, let me know how we can arrange that deal.

The bet was a rhetorical device intended to show the impossibility of having definitive views about the future while refusing to accept bets of the form 1 : inf. I appreciate the offer though ;)

Proponents of Ethereum ignore the fact that Ethereum fails to address any of the most significant problems in Bitcoin. Bitcoin's major advantage is decentralization, and it's about the only thing that Bitcoin does better than anything else. Bitcoin is an extremely expensive way to build a financial system, and there's no reason to go through the trouble unless you are utilizing the decentralization.

Bitcoin's major problems are scale, miner centralization, and developer centralization. Ethereum is worse than Bitcoin in all three respects. Transactions on Ethereum are heavier, develoepment is very heavily controlled by the Ethereum foundation and by Consensys, and the block algorithm in Ethereum more strongly favors larger miners as compared to Bitcoin (which already favors bigger miners).

Further, the Ethereum develoepment team is under qualified. There have been several ametuer mistakes, including allowing negative balance, leaking private keys, and putting consensus at risk by advocating that different users should be running different consensus codebases. Most of the highly capable developers in the cryptocurrency ecosystem avoid Ethereum because it's not been constructed well, nor does it's design suggest strong resistance to adversarial environments.

Bitcoin did go through similar growing pains. Bitcoin did have many ametuer mistakes when getting started. But those have all been fixed, and there is a positively enormous amount of competent mindshare powering Bitcoin, and the thoroughness of decentralization in Bitcoin is unmatched by any altcoin, including Ethereum.

Ethereum has offered a lot of cool tricks with its turing complete scripting language, but is standing on a house of cards. It scales less well than Bitcoin, it's design more heavily promotes centralization, it's development is more ametuer, and the potential applications offered by its fancy scripting language are not actually that much stronger than what you can do with Bitcoin. The showcase applications such as Augur and Slockit suffer from weak cryptographic fundamentals and under-qualified developers even worse than Ethereum does.

Bitcoin's biggest problem is that its developers are wildly incompetent, to the extent that they repeatedly promised to entirely replace the block chain with the Lightning Network ... without actually being able to do so. Needless to say, their crazy promises of a perfect solution that involved no tradeoffs never even came close to reality. Meanwhile, their existing system broke down to the extent that its problems are now in the New York Times.

The idea that Bitcoin developers are competent and Ethereum developers aren't is simply not borne out by basic observations of what the two camps have been doing lately. And the market is responding to that. Hence, this article.

The problem with Bitcoin development is and was its not related to the economic underpinnings. Maxwell, Back, et. al. have zero understanding of economics. Not a surprise they would invent side-chains which removes incentives from blockchains. Big blocks are however likewise not an answer. Bitcoin is failing because it is limited, not (just) decisions by Core-dev. But it likely will be around for many years as a platform to fund other chains.

Yup, a deflationary currency cannot become widespread without becoming highly unstable.

Proponents of cryptocurrencies could easily fix this by creating one that grows by k% forever (like Friedman's k-percent rule). But they won't because this destroys the "get rich quick" aspect of the technology which they won't admit is the main thing they are drawn to.

If they were serious they would have fixed this problem and made sure bitcoins generate long run inflation.

Could bitcoin's popularity stand on its own with just its net benefits as a transaction medium after the allure of ponzi investment has been removed?

There are tons and tons of cryptocurrencies that have infinite emission schedules. Doing that doesn't appear to give any competitive advantage over other currencies. I don't know if they've decided yet, but the I wouldn't be surprised at all if the subject of this article(Ethereum) ends up with an infinite emission schedule too. It's very common among cryptocurrencies who use Proof of Stake as their decentralized consensus method of choice.

Plus, Bitcoin isn't deflationary by any standard definition of the word. It's not inherently price deflationary of course, since that's dictated by demand. And the money supply inflates, albeit at a known predictable rate which slowly decreases over time.

>There are tons and tons of cryptocurrencies that have infinite emission schedules. Doing that doesn't appear to give any competitive advantage over other currencies.

This supports the hypothesis that cryptocurrencies are not useful as currencies and people mostly like them for their ponzi investment allure. This would make them not viable in the long run, the digital equivalent of gold but with even less intrinsic fallback value.

Perhaps, but I don't think too many people are seriously arguing that Bitcoin or any other flavour of it is a serious contender to replace regular currency. Either way, there should still be some utility there if it's possible to have a secure, censorship resistant asset that provides some privacy. Maybe we're not quite there yet, but I don't think the idea is going to go away anytime soon.

Competitive advantage for the currency's speculators or for its users?

The latter I'd say are better served by a currency that encodes a price stability algorithm rather than a hyperdeflationary one. The former on the other hand...

The problem is solvable. Yes, Bitcoin is supported by subsidies, but it can also be based on fees per transactions. Inflation doesn't help - that just means old coin holders get diluted. The appeal of Bitcoin is precisely the limited supply.

Bitcoin or Altcoins are not a get rich quick scheme. They provide value for users by making transfer of wealth globally possible. The traditional infrastructure cost for this is many trillions of dollars (you pay it with taxes and inflation).

If bitcoins are to be used as a widespread stable currency, it is crucial that old coin holders get "diluted", that is that intrinsically worthless stores of value do not retain value at a real risk adjusted rate above what private markets can provide.

Otherwise, it basically blocks net aggregate marginal investment. It transforms people's savings from being tied to real physical things that are going to create value in the future when they want to redeem those savings to an accumulation of idle bits that won't be able to produce anything.

This is also the reason too low inflation in the eurozone for example, is so destructive.

The problem with fiat money is that "inflation" is not visible. ECB, Fed, BoE, BoJ are all hyper-inflating and it will end very badly. Look at the balance sheets and you'll see the hockey stick growth. Has little to do with prices, but more with debt stockpiling.

Bitcoin is volatile, but its extremely useful as money (if you live in Argentina or Zimbabwe, etc.). Descendants types will be far superior to government debt as money. Deflation basically means price-appreciation versus other assets. Inflation as its currently happening is fraudulent accounting on a unprecedented scale. The blockchain by contrast offers honest computer based accounting.

The problem with these central banks is that they have kept price inflation too low for the investment markets to clear and money has been accumulating idle instead of being invested.

Because they were late in their money printing, velocity dropped and they had to print much more getting much less effect per unit and yes did put the world at risk of future spike of inflation if this money starts moving.

Sufficient high, well controlled, early enough inflation prevents velocity from dropping, prevents the investment and labor markets from jamming, prevents from having to print too much, prevents large stockpiles of idle money from accumulating and prevents later difficult to control spikes in inflation.

> * its extremely useful as money (if you live in Argentina or Zimbabwe, etc.)*

You mean, it could be useful as money in theory, but in practice it is not. It is not practical to meet one's needs transacting in bitcoin even in affluent regions where computers, internet access and general computer literacy are ubiquitous, so those economically strained regions where citizens are struggling just to meet their basics needs are places where bitcoin is a complete non-starter; it is not at all viable.

>This is also the reason too low inflation in the eurozone for example, is so destructive.

There is no evidence whatsoever that "too low inflation in the eurozone is so destructive". You're mistaking dogma with fact.

Bitcoin is not failing, it's as strong as it's ever been.

Failing is too strong a word. It is and will be on the decline versus newer tech. A lot has been learned since 2008 and it seems very likely its better to apply that in a new and fresh system. Ironically Bitcoiners aren't necessarily up to date with all that new research.

Hard to tell whether Bitcoin is a VHS vs Betamax situation where the best technology doesn't actually win, or a Myspace vs Facebook thing where the old one gets disrupted by new.

Keep telling that to yourself.

> the potential applications offered by its fancy scripting language are not actually that much stronger than what you can do with Bitcoin

I disagree. When I learned about what can be built with the Ethereum Virtual Machine, I quit my job to build decentralized applications full time.

You can either wait for decentralized apps to work their way into your life, or you can ignore the naysayers and find out for yourself if these tools are worth building with.

your conviction is awesome. good luck! mind sharing some of the decentralized apps you're building or believe are better with ethereum?

I would also love to know what are the apps that you are thinking about that could be improved so much by this technology that you quit your job. I have tried to think of all kinds of uses cases and just can't get excited over this technology.

i had an idea that if I were a US bank I would create a USD token on Ethereum that would be redeemable at my bank (or my network of banks). A eUSD token would created via smart contract and be pegged to the dollar and thereby tradable on the Ethereum network. Individuals and business could then do business in USD (or any fiat of choice for that matter. Obtainable on an Ethereum exchange or through said bank(s)). Other implications: An accounting firm could create a smart contract that calculates and or files my taxes. A business structure (LLC, IPO etc) in can be written into a smart contract. And so on.

Ah, the magic trustless dollar-pegged digital token. Many tales have been spoken of them, but none stand up to close scrutiny. You need to solve this problem before basing anything else upon it.

Bitcoin is highly centralized, 90% of mining power was in one room recently. Ethereum's Ethash is better protected against specialized hardware, but not well verified yet. In other aspects you've mentioned, especially scaling, Ethereum is surely nightmare.

That's not really the case. There were representatives for 90% of the hashing power, but pools are composed of many individuals who each own their own rigs, and companies like BitFury are also composed of many people. There was 1 or 2 representatives from each organization out of the many that actually participate in the mining process.

It's not great, but if you look at Ethereum you'll see the same distribution (2 pools have 50%, 4 pools have 75%) and Ethereum does not have anywhere near the same throughout load, which is where most of the centralization pressure comes from. Further, Ethereum is supposedly much more vulnerable to selfish mining attacks, which means a pool that decides to start doing selfish mining should be able to overtake the others in terms of profitability very quickly.

> 90% of mining power was in one room recently

Any details on this?

A handful of chinese miners control a huge chunk of the mining power for bitcoin. They recently appeared together in a bitcoin conference, which technically meant that 90% of the hashing power appeared under the same roof.

- https://twitter.com/lopp/status/673398201307664384

- https://www.reddit.com/r/Bitcoin/comments/3vn0go/photo_on_sc...

- https://www.reddit.com/r/Buttcoin/comments/3vn984/decentrali...

https://news.bitcoin.com/scaling-bitcoin-workshop-hong-kong-... "I think the biggest news to come out of the conference is that miners representing over 90% of the hashing power on the network all agreed that the block size needs to be increased."

S/he means the principles of the component mining groups were in one room, I presume. I stopped following Bitcoin closely a while back, but I can't imagine one party getting 90% of the hashrate without dire consequences.

I have a hard time imagining a proof of work based distributed system that isn't guaranteed to be monopolized after a sufficient amount of time.

Work -- any form of work -- is subject to industrial scaling effects and economies of scale:


Meanwhile all these POW-based currencies have deflationary economics and deflating mining revenue due to rising difficulty. That makes less efficient mining less profitable over time, driving smaller miners out of business and accelerating the effect. Any proof of work based system like Bitcoin or Ethereum will in the end be monopolized by whomever has the cheapest electricity, cooling, and hardware, and the most labor-efficient mining operation.

This is the most powerful bearish argument on Bitcoin and other cryptocurrencies that I have. Gold and other hard currency materials are randomly distributed by geology and physics, helping prevent total monopolization of mining. Paper currencies are monopolized by default, so you know it's controlled by the Fed or some government... the devil you know. But these things are guaranteed to be monopolized by... uhh... we don't know yet. You could end up with a currency controlled by Kim Jong Un or Dr. Evil and his white Persian cat. (I'll take Dr. Evil.) Serious global organizations are not going to adopt a reserve currency whose future control is up for grabs by whomever can build the most efficient data center and/or snow over the development community most effectively.

That's why Chinese miners have so much power on the Bitcoin block chain. Cheap coal and a total lack of an EPA makes power very cheap for them, and they also have local access to very cheap labor and cheap hardware production.

In the very long term if Bitcoin or any other POW-based currency became cumulatively worth enough, someone in a chilly place like Russia, Scandinavia, or Canada could build a hydroelectric powered arctic circle (free cooling) super data center full of ASICs and own the entire block chain. There are places on Earth with unbelievably cheap power (big hydro, constant prevailing winds, etc.) and free cooling due to a cold local climate. A coastal location in the arctic using arctic seawater for cooling and a dam on a local river would be ideal. Nobody would be able to compete with that.

Bitcoin has two big things going for it, at least insofar as the mainstream market is concerned:

1) The 2008 financial crash and its terribly bungled and corrupt aftermath destroyed peoples' long term faith in the "devils we know," creating essentially a market niche for a competing financial system that offers better governance and transparency. Bitcoin, Ethereum, etc. and the many companies working in these ecosystems are trying to address that niche.

(Side note: I wish the West's leadership would wake up and realize just how profound a loss of confidence occurred in 2008-2009. I don't think the effect has manifested yet. It's too deep and profound a loss of faith and the population is still processing it.)

2) Existing methods of sending cash overseas like Western Union are absolutely freaking horrible. We've used Bitcoin to pay overseas contractors because it amounts to only one root canal vs. Western Union's three or four tooth extractions with pliers per payment. Bank wires requires that I physical visit a f'ing physical bank, which is even worse.

That means though that Bitcoin's advantage would disappear if:

1) Entities like the US Federal Government and the Federal Reserve took actual steps to reform themselves and implement a plan of action for dealing with things like the 2008 crash that is more honest, equitable, and well thought out than "yank money out of our arse and hand it to other Yale alumni until the fires go out."

2) Companies like Western Union realize they are in the 21st century and act accordingly, implementing low friction easy to use methods of wiring money with low fees.

Bitcoin would still have a niche if those two things happened, but its niche would be smaller and probably further outside the mainstream of commerce.

Of course if Bitcoin ends up controlled by the Chinese PLA, none of those above advantages might matter much.

The only way I see to prevent PoW mining from becoming centralized is to make mining unprofitable altogether.

This requires having enough miners willing to mine at a loss, just like we have millions of people willing to play the lottery at a loss.

In fact mining should be made to resemble an ongoing lottery as much as possible, by

1) limiting the custom hardware efficiency advantage to less than an order of magnitude, using a memory bound PoW

2) allowing users to mine with a single click, either to install an app that mines on their smartphone while charging overnight, or from their WebAssembly supporting browser

Interesting... and I wonder if the best option would also be to concentrate mining rewards. Mining gives you a chance to win very big. In that case it would become equivalent to the lotto, and would result in a financial system sustained by gambling.

You could argue this would be morally superior to one sustained by bloodshed and political power mongering. (Fiat currency is ultimately backed by state power, a.k.a. violence.)

As a corollary, once the largest proof of work based distributed system is monopolized, any other proof of work based system is at risk of being monopolized in a split second.

Maybe a workaround is to make a banking institution that cannot be corrupted by people. It buys and tests (maybe prints?) it own hardware, it check-sums itself continuously. It patrols its own perimeter. It fixes what it can and it crashes gracefully forever when it finds itself compromised. Of course, the research (yet alone engineering) problems it presents are huge and I doubt that a sovereign computer system is something desirable.

This main byproduct of PoW generation is heat. PoW ASIC can be used as heating elements, which would result in extreme decentralization.

Even if they can fix all of that, I still don't see the application here. It's tantalising but ... there's nothing new or interesting you can really do with Etherium.

Is there?

Ethereum boosters have really been taking advantage of the strife in the Bitcoin community over the past two months. There was a massive private message spam campaign on Reddit and then when classic didn't immediately win there were a ton of "I sold all my btc and bought ETH" posts many of which were probably spam. The Peak in ETH price was a few days ago around 14 and the price has been tanking since. These NYT pieces will probably give it another leg up though.

The funny thing is that there are very few exchanges where you can buy ETH for USD directly instead you have to first buy BTC then exchange it for ETH.

Wow, great publicity for Ethereum. Except, they can't ever bring themselves to explain what it does, or what it means. We're missing the 'why'.

Vitalik explained it pretty well at a recent talk he did at Coinbase:

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.

The bit that I don't get is how Ethereum will communicate with the outside world.

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?

Gnosis is a prediction market platform that is live on Ethereum right now. http://groupgnosis.com/

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.

All of this was already possible without Ethereum. I don't see what Etherium adds to the equation here? For example with Bitcoin you can already create escrow accounts with trusted third parties (aka oracles) being the decider.

Prediction markets are bets among arbitrary, dynamic sets of stakeholders. The price of a bet depends on the bets that have already been made. Both of these characteristics require state to be maintained across transactions in ways that Bitcoin does not allow.

I don't follow what you mean, there are loads of bitcoin prediction markets. Adding Etherium doesn't give you anything new.

Gnosis runs on the Ethereum blockchain directly. The Gnosis team can't change the number of shares you own, for instance. Decentralized applications are safer for users. It was founded by the team that built Fairlay, a prediction market site that uses Bitcoin, because they believe that prediction markets should run directly on blockchains.

just because it comes over TLS, doesn't mean it's true

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

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.

"World computer" => marketing hyperbole. Vitalik currently spends 0 time coding https://github.com/vbuterin/ I know the people who started this and they are mostly not very technical actually.

Blockchains are peer-to-peer cloud computers that collectively enforce a set of rules on a historical record that they create together. If the rules meet your needs, you can use a blockchain’s history as the source of truth for any information you want because no one can break those rules. Bitcoin’s rules define a currency: how are new tokens produced, how many are allowed, how they can be transferred from one person to another, etc. Ethereum’s rules define a process for defining new rules. This makes it a universal blockchain where rules for any interaction can be defined, and anyone can choose whether to treat its historical record as their source of truth.

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.

Users don't control cloud software.

Rules in blockchain-based software cannot change ex post facto. The only decision involved is the user's choice to use the application in the first place. These are user-controlled applications.

(I've tried explaining these as applications that no one controls, but that has a wild west connotation that isn't applicable.)

"I've tried explaining these as applications that no one controls, but that has a wild west connotation that isn't applicable."

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.

My point is running all the nodes in the cloud means that the users of those nodes don't own them.

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

With blockchains, only the user has write access to the database with their cryptographic identity. Users are in full control.

Users can run a node of the peer-to-peer component if they want. Anyone can. They just don't have to.

> With blockchains, only the user has write access to the database with their cryptographic identity. Users are in full control.

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

You are clearly talking to an Ethereum investor and not a programmer. A large part of the Ethereum hype is using blockchains where they are woefully the wrong tool for the job.

Haha, you didn't even take the effort to look at my profile. I write code. Like many Ethereum developers, I own ether. My comments apply to any EVM-based blockchain, and there will be many.

In computer security I've often heard the saying there is no security without physical security. This means if somebody can access the hardware running your program you can't trust the outcome. That's why you have to lock your servers away and trust the people who have the key.

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.

The why is here: https://www.youtube.com/watch?v=j23HnORQXvs Its meant to be a world computer. However currently every node runs every contract, so it can only be as fast as one node. They will fix this in the future. Remember we are only in the very beginning.

Ethereum could quickly outdate itself by defining a fixed language. How will the language adapt? Very slowly by consensus if Ethereum hopes to become a large market player.

Bitcoin could be easily made Turing complete. If each transaction can store 80 bytes of information, then one could use 48 bytes to store code and the remaining 32 bytes to refer to another transaction storing the next block of code and thus chain together code. Unless I am missing something, a new currency is simply unnecessary, and will always be at a second-mover disadvantage.

Soon, I am sure a prototype of what I described will be released on bitcoin thus obscuring Ethereum. A solid use-case for distributed computing would be distributed HTTP delivery. If ethereum could offer a product for decentralized web-hosting, then I would buy into their product, but until then the whole situation is just vaporware to me.

> Ethereum offers nothing more than Bitcion

It offers a more powerful scripting language to define contracts.

> Ethereum could quickly outdate itself by defining a fixed language.

If offers a "bytecode" type language which can be created by compiling contracts in >=2 languages already. Bitcoin currently lets you define contracts in the equivalent of assembly code, with no higher level languages available. So this statment seems to apply more to Bitcoin than Ethereum.

> Bitcoin could be easily made Turing complete.

Bitcoin developers can't even agree to a simple block size increase. What makes you think they would be able to do something as complex as adding turing-complete scripting capabilities?

> Unless I am missing something, a new currency is simply unnecessary.

Since bitcoin does not support 2-way pegged sidechains yet, it's not possible to launch a new blockchain without launching a new currency to power that blockchain. Besides, you need a way to reward the miners.

> Soon, I am sure a prototype of what I described will be released on bitcion thus obscuring Ethereum.

That's basically what Rootstock[0] is supposed to be. Although at present, it seems to be vaporware.

A year ago I used to have a similar viewpoint to you, that Bitcoin had such a massive first mover advantage and network effects that it would remain the dominant public blockchain, and that even as new inventions appeared, they would be backported to bitcoin. But over the past 6 months I've realized how useless Bitcoin is without a genuine respected leader/BDFL, and now think that without a leader it's doomed to design by committee and stalemate on key decisions, which leaves the playing field wide open for competitors like Ethereum.

[0] http://www.rootstock.io/

This is what's going to happen in three months with Ethereum: http://forums.prohashing.com/viewtopic.php?f=11&t=782

Ethereum's features with Turing-completeness and all the things it can do are great, but everyone is missing the point that not all of that is needed. What is needed is simple: people who act professionally, who get things done, and a network that is not artificially limited.

Litecoin could have taken on this role even more easily than Ethereum, or Dogecoin, or any of the other coins - but they refused to increase their blocksizes when they had the chance. Ethereum is coming of age now partially due to its Homestead release, but also due to the critical bitcoin halving event in July that is going to throw cryptocurrency into chaos.

People are missing the point - Ethereum isn't popular because it is better than bitcoin. It's popular because it has good people in charge. In that way, Mike Hearn is right.

Bitcoin's problem is not a lack of a leader, it's problem is that the leader is Gregory Maxwell at Blockstream and he's a terrible decision maker. Blockstream is the source of the refusal to bump the block size.

Indeed, the block size debate did not stalemate. It resulted in the small blockists winning, due to the much more aggressive tactics they used (e.g. hiring a bunch of developers then asserting they'd all quit forever if the block size were changed).

I've noticed a "know-nothing" strategy recently adopted by blockchain core - basically, the ideas is that community members claim that everyone who isn't part of core development is naive and has no valid position in debating the future of bitcoin. These users speak with pride about leaving social communities because of their ignorance. It reminds me a lot of the Fox news listeners who deride world media as liars.

Here's an example of the proud know-nothingness. The interesting part begins at 17:30. The speaker, Julia Tourianski, makes a fair attack against Mike Hearn for his departure, but then she goes on to point out that developers are faced with low morale because the community doesn't support their work. The conversation then moves to leaving Reddit and other media because "the trolls" (presumably persons who are in favor of a blocksize increase) have taken over.


Bitcoin's technical problems are that it fundamentally does not scale. If each node has to verify all transactions that is not sustainable in the long term. Hal Finney knew this way back: https://bitcointalk.org/index.php?topic=2500.msg34211#msg342... "Bitcoin itself cannot scale to have every single financial transaction in the world be broadcast to everyone and included in the block chain. There needs to be a secondary level of payment systems which is lighter weight and more efficient."

It is a myth that Bitcoin requires every node to validate all transactions in the long term. That's why the white paper explains the need for spv clients.


Moreover it a red herring to assert that Bitcoin has to scale to support every single financial transaction in the world just like it would be a red herring to attack the architecture of the Internet because it cannot scale today to include every form of communication we perform today.

Red herring/ strawman / Nirvana arguments are the defense for the entire small block position. Bitcoin, like every other information technology, does not need to meet every need today. It simply needs

1. Sufficient free capacity to encourage growth, and

2. Continuous improvement

Can confirm. Bitcoin can scale but is being artificially limited in favor of off chain solutions.

Seem like you don't see the x^n argument. It should be obvious. Satoshi/Hal Finney were well aware of this, see the link. This has nothing to do with SPV. Producing blocks is what's important.

I searched the link. Satoshi did not post in that thread and there is no mention of "x^n"

Maybe you should present the argument, since it wasn't presented where you said I'd find it.

Very well said riprowan.

It is indeed time to get back on track developing SPV!

True, but we are not there yet. Bitcoin can probably scale 20x times without a problem. That would be 20 times lower transaction fees and 20 times more people using it.

It can't scale 20x without running into decentralization problems.


Most large blockers are running businesses that depend on no/low fees, plus the reddit mob that goes with whatever argument sounds most conspiratorial (aka Blockstream sabotaging Bitcoin for sidechains).

Thanks for the article. But I don't see where it says that Bitcoin can't scale 20x without decentralization problems.

I see that "the block size should not exceed 4MB for X=90%; and 38MB for X=50%", but I don't think that 50% reduction of number of nodes would be a serious decentralization problem (we've seen a similar reduction already due to the implementation of SPV clients).

Mining centralization could be a bigger problem, but with headers-first mining the block size wouldn't contribute to it.

Also the authors of the article assume the use of Bitcoin’s current peer-to-peer overlay network, that can be drastically optimized.

I've chosen 20x because Gavin had conducted 20Mb tests more than a year ago, before many optimizations took place.

There is nothing bad in the low fees. Low fees is the marketing strategy to boost the usage of Bitcoin and create the large enough ecosystem. Miners are being subsidised by bitcoin holders for a reason.

Larger the blocks while preserving a reasonable degree of decentralization -> lower the fees per transaction -> more people use Bitcoin -> more valuable the bitcoin ecosystem is -> higher the price of bitcoin -> mining is more profitable -> stable and secure infrastructure for the new global economy.

"If each node has to verify all transactions that is not sustainable in the long term."

It is sustainable, but only for certain amount of transactions. Even if the block size limit stays at 1MB, I'm pretty sure some group of people/organizations will keep using bitcoin for something. Those who are not happy with it will move elsewhere, but there is so much infrastructure/tools/etc for bitcoin already, that many have will hard time switching to something new.

Sorry, I am not sure Bitcoin can be a niche currency. It needs to be big enough to survive.

If most people prefer to use other crypto instead then Bitcoin may fall into a death spiral:

...lower the demand for bitcoins -> lower the price of bitcoin AND lower amount of bitcoin transactions -> less profitable the mining -> less secure the network -> lower the demand for bitcoins....

Mike Hearn works for a bank. Gregory Maxwell works for a group of cypherpunks. I'll take my chances with Bitcoin.

Thanks for bitcoinj though.

Look at the list of investors. Banks invested in Blockstream.

I never said banks don't know how to hedge.

That's not hedging. They are paying to kill Bitcoin.

Do you think Bitcoin Classic has chances to succeed? It looks like their hashing power is growing: http://nodecounter.com/#block_explorer

Do you find it strange that Bitcoin is the same price it was ever since you said it was dead?

So many new users just to attack you Mike. And all the buttcoin trolls suddenly became small blockers. Evidence of Blockstream hiring shills continues to grow.

It went great.

Mike, the entire drama is ridiculous. However, you've turned your back on BTC because XT was rejected to go and work for R3 to put our tech back into the hands of the people we wanted to get away from. If BTC and everything that "could" come with it was so important to you then you should have stayed and fought the fight. Instead you decided to join R3,so let go and move on.

Blockstream is developing bitcoin into a bank settlement network (that the banks won't use). Maybe you should focus your ire there, instead of on the guy who has actually pushed open source and consumer-grade P2P payment systems miles forward.

> and now think that without a leader it's doomed to design by committee and stalemate on key decisions

As a regular in the cryptocurrency world, it's evident that no matter what you do, someone is going to find a reason to criticize you. One day these people are criticising Bitcoin for being run by a cabal of closely knit developers, the next you see this guy saying Bitcoin doesn't have a leader and is instead being designed by an apparently leaderless committee. They seem to alter their concerns and their approach to criticising Bitcoin depending on which way the wind is blowing.

BTW, I'm going to assume something and you should too: adrianmacneil here is almost assuredly long ETH. He probably albeit less assuredly so doesn't own any BTC. In any case you can assume I have the opposite portfolio.

First and foremost, Bitcoin and Ethereum couldn't possibly be more different. Bitcoin is a "Peer-to-Peer Electronic Cash System". Bitcoin places a higher value on securing the cash. It places tamper resistance above all else, and generally takes no chances on that. That's a feature, not a bug.

Because if that core unit fails, then the entire cash system collapses. You can't exactly have a global currency that fails mid voyage. Modern financial systems don't do that very often and neither should Bitcoin.

Conversely, Ethereum is a smart contracts platform through and through. It has 15 second block times. It has its own VM. This VM has had critical vulnerabilities in the recent past, and is less than 1 year into production.

Notice how Bitcoin could never be about smart contracts like Ethereum does, at its core, since Bitcoin could only do that by taking on existential risk?

However, that doesn't mean Bitcoin can't better manage its risk by making what is essentially a "unikernel" for Ethereum functionality on top of the Bitcoin network. Sure it won't be totally perfect, but it will do everything Ethereum does, without exception, and will do so without compromising the core of Bitcoin's network, when doing so would jeopardize the cash system.

And this is what the poster I'm responding to completely misses when he says:

> [Ethereum] offers a "bytecode" type language which can be created by compiling contracts in >=2 languages already. Bitcoin currently lets you define contracts in the equivalent of assembly code, with no higher level languages available. So this statment seems to apply more to Bitcoin than Ethereum.

The point is, once you have the unikernel model down, who cares if it's Ethereum? Ethereum's VM is very first generational, highly unproven, highly unstable, has God knows how many vulnerabilities not to mention competitors who develop competing languages and competing VMs. We don't want to be in that business. We want to be in the business of running the best of it as a unikernel without even remotely jeopardizing the entire system all at once, though I understand Ethereum kind of had to do that in order to raise money. Turns out if you don't raise a bunch of money from a bunch of investors, you don't get people to voluntarily promote you on HN and Reddit.

> That's basically what Rootstock[0] is supposed to be. Although at present, it seems to be vaporware.

Speaking of Ethereum promoters, they do have a knack for reminding you how the unikernels of cryptocurrency will surely never exist. Nothing to see here.

You raise good points. I think one of the reasons why the conversations surrounding cryptocurrencies are disproportionally emotional is that everybody is long something and inevitably biased because of it.

Also, I agree that comparing BTC and ETH is bogus, they share nothing more than a blockchain but have completely different goals and governance structures, ETH being more like a traditional startup.

In a world were most people haven't heard of blockchains or distrust them, 'competing' with other blockchains is just silly (nobody is really competing anyway, except for mindshare on forums).

Now, disclaimer, I am long ETH, though not by much. Cool sci-fi stories and evangelism aside, I think it's like other startups so it should face the same risk of ruin, which is roughly 90%. So in that sense we might even agree, except I feel like this "very first generational, highly unproven, highly unstable" might turn into something.

> once you have the unikernel model down, who cares if it's Ethereum?

That's a very technical argument, but I'm not at all convinced that the world will adopt a technically superior solution, especially if it is late to the game. Without momentum behind it, it might not even be superior for long. So if there is any application for blockchain VMs, it will probably run on the EVM, all else being equal.

>You raise good points. I think one of the reasons why the conversations surrounding cryptocurrencies are disproportionally emotional is that everybody is long something and inevitably biased because of it.

These tokens ruin a lot of the incentives that makes open source software work. They attract non-technical people and ideologues. The whole thing is a mess.

Bitcoin and Ethereum investors who put a few thousands of their own money on the line years ago have seen it rocket up in value into a considerable fortune.

Naturally, to the extent an investment makes you "rich", the investment occupies a proportionately larger share of your net worth. And to the extent it's a major component of your net worth, especially if your net worth allows for you to retire early, this makes for a situation where you will justify doing and saying anything and everything possible to promote your own interests, which are now dominated by, in our case Bitcoin or Ethereum.

This is why distinguished readers can practically see the greed pouring out of people's eye balls as they discuss these "technologies". Pro tip: call it a "technology" when you're invested in it, but call it an "investment" when you're not.

As you've noted, this gets incredibly frustrating to deal with in the cryptocurrency world. Not just because it applies to so many people, but because cryptocurrency itself is all just a confidence game of trying to get people to buy into a particular unit of account.

For example, I doubt if any of the Ethereum people actually use smart contracts, like ever. They're only using that as an angle to poach investment capital off Bitcoin. We all can see this is true because no one is making any money on "smart contracts". Ironically, the only people who have ever made money on smart contracts - cough Ethereum - did it by selling other people on the idea of smart contracts. Buy smart contracts now!

You seem to have pretty reasonable and moderate opinions, which I respect. And yes, for the record I do currently own a decent number of Ether (because I believe in the project), and I still own a decent (but lesser amount) of Bitcoin (I certainly haven't given up on it completely).

The main point of my post was responding to Bitcoin evangelism with counter arguments, so I guess it did come across a little fanboyish. I don't disagree that it would be nice if Bitcoin could become a sort of "layer 1" in the blockchain space, with smart contracts built on top of it using additional protocols (and I believed for the past couple years that this was the most likely outcome for Bitcoin).

The main problem I now have with this model is that there are still missing features in this layer 1 which Bitcoin needs to support before decent solutions can be built on top of it (e.g. 2-way pegged sidechains, which require at least a couple of new opcodes). Every time Bitcoin wants to support a new use case, it requires someone to submit a BIP, months of development work, debating, and a soft fork to implement. For an example, see the recent OP_CHECKLOCKTIMEVERIFY soft fork. This is not the sort of thing which can be built in layer 2 - it needs to be supported by the underlying blockchain, specifically so that people can build other layer 2 solutions on top of it. This is just one of many features - every few weeks someone suggests a new opcode on the bitcoin mailing list (and they often get shot down). This is why I originally got excited about Ethereum - while the "turing complete" badge is a bit of a buzzword, they really have solved the problem of creating a generic blockchain which can have anything else built on top of it.

Now, this is not to say that Ethereum is entirely without risk. For sure, Bitcoin is a more secure network, and definitely a better place to park your money if you are looking for long term stability. Bitcoin is also optimizing for stability and decentralization over adding shiny new features, which is simply different priorities and not at all a bad thing. Ethereum still have a long road ahead of them, both with attempting to shift a live blockchain to proof of stake, and with scaling (which will probably be even harder than the challenges Bitcoin is currently facing). But overall I find the project to be a very interesting and exciting development in the blockchain space.

I find it noteworthy that crypto-currencies are treated as investments and 'bets' which would seems to imply instability or a design feature of fluctuating value.

Almost as if a primary motive behind designing crypto "currency" protocols is not a stable value exchange medium, but rather instead an investment system for early adopters to exploit late adopter buyers?

[0] https://www.youtube.com/watch?v=geSnkE4EOqs

"Maker is a DAO based on the Ethereum blockchain, where it maintains the infrastructure for the Dai - a cryptocurrency that uses smart contract-enforced monetary policy to create price stability.

The Dai enables Ethereum users to transact with smart contracts and applications on the Ethereum blockchain without having to deal with the volatility that is associated with traditional cryptocurrencies such as Bitcoin. It also functions as a decentralized savings account as it is long term deflationary, resulting in slow and steady capital gains.

Maker is able to maintain the price stability of the Dai through the Dai Credit System, which backs the Dai with collateral stored in Ethereum smart contracts, while simultaneously functioning as an internet-based, p2p credit market that commoditizes credit by allowing anyone with valid collateral to take out loans that have low transaction costs and no middle man fees."

[0] http://makerdao.github.io/docs/

> an investment system for early adopters to exploit late adopter buyers

I invite you to "exploit" late adopters as well by investing in some project. it will cure you of this notion that uncertainty doesn't exist.

"they really have solved the problem of creating a generic blockchain which can have anything else built on top of it."

No, actually they haven't. Try and explain how a distributed system should be Turing complete in a scientific paper and you'd notice its not possible. Eventually this will be discovered and this blockchain will implode. The centralised team doesn't even claim that the chain will last - they want to migrate to PoS.

I don't understand what you are saying is impossible about this.

Are you just saying "try it and be really careful about it and you will see that it is impossible"? Because I don't see why that claim should be convincing without, saying why?

(Maybe I missed some other comment of yours?)

All Turing complete systems used in practice are distributed at some scale so your argument is non-sense.

huh? Computers on the Internet don't coordinate like nodes in a P2P blockchain. Bitcoin's script is limited to a simple stack language for a very good reason.

> Bitcoin could be easily made Turing complete.

A simple increase from 1MB blocks as proposed in 2010 by the software's creator is treated by obstructionists like Greg Maxwell as "theft" and a violation of social contract and blocked for six years.


Some of the original obstructionists are still at it, and so far, Mike Hearn is right: it's working.

How gullible would one have to be to think that reengineering Turing-completeness into the system will be remotely possible?

Arguing about which blockchain will be used for computation is like arguing about PowerPC outcompeting Intel chips: it only really matters to people with a financial stake in the outcome. Don't get so distracted by speculation that you overlook that as a programmer, this technology allows you to build powerful new kinds of software.

I have used it and it has many many limitations. A lot of the people coming up with random ideas + a blockchain don't realize that a lot of those ideas would not be improved by adding a blockchain.

Can someone explain why chaining code together on the block chain is useful? I have heard this idea before but never seen an explanation of its utility.

Turing complete means "has loops and branches" it is a property of languages, not transaction protocols and data stores like Bitcoin.

Hmm your post led me to discover that it's not permitted to have more than one OP_RETURN output per transaction.

Any idea why this is the case?

Is it naive to think this NYT article will cause the ETH price to go up for the next few days?

Suppose the article has 10M viewers, 1% decides to buy some ETH for investment, on average $500, that means $50M of extra demand in a matter of days. (These numbers are wild guesses.) Current daily trade volume is $25M.

It's not naive, but there is no Coinbase for Ethereum so you need some knowledge to run the node (also, it is not just running it because sometimes it fails to work properly). Taking into account this friction less people will try.

People can buy ether on Bitfinex, Kraken, and Poloniex. The first two take dollars, the last only bitcoins.

(The title of the HN post is the updated title for the article, as it will appear in Monday's NYTimes print edition - See article footer.)

I've been into Bitcoin (and Litecoin) since the early days. Well, relatively early. Ethereum really has me interested.

No one needs smart contracts. And the value proposition of Ethereum will require an inordinate need for ether in order to support the mining requirements of the chain. This project is a scam

Personally I'd be happy to pay way over market hosting rates to host, say, my articles of incorporation, equity trades, and accounts receivable. That seems like one of the most exciting uses of ethereum to me. Write a plugin to "export to IRS".

Why not just use a database? what do you think the advantage of using Ethereum for this is?

Each party can audit the contracts and infrastructure at any time.

There's also an easy path for a dissenting quorum to reincorporate on their own.

no more annoying financial audits?

What exactly are you contributing with this statement? Isn't voting up the link identical to your comment? Why is Ethereum really interesting to you?

For anyone who wants to get into Ethereum or buy Ethers, here is some great info on getting started: http://www.blockgram.com

You should mention if you are affiliated with this site.

Yes, I wrote the tutorial. I am not associated with any of the companies providing the services I mentioned in the blog. Thanks for pointing it.

The 'emperor has no close situation' with all blockchain technology is that they simply don't scale to any real-world capacity. What sets ethereum apart in that respect, is that they at least have a plan about how to solve it. It is far from clear if it will even work and if they will be able to switch out the engine of a running blockchain, but if they are able to pull it off, I guess it would be a big deal.

Blockchain technology is a big area, proof of stake vs proof of work debates are interesting but there are simple mechanisms that provide different levels of trust in different settings. For example a simple 2/3 membership vote implemented in a closed system can provide substantial trust - although not perfect. On the other hand if 60% of your proof of work capability lives behind a firewall and may in reality belong to one actor due to that actors track record of kidnapping anyone behind the firewall that disagrees with it then you have an imperfect situation as well.

Not true, bitshares (bitshares.org) can handle 100,000 transactions per second right now.

Also, regarding bitcoin, there is the lightning network which can take most of the load off the main chain.

One of the 'selling points' of Ethereum is the 'global computer' aspect. Essentially Ethereum is designed so that you can put programs on the block chain. Programs that can be called transactionally and where the result of the program is guaranteed to be correct.

Why is this important? Well, lets imagine a dice game. If on a traditional server, the program can cheat and give an unnatural edge to the site-owner. With ethereum programs, you can look at the source and know that said dice program is 'fair'. At the same time, from the perspective of the programmer, the blockchain ensures the users can't cheat you, either.

Now this sounds cool, but I can say from first hand experience that this is actually kinda trash. Last I looked into this (around October), programs were limited to a very low number of clock cycles before the program cancelled out.

How long a program would be too long? Through experimentation I found that a program more than about 30-40 lines of their C-like language would regularly hit the limit. What happens when you hit the operations limit? the program rolls-back without any effect, eating your transaction fee. Now, you can pay for more operations, but there is a limit. Even with the max number of operations you can't do too much. You can store values on the block chain, but any write or update takes up an substantial amount of 'gas' (the unit of currency for computation and storage).

So to imagine the limits, their 'global computer' acts like a coin-op machine where each quarter gets you 40-50 bytes of storage OR maybe 500 clock cycles on a virtual CPU. But, if the program tries to use more than a quarter, everything is rolled-back and your quarter is gone. (There is (last I checked), no way to know if your program will go over. Just trial and error).

Not only that, but (last i checked), the programs were compiled to a bytecode and there was no dissembler. Meaning that if someone wants to verify a program, they need the exact source code and exact compiler the dev used, and must MD5 the results.

Beyond that, there isn't really any good testing tools. Last i checked, the only way to run a program is to deploy it. So, you have to setup your own private chain to test on and continuously deploy and wait and test. There was a way to sort-of put debug prints in your program, but remember how I mentioned that a program that fails rolls-back? Well, it won't output anything either. And there were operations (some undocumented) that would simply crash the program. Index-out-of-bound? Silently crash program. AND the act of debug-printing would take up valuable storage (pushing your program over the edge of the limit).

In summary, the 'global computer' is so limited to be practically useless and the development process is (currently) a fate worse than hell.


(Readers who have similar developer questions should check out the Ethereum Stack Exchange. It's really useful! https://ethereum.stackexchange.com/)

Blockchains have to produce new blocks regularly to be useful. Think of the gas limit like the amount of time you have to render a new frame in graphics applications. If you have unbounded computation in a time-dependent system that anyone can submit instructions to, you're gonna get some DoS attacks.

> There is (last I checked), no way to know if your program will go over. Just trial and error

It's easy to check: blockchains are deterministic state machines. You can simulate a transaction to see what would happen with the current state, and as long as the state of your contract isn't modified by another transaction in the meantime, you'll get the same results on the chain.

> Last i checked, the only way to run a program is to deploy it. So, you have to setup your own private chain to test on and continuously deploy and wait and test.

Most developers use TestRPC to simulate a blockchain. It's like developing a web app with SQLite or another in-memory database.



Just want to mention RootStalk here, make bitcoin on par with ethereum in regards to smart contract.

Although superficially 'almost' as large as Bitcoin in terms of market cap and transaction volume, the amount of hash power securing the Ethereum network is several orders of magnitude lower:

Bitcoin: 1.2 Exahash / second

Ethereum: 1.6 Terahash / second

Comparing the two is completely meaningless. Ethereum's hash function (Ethash) is orders of magnitude more expensive than Bitcoin's SHA256. And also, it is ASIC-resistant.

Good point, a better way to compare would be the Watts consumed by each network: that gives you the minimum energy costs required for a 51% attack. Unfortunately I can't seem to find any typical "hashes per joule" numbers for Ethereum mining rigs that would allow us to extrapolate this. I still speculate it would be orders of magnitude more expensive to launch such an attack on the Bitcoin network.

The mining reward itself is a good estimator of the energy cost (an over-estimate in fact since the reward has to cover both energy costs as well as hardware investment/depreciation, but the former dominates the latter).

So attacking bitcoin costs roughly 150BTC per hour, while attacking Ethereum costs roughly 1200ETH (worth about 30BTC currently) per hour.

This suggests Bitcoin is 5 times more "secure".

Mining reward and exchange rate gives us a strict upper bound on the cost of energy it's economical to spend on mining but I'm not sure it provides a good estimate of the actual energy being used. If energy_used = mining_reward * exchange_rate, an increase in hash power would be correlated positively with exchange rate.

In reality, Bitcoin hashrate has increased over 30x in the last 2 years and the exchange rate in USD has actually decreased in the same period. That suggests we aren't using anywhere near the upper bound of energy that remains economical.

Given that Bitcoin network performs 1 million x as many hashes per second than Ethereum, the energy cost per Ethash must be somewhere like 200,000x more expensive than SHA256 to compute if we are to assume Bitcoin is only 5x as 'secure'. I have't fired up an Ether mining rig to test whether that is the case or not, but it seems highly unlikely so I'm still maintaining a 51% attack against Bitcoin is orders of magnitude more costly to perform than the equivalent attack on Ether.

Realistic 'energy use per hash' for SHA256 versus Ethash would be good numbers to have that either refure or back that up.

UPDATE: found some numbers from mining rig data. We can use 'hashes per joule' numbers for the most efficient Bitcoin mining rig and Ethereum mining rig.

Top Bitcoin mining rig performs 4000 Mhash/J according to [1]

Top Ether mining rig performs 0.08 Mhash/J according to [2]

So if every miner achieves those numbers, the Bitcoin network is currently running around 300,000,000W versus 20,000,000W on Ethereum network (15x).

So, perhaps not orders of magnitude more secure, but probably at least one! (for the time being).

[1] https://en.bitcoin.it/wiki/Mining_hardware_comparison [2] http://www.vmxlabs.com/

Ethereum is a distrubuted JVM basically? Guess its alright if you wanna run a casino that can't get taken down, otherwise I dont know what kind of uses you can find for this thing.

Except much much more limited and every line of code costs way more money to run on one computer while only acting as if it was ran on a single computer in practice.

Thats exactly why I mentioned an application such as a casino - the vm will provide guarantee of a payout. People will pay for that, but they won't pay for you to run 3D games on the thing.

Corporate handling bitcoin... Interesting.

I'd say this is corporate handling bitcoin: http://chain.com/

Great. More fools for the fire.

Being honest sometimes results in being a jerk. No big deal, an emotionally mature adult can handle it.

We detached this subthread from https://news.ycombinator.com/item?id=11373253 and marked it off-topic.

Your last statement is true, but your first one couldn't be more wrong.

Being honest never requires being a jerk. That is always a choice you make.

I would like to argue that being a jerk even devalues the argument one is making. Because through being a jerk (which requires as much effort as bringing it in a more neutral way), one provides proof of subjective involvement. This subjective involvement detracts from your credibility as a source of reason.

I agree, but think this is orthogonal to my point.

If I tell a fat person that they're fat, and they are, they can perceive that I'm being a jerk, but they're still fat, and my statement is still objectively true. The perception of the truth being spoken by me as negative comes from the receiver--it's their issue with the statement that attaches emotion, not mine.

Remove context from his statement and surrogate anything we have objective knowledge of (e.g. housing market 2009) and the statement morphs from "arrogant prediction and condescension" to an appropriate comment on reality.

Remove the context from a statement and it is no longer communication.

There are very few contexts I can think of where "telling a fat person they are fat" is useful information for that person.

"Being honest" isn't a valid defense against being an asshat.

No, it's still arrogant and condescending. Telling a fat person they're fat, in the context of a discussion about their health, is fine. Telling them they're fat and then saying "Sorry for your diabetes and early death" is being a dick. It doesn't matter if you're right, it's unnecessary.

So is it time to invest in ETH?


You cease to exist as an Independent Nation if you can't print your own currency

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