Hacker News new | past | comments | ask | show | jobs | submit login
Ethereum: Rise of the World Computer (svds.com)
413 points by hunglee2 on Feb 26, 2016 | hide | past | web | favorite | 231 comments

Crypto has come a long way since Ethereum was first conceived and what was impossible only a few months ago is now 100% practical. Today there are A LOT of new techniques that allow us to largely implement decentralized autonomous applications on any blockchain (no matter how limited) - a fact I feel often gets missed out in all of the Ethereum hype.

If you have a lot a techniques like zero-knowledge proofs, homomorphic computations, multi-party computation, indistinishability (sic) obfuscation (not quite practical yet), and various threshold schemes - you will quickly realize we could basically already do everything that Ethereum was designed for from the start. In fact - a lot of the new crypto techniques make it possible to scale DAC applications even better than what blockchains would allow since you can implement a lot of crypto-application protocols outside of the blockchain and keep only the hash-locked payments on the chain (which I honestly think is preferable.)

It just seems to me like Vitalik largely invented Ethereum because he didn't want to bother messing around with all the crypto-hacking that's required to implement self-enforcing, autonomous contracts (which is half the fun.) My biggest problem with this is people act like this isn't possible with Bitcoin when we had working smart contracts (and special coins for smart contracts) before Ethereum even existed. Interestingly enough - there's even ways to make the answer to any computable problem the keys to unlock a Bitcoin payment which means if you structure your crypto-protocol right you can essentially implement any self-paying, and self-running corporation as a never-ending complex chain of future problems.

(I would speculate that it's even possible to build a universal turning machine on top of any bitcoin-style blockchain that can compute any problem off-chain and allow these computations to be proven and self-enforcing but that is a topic for future research.)

> Interestingly enough - there's even ways to make the answer to any computable problem the keys to unlock a Bitcoin payment

Sure, bitcoin script can in theory compute any computable problem (as can any turing machine). But it doesn't have native access to the data it needs, so pretty much any input you'd want to use needs to be put there by a trusted "oracle" (through a clever encoding into UTXO logic). For example, bitcoin script can't compare the amount of coins sent to two different bitcoin addresses, so you'd need to use oracles to do that [1]. In ethereum script it is trivial to do it on-chain (no oracles needed), since it was designed from the ground up for such use-cases (i.e. "smart contracts").

1. http://bitcoin.stackexchange.com/questions/36229/bitcoin-scr...

But you can port any and all features to sidechains or Enigma [1], and in doing so make them accessible to a much bigger market, denominated in BTC which is a more stable and proven unit of account.

Or at least that's how the story is supposed to go. In theory, porting nice-to-have features to a larger audience results in more revenue and more overall societal benefit than starting a new scarcity race, which Ethereum has done, pitting investors against each other.

[1]: http://enigma.media.mit.edu/

I don't think so, because Bitcoin Script is not Turing complete.

I've heard both arguments: (1) bitcoin script has no loops and so isnt turing complete; but (2) no loops is not a real limitation because the logic just be unrolled ahead of time and packed into a transaction.

Ethereum script is said to only be quasi-turing complete because although it has loops, execution is metered by gas fees (functionally equivalent to bitcoin tx size).

There were tons of techniques to preserve home-made foods - canning, vacuum drying, salt curing, fermentation, etc. - and then someone invented the fridge. What is widely adopted?

As an average developer, I can launch a smart contract with 20 lines of code in Ethereum. I have no idea in earth how to even start writing those things on classic blockchains, let alone prove they work as I expect.

> I can launch a smart contract with 20 lines of code in Ethereum.

Meanwhile, everyone is waiting for the first smart contract that is actually useful for something.

Never heard about Arcade City[0]?

0. https://arcade.city/

> I can launch a smart contract with 20 lines of code in Ethereum.

Have you done this before? I tried to learn Ethereum (as an average developer) but it was over my head.

here is the a basic example. https://ethereum.org/greeter

more in depth tutorials exist on ethereum.org

as far as the language goes - that is a very verbose "hello world".

does the level of verbosity decrease as you get into more advanced applications?

Not really, but dApps aren't supposed to have huge source codes. Much more important is having efficient and correct code, because each instruction your contract runs has a cost. If that really annoys you, there are other languages that can be used to build dApps, and more certainly to come.

> I can launch a smart contract with 20 lines of code in Ethereum

Where's the github gist for this?

I think a better comparison would be "commercial mass production of preserved foods vs making them at home". For example, it is easier to buy a can of beans for cooking than it is to grow your own beans, can them, and then use them for cooking. The purchasing being analogous to using Ethereum and the growing and home-canning being analogous to classic blockchains.

In this metaphor, I expected Bitcoin to be canning and Ethereum to be vacuum drying.

I'm trying to figure out your angle here. Are you saying that ethereum isn't ambitious enough because it doesn't incorporate these fun crypto techs you mention? I would say that it's already an extremely ambitious project so it's good that they didn't bite off more than they can chew.

Or maybe you are trying to say that this could have been done on Bitcoin? Maybe, but whatever you try to shoehorn into Bitcoin's crippled contract pseudolang is going to be an order of magnitude simpler in a language that is Turing complete.

He's saying Ethereum does similar things to Bitcoin, but the techniques to do them w/ Bitcoin were not understood from the get-go.

They've even been understood for years too...

For example, today I participated in a demonstration of trustlessly, privately, and securely selling information (a 16x16 sudoku solution) via Bitcoin:


(But you probably won't read about it on HN; no profit in promoting it. </cynic>)

Interesting. On a deep technical level I wouldnt profess to know how advanced or secure this is, but signaling from others in the space snd the interviews with the core dev teams I watched seem to suggest it is a good working model gor distributed applications.

Would you mind expanding on your point a bit and if possible provide a link or 2 at a comprehensible level for someone who is mot a mathemetician.

I don't want to push back here as I have to reason by analogy not first principles here but:

* rust/go etc took a fairly long time to go into production.

* developing tooling and ecosystems and implementations around complex ideas is difficult.

* self enforcing contracts (my lack of knowledge may betray me) are just another name for "smart contracts"? For a contract to be made you need a transaction and a condition to strike. How is this achieved in this new model as an input/condition is unknowable and must bd provided in advance to do anything interesting, e.g i pay you 1 dollar in 5000 seconds vs. the election outcome. What tradeoffs were made erroneously on ethereums part.

All these are to say, honest question, how has the field evolved enough in 2 years that it is not only leagues better, but peoduction ready?

Could you explain at a (space doctors big idea) level how these concepts work? Super interested to check out something using/working on it

That all sounds very exciting. Are there some implementations of this stuff we can look at?

Would like to see some of these techniques as well. Or just I just hangout in BTC irc more?

Well, bitcoin IRC or bitcoin slack- http://slack.bitcoincore.org/ which has an IRC bridge to freenode (read-only), plus read-write slack channels.

Are people still developing Counterparty? Is this what you're referring to?

They are. And, I'm not sure if that's what he's refferring to. his claim is fairly dubious, because blockchains require energy, and you don't just snap your fingers and acquire that

Previous discussion https://news.ycombinator.com/item?id=9987142

Give me any ethereum use-case & I'll tell you how to do it with bitcoin.

Is it advantageous if a DSL is turing complete? It is not that bitcoin 'cannot have' a turing complete script but that it is unsafe & there is no need to do so. Turing completeness can be applied on an upper abstraction.

There is nothing that ethereum can do that bitcoin cannot! The proof of it is RootStock which is ethereum implementation using bitcoin.

Ethereum is full of buzzwords and the key one of them is DApps. Here [0] is how to build a dapp using bitcoin. Basically you can tell me any application of ethereum and I'll tell you how you can do it with bitcoin. Skynet type input requiring applications can't be done inherently by either ether or bitcoin but can be done by both using third-party oracles.

Then are bitcoin & ethereum equivalent. No, they key is origin of money. Bitcoin is mined, ether was sold.

The recent rise in price has attracted all kinds of attention but talk to any of the core-devs and they'll tell you that Vitalik used to come up with complicated explanations which they spent time studying and responding & then he'd come back with something even more complicated until they stopped caring.

[0] http://startupboy.com/2014/03/09/the-bitcoin-model-for-crowd...

> Give me any ethereum use-case & I'll tell you how to do it with bitcoin

That's like saying give me any HTTP use-case, and I'll tell you how to do it with Gopher. To me Rootstock is like putting the WWW on top of Gopher. You can do it, but why?

"We don't need GUIs, command lines can do everything!"

"We don't need Java/Python/Ruby, you can do it all in C!"

"We don't need C, you can do it all Assembly!"

Ease of development and implementation really matter. If I can accomplish creating my block chain app on Ethereum in a fraction of the time and complexity of the same thing on Bitcoin, I'd have to have an extremely compelling reason to choose Bitcoin instead.

You are right, ease of use matters but it is so because ether was sold and got a lot of money whereas no such body exists in bitcoin. With that money ethereum could fund coding.

That is a good thing unless the whole point of the system is decentralization. This is similar to Amazon selling AWScoin and launching a SETI-like software so anyone can run their system as an AWS server & earn AWScoins.

I'm not sure what you're arguing? Ethereum is fully decentralized and open source. There happens to be a well funded non-profit that the community funded in order to speed up development (EthDEV). Ethereum and EthDEV are not one in the same thing. If EthDEV disappeared, ethereum would continue. That's a little different than some Amazon owned and operated "AWScoin".

Bitcoin also has the "Bitcoin Foundation" which employs lead developer Gavin Andresen, so it's very similar.

Gavin is no longer lead developer and hasn't been for years now.

Yes, he is no longer "the lead" developer, but he's still a core contributor, and is Chief Scientist of the Bitcoin Foundation, so the point stands.

He is not a Core contributor anymore. He's been effectively frozen out.

I meant lowercase core, not uppercase Core. His most recent contribution is to the "Bitcoin Classic" fork rather than the "Core" fork. He's still a key developer in the Bitcoin community. I wasn't trying to wade into the Bitcoin political issues. It's all "Bitcoin"

Whats relevant to first post is that Bitcoin Foundation is a non profit aimed at bettering the Bitcoin ecosystem, similar to EthDEV, not some corporate owner of Ethereum IP, and they help move forward development of "Bitcoin"

Saying bitcoin is less centralized than Ethereum is a joke given the current civil war on block size, and some devs being "frozen out". Also, some core devs made a lot of money with bitcoin and that's funding their commitment. Same same, but different.

> Give me any ethereum use-case & I'll tell you how to do it with bitcoin.

Is this your opinion because you truly believe it or because you have a horse in the bitcoin race? I'm not saying that Ethereum is superior to bitcoin but at least from a brief look over it, it seems to make quite a bit of sense. Whereas my experience with bitcoin is that it's an incredibly hacky and questionable system that primarily survives because of the collective investment into it, not on its technical merit.

Yep ethereum has been out for what 6 months and look at all of development on top of it already. BTC has tons of VC money and I see nothing interesting beyond a few regulated exchanges.

But oh ya we are all suppose to believe BTC can do all of this but apparently nobody really knows how. It's really just a bunch of people that think BTC is special because it was first, but it lost it's first mover advantage.



The list of dapps is remarkable... That was my first glimpse into the hackability of Etherium and I am very intrigued now.

As a total outsider to all this, I suspect you are right.

Bitcoin is very hacky, as almost all successful first systems are. Etherium is a second system.

First systems: By force of will you cobble together a viable prototype and if you are lucky it gets traction. Then it's an exercise in patching to keep the system running.

Second systems: longer dev cycles based on lofty goals for better architecture and features. Many second systems fail here. But if/when the second system gains traction, it's potentially a much better solution since it could learn from mistakes of the first system.

It's clear that the tools are better in Etherium for building block chain apps. It also looks like it's getting good adoption.

Like all things crypto currency it's interesting that there is money on the line. Bitcoin won't fall out of fashion as quickly as other systems for that reason.

Please give me an ethereum use case & I'll try to tell you how you can do it with bitcoin.

I have previously answered a few use cases here [https://news.ycombinator.com/item?id=10846788]

Last week I built an dapp called 'GameOfTrolls', it is an attempt recreate the /r/GameOfTrolls subreddit which was banned by reddit. The idea was to make a game out of trolling people(as in just lying and making up stories).

I did it in one week, it uses Oraclize.it (which I believe is also available for bitcoin, so that's nice), and I am sure it can be built on bitcoin too, but the biggest problem remains this:

* While doing development in Solidity, and using HTML/CSS/JS for client, I am able to rapidly build a dapp.

* Writing the code in a higher level programming language created for the purpose of blockchain apps, allow me to think at a higher level abstraction.

* Training people to write in Solidity is far easier than training them to write in C/C++.

* Faster and rapid dapp development(RDD) will unlease a new age in blockchain innovation, and if you have been in tech for a while, you know that 'crack up boom' of innovation we see when Rapid application development became possible.

Case in point, Augur. Paul Sztorc has been doing development of Truthcoin for far longer than Augur people and even has funding from Roger Ver, but Augur has managed to rally a lot more people around it by delivering working prototype sooner than later, and now they're already in Beta, targetting 2016 election.

Look, I love bitcoin and I was one of the earliest adopters of bitcoin (2009 Dec era). But I have been a software developer for far longer than that, and I can tell you, bitcoin's code is not made to make the things we desire to make now.

BTW, here is an argument against Ethereum. Any app built on it, will be inherently slow because of the price they'll pay for building it in a higher level abstraction platform. This means, that Augur will eventually hit performance wall, at which point, every successful Ethereum app will have to be developed in C/C++ and natively to get more performance.

Generally agree, app development is great. Regarding your last point, apps in Ethereum run on Ethereum's specialized VM. Every opcode has its own transaction fee. There's no way to write an Ethereum app in C++.

"by Ethereum app in c++" I mean writing that logic in C++, of course it won't run on Ethereum network anymore after that point.

Ah makes sense, sorry for my confusion.

Sending money to someone and having 99.9% certainty after a minute that the transaction is mined and will be in the chain long term.

Even though ethereum's 15 sec blocks are nowhere near as secure as Bitcoins 10 minute blocks, the fact that you can 4 blocks after a minute already gives pretty decent doublespend security, from a statistical standpoint.

Easy scripting language. And don't tell me about rootstock, it's not on top of Bitcoin.

Can you elaborate on rootstock not being on top of bitcoin? That was my understanding...

the bitshares, nxt, insert any blockchain project all say the same thing yet none of them comes even close to the amount of dev taking place on ethereum. hmm why is that....

Vitalik became famous cause of his journalism. Then the sale gave ether founders loads of money. Now it is being used to market cleverly. One example around me here in India is BlockchainU. Blockchain university has taught in almost all prime Indian IT companies pumping ethereum & thus atleast most, if not all, corporate devs are working on ethereum here, whereas there is no central advertising foundation for bitcoin.

Are you suggesting that Consensys, Microsoft, R3CEV and Red Hat are only developing on Ethereum because of clever marketing? There isn't some technical merit to the platform that means they are doing this?

Why didn't these companies develop their products on Bitcoin? Are they incapable of due diligence in this space?






To be fair, only Consensys and R3CEV are "developing on ethereum"... Microsoft and Red Hat are merely offering machine images with ethereum software pre-installed for their users, as they do for many other software tools- Though I'm happy to be corrected, if you can point me to a Microsoft and/or Redhat-authored smart contract.

The news for ethereum is positive enough right now, no need to exaggerate the facts.

Sorry, I got excited and imprecise. I suppose I mean "developing on and around".

I'm just trying to counter the idea that the excitement around ethereum is somehow manufactured by 'clever marketing'.

I have both bitcoin & ether apart from hundred other coins; earning profit is different from technical merit. I spent a long time studying ethereum as a promise for something incredible but in the end I realized its just the power of blockchains & can be done using bitcoin too. What I do not like in ethereum is the nature of origin of ether which makes it just an IPO coin.

> Give me any ethereum use-case & I'll tell you how to do it with bitcoin.

I'm failing to see your point. Does the fact that things are possible with bitcoin make the technical merits of Ethereum less in some way?

> What I do not like in ethereum is the nature of origin of ether which makes it just an IPO coin.

The "makes it just an IPO coin" statement also seems to discount any of the technical merits of the platform due to your dislike of how the initial coin distribution occurred.

Disclaimer: I stand to benefit financially if the platform succeeds.

Did not mean to say that ethereum is 'less' than bitcoin in capability, just that ethereum is being sold that way. Yes I dislike it for political reasons & yet I own it because profit.

>to discount any of the technical merits of the platform due to your dislike

That is what I wanted to argue about, there are no additional merits to ethereum over bitcoin as people seem to believe

This is the sort of discussion I have zero interest in taking part in personally.

Facts on the ground are already overtaking misinformed opinions, so why bother arguing?

I'm of the minority opinion that the Turing-complete nature of Ethereum is an anti-feature. [1]

The features that matter in my mind are things that make Ethereum superior to Bitcoin:

1. Shorter block times without compromising security -- GHOST was proposed for Bitcoin, but it's a long way from happening.

2. Every block contains the Merkle root of the balance tree, so proving account balance becomes a one-node + proof problem instead of an "entire blockchain" problem -- the only way that I can verify that a UTXO is valid is to have the entire blockchain forward from the UTXO block. In ethereum, I just need the root plus a proof at the top of the chain.

3. No reward halving. The fee schedule is constant, which means that the marginal rate of growth is diminishing, but the logic across the board for utility calculations is incredibly simple.

4. Easy offline transaction creation -- the properties in #2 means that all you need to generate a transaction is the nonce(s).

5. (possibly) ASIC-resistant proof-of-work. I'm not completely sold on this one; all it really means in my mind is that the cost of such ASICs is higher on a per unit basis, which means that the power is more likely to be consolidated than the double-SHA256.

[1] Why do I think the whole Turing-complete thing and smart contracts are useless? Because fully-funded contracts are economically uninteresting. Basically, only zero-sum contracts can be encoded. If I borrow money from you at a given interest rate, I can do economically productive activity to make more money, and both pay you back and come out ahead. If I am instead forced to keep the total payback amount in escrow, then I have no capital to use, and the transaction is meaningless. Things like cryptographic ownership tokens (colored coins, etc.) have some limited utility, but as you say, those are easily done on the Bitcoin blockchain.

You can definitely enforce non-zero sum contracts, the problem being whether they are actually useful. If you're handing out loans, nothing stops the borrower from vanishing and creating a new identity or otherwise resetting their 'credit score'. It seems like a solvable problem though, you could then depend on some identity or credit oracle, and that could be built on trust (eg. in a government or facebook id), or some meaningful reputation scheme.

I guess the trick here is whether you consider "losing credit score if you don't re-pay" enforcing the contract or not. Doing anything stricter, like programmatically garnishing wages or handling bankruptcy, seems like it would require a hard 1:1 mapping between a person and their ethereum presence, which is much more than trusting an oracle to provide a unique ID or reputation based credit score.

> SatoshiDice is a dapp that was built using bitcoin.

But SatoshiDice was not trustless; it was only provably-fair. By sending your dice bet to satoshidice, you were trusting them to actually pay you if you won instead of just keeping your money (though you didn't have to trust that they were using a fair die).

An on-chain dice contract is completely different, because there's no central operator that you have to trust to pay out the winnings.

You are right my example was wrong. Yet dapps can be done using bitcoin nevertheless.

I agree in some respects, i.e. RootStock basically plugs onto Bitcoin what the Ethereum decentralized execution model does. You can actually run your Ethereum-developed apps on top of it, they mention it is fully compatible.

SatoshiDice is not quite the same as a Ethereum app, the former requires the central website to be online and operating whereas the latter would work even when the site is down since the execution is not centralised. Add Rootstock however and the same applies.

Source: Just finished building a couple of "games" on the Ethereum platform, http://the.looney.farm - one is SatoshiDice-like but not one of them needs the website to be up to operate.

Where you are 100% right - there are multiple ways to solve a problem, so to a user there should be no difference between gaming on something like SatoshiDice or something like mine. Central or de-central, the user probably won't care in the longer term. If you transfer value, you can do it on any crypto, however there may just be with a different way of implementing it or going about your business getting it up.

> they mention it is fully compatible.

As far as I know, Rootstock is still just a whitepaper. So this is just a promise to be compatible. Nothing exists yet, it's vaporware at this point.

> Give me any ethereum use-case & I'll tell you how to do it with bitcoin.

I generally agree with this sentiment--the biggest value blockchains provide to decentralized applications is an inimitable 100%-replicated log (where inimitability is provided by PoW in these two cases). Once you have that, nodes in a decentralized application use it it to record their externally-visible state transitions, thereby giving each node a global, total ordering of all of the application's prior states. Then, the usefulness of one blockchain versus another is simply a function of how secure it is (i.e. how inimitable it is), how much bandwidth it offers (i.e. how much state can be recorded in a block), and how fast it can add new blocks.

This is the approach Blockstack DNS uses, for example (full disclosure: I'm its lead engineer). It's designed to be portable across blockchains, so we can migrate it to a more secure one if the one it's currently using proves insufficient.

> I generally agree with this sentiment--the biggest value blockchains provide to decentralized applications is an inimitable 100%-replicated log

You're coming at this backwards. Once you have the most valuable cryptocurrency unit of account, you have the most security and the highest availability log in the world. On that basis, you can do just about anything, e.g. sidechains or payment channels.

A "highly replicated log" is a prerequisite of that, and Bitcoin is currently winning that battle due to first mover advantage. Hence, anything can be built on top of that basis.

If you have small competitor to Bitcoin that aims to do more, it's more valuable for the majority to snipe the features from the small competitor and make those features available denominated in the majority owned asset.

Ethereum and Bitcoin can, and should, coexist. Both have something to offer to one another.

For example, check out btcrelay.org. While you're waiting for Bitcoin to "snipe the features from the small competitor", that small competitor can lend a helping hand to Bitcoin.

Global electronic cash is a zero sum game. Money is pure network effect and only one unit of account can have 90% global market share at a time. I want that to be BTC. You want that to be ETH. Let's just agree to disagree?

I want BTC to fulfill our need for global electronic cash and Ethereum to fulfill our need for a developer-friendly Dapp environment.

The bigger Bitcoin becomes, the more we all benefit from a stable universal currency. The bigger Ethereum becomes, the more we all benefit from a rich set of shared resources for developing apps that use BTC in ways that we've been dreaming of for years.

Bitcoin's killer apps might be Ethereum Dapps. That wouldn't mean that Ether "failed" as a currency or that Bitcoin "failed" because Ethereum was used to build the killer apps. It'd mean both are succeeding!

Life is more colorful when it's not just black and white.

> Give me any ethereum use-case & I'll tell you how to do it with bitcoin.

A dapp reaching into the state of another dapp.

Using atomic-swap protocol

I don't understand that. Can you elaborate?

>Give me any ethereum use-case & I'll tell you how to do it with bitcoin.

How do you implement a trustless SatoshiDice with bitcoin?

You can do it using the appcoin concept [http://startupboy.com/2014/03/09/the-bitcoin-model-for-crowd...]

Bias detection: How many BTC do you own?

Since I cannot prove anything and you'll have to take my word for it, I'll gain more from the ether I hold than bitcoin I hold for same percentage rise. This is because I believe in ethereum's marketing more than bitcoin's. But this is HN & my point was that ethereum's USP is not U.

ok i need to pay a crew of freelancers immediately without the confirmation delays of Bitcoin. I can do that with Ether. The payments are instantaneous.

Go ahead, tell me how you can do that with Bitcoin.

lightning network or sidechains

The article is pretty light on technical details. Does Ethereum suffer from the same design limitation as Bitcoin, where every operation must be verified by every node? If so, I have a really hard time believing it will scale. Look how much difficulty the Bitcoin network is having with just a couple of transactions per second.

One key difference with Bitcoin is that, unlike Bitcoin, Ethereum has an account based architecture. In other words, you have an account that is credited or debited, and you then have a current balance for that account. If you need to get your balance or send ether, you just look up a single number.

Bitcoin on the other hand uses an "Unspent Transaction Output" architecture. Basically your balance is made up of all of the credits and debits (inputs and outputs) you've made with that account. So sending bitcoins requires referencing "unspent outputs".. which may be lots and lots of different transactions.

That's one difference, and there are others, such as the time taken to confirm blocks (current block time on ethereum is 16s). But there are still lots of scalability issues to be addressed, which are actively being worked on.

Vitalik Buterin has a great couple of posts on some of the issues:


edit: Not sure why this was getting downvoted. Just to clarify, in case it seemed like I wasn't answering the parent. The points above are one of the ways in which "every operation must be verified by every node" is less costly on Ethereum. Obviously if it takes less compute time per transaction, you can scale to larger numbers of transactions per second. Ethereum has already passed Bitcoin in this regard, and has hit at least 8 transactions per seconds at one point, while Bitcoin's ceiling is 7 transactions per second. In addition, prior to launch I believe they managed to push the test network up to 25 transactions per second.

But Ethereum's raison d'etre is "X for the blockchain".

VISA does 56,000 tps.

So it's really simple. How are you going to hit 56,000 tps on the blockchain. The Bitcoin community, which is far bigger and generally more experienced than Ethereum's just spent 18 months vigorously debating this question. Do you suggest Ethereum has come up with a better answer?

And the criticism here is around the selling point of Ethereum: "everything goes on the blockchain". You're telling me after 18 months of debate, the best you've got to say about that is: "an account based architecture"?

What is it about widgets fully encapsulated in a blockchain-native smart contract on Ethereum that makes it so much more scaleable than a similar widget on Bitcoin's blockchain?

There are several things Ethereum does currently that's better for scaling.

1) It produces blocks every 17 seconds. It can do this without neglecting security, because orphan blocks count as uncles and are included in the security of the whole network.

2) It has a scalable/dynamic blocksize. The miners can scale the gas limit up or down by a certain amount. If the current gas limit (pi million) gets hit, miners can start increasing it.

3) Tx fees purpose is primarily for DDOS protection & solving the halting problem with turing-complete scripts. It's not a fundamental element for security, because the issuance rate is constant. This means that a "fee market" doesn't need to exist as much as in Bitcoin, in order to make sure the blockchain remains alive. It has an infinite, but predictable supply, rather than finite.

4) Future scalability improvements include Casper PoS, which will decrease block time to around 1 - 4 seconds & sharding, which will remove the need for every node to process every part of the transaction space.

These additions will mean that for the current period, transactions will increase, and perhaps lead to more centralization as not many will run nodes to keep the whole state. This is a trade-off in return for running more transactions.

What block size for Ethereum's blockchain would be required to hit 56,000 tps? I'm really getting some deja vu in having to write this out for the millionth time in a 18 month period.

None of your talking points magically address the extreme costs of prerequisite physical infrastructure needed to hit 56,000 tps.

Bottom line, it's impossible to match the throughput capacity of just a single credit card company on any blockchain, be it Bitcoin or Ethereum or BBQCoin, without incurring enormous costs in terms of CPU and bandwidth. This is to say nothing of doing decentralized exchanges, order matching, and option contracts - all of which Ethereum has been advertised as doing on a blockchain. For that you'd need hundreds of thousands of tps.

Make block time 1s. Allow blocks to hold 1M transactions. Problem solved?

Granted, this doesn't deliver the physical infrastructure to process that many transactions - but that will happen over time. Visa didn't process 56k tps on day one, either.

Thank-you for writing this for the umpteenth time. I write these same points myself, constantly, as well.

Most of the people in the ethereum project are delusional teenagers looking to get rich quick.

What's your take on my claim?


Note: Reply there if you do.

Is that 17 seconds per block globally, or per client? If it's global, how long would the average client take to generate a block?

If it's going to take hours to generate a block, I'm worried that it's going to take forever for an app to generate enough ether to get anything done; buying the stuff using real money is a nonstarter for most applications, so generating it on demand is the only real option.

Blockchains don't need to take over a substantial percentage of economic activity to be useful. I don't understand why people bring up transaction limits as if they permanently cripple the technology.

The throughput capacity of Bitcoin, being programmable money, isn't a user limit. We can just as soon put billions of users with BTC-denominated accounts at higher layers of abstraction, and in fact this is exactly what Bitcoin's core developers aim to achieve. It doesn't make any sense to globally broadcast every last Starbucks coffee and permanently etch it into an immutable database at enormous cost.

"VISA does 56,000 tps."

That's what I keep telling them. The whole of credit processing and banking... even the Fed... runs on centralized, transactional architectures with redundant datacenters and optionally redundant checks from mutually-distrusting parties. What people want to do can be built on a highly-efficient, log-based system with distributed checking run by a foundation (or international collaboration) in a neutral country. It would be simpler, more secure, use less energy, faster, and so on. Additionally, we can choose what level of detail we want in reporting or auditing to reduce data overload.

These blockchain models want everything to go on a blockchain whose operational hurdles even they can't agree on. It's like this subfield of IT is ignoring simple solutions to simple problems while pushing complex solutions with complex problems.

So, I add to your own question: what is it about a smart contract on Bitcoin or Ethereum that couldn't be done with a signed email or website document optionally run through a few cryptographic notaries? The latter is not only simpler and more efficient: it's in use commercially with many courts already approving of concepts and some implementations.

Ironically, the only people who have made money on smart contracts - cough Ethereum - did it by convincing other investors to part with their money subsequent to selling those investors on the idea of smart contracts. That whole sub-niche industry is just a big cess pool of people chasing investment gains that we're told can be had by pointlessly tilting at windmills.

Conversely, Bitcoin never promised smart contracts. To the extent Bitcoiners take part in Ethereum debates, we're only doing it because we know the real game Ethereum is playing is diverting investment capital away from Bitcoin.

> diverting investment capital away from Bitcoin

Even if that were true, that would necessarily be a bad thing in the interests of not putting all your eggs in one basket.

I take it you meant to word that as "wouldn't necessarily be a bad thing." As in, diversion would be good to avoid monoculture risks.

Very good answer.

The reason to use a blockchain is because you're locked out of service in the incumbent models. That means : gambling, drugs, sometimes porn, and capital flight. That's why you use a blockchain. (And IMO, that's what makes them so cool)

Otherwise - Blockchains totally suck at everything, and these private-blockchains/blockchains without energy are completely inane and stupid

I haven't seen anyone say that. Why can you do those things with a blockchain but not non-blockchain, settled ledgers? Seems like it boils down to rules and who is enforcing them rather than the tech.

Correct. Blockchains are for regulatory arbitrage. The entirety of the efficiency of any blockchain depends on the regulatory environment. If drugs and gambling were legalized tommorrow, across the Internet connected world, no one would mine, and blockchain would die.

I'm focusing on the other end of this. Couldn't those blockchains or at least those related to criminal activity be made illegal, controlled via regulation, or seized? I don't see how a blockchain is immune to this if people ever try to convert it to cash.

The answer, I suspect, is that it potentially wholly and fundamentally disempowers existing centralized authorities - as asset issuers, regulators, reputation police, debt collectors, and border-guards - and promises to outlive them, with relative guarantees of high availability and no SPOFs.

You mean it claims to. In reality, these will be centralized things under management or control of companies with an ecosystem interacting with them. Regulators and lawyers will step in to do their thing. The result is... another set of authorities giving us problems. That's what future it's looking like will happen.

Of course, the problems on authorities' side might be better or worse with the new models. Nonetheless, my argument is that these blockchains are essentially a combination of specific tech, ledgers, distributed verification, cooperation, and incentives on infrastructure side. You can do all that without blockchains using simple, dumb tech with different organizational structure & participation rules.

Decentralized systems are demonstrably less centralized than conventional capitalistic private sector/bank/gov/licensing hierarchies and the monopolies they foster. As you point out, it's the human factor that's generally the problem. I doubt we'll ever see a better illustration there than the current situation with Bitcoin. Historically, we've seen the well chronicled growth of government and commercial interests on the internet. Both are good examples of decentralized systems that fail or are weakened through human causes. I suppose these are the same areas in which offensive security research is focused.

We should be smart enough now not to put all of our trust in to one system, and instead to foster a biological-style heterogeneity of systems, all of which we can opt in/out of on a dynamic basis based upon their various objective properties and our risk model versus requirements (==motives).

"As you point out, it's the human factor that's generally the problem. I doubt we'll ever see a better illustration there than the current situation with Bitcoin. "

BOOM! Now you're seeing what I'm talking about. Regardless of the tech, it ends up coming down to the people controlling key companies, organizations, or code. Plus the legal system. So, I prefer just fixing that angle on a centralized system run by mutually-suspicious parties with open verification and incentives aligned right way.

"instead to foster a biological-style heterogeneity of systems, all of which we can opt in/out of on a dynamic basis based upon their various objective properties and our risk model versus requirements (==motives)."

That's a good idea. I'd push several good ones if they were available. Preferably they'd be really different from one another to maximize the diversity benefit. Another angle on that is to derive the currency value from a set of high-value or stable commodities. That was what high-assurance engineer Clive Robinson pushed for as an alternative to either gold or our currency. Turns out, there's an altcoin company doing exactly that. Can't recall the name.

When we founded Kraken, I did a lot of research and reach-out in the alternate financial systems space. The 'basket of commodities' suggestion is very well promoted by theorists in that area, though of course it doesn't remove the problem of manipulation: whether static or dynamic in composition, it has the same problem as setting central bank interest rates today - prior knowledge of manual change to the system becomes profitable, and corruption ensues. Some also suggest emphasizing particular qualities in the selected commodities.

Well, as I understand it, there's no technical reason Ethereum can't do the 56,000 tps. Ethereum has no fixed block size. Realistically, obviously, you'd need more and more compute power.

The end goal is to prevent only having large institutions running nodes and to keep the system more decentralized, hence the need for better scaling options. (Bitcoin has become more decentralized as it has aged, with fewer small nodes running)

And I'm not saying that Ethereum has it all solved, just that the system is different enough that some of the issues are not applicable. It's not useful, in my opinion, to just throw up your hands and say "It can never scale!!". First because there's no absolute limitation for scaling, only things that make it costly. Back in the day, if you asked someone how the early Internet was going to scale, it would have seemed like an equally impossible task. There's plenty of time to work on the issues before we need 56,000 tps.

> The end goal is to prevent only having large institutions running nodes and to keep the system more decentralized, hence the need for better scaling options. (Bitcoin has become more decentralized as it has aged, with fewer small nodes running)

Right, but that wasn't the question I raised. I asked what does Ethereum do different than Bitcoin that makes its blockchain more scaleable? The answer is, of course, nothing. If merge-mined sidechains and overlay protocols are your solution, Bitcoin is non-stop innovating in that direction.

> It's not useful, in my opinion, to just throw up your hands and say "It can never scale!!".

But if you're just going to throw up your hands and say "put it in the cloud", that's no different than what Bitcoin bigblockists want to do.

> I asked what does Ethereum do different than Bitcoin that makes its blockchain more scaleable

But I did answer what it does different. I cited a few of the many things it does different, one of which is an account based model. Another is faster and unlimited sized blocks. And if you care to read more of the development threads, you'd find lots of other solutions. Ignoring facts and continuing to say "The answer is, of course, nothing" is just FUD.

Here's a quote from Vitalik in October:

"Scalability: using a combination of sharding schemes, random sampling, heavy use of Merkle proofs and asynchronous calling in order to increase the potential transaction throughput from ~10-20 transactions per second to over 100000 (or, if super-quadratic versions are used, a theoretically unlimited number). The basic concepts behind scaling have been set in stone for over six months, and our research team is highly confident that the general approach is valid;"

> But if you're just going to throw up your hands and say "put it in the cloud"

Who said anything of the sort? I'm saying it's a hard problem, but it's tractable and takes resources and time. What's that got to do with the cloud??

Ultimately I don't understand the whole negative attitude on scaling. Obstacles are not a reason to not attempt something, and certainly not potential scaling issues. Making the Internet was hard. In 1993 people could have said "computers are expensive.. and think of all the cables you'd have to lay! It's going to be millions of miles of cables! It'll never happen! This whole WWW thing is just a toy fad!"

56k TPS is a supposed peak at burst volumes, in reality the number is closer to 3K TPS but that's beside the point.

Until there's a real need for bitcoin to support this sort of volume (if ever) I don't think comparing bitcoin to visa tps wise proves anything.

If there's enough customer adoption where there's a need to handle that kind of volume you can rest assured there will be infrastructure to support it and instead of a loose group of "core devs" there will be an official salaried department (at visa? :) ) working on this full time.

> If there's enough customer adoption where there's a need to handle that kind of volume you can rest assured there will be infrastructure to support it and instead of a loose group of "core devs" there will be an official salaried department (at visa? :) ) working on this full time.

But since we're talking about "decentralized systems", the question is who owns the blockchain infrastructure. Is the blockchain going to be serviceable on home desktop PCs, or are you going to need a datacenter?

To really drive this example home, could you please quote me a price on building out a Tier 1 datacenter with gigabit fiber? Because last I checked most people don't have that kind of money in their sofa cushion. And it isn't even remotely feasible to acquire that sort of infrastructure anonymously.

Yet that's what it's going to take to hit 56,000 tps on a blockchain any time this decade or perhaps even after [1]:

> Next month, the worldwide semiconductor industry will formally acknowledge what has become increasingly obvious to everyone involved: Moore's law, the principle that has powered the information-technology revolution since the 1960s, is nearing its end.

A common mistake is confusing "popularity" with decentralization. BitTorrent is both popular and decentralized. It doesn't take a datacenter and a 10-machine cluster to participate in a BT swarm as a full-on peer. As an aside, it's no surprise the creator of BitTorrent is staunchly against scaling Bitcoin in datacenters [2].

[1]: http://www.nature.com/news/the-chips-are-down-for-moore-s-la...

[1]: http://www.agner.org/optimize/blog/read.php?i=417

[2]: https://medium.com/@bramcohen/bitcoin-s-ironic-crisis-32226a...

"To really drive this example home, could you please quote me a price on building out a Tier 1 datacenter with gigabit fiber? Because last I checked most people don't have that kind of money in their sofa cushion."

"Big boys" do though. And that is my point exactly - if there's enough tx volume (driven by consumer adoption first and foremost) to warrant this expense - someone will do it. Also, in reality bitcoin isn't all that decentralized. Sure, individual nodes on the p2p network are all over the place however the vast majority of them are members of mining pools, with 3 biggest Chinese pools accounting for 30+ % of the total hashrate.

So if one of the major card networks steps in and takes over that chunk, as a consumer I'd be looking at a more reliable system to deal with.

You'll have to excuse me for this, but what you've just written has been said so many times in the past 18 months it's basically a cliche.

If you're willing to put the entire system into the cloud and hand over the backbone of Bitcoin to big banks and megacorps, you end up with a system no different from fiat currency over time. It ends up being a State controlled fiat money, because all of the infrastructure providers are Corporations - creatures of the State.

Inflation? No problem, we'll just have the usual suspects update the code. Freezing accounts? Narcoturrerism? No problem, we'll update the code. Etc. Having a P2P electronic cash system means accepting that the system is going to be different than government scrip.

The blockchain was never meant to be PayPal. It was meant to bootstrap a cryptoeconomic system outside the bounds of politics and the law. It's completely irresponsible to give that vision up for the ability globally broadcast low value, meaningless consumer payments - especially since you can achieve that by building higher layers of abstraction.

Well sure, there's a "libertarian" angle and there's a "pragmatic" angle here. I don't want to be beating a dead horse but with the way things are shaping up for bitcoin things are getting pretty centralized and as a result easy to control.

As for being "outside the bounds of politics and the law" when it really comes down to it you can only go so far especially if there's something as sensitive and highly visible as "money" is involved. Even in the reasonably "soft" western countries there are subpoenas, cease and desist orders etc. All of that can be set in motion by the government who has the final say. In China - they just disconnect the whole country from the internet :)

The bitcoin debate is mostly political, not technical, even if their are lots of techlogical aspects to it. Butshares allready has an architecure that can deal with 200000 transactions a second. I dont know if etherium could do the same.

Some people downvote what they don't understand or agree with.

I only downvote abusive comments and spam.

As for Ethereum I have a lot of work understanding how the whole thing works. I sense there is a lot of promise and potential there.

However like the internet when it was emerging, I suspect the Ethereum project will probably be attacked without thoughtful discussion.

> Ethereum has an account based architecture. In other words, you have an account that is credited or debited, and you then have a current balance for that account

How is that different from a Bitcoin wallet address aka public/private key combo?

There are fundamental problems with Ethereum which are not addressed in the article.

* No guarantee of transaction execution

* Turing-complete smart contracts are slow

* Scaling is a moonshot

* Oracles break the trust model

* Public blockchains struggle to stay decentralized

More here:


The Ethereum foundation has been putting a lot of resources into scaling research. Theres some promising proposals involving sharding the validation process, in addition to the off-chain scaling protocols that Bitcoin is pursuing like the lightning network.

Currently, yes. However, the Ethereum foundation is actively working on addressing that limitation, and there are some very clever proposals for how to get around the problem. Unlike Bitcoin, Ethereum development is very active and the community welcomes major changes if they are worthwhile. I agree that Ethereum needs to solve the scaling problem to be successful, but I think Vitalik and the foundation have a good shot at doing it.

"Unlike Bitcoin"??

Bitcoin has a multiple-factor greater mindshare. More developers, more researchers, more conferences, and more overall maturity.

There are a lot of incorrect things in this thread.

Bitcoin can barely agree to a minimal blocksize increase. The Ethereum proposals for stuff like sharding would be complete non-starters in the Bitcoin world.

Every computation runs on every instance of Ethereum, yes.

It is important to note that this is not a resource for distributed general computation - it's for running smart contracts. Per the Ethereum development tutorial, "you will not be able to do anything on the EVM that you cannot do on a smartphone from 1999." https://github.com/ethereum/wiki/wiki/Ethereum-Development-T...

This is not a very good article - it's rather breathless and short on technical detail. In particular, calling it "the World Computer" is completely not what Ethereum will be capable of.

Ethereum refers to itself as this on the website, ethereum.com

That's a political problem with the miners and developers. There's no technical reason they couldn't raise the block size.

You shouldn't ignore political problems when it comes to distributed systems...

Additionally, raising the block size cap is only a stopgap measure. Eventually you will reach hard bandwidth or disk storage limits and the only way will be to throw some transactions outside the blockchain.

Bishares is a blockchain that can do as many and more transaction as Visa. Their does not seem to be a fundamental problem as long as you accept that Worker(miners) are fast servers with good networks.

Is this true? I believe there is a tradeoff but want a more in depth explsnation if possible

As I recall (and this may not be the whole of it), the "tradeoff" was that a larger block size would risk getting attention from China's great firewall, effectively splitting the network and rendering Chinese users' funds effectively worthless. And it turns out a set of Chinese users have a controlling interest in the network currently... so yes, its a political problem par excellence.

It occurs to me as I write that Ethereum may have similar problems down the line, when platform updates turn out to be direly needed, but would disrupt the operation of well-established and lucrative apps.

Also, the miners get more fees when the transaction limit gets reached.

Isn't that inherent to blockchains (every node must have a copy of all transactions)?

You don't need to keep all the transactions. The original paper addresses how to compact the chain. Basically, you only need to keep hashes.

It's not meant to be used for 'distributed' computation.

Any system based on distributed consensus is by definition a distributed system.

right. But it's meant to be used for consensus and not heavy computations.

The consensus bit is the "heavy computation". The means regardless of the ends.

The Bitcoin network is not having much difficulty with a couple of transactions per second. It is the community that struggles with adjusting to an appropriate throughput.

How do I continue using Bitcoin as a transactional currency if I can't perform transactions with it?

I believe the current answer to that is to make vague promises about how the vapourware known as the Lightning Network will solve all the problems.

well, you couldn't. Peter Todd is a btc dev and provided a lot of thinking on the tradeoffs. He stated in an interview (fairly confident in this) a 100x improvement in speed and is in favour of not increasing block size. Should check it out, the intetview was on a podcast on the LTB network on itunes.

So you will be able to. He has done a lot of thinking around tree chains and scaling and optimiztion.

Btc is limited inamount of coins and came first, its value is as a currency.

Eth is the first popular blockchaindb. Coins are needed to pay miners and powet dapps.

If a currency cant be traded it idnt worth anything, however sidechains seem to provide a way to convert from one to another

"a couple" transactions per second is not enough for a global network that intends to have millions of participants.

The way i think about Ethereum is that it's a cloud computing platform upon which the whole world can see which program the server is running. The usefulness of this is that if you want to run a computing service that administers something of great value to others (such as a vote-counting service or a property registry), other people might be suspicious that you will use your administrative access to the server to corrupt the system. With Ethereum, the service provider doesn't have any admin access (and neither do the people upon whose hardware the program is ultimately running on); the cloud computer just runs the program you upload, and everyone can see what program that is.

In addition, it runs your service robustly, and preserves the entire history of the computation forever. The downside is that these transparency and robustness features make the service a lot more expensive than ordinary cloud computing, as well as more difficult to program on.

It doesn't really have much to do with Bitcoin or currency (except that (a) like Bitcoin, Ethereum uses blockchain technology to achieve these things; but that's an implementation detail (b) a Bitcoin clone is one of the many things you could build as an Ethereum application (c) for technical reasons you buy Ethereum server time via purchasing server-time-credits called "Ether").

As a project, Ethereum is very technically ambitious (they are not just working on a cloud computing platform, but also trying to advance blockchain technology in general, eg developing a new proof-of-stake algorithm, and eg developing a way to not have to replicate computations on every node on the network). They are trying to do a lot of new things at once, which is risky (but awesome).

This thing needs a use case that gets used. Try putting fantasy football betting on Ethereum. You need an oracle or oracles to get game results into the system, but those can use a voting scheme to prevent payouts based on phony results. Of course, it has to be packaged up as an app usable by the typical football fan.

Possible YC startup.

If you can create user-friendly app for betting and it is legal, why would you use blockchain for that instead of just using traditional way? I would bet my ass off that the end-users (gamblers) don't give a crap whether it is on blockchain or not, they just want it to be easy, quick and possibly cheap. And of course trustable. And by latter I don't mean "mathematical proof" trustable, they want brand that they know to trust.

> If you can create user-friendly app for betting and it is legal, why would you use blockchain for that instead of just using traditional way?

Because it's not legal (in the US), obviously. But the feds won't be able to shut it down if it's on the blockchain. Look at bittorrent, still perfectly alive and well after so many years.

> they want brand that they know to trust.

like fulltilt or leehman brothers!

You have to take in account that for every failed banks there is something like 20 banks that have worked good enough. For full tilt, there has been many gambling services that haven't failed yet.

When using banking services, you have a risk of a bank run. How big that risk is? How much work are you willing to do, or how much money are you willing to spend to migitate that risk?

They actually discuss this in the article, including the concept of oracles, 'reputation', etc. See more at the referenced site[0] or the Youtube video[1].

[0] http://www.augur.net/

[1] https://www.youtube.com/watch?v=yegyih591Jo

I get spammed daily on Reddit from bots supporting Ethereum (currency) - so the name causes hatred for me already.

I get those too. All the messages I've gotten have had similar-looking random names from new accounts, so I think it's one idiot with a bot. Ethereum devs have asked this person to stop, subreddit admins have asked people to use the spam report button, but only Reddit employees can actually do anything about it.

There are speculators on all the blockchains, even on the chains not designated as currencies. They irritate and demoralize the developers with their trolling and hostility over unsatisfactory chain exchange rates--the only thing they're invested in--while the developers are merely attempting to build distributed apps to benefit society. These are the same breed of asshole who have ruined wall street, college sports, and anything else they can bet on.

Side note: Ethereum is the technology, ether is the currency.

Have built a demo app with Ethereum in November. The tooling was ok, but not amazing.

IMO one of the main problems is that you need trusted inputs for most "interesting" or "valuable" computations.

Developing on the platform right now is akin to writing software to run on a VM that has no operating system. The services that are being written right now can be thought of as the operating system (foundation) that everything that will come next is built on. To do the really interesting stuff you have to first build all of the really low level tooling to support it.

There's a lot of talk about replacing Uber/AirBnB/Facebook/etc with decentralized applications but I believe those things are still at least a few years away. Complex applications like those are going to require significant base infrastructure that just doesn't exist yet.

The "Trusted" inputs problem is complex and I don't believe there will be a single solution. Some applications will be fine using trusted oracles. Others will need a more trustless model which is going to require on-chain reputation systems which in-turn is going to require some level of identity/anti-sybil system.

> There's a lot of talk about replacing Uber/AirBnB/Facebook/etc with decentralized applications but I believe those things are still at least a few years away.

At least a few years? LOL. I would give it 20 years.

i see a browser plugin/app like "Cloud to Butt"[0]

that detects phrases like "I would bet my ass off" or "I bet you that" or "I wager" and converts them to a prediction market link - creating the market if it doesn't exist or just linking to it if it does.


I've said it before and I'll say it again: the missing piece for the crypto-anarchist spiritual lineage of fintech to take off is a business-level transaction protocol (and associated open source server) that is generic enough to embrace all of the different settlement mechanisms and transaction types out there, as well as incorporating an adequately comprehensible means of markup for risk models. Not "send <amount_of_bitcoin_portions> to <bitcoin address>", but rather "invoice X for service Y settle by datetime Z, available modes of settlement ABC, after which service Y (or good G) will be rendered. policies for various types of transaction failures are DEF. proposing node's risk model: R.".

The idea is not to supplant Bitcoin/Ethereum but in fact to give them more market share by enabling them to be considered on a properly equal, pragmatic basis with conventional financial services or assets. This would encourage their selection (automatically or otherwise) versus some defined risk model (temporal, legal, etc.), over conventional financial services or assets.

Things that come for free or almost for free when you adopt dynamic financial routing include settlement path redundancy, multi-path settlement, RFQs/bids, multi-hop routing, financial system reliability, etc. Something like real world aware IPv4, for money. I've already suggested an endpoint identification scheme - https://sites.google.com/a/ifex-project.org/wiki/our-proposa... - which is the native account identifier at Kraken.

If anyone would be keen to work in this direction, I started https://sites.google.com/a/ifex-project.org/wiki/our-proposa... years ago, but had to give it up due to competing concerns.

I'm ready to jump in again but don't want to go solo.

Is there a "Hello World" version of a DAC?

What is the simplest contract I can make? And do I need a 3rd party oracle to confirm anything?

It would look something like:

contract Hello { string greeting; function setName(string name) { greeting="Hello "+name; } }

The solidity compiler will automatically produce a "getter" function to retrieve the greeting.

It will only be exposed automatically if you mark it public, i.e., 'string public greeting'


Running it is about as far as I got with my investigations.


What is wrong with this website? It is glitchy looking as hell.

SimpleStorage is one of the 'HelloWorld' equivalents of DAPPs.


Third party oracle services are provided by Oraclize.it

I think the most logical DAC should be a distributed network of lemonade stand franchises :)

I'm no expert in bitcoin or other decentralized blockchain technologies, or in the theory of computation for that matter, but I have a nagging question:

When they claim that the Ethereum network would function as a global, decentralized "world computer", then what should I assume to be the hardware architecture running its instruction set or, in other words, what is the basic, atomic unit of computation that the network (or other blockchain technologies) can perform. If we think of regular computers, then no matter in which language an application ( i dislike the word 'app' :) is written in, eventually we end up talking about the x86 instruction set, the microcode that makes up each instruction, and, finally, the actual transistors logic that run them.

I somehow feel this is important to ask because we have to take into account the energy efficiency of computation. For example, if we think about the x86 ADD instruction, there is an approximately fixed amount of energy it dissipates when it is performed. ( This is a pretty interesting subject in intself: https://en.wikipedia.org/wiki/Landauer%27s_principle )

What would be an equivalent ADD instruction or other basic unit of computation on the Ethereum computer and how expensive would it be? If it involves one or several distributed blockchain operations, then it seems to me that this model would be neither energy efficient, nor performant, especially if we take into account the distributed factor, which means that such an operation would be very costly since getting one bit of information from one end to the other requires an arbitrary number of routers along its path, and those consume energy to operate.

So I guess what I'm trying to ask is if this is practical in any useful way.

Check-out the Ethereum Virtual Machine instruction set by reviewing Gavin's Yellow Paper. It start on page 22:


Thanks for the link, I'll take a look

opcodes cost gas.

More in depth [1] and in the yellow paper linked in the stack exchange question.

[1] http://ethereum.stackexchange.com/questions/52/how-were-gas-...

What are the costs like for building resource intensive apps on ethereum? Would be interested in comparing with centralized compute providers.

A lot more expensive. There will be no comparison in cost, or at least that is the wrong comparison to be making.

I'm not sure if I'm reading ethereum right, but it sounds a lot like mesh computing, where a user can bid for unused cycles on a bunch of networked computers, or one "world computer" if you agree with the author's characterization.

If that is correct, then ethereum and Amazon spot instances could be interchangeable - low availability, but potentially lower cost due to the bidding process if there is a lot of excess compute power on the network.

Sorry, thats not correct. The only person who gets compensated for performing computations are the miners. Everyone else performs computation so they can have an up-to-date blockchain, but are not compensated.

Ethereum is the most expensive computational environment you can imagine. However, it is also the highest trust. Its not for computationally-limited (gaming/data analysis) its for trust-limited (financial applications/privacy)

There is an effort to build a computation market on top of Ethereum, but the computation happens off the chain.


For some reason I thought Ethereum was different than a flavored blockchain, but I guess it's just the branding/dev ecosystem that is different.

That's completely inaccurate. Ethereum runs the same piece of code on all these computers in the world. That means a program which is being run on the network when it has 500 computers isn't any faster than a program which is being run on 50 computers.

The benefit you get is this: When 500 computers are running it, then you know you can trust the execution and the 'state' of the virtual machine when it is only being run on 50 computers (or 1 in case of a centralized application).

Most of the application does not run on ethereum itself, but on the client. It's the business logic that does. User registration, transactions, etc. So it depends how resource intensive the business logic is.

It is (currently) not well suited to resource-intensive apps.

Basically you pay a "gas price" for every opcode executed by the EVM. Clearing a memory address? You pay for it. Setting a value? You pay for it. etc. etc.

(In the above paragraph "you" refers to the "user" sending the transaction)

You really need to think about what you are doing, whether it is allocation, computation, etc. Minimize the number of opcodes and the number of expensive ones at that. To date the contracts are quite simple, although some really interesting things are in the works.

The cost comparison you want to look for is where people pay a very high premium for the execution of business logic by a trusted counterparty. In other words, its not cheaper computation in general, it's cheaper computation for trusted services (eg. financial instruments).

It's not a compute engine, more a verification engine. The idea is to have transparent contracts that everybody can verify on their computer at home.

I wonder to what extent is the price rise a bubble, and to what extent it's valuation of the potential.

Look at the full stock price history of any company which became very valuable, and you'll see bubbles and busts along the way. Whether the market's calculations of Ethereum's potential is correct remains to be seen, we'll have to see what gets built on it over the next few years.

It was a pump'n'dump. Lots and lots of people on the Reddit bitcoin-related subs reported PM spam about Ethereum, for instance.

Pump and dump the way you phrased it, seems to auggest the entire thing is a pump and dump scheme.

Either way, the price fluctuates woldly as people try to do this scheme, but the company raised $15m and appears to be actively developing the tech. So whether it works(it appears promising) or not, they seem to be svidly trying

I'm speaking specifically of the price rise then fall in the last couple of weeks.

The fundraiser, of course, was a pre-mined altcoin.

Interesting take. To summarize, you believe that speculators manipulate markets and prices decouple from value because self interested parties force it to communicate information incorrectly?

Also, you point out that the announcement of the intention to premine ether ended up leading to the Ethereum project implementing a plan to premine ether and sell it at a known and predetermined rate?

Riveting conclusion, surprised more people aren't talking about this.

I for one don't buy into the "conspiracy theory" that our society is built on debt, and monetary and fiscal policy have been managed poorly such that capital can not be incentivized to loan. Instead, rates will penalize banks for not lending, as economists try to force staples like food and oil up to introduce inflation into the system as they have lost control on spending as well as flooring rate levels thus losing both measures to fix the problem.

If that were true, it would be bad.

All above was obvious satire

One issue with Ethereum is that smart contracts are expensive and must run on every node. These days a VPS with 2GB RAM costs $4 so Ethereum would not be competitive even in short term.

Another issue is the blockchain size which is already 8GB and growing faster than the Bitcoin blockchain.

Ethereum smart contracts have abilities far beyond a VPS, particularly around security, reliability, and trustlessness guarantees- Whether you think those abilities have value and justify a new platform is a separate question, but the argument that "this is like a VPS" is a misunderstanding of what ethereum is offering with its technology.

The large blockchain size, on the other hand, is a legitimate problem with ethereum (as with all blockchain systems.) Hopefully the devs will be able to solve this problem- They are hard at work on a potential solution as we speak.

Ethereum has been out for 7 months already and so far there have been no useful or popular dapps. This would mean that for most applications trustlessness is not very useful. And for those apps where it would be generally useful, such as exchanges, betting. etc, the expensive nature of gas would mean that operating on Ethereum would be cost prohibitive and they would lose to their centralized competitors. And how is Ethereum is more secure than a properly setup VPS?

> Ethereum has been out for 7 months already and so far there have been no useful or popular dapps.

I think that's a valid criticism- I, too, am a bit disappointed that there are few contracts yet with obvious utility.

However, as someone deep in the community and talking to lots of people, it seems there's going to be tons of interesting dapps deployed in the next 6 months. Hopefully there will be a "killer dapp" among them.

> And how is Ethereum is more secure than a properly setup VPS?

If I store money on your VPS-based app, how can I be assured you can't steal it from me? If I use a feature on your VPS, how can I be sure you won't disable it tomorrow? Ethereum can provide these sorts of guarantees.

Good examples of why it's not ready for significant use in production. They should have network sharding in sometime this year or next which will effectively leave contracts running on only as many nodes as they pay for. Tackling blockchain size issues will probably need some separate cleverness with distributed storage, though there are good precedents for implementing that.

Need somebody to shed lights on this: my understanding is Ethereum started with pre-farmed ethers and opened for sale in bitcoins.

My two questions:

1) Any info on how many ethers the founders/founding company had farmed and holding in vault?

2) If Ethereum takes off (financially), and these early members start to dump the ethers for cash, will it crash the Ethereum economy?

Bitcoin could have exactly the same issue, but I feel the difference is most people then wasn't sure if crypto currency would fly, and it is fair to reward on the risk for those who trusted and held bitcoins.

Ethereum sounds like a more refined and polished business endeavour, and I feel it gets too much hype lately.

I've dabbled with the dev tools ethereum provided for a while and I can't imagine that the computations ethereum does will ever be fast enough for a general purpose, distributed computation platform. If I had to wager on yet another cryptocurrencyâ„¢ I'd bet on Zcash (https://github.com/zcash/zcash). They promise a real differentiator for cryptocurrencies with their zero-knowledge proofs.

Have you read up on the proposals and information on plans for Proof-of-Stake (Casper) and Scaling/Concurrency via sharding? Both of those are directed at fixing the "fast enough" problem.

There is http://golemproject.net/, which builds on top of Ethereum and uses it for administrative purposes (e.g. payments).

"The Ethereum network is a distributed economy like Bitcoin, except it is much, much more powerful. The essential difference is that Ethereum is programmable. In fact, it only takes a few minutes to program a whole new currency like Bitcoin."

AFAIK it takes 5 minutes to fork Bitcoin and create a new altcoin. Why would I use ethereum for my altcoin instead of doing a new altcoin?

They don't mean fork ethereum and create a new currency. They mean create a new currency running on the ethereum platform. A bitcoin fork means you have to build up a group of miners sufficiently large and diverse enough that everyone trusts it. Making a currency on ethereum means it inherits the trust that ethereum has.

Here is the tutorial about creating your own coin on ethereum. It's pretty short and interesting: https://www.ethereum.org/token

People like to think of ether as another cryptocurrency like bitcoin but the ethereum currency is intended to be more like a commodity that is used to fuel the platform that runs all sorts of stuff (including currencies).

I know what they mean.

> A bitcoin fork means you have to build up a group of miners sufficiently large and diverse enough that everyone trusts it.

Of course, you need miners. However the mining is the easy part, otherwise you need marketing, use cases, etc, for the currency to get any traction. I think an altcoin working on top of the ethereum blockchain would not be as convincing as invidual altcoin.

However of course if we are speaking about some other kind of asset, it might make sense to do it on ethereum.

> Making a currency on ethereum means it inherits the trust that ethereum has.

No. Maybe mining security or something, but trust? Why would anyone use these crappy in-ethereum tokens, when you can just use ether itself. Or bitcoin.

You can make tokens as well inside bitcoin via colored coins and similar methods. They haven't gained much traction, I doubt that they will inside ethereum.

Tokens created on Ethereum can have very niche use cases. Digix has tokens that are pegged to a gram of gold sitting in a warehouse. Augur uses tokens to track user reputation. Free My Vunk uses tokens as currency to buy and sell items in video games.

The developers can focus entirely on their business use case for the currency (and the marketing) without the need to create an entirely new cryptocurrency.

I'm still not getting this. Let's say I have a node server that can serve up some sort of front end application. How would something like that run on etherium? Are a number of computers in the network going to get a copy of my source code copied onto them so they can 'distribute' it effectively? That doesn't seem very practical to me.

> That doesn't seem very practical to me.

Ethereum has the highest uptime of any computing platform ever developed. It's probably something like 99.99999% uptime (assuming a 0.00001% yearly chance that the earth is destroyed in a given year from a giant asteroid impact)

What would be a "practical" way of getting the same results with your node server?

Has it been six months since the last Ethereum post already?

Is Ethereum still "engendering positive disruption"? I see they've updated their site to make it more approachable and read less like proecdurally-generated Venture Capitalist jargon. That's nice.

I see they've added a javascript environment. Yuck.

They had the javascript environment for awhile now.

We need something like Ethereum or Bitcoin but built on a common platform such as web assembly which is an AST supporting multiple programming languages, with semantic versioning and an npm-like registry. This way it can evolve easily.

We're only one transpiler away from that.

Does Ethereum provide any solution to the [ever growing Blckchain](https://blockchain.info/charts/blocks-size) ?

Yes. See Vitalik's post from last year about State Tree Pruning:


I built a PoC for a social benefits platform on this a while ago. It was not ideal; mostly tasks that needed to be guaranteed to run at certain times was a pain. Because of several of those issues the project was cancelled.

Were you using Ethereum Alarm Clock? If you were then I'd be curious to hear about issues with it and if not then taking a second shot at your PoC could be worthwhile.

I still don't understand how anyone can believe that paying ten to a hundred times as much for algorithmically provable trust or whatever will get any market traction ever.

There are many services in this world which require a trusted intermediary between users. The fees these services charge are _not_ a function of compute cycles. They are, however, often a function of pricing power derived from competition (or lack thereof). Where decentralized computation is less expensive than the fees charged by incumbents in the trusted intermediary business, there is the opportunity for a new entrant to leverage the tech to profit on the spread.

Because it's something that doesn't otherwise exist. It's actual innovation, where else in the world can you run trustless global peer-to-peer applications? It will be a while before it's commercially viable, sure, but it's something unique.

One tangible example is how there is significant legal and accounting overhead for banking contracts, particularly credit default swaps and other risk-mitigating things. Some of these can be automated in Ethereum.

I very much agree with you. Its hard to believe that this will rise to the bitcoin trust level. If anything I believe in sidechain.

Actually, you can turn it off in every way that counts as long as you turn off the Internet, which is entirely possible.

Let's everybody use our home electricity so that big companies save big money managing their big data!

So this thing is live yet? I thought they were having problems with the algorithms and so on.

Its technically in the "frontier" stage, which means that its in "beta" of sorts. There are lots of developers working on Ethereum dapps and it is more than useable, however consumers should be aware there may be loss-causing bugs around.


Why does there have to be large scale production use while it's in beta? Bitcoin's genesis block was mined in 2009, but it took years for it to come out of "beta" and see production adoption.

Ethereum adoption actually is already outpacing Bitcoin's adoption. Ethereum has only been live since July of this year, and already has seen adoption by numerous corporations (even if it's largely development projects at this point).

For example Microsoft Azure Blockchain as a Service runs Ethereum. https://azure.microsoft.com/en-us/blog/ethereum-blockchain-a...

And here's a large test run conducted with 11 Banks across the globe:


> Bitcoin is used by millions of people a day now.

Tangible example please. Bit Coin transaction volume is about 200k/day, so how are these millions of people using it?

I think he means http://dapps.ethercasts.com/ Not sure if these are used for any serious use case yet.

Kind of ironic how much this argument was used against bitcoin back in the day...

Who would use a beta version of a crypto product in a production setting?

Here's a provably fair ponzi scheme [1] https://ethereumpyramid.com/

Heated my apartment two winters ago with litecoin and dogecoin mining.

Too late for ether.

What happened overnight ? Why am I seeing so much ethereum this morning ?

I often notice HN topics come in groups. I think its because people read about a topic, get interested, do some research, and then start submitting articles they find.

Are there examples of in/use DAPPS?

Augur, a decentralized prediction market, is the biggest anticipated release on the horizon.

Unfortunately, I'm trying to obtain a small amount of ethereum currency to experiment with this..

And I just killed my thread doing 1M hashes a sec, because I found out that 6MHash/sec = 5 Eth/month on average.

I'll spend my time learning other things, mainly because this is inaccessible to me.

Setting up a 1-node ethereum testnet is not too hard (though it's not especially user-friendly either). I did some work with Ethereum last year, and I ran a 1-node testnet on my laptop when working on code. The node was mining constantly, but it didn't seem to demand too much from the CPU. No excessive fan noise or heat.

Both embark and truffle, two commonly-used frameworks, have modes that exercise the CPU even less, though I found them a bit hit or miss. I'm sure both have improved since, though.

I did a quick test run on the main network as well (which wasn't too expensive - maybe 1ETH). You're definitely better off using a testnet! - the turnaround time is much shorter.

Just download the mist wallet and mine on the test network which is what you should be doing if you are playing with it anyway.


You can buy the Ether on an exchange.

I was hoping for a roughly low barrier of entry, rather than try to figure out who will trade USB for ETH, as I have no BTC.

In all honesty, I'm looking at distributed applications as well, which from what I read Ethereum says it does and doesn't do. It's a bit fast and loose from what I read about, about Ethereum's capabilities.

I'll go back to my experimenting with TOR and how it might be possible to make your own distributed applications within the Hidden Services. That's free to use, and as low bar as I can think of. (Add machine, shows up as HS.)

As other posters have mentioned, you can download the Mist client and test things on the testnet.

And you don't have to mine, you can get free testnet ethereum via the wei faucet:


Gas prices to run code on ethereum are fractions of ethereum, so even a small amount will get you pretty far.

While developing, you would do it either on the dev (local, not connected) or testnet. Both these are easily mineable (I have 10k's on both), so there is nothing stopping you to actually playing around and putting together a dapp without having real ETH in your pocket.

No expenses and you can play around all you like. When you want to go live, there is typically only a very small deployment cost.

Relatively inaccessible means of exchange are a persistent weakness of non-domestic currencies.

Hope your experimenting goes well!

Registration is open for Startup School 2019. Classes start July 22nd.

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