Hacker News new | ask | show | jobs
by Anonobread 3767 days ago
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?

6 comments

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?

https://news.ycombinator.com/item?id=11184214

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.