Hacker News new | past | comments | ask | show | jobs | submit login
How can Ethereum systematically scale better? (medium.com/fehrsam)
199 points by transitorykris on June 28, 2017 | hide | past | favorite | 161 comments



I have hard time believing that a knowledgeable person would have numbers on the scaling improvement column on the scaling efforts list. "3-10x" for ditching EVM for WASM which is at a concept phase, "2-8x" for parallel processing of transactions

Even Vlad would laugh at that column. The whole thing feels like a desperate "don't panic sell" when people realize the state of Ethereum's scaling since today its blockchain is increasing at a rate of 1GB/day.

I personally hope Ethereum's fans start to be more honest with themselves and do some critical thinking. There are some horrible echo-chambers (/r/ethereum /r/ethtrader) that are traps for newcomers.

The closer scaling solution is Raiden (funnily one of the core devs is the one made the infamous hacked DAO contract) which is quite the challenge unless they intend to support a limited subset of Ethereum's capabilities, but they are working on it and looks alive.

Apart from that which is a year or so away, Sharding is way off like the list says and will be a huge challenge.


Also what is certainly interesting is ethereums difficulty bomb, which should activate later this year. Certainly gives interesting image on ethereums development style, this was implemented to "force" the ethereum devs to implent PoS before it activates. However as far as I understand, the only thing that this forces ethereum devs to do is a hard fork that removes the difficulty bomb somewhere this year.

http://www.coindesk.com/ethereums-difficulty-bomb-smoke-no-f...


There is only one type of difficult bomb for Ethereum (the ice age), and that is already underway. As linked to in that article, block times would reach about 30 s mid-August (https://www.reddit.com/r/ethereum/comments/5izcf5/lets_talk_...).

The difficulty bomb/ice age is _not_ to force the devs to implement PoS. The reason the ice age(s) exist is to make sure minority chains eventually die. Bitcoin does not have this problem as much, because the difficulty adjustment is much slower, which easily results in hour long (or more) block times for weeks/months for a minority chain. The difficulty adjustment on Ethereum is much faster, so minority chains that arise after a protocol upgrading hard/soft fork could hypothetically survive. To incentivize miners and users to switch to the new chain, there needs to be some other mechanism in place, which is the ice age. The ice age causes block times to keep rising exponentially on the old chain (if no action is taken), so miners will eventually lose their reward and users will not be able to make transactions anymore. They move to the new chain (which postponed the ice age), and eventually the cycle repeats itself.

This cycle has happened a few times already. Usually the fork would have already happened by now, so the impending Metropolis fork is different in that it's a bit late and the initial effects of the (ever worsening) ice age are felt.


IMO i think there are only a couple of long term solutions for ethereum with regard to scaling. Sharding is one. I think setting agreed markers and signatures at points in time is what they're going to be forced to do though. POS is a big big risk and i haven't heard a solution to those issues yet. Not even close.

I actually hope they figure it out. But they do have to do it quickly. For now we have PoV. Proof-of-Vitalik. That'll just have to do.


I am curious to know what types of "big big risk" POS presents. As far as I can tell, there are several POS cryptocurrencies today and they seem to work fine. The Ethereum team claims to modify their POS approach to avoid known issues like the 'nothing at stake' problem. But it would be interesting to know what other possible risks you're talking about.


Non-proof-of-work consensus always ends up depending either on trusted third parties or majority vote. Anyone can create a valid-looking non-PoW chain in a short time, and there's no way to separate valid chains from each other. In Bitcoin, when you want to bootstrap, you connect to n nodes and if just a single node is honest you will get the right chain. For non-PoW, if there's disagreement, you have to trust either a majority on what the right chain is, or add trusted nodes that overrule a majority vote. For proof-of-work there will always be a chain with most work done, provided >50% of miners are honest (hard dependency).

I have written a bit longer on the subject here: https://runeksvendsen.github.io/blog/posts/2017-06-14-bitcoi...


They work fine if there's trust.


>would have numbers on the scaling improvement column on the scaling efforts list. "3-10x" for ditching EVM for WASM which is at a concept phase, "2-8x" for parallel processing of transactions

Isn't allowing for more variance more honest?


One issue is that not even the devs[1] working on these challenges dare to make claims like "2x scaling". Because it's a ridiculous statement since "scaling" is not just TPS and it's a more complicated topic. The developers are still on design phase, they never said anything about #x'ing the TPS or anything.

It's really unfortunate that Ehrsam made such a horrible post. I'd rather have Vitalik or Vlad making a State of Scaling blog post than this propaganda to circulate among newcomers so they can support the price.

[1]: https://github.com/ewasm/design


The claim is not 2X, it's "2-8X", which is a far larger margin for error, and in my eyes, totally reasonable for a bird's eye analysis of Ethereum's scalability prospects.


I was using "2X" to take the least ridiculous scenario as an example.


It's guaranteed to be more than 2X. That's why the number forms the lower bound of the estimate.


The whole blockchain festival doesn't make sense to me. Every blockchain must have a coin attached to it, otherwise there's no incentive to people to watch the blockchain and invest resources in securing it. Bitcoin was about money, not "distributed consensus", that was just a way to achieve money. Now when people talk about blockchains as being the solution to the distributed consensus problem they forget about the money part of it.

The most bizarre phenomenon I've seen was Tezos, a coin whose value proposition was that of solving governance through the same blockchain it would use to manage its coins. The creator of Tezos was talking about governance as a consensus problem that could be solved in the same way money was solved by Bitcoin ("everybody must agree, right?") without realizing there were two different concepts of "consensus" being used.


Unfortunately, most people don't understand what a blockchain is, including many people working on altcoins. This causes them to make buzzwordy statements which are, to everyone else, nonsensical. "Code is law" being one of them. "Property on the blockchain" being another.


The lack of technical knowledge in the cryptocurrency community is staggering. It's obvious that a huge number of people are attracted by the "get rich quick" aspect of it all and they lack the basics to really understand the trade-offs and the subtleties of the various blockchain "flavors" and tweaks.

So it turns into dumb cargo culting like "Proof of Stake is 100% proven not to work", "Proof of Stake is 100% proven to work", "Lightning Network is going to fix everything and bring world peace", "Lightning Network is going to ruin everything and bring WW3" etc...

And you can't have any constructive discussion because if you try to argue for or against a certain technical proposal you'll immediately be called a "paid shill" or a "troll" regardless of your arguments. I've been lurking in the bitcoin subreddits lately and it's really one of the least helpful and constructive communities around. And it's a bit sad because on the technical side the blockchain is pretty damn interesting.


In all seriousness, you should lurk in the Ethereum subreddit instead.

We have our share of cheerleaders who take the black and white "this good, that bad" position without evidence, but they're not dominant, and we have a far larger proportion of developers who are interested in building cool technology and are able to look objectively at the problems involved.


Ehh... I have quite similar issues with the Ethereum crowd. Nobody understands in which situations they need distributed consensus on some state, and what the other available solutions to various similar problems are. Blockchains solve a very niche (but previously difficult-to-solve!) problem, and given that they literally cost money to use, it's good to use other tools to solve problems when you can.


This is the dot com age of the blockchain. It is hard, close to impossible, to conduct business in this space because at all times are you surrounded by questionable upstarts and outright scams who compete by screaming incoherent buzzwords the loudest. All these have valuations far above what a serious upstart could ever achieve.

People make outlandish promises that no person of average intelligence could ever take seriously taking up all the air, keynoting conferences and generally diverting discourse from what really needs to be done in order for this technology to be useful.

I think we have to wait for all the ICOs and rich statefullness flim-flam to subside before we see any real benefits from this space.


Very likely true, but the question is... what benefits are there to be found? I think we found most of the useful spaces for a blockchain quite early on - aside from currency, there's squaring Zooko's Triangle (identity/nameservices), trustless gambling, and simple mechanisms for agreeing where to send money.

I think the next set of services (once we've solved scalability+transaction fee problems) will revolve around figuring out what to do now that we have a currency that is very easy to send to anyone over the Internet, rather than trying to develop blockchain technology itself further. Even just getting it into people's hands and developing the user experience further is going to result in the currency gaining far more utility. (I'll note that we still have no reasonable protocol for implementing subscription payments etc.)

There was a short period of time, between bitcoin entering the public consciousness and its technology becoming a platform for investment in thin air, an ability for me to buy a whole lot of things with it. With just a little effort, I could've survived with no traditional currency at all. And then that vanished, quickly, as it became obvious that its teething problems were not being solved.


Why is property on the blockchain nonsensical?


Property only exists insofar as someone enforces it. Whether that's yourself, your Government, or your local militia that you pay. If you can't prevent someone from taking it, it's not your property.

So... why put notice that you own a piece of property on the blockchain, if you're already putting trust in someone to enforce your property? Why not just ask them to publish notice that you own the property?


Yes but if you've ever purchased property the titling process can be really expensive. A block chain provides a way "to publish notice" that's indelible so could lower costs. In countries with poor property rights it could also help bootstrap the system.


You can "publish notice" by putting a sign outside your front door. The reason the titling process is expensive is because your Government requires it, not because publishing notice in some reasonable manner is inherently expensive. (We publish notice of a lot of things just by sticking an ad in the paper as it is, property is a weird one.)

What issues is the titling process solving that cannot be solved in any way without a blockchain?


You called property "weird" so I wonder whether you are aware that property is weird exactly because of the double spending problem. A land title registry gives you double spend protection, not just irrevocable publication. Your point of course stands, since you're trusting someone with enforcement, you might as well trust them with double spend protection. I'd say decentralized irrevocable publication (e.g. certificate transparency) is much cheaper than decentralized double spend protection.


Yes but never forget the $5 wrench solution to crypto problems.


It's a trustless, reliable system for transferring and tracking ownership of property. Yes, you still need government to enforce it. Think of it like unforgeable, hard to steal, uncorruptible, easy to transfer land deeds.


Why don't you trust the Government to track it if you trust the Government to enforce it? That is, why do you need "trustless" if you need to trust someone further down the line anyway?


In my nice first-world country I do trust the government to track it. But in many third-world countries, deed registers are prone to forgery and bribery, and it's not uncommon for people to discover they suddenly don't own their land. I've seen economists argue that this is a major factor limiting economic growth in those countries.

Probably some of those countries would like to fix this, and for them, a blockchain might make sense...say with multiple government entities cross-signing property transfers, rather than requiring all property owners to hold their own keys.


> it's not uncommon for people to discover they suddenly don't own their land

The thing is, the same Government could generally just storm in with guns and say "this is ours now". A known-good register doesn't solve the issue unless you have a separate mechanism of enforcing the register... in which case the solution is filing your deed with the people you trust to enforce it, not using a blockchain.

Also: if you had multiple Government entities cross-signing property transfers, they could just make the lot of it public the normal way, no blockchain necessary. Irrevocability comes from people making copies of the list of transfers.


If you're interested, this is called triple-ledger accounting, you just have to keep all the receipts. This has the advantage that you can keep transactions private until the point that it needs to be made public.


I think that the devil is in the details. Imagine this situation.

Someone comes, takes your home and says "this is mine!".

Now you have to go to your government and prove that the person stole from you because it is yours. Some governments are efficient at providing this proof, some aren't.

Some countries in Africa have a huge problem with this. Where ppl go to other people's houses and sell them even though it is not theirs. And because it takes up to two years for someone to prove the ownership, sure the government will enforce the ownership eventually but two years is a long time. I've seen pictures of houses where the owner sprayed "This house is not for sale" to avoid this issue.

Now imagine a system where proving ownership is fast, nearly free and very hard to forge. The incentive to cheat the system is much smaller than before. Using a blockchain to handle proof of ownership is a great way to have a secure and nearly free.

Sometimes it is not about being able or not but how cheap / expensive it is and how slow / fast the process is.


You don't need the government, you need the society at all. These things can be done in a lot of ways, all them compatible with a trusted ledger that keeps track unambiguously of who owns what.

Notary services were for a long time independent of the State, they may still be in some countries and places. This is indeed something in which a global decentralized trusted ledger can help.


See my "property ownership == enforcement" comment above. If you yourself are enforcing your monopoly over your property - you can stick a sign outside your front door saying "trespassers will be shot" and be done with it. If it's a militia, have them do whatever they think is reasonable notice. If you're depending on your local community, stick it on a community noticeboard.

The question is, exactly why do you need a trustless ledger in order to post notice that you're willing to enforce your monopoly? What problem, precisely, does a blockchain solve?


You don't need to solve every problem to solve some problems. Blockchains don't address enforcement for real property. They do address everything else. And everything else is a big deal.


I don't think they do address everything else - or rather, I believe that if you have to trust an entity for enforcement, you have a perfect avenue for everything else along with that. A blockchain is specifically designed for situations you have no trust in anything (except that 51% of mining power is not colluding in a specific way) - the rest of the time, there are much cheaper and simpler solutions.


The blockchain solves the problem of assignment and transference of property rights. Right now that process in many places is slow, expensive, error prone, and corruption prone. Blockchains completely eliminate that, full stop. Yes, you still need the authorities for enforcement, so obviously blockchains do not create some utopia where everything works perfectly, but they do solve big, real problems.


Shallow thinking.


There are all kinds of problems that unforgeable append-only public ledgers make less crap while not solving the fundamental problem that people are at the center of all people-related transactions. For instance I can bribe a notary to backdate a notarization. Can't bribe a blockchain. This is good. There are lots of things like this.


Maybe ads. Perhaps a distributed ledger about who has see what ads. That's worth money, and I'm sure marketers would love traceability. So if ad-coin takes over that would be like injecting advertising code into the "CPU registers" of the internet. I can't wait.


My god. Get that suggestion scrubbed from the interwebs. Imagine a coin that controlled all of the commerce of the world and whose sole allocation of wealth came for the production of advertisements. Ads for ads. No product. Just ads all the way down.


This lack of understanding of the definition of consensus can be quite infuriating at times.


Can you put a finer point on the two different concepts of consensus for me and maybe elaborate on how they can't be made the same?


I can disagree with you on everything from the validity of the Bible as a historical document to the demerits of public education, there's no protocol that will make us reach an agreement.

The "consensus" implemented by blockchains is about stating in public and immutable terms what we have previously agreed, to unallow lies about the past: when we do a money transaction, we have both agreed on the terms of that transaction, that is stored. Later even if someone doesn't remember, or try to fake those terms agreed in the past, the blockchain is there to prove otherwise.


there's plenty of non money uses for a distributed consensus based write only database. Think of property ownership, vehicle registration, stock markets.


You forgot to mention another scaling effort/idea, one which I think is the most important, not only to Ethereum but any blockchain:

Blockchain Interoperability.

It can even be the same protocol (Ethereum) or across different protocols (Bitcoin).

Much of the enterprise world right now is throwing A LOT of development efforts at blockchain ideas, however they are all separated, private chains, they aren't just working on the Ethereum public chain (Homestead). However the development efforts of those companies will benefit the public chains, which is crucial.

But I think at this point the idea of having a single public chain to rule over everyone is gone. The future will have millions of blockchains.. an internet of blockchains with some underlying protocols to transact across chains. This is where you will get your scale.

Take the FaceBook example. What if the users of FaceBook, i.e. the FB clients, implemented a blockchain to support all functionality through FB (payments, sharing, likes, messages, etc.)? It would basically be away for users to control their own data, separate from the applications that use them (Own your data). But for brevity, this chain would just be the FB chain, which could interop with any number of chains if needed, but this chain would be scaled by the clients that use it. You could even have social verifiers to implement a POS (proof-of-stake) in this FB chain which could stake an asset of some sort on assuring things shared on the network are real (fake news). But that's off point.

The whole idea of this new internet of blockchains is mostly about users having complete control/self-sovereignty over their data/individual. Many users won't even know that underlying the apps they use, their data and how they interact with other users is powered by the blockchain.

Smart contracts, and all these thousands of tokens, in essence, given an underlying protocol that doesn't exist yet, will be the universal API that can connect everything in a trustless way.


[Hacker One:] Hi, I’m Kyösti Turunen.

[Hacker Two:] Hi, I’m Allan Makkonen.

(together) And we put things on the blockchain!

[One:] Today we’re going to a social media website on the internet. This website is called thefacebook.com. It doesn’t have blockchain technology at all, but you know what we're going to do? We’re going to put things on the blockchain.

[Two:] Scale it up, make it interoperable!

[Mark Zuckerberg:] Thank... you?

(together) Put it on the blockchain!

[One:] I’m putting this messaging platform on the blockchain. It’s a blockchain. It’s an immutable distributed ledger that uses mathematical proof-of-stake tokens to democratize the transfer of knowledge.

[Two:] What a sad little micropayment platform. I know, I’ll put it on the blockchain! Did you use this payment system before? I didn’t. Now it’s on the blockchain. Its token-generated smart contracts offer nearly limitless self-sovereignty over how users interop with their data.

[One:] I’m going to put the graph network on the blockchain.

[Two:] The cryptographic hash function is so pretty!

[One:] You like that Mark?

[Zuckerberg:] Fantastic.

(all together) Put it on the blockchain!


Poe's law in action.


Who are the hackers?


Bob and Todd. Todd is frequently at fault. Bob just got suckered in, because he's gullible.


Randomly generated Finnish names. Seemed appropriate.


Ever since the DAO went live on Etherium, simultaneously blockchain became law and smart contracts replaced lawyers.

In short a complex scheme to get the world to sign a contract that reads:

"I hereby enter this contract - because I cant read the language the contract is written - and unknowingly agree that I will agree to all future contracts, and for good measure I'm going to give the other party to this contract access to my money to expedite the next contract."

And that's why yesterday's Decentralized Autonomous Organization is today's Initial Coin Offering...if people could understand the simple truth:

An ICO "crypto coin" is a receipt for crowdfunding an idea for a product. The receipt/coin is not ownership/equity if the idea ever becomes a successful company. Somehow because the receipts are held on a distributed ledger (block chain) and called a "crypto coin" the receipt has somehow become something of value speculators will buy and sell on a secondary market.

Once you understand this truth you understand why traditional brick and mortars are getting interested in block chain technology, soon customers will buy something at Walmart and as a receipt of the transaction Walmart will issue a "crypto coin" on the blockchain and the customer will be able to sell that in the secondary market and buy more product at Walmart.


> Ever since the DAO went live on Etherium, simultaneously blockchain became law and smart contracts replaced lawyers.

And once they had to fork Ethereum due to the bug in it, we learned that the real replacement for laywers is miner consensus.


I can't edit now but thinking over it I guess the analogy would make miner consensus the judges?


Not really, thankfully we cannot put people in prison by mere majority.

People go to prison if they violate the law, not because 51 members out of 100 voted that someone is a bad guy.

Not even democracy works like that, where the majority rules (dictatorship of the majority.) Or, at least, it should not. There are many checks and balances that are definitely not captured by a simple distributed hash.


Doesn't steam do this already? https://steamcommunity.com/tradingcards


Some ICO tokens offer dividends from the company shares


I just noticed this paragraph on the lightning network homepage. How far does this go toward what you're discussing here?

https://lightning.network/

"Cross Blockchains. Cross-chain atomic swaps can occur off-chain instantly with heterogeneous blockchain consensus rules. So long as the chains can support the same cryptographic hash function, it is possible to make transactions across blockchains without trust in 3rd party custodians."


"Blockchain interoperability" sounds a lot like sidechains (http://media.rsk.co/sidechains-drivechains-and-rsk-2-way-peg...).

I agree that there will be lots of 'blockchains', but there will still be some hierarchical topology based on the tradeoffs that have to be made regarding trust/risk and liquidity of when & where your tokens are 'located'.

The internet isn't possible without address space administration (even in the case of IPv6?). It appears to live at the edges, but there's still a hierarchy. And I can't imagine, at least with today's tech, how expensive it would be to have to speculate on N tokens across N blockchains to form a transaction, so I expect to keep things relatively useful, there will still have to be a singular source of truth for a given token.


Sounds a lot like the Interledger protocols https://interledger.org/


Check out Polkadot - http://polkadot.io by Gavin Wood (of Ethereum fame)


How would inter-operability differ from sharding? Is the difference that sharding only works with a specific blockchain technology, and inter-operability could connect multiple, technologically different, blockchains?


Yes, each chain on its own can use sharding. The protocol underlying each chain/sharding method would have to implement the interoperability of chains protocol.

Think of it like TCP/IP today. In your own network, you can use whatever you want, let's say Zigbee. Once I want to interop with other networks though, I'll have to go to TCP/IP or similar.


The problem is that interoperability is basically impossible.

There is a reason that you can't have everything on one blockchain.

And that is because blockchain scales in an N squared manner.

Every transaction that happens, has to be seen by EVERY node on the network.


Blockchains likely scale closer to O(n log n): http://spectrum.ieee.org/computing/networks/metcalfes-law-is...

The value of the network does go up the more people use it, and therefore, there are more transactions per user. However, the amount of transactions that each user produces will probably not scale linearly with the network size.


Maybe I'm misunderstanding but are you saying that it's likely that we will see a proliferation of private blockchains that interact with public blockchains (kinda like how the internet works now)?


Sharding is exactly that. It only works if multiple blockchains can interoperate. The common protocol would be Ethereum or whatever.


Ripple is doing that with its Interledger Protocol. They're partnering with banks to get it implemented.


Interoperability seems inevitable, even if the Ethereum and Bitcoin developers don't want to implement it.


Isn't that what Cosmos is doing?


> And since these systems are open rather than proprietary, we’ll see applications bigger than Facebook.

I think this vastly overestimates how much the vast majority of people care about this


I think a lot of the applications that they talk about will be built in such a way that people won't really know or care about the fact that its decentralized, or exists on a blockchain. Much in the same way that a lot of people don't use the "internet" but use Facebook every day. They don't care about the underlying tech, they just want to see funny pics or talk to their grandma.

Right now, cryptocurrencies are in the "Usenet" stage, where most of the users are tech enthusiasts. Eventually they may get to "Facebook" stage, and you're right, most users won't care about blockchain, but they'll still use it.


It will cost an order of magnitude more to run the app on the blockchain, just like it costs an order of magnitude more to have a decentralized ledger instead of a centralized ledger for accounts. There remains no useful application that justifies the cost, aside from malware monetization and other illegal transactions.


It's a lot less costly to transfer money with a distributed blockchain, to give you just one counter example.


It currently costs more than $2 to transfer Bitcoins. It's free to transfer money to people in the same country off the blockchain, and the transfer confirm is faster.


$2 is less than the cost of an international wire transfer, especially if you live in a country where people are restricted by laws from making such transfers. But in any case, Bitcoin has reached its transaction capacity and transaction slots are scarce. Simple payment transactions on Ethereum currently cost less than $0.05 on average.


Domestic money transfers, which make up the bulk of the transactions that people care about are free and instantly confirmed with existing centralized ledgers. Why should people waste time and money using a distributed ledger when the existing system works better?


1. Even if you were right, that still leaves international transfers as an area where cryptocurrency is superior to the old establishment system.

2. Not all countries have free domestic transfers. The US doesn't. Many of Canada's banks don't offer it. And not everyone is banked, even in the developed world.

3. You give up your privacy when you use the banking system, so if you don't want your payee to know your name and bank account number, you're better off using cryptocurrency.


1. International transfers are only viable between first world countries because technical literacy and access to internet are undeveloped outside those regions and that's all before converting your crypto to spendable money which is inconvenient if not prohibitively expensive outside the first world.

2. The US doesn't have free wire transfers but all major banks offer free instant transfers between other major banks; not a perfect system but fine for the consumer masses.

3. KYC regulations mean you're going to give all of your info to an exchange which have an atrocious historical record with regard to security when compared with banks, but exchanges also require a bank account to convert funds and often to buy them (or at a minimum a debit card linked to a bank account).

Crypto is pretty much always the worst option except in the situations where you have an imperative desire to put a degree of separation between your legal name and a financial transaction.


1. So then you accept that cryptocurrency is better for international transfers in the developed world? Your point about the developing world is really reaching as well: large areas of the developing world have widespread internet access, and there are a growing number of ways to exchange between fiat and crypto in the developing world.

2. It's not free in the US..

3. People can receive cryptocurrency in commercial exchange. It's not just through purchasing it with fiat.

There are certainly areas where crypto has advantages to fiat, and more advantages could emerge as its liquidity increases. I'm really not sure why you're going to such lengths to insist it has no purpose and advantages.


The vast majority of people don't care about TCP/IP either, but still use Facebook. (Blockchains are similarly low-level infrastructure, that enable all kinds of higher-level user applications.)


But what would make 2B people use an open blockchain-based technology vs a closed proprietary one?


A closed proprietary layer on top of it.


If I am reading you correctly, I disagre. I suspect you couldn't even find two billion people who care if the source is open.

I love FOSS. I donate to EFF. I have met people who are heavily involved. I am in the minority.

If people were going to care about it being open source, the computer realm would probably much different. People just don't care, and it's not like we've been shy about telling folks about its benefits.

Most folks are happy enough with their closed source. No evidence suggests that this is going to change. FOSS has been more than adequate, for most users, for a long time.

There is no evidence that this year will be the year of Linux on the desktop, for example.


Then, what are the advantages to the firm?


My point exactly.


Yeah, its also a shame that all these crypto-currencies don't seem to be interested in the idea of money to exchange goods and services but instead seem to be all about volatile financial thrill-rides.

Is that what the creators think is the central focus of currency?

Crypto-currency will only "get big" when it becomes nice and boring.


Open protocols are already much larger than closed systems. Look at email (based on SMTP) and the internet (based on TCP/IP). This statement only expects a successful new protocol to follow the same trend.


Selection/survivor bias. For each SMTP there are probably 100 open protocols that are by the roadside.


Yes. Let's look at more examples:

Chat: Open: XMPP, Jabber, Adium, Tox, Jitsi. Closed: WhatsApp, Facebook Messenger, Apple Messages, Line, Skype, WeChat.

Social: Open: ? pump.io, Diaspora? Closed: Facebook, Google+, LinkedIn.

App Stores: Open: F-Droid. Closed: Apple App Store, Google Play

Authentication: Open: FreeOTP. Closed: Authy, Google Authenticator

Office: Open: LibreOffice. Closed: Microsoft Office.

Cloud: Open: ? buddycloud, GitLab. Closed: iCloud, Dropbox, Google Drive, Microsoft OneDrive.

OS: Open: Unixes. Closed: OS X, Windows

Browsers: Open: Firefox. Closed: Chrome, Safari, IE

Maps: Open: OpenStreetMap. Closed: Google maps, Apple maps

I realise these are mostly not "protocols" (depending on what layer we're talking about). Nevertheless, can hardly say that "Open protocols are already much larger than closed systems".


This is a Bad Comment that tries to disguise itself as a Good Comment by going for quantity over quality. Cherry picking, misinformation, and apples-and-oranges comparisons can all be found here. For example:

> Google Authenticator

...is open source and based on open standards.

> Chrome

Chromium

> Safari

WebKit (originally derived from KHTML)

> Cloud: Open: ? buddycloud, GitLab. Closed: iCloud, Dropbox, Google Drive, Microsoft OneDrive.

The open and closed products here aren't even in the same spaces.


Google Authenticator, the one that you download from Play Store, is not open source:

> These apps are not on the app stores, and their code has diverged from what's in the app stores, so patches here won't necessarily show up in those versions.

Source: https://github.com/google/google-authenticator/blob/master/R...


True, but the developers of those open protocols have no or little financial incentive for the success of their standard. Traditionally closed protocols had the financial incentive. Blockchains are different in that way.


I mean, Diaspora has an open protocol. How well did that take off?


What's a Diaspora?


But facebook already uses TCP/IP. What does blockchain add?


I think you're underestimating how big the cryptocurrency market will be.


In terms of market size sure, in terms of active users, I'm skeptical. Best case is that the decentralization is seamless and creates no friction. There are already closed protocols that enable almost everything you would be able to do with that. Anything else would require using the cryptocurrency as a store of value, which you will NEVER get 2 billion people to buy into.


The blockchain to me is fundamentally flawed way to look at distributed computation. It really isn't distributed computing because there is a shared agreed and singular "truth". Truly distributed systems must deal with inconsistency instead of trying to keep a consistent transactional view of the world. I'm not sure I want it to scale.

The innovation of the blockchain is that it allows people to lend their computers to what looks like a singular system. However, as oulined by this document, the cost is huge in both time and burning the CPU oil.

I also don't believe in the transactional spot trade view of the world. It is a narrow way of viewing cooperation and markets. Unbreakable contracts are frightening. Everyone who deals with contracts between peers knows that contracts could be broken and are always negotiable. Unbreakable contracts just seems like a viscous tool for people who have move power over those with less. Because among equals, contracts are meant to be broken, changed, re-negotiated.


> The blockchain to me is fundamentally flawed way to look at distributed computation. It really isn't distributed computing because there is a shared agreed and singular "truth".

This is an odd definition of distributed computing. Blockchains fall squarely under the realm of "distributed consensus protocols", which are quite fundamental to distributed computing.


> It really isn't distributed computing because there is a shared agreed and singular "truth".

The last three of the seven scaling options are fully distributed and don't have a single shared truth.

> However, as oulined by this document, the cost is huge in both time and burning the CPU oil.

This document covers "proof of stake" which does away with the CPU intensive proof of work you're referring to.

> Everyone who deals with contracts between peers knows that contracts could be broken and are always negotiable.

Ethereum contracts have contract break clauses in them just like legal contracts.


It is important to note that not all of the on-chain solutions are cumulative.

Say that increasing the gas limit and swapping virtual machines does get you an 8x improvement each. After both are implemented, you don't don't have a 64x improvement, you have an 8x improvement.

All that raising the gas limit does is increase the maximum number of transactions per block. It doesn't matter how fast you can process those transactions if the gas limit is too low to fit all of those transactions into a block.

Ethereum is useful and novel and I am a fan. But we are a long, long way from being able to run something like Facebook on it. The "optimistic launch" dates are extremely optimistic.


>Say that increasing the gas limit and swapping virtual machines does get you an 8x improvement each. After both are implemented, you don't don't have a 64x improvement, you have an 8x improvement

These are cumulative. The new virtual machine uses less gas per operation, and thus is more efficient. Increased gas limits increases gas consumption. More gas consumed + more operations per unit of gas == cumulative.


What is needed to get to Facebook level?

Is there designs that sacrifice trust in results for performance?


I don't think you need a blockchain to decentralize something like Facebook. You just want to verify that so-and-so did in fact make this comment and this other person did in fact like it. That can all be ensured with asymmetric encryption.

As for the size and scale of Facebook, it's only huge because it is centralized. If you decentralize it then the social graph for you and your friends is much, much smaller than all of Facebook. I imagine a p2p client running on a cell phone would be fine.


What do you think it is needed to decentralize Facebook?

I think it is a waste of mental effort just to think about something like Facebook running on Ethereum when that is fine running on centralized servers and there's so much more interesting uses of Ethereum (like probably a lot of projects that are popping around, no one trying to be Facebook).


> What do you think it is needed to decentralize Facebook?

I think it's called "the web". It was invented in the early 90s.

Basically blogs and news aggregators fulfill the same niche as Facebook, but as a decentralized system where each user can be in full control of their data. The only thing that is limited in comparison to storing everything with one company is the possibilities for fine grained access control. The web needs to be overwhelmingly public in order for search engines, timeline aggregators and other services to arise.

There is nothing in Facebook that involves ordering transactions in a global ledger.


So why are people talking about running Facebook on Ethereum? Isn't that madness?


Ethereum decentralizes the server. There are advantages to being able to trust a server without running it yourself.


The web is decentralized. That's the entire point of it. You don't need permission from anybody to start serving web pages.

Don't take this as talking down cryptocurrencies. It's that Bitcoin is as decentralized as the web that is the key innovation. That anyone can build applications on top of it without asking for permission is unheard of in the financial space.

There are many decentralized permissionless systems including e-mail for messaging and IPFS for distributed storage. They do not generally need tokens or proof-of-work to function.

(Sorry for substituting Ethereum above. Ethereum isn't really a good example of a decentralized application as it is governed in full by a Foundation which have all developers on payroll. It is not a multiple equal stakeholder project yet.)

As to why people are talking about Facebook on Ethereum, I don't think the article suggested that. It merely offered Facebook as a generall ballpark to which scale a popular application can reach.


Facebook is a large crud app. Ethereum is like one computer from the 1950s. How do you get from ethereum to host Facebook?


1980s.


> Is there designs that sacrifice trust in results for performance?

Sure is have a look at https://www.mastercard.com/


That isn't decentralized


Neither is ethereum


It's very far from being able to scale to where it needs to. I think it remains to be seen if the system can be transitioned to a highly scalable one, it seems to me that we need to think from the ground up how to achieve the scale necessary. It's just a really really hard problem, it's not an afterthought, or a secondary goal.


well... Vitalik so far seems pretty confident a sharding system is feasible, and I would be loath to bet against Vitalik. Certainly he scares me a bit at this point because he's already basically stated that he believes it's impossible to implement blockchain sharding without erasure coding, so it certainly doesn't look like sharding is going to be a simple undertaking. https://en.wikipedia.org/wiki/Erasure_code


Vitalik's been talking about a sharding system around the corner for years now. The team working on it seems to be more interested in the theory than the practice of sharding. Additionally, any sharding design will probably have to break some existing assumptions and contracts, making it a really hard fork. I wouldn't be surprised if something else comes along offering a somewhat ethereum-compatible system with sharding for those who are working on real applications and need it.


> The team working on it seems to be more interested in the theory than the practice of sharding

As it should be for something that will need to be unbreakable and ultra-reliable. I detect a tone of distaste for theory in your phrasing, which isn't promising.


Agreed. Both PoS and Sharding are difficult problems that are still very experimental. The fact that they need to support backwards compatibility just compounds the difficulty. Then add the difficulty of deploying these new concepts on a system worth tens of billions of dollars...

I do not envy them.


> something else comes along offering a somewhat ethereum-compatible system

Dfinity comes to mind (Solidity contracts run on Dfinity) https://dfinity.network


Not having scalability keeps the hype going. If current cryptocoin technology could support VISA-scale volumes, it would be obvious that the need for high transaction capacity wasn't there. With transaction volumes limited to a few transactions per second worldwide, it's possible to claim that there's pent-up demand waiting to be unleashed, justifying excessive valuation.


There's demonstratably pent up demand. For one, Bitcoin had transaction volume doubling every year until it hit the block size limit [1]. Since then, transaction fees have skyrocketed, as a result of growing competition for limited transaction space [2].

Ethereum has similarly had rapid growth in transaction volume [3], which will need scaling solutions to continue once the protocol's inherent limits are reached.

[1] http://www.coindesk.com/data/bitcoin-daily-transactions/

[2] https://bitinfocharts.com/comparison/bitcoin-median_transact...

[3] https://etherscan.io/chart/tx


Maybe preface your comment with "I have never used or followed Bitcoin outside of news articles".


I'm genuinely curious - can you explain why Animats is off-track?


Whether or not you agree with the model of token sales (most here don't) Ethereum already hit it's scaling limits after hosting several hyped ICOs. When the ICO bubble deflates or crashes, I suspect the ICO model is not going away, but will look different. I can envision a world where tons of small startups are chasing capital through small, niche-specific ICO funding rounds. For this to be possible, Ethereum in it's present state needs to handle many more transactions. For example, during the Status.im sale, the network was unusable for 2 full days.

Similarly, many app developers have noted that gas fees are too high to validate using the blockchain for their applications. Just making a profile on ethlance.com is unnecessarily expense due to the gas cost. This results in unrealized demand. When Ethereum scales to 8x transactions I have no doubt the scaling debate will continue, as demand will have increased as well.


ICO model as we know will go away because it's a scam. The only reason they happen is that SEC is slow to prosecute what's basically an unregulated securities selling. You can't sell securities on the basis of some pretty landing and a few blog posts.


I used to think that. By all accounts, it turns out i was wrong.

Personally i think these things are a technological response to the pervasive AML/KYC laws that have been developed over the past 15-20 years that have been put in place with little thought or oversight. They (and by they it is really the US war on drugs) went after the source of that money. So the money changed.

I really don't know how you put the toothpaste back in this tube.


> By all accounts, it turns out i was wrong.

By which accounts?

> So the money changed.

"The money" didn't change, it's just an elaborate scam. Look:

- there are early ETH/BTC adopters who have a ton of ETH/BTC and not much of financial sense

- they bankroll recent ICOs (seriously, look at those "whales" at Status ICO) without due diligence or any financial sense (like, Signal ICO'ed to 1/4th of what FB paid for Whatsapp with what, a few hundred users? Built on unproven platform? That's freaking crazy)

- companies who did their ICO cash out to fiat. They can do that because a ton of people believe the story of "buy you a bitcoin and get rich fast", buy BTC/ETH and provide fiat on exchanges

- in the end the whole bubble bursts, early adopters loose their (now almost worthless) BTC/ETH and hundreds of thousands of people loose their "investments" in BTC/ETH.

So it makes perfect sense from the financial standpoint to do ICOs right now if you can get away with that. It doesn't mean that the process is somehow "better", it's just more profitable because of a ton of hapless people that can easily separated with their money.

> I really don't know how you put the toothpaste back in this tube.

Easily: just start jailing people for unregulated ICOs in the same way they jail for unregulated securities trading.


How? It is a torrent-level problem if you felt you had to address it. With 700-odd coins (last time i looked) who would you jail? America can prosecute people in America, but how would you address this problem I crypto? Freeze their assets? How?

I'm not being flippant. I really don't think that is going to be a successful strategy. I can't see how that would work. It would take a pretty coordinated effort in a time of very little trust.

I said it somewhere else in this thread. I remember reading about the introduction of aml/kyc legislation right across the world at the direction of the US. the Maldives tried to buck it and they got crushed. I couldn't think of a way in our connected world that you could get out of it. I think this is the logical progression of that restriction of freedom. For better or worse. Like the concept of freedom i guess.


Regarding the number of coins: just go for the bigger ones, it's not exactly new strategy (that's why you primarily go for drug lords instead of low-level resellers).

Regarding the prosecution: the US has extradition agreements with a lot of countries, so if ICO resulted in American citizens either buying coins (i.e. securities) or offering them, than it's a fair game for the SEC and (possibly) some real jail time in US prison. It's also pretty easy to freeze assets as soon as they are converted to fiat, and they will be, because you can't buy a Ferrari with BTC.

Even if it's a "logical progression", you got it backwards. We had an unregulated securities marked before 1933; it went really bad for various reasons. It turns out that peddling "securities" on the basis of rosy promises (or blog posts in the case of ICOs) is bad and some regulation forcing companies to open up is good.


> go for

Like I said, how?

> that's why you primarily go for drug lords

Yes. By going after their assets. What happens when you can neither identify nor seize their assets? You can't even identify the alleged perpetrators.

> Regarding the prosecution: the US has extradition agreements with a lot of countries

And if you don't even know the names of the people who own a crypto, how much they own, let alone what country they live in? These things are stateless. There is no coordination between countries because there's no way to even identify where the coordination would occur.

> It's also pretty easy to freeze assets as soon as they are converted to fiat

And if you can transfer from any crypto to any crypto any time you like? That facility already exists with shapeshift, and when atomic swaps become available, that genie is never going to get put back in a bottle. You mean freeze ALL cryptos? How do you think you could even attempt that, let alone achieve it. You think that just because it's the US government they can make something like this 'just happen'? It's like stating "US Dollars are to no more be used for purchasing drugs!". Great statement. A little bit lacking in the enforcement category.

> and some regulation forcing companies to open up is good.

These aren't companies. You can't force them to do anything.

> Even if it's a "logical progression", you got it backwards.

I don't think you've actually thought this through. Every one of your suggestions is a non-answer that is trivial to circumvent even if it was possible to build something to circumvent in the first place. Your opinion seems be born out of a belief that just because it is the US government they can do anything. But there isn't even a suggestion as to how any of this 'control' could be asserted, let alone achieved.


Why doesn't he mention Raiden? Won't that solve most of this? Also I've heard rumors that Raiden is close to being ready? It's supposed to provide multiple orders of magnitude increase in transactions per second. http://raiden.network/


Raiden is an implementation of the payment/state channel network he refers to.


Couple of questions:

- Assume paypal implements a smart contract system. Users have an option to keep their contracts public or encrypt them with their password/random secret key. Defining a contract is like specifying a template. Deploying the contract locks up the requisite sum from the concerned parties. The contract distributes this sum according to its logic, when triggered. Since we don't have mining/redundant copies of data, paypal can afford to charge lower transaction fees overall. The system is altogether more efficient and user privacy is ensured via encrypting the contract to ensure nobody except the owner sees them.

Apart from decentralization, what else does ethereum offer over and above this combination?

- Despite trying pretty hard, I have been unable to understand the valuations of cryptocurrencies.

According to my understanding, bitcoin is a commodity rather than a currency. Like gold, its value resides in how much value people put on it (unlike currencies, which have to be accepted all across their native country). However, unlike gold, bitcoin has no intrinsic value i.e the amount of money somebody would give to just hold onto it for eternity.

So the value of bitcoin should be estimated from [value of transactions that happen on the network / number of bitcoins in circulation]. However, most of the transactions happening on the blockchain (IMO) are transactions between cryptocurrencies (eth->bitcoin->eth..). The few that happen in the real world (buying goods/services) are hindered by the continuously changing market value of bitcoin/eth.

In this catch-22 (speculation hinders transactions, which makes it tougher to do fair valuation, which encourages speculation), how do we reach a consensus on the value of bitcoin?


bitcoin's primary value generator since 2011 when Silk Road 1 launched has been uncensored money, or a payment network outside of any single entities control. Afaik, it was not designed with the black market in mind. Since then, people have started buying it because of its scarcity.


>Apart from decentralization, what else does ethereum offer over and above this combination?

Reliability. PayPal can change its mind and remove the feature. An immutable blockchain won't.


PayPal is way more reliable than Ethereum at this point. What stops your counterparty from ditching the "smart contract"? You might say that the contract may lock some of their ETH, but ETH:USD fluctuates wildly so you can't guarantee that the value of the contract for your counterparty won't become less than the value of ditching it in a few hours. Moreover, if you lock funds in the contract, you suddenly create a nontrivial cost for your counterparty, reducing their willingness to enter that contract.


Your counterparty could ditch the smart contract if it's on PayPal too. The actual terms of the contract are less likely to be changed if it's on Ethereum. Insofar as you need USD in your contract, you're right that the blockchain's advantages are diminished, since you need a trusted third party to guarantee the USD even if you use a contract on the blockchain .


If it's on PayPal and it exists in the standard legal framework, the guarantor is the government with all its power. You can go to court over the violated contract and the counterparty will be fined/jailed if found guilty.

It's not about "verifiability", it's about enforcement. And for that you need a capability to inflict violence. So unless people really want ETH-paid militias/sheriffs, blockchain doesn't bring much to the table.


A blockchain's guarantee that the smart contract will remain in force is much more powerful than a government's.

This is because a smart contract on a blockchain is much less likely to be removed or have its terms changed than a smart contract on PayPal, even if the latter is in the "standard legal framework" (which is a new condition you're adding which wasn't part of the original premise, where we were comparing smart contracts enforced by an automated protocol, not contracts in general). This in turn is because political forces can change the standard legal framework much more easily than they can change a blockchain's smart contract terms.

You're certainly right that standard contracts, backed by government, can do things smart contracts can't, but there are things that smart contracts can do just as well as standard contracts (like enforce a contract where both parties pledge collateral), and they will be more faithfully executed on a blockchain than on PayPal.

You asked what advantage a blockchain provides over PayPal as a platform for smart contracts. I gave you an answer.


Main problem is completely non-user friendly of crypto currencies. Bitcoin is a very simple thing - you have a wallet, number of transactions in your wallet and button to send funds to someone else. Bitcoin was like this since day 1. Ethereum right now is not usable at all. How i suppose to explain it to my mother? In default client always distract me from counting money and sending money. First screen - smart contracts? Okey... how to use it? Even hello world is 20 screens of documentation and involves many weird things like copying "compiled code" or visually comparing hashes. And in couple of years there are no useful applications on ethereum - so why bother to learn things? If you are working in some organization that needs/wants to use blockchain - sure, open sources of ethereum, start your own nodes over kubernetes and try to implement something. But your work will never go to a any public ledger - there are no reason to do so.


Does anyone have an opinion if new tokens (aka altcoins) created by ERC20[1] are exacerbating Ethereum's network congestion ? My initial reaction is that ERC20 is a parasite vector that will cause long term harm to the value of ETH.

Altcoins, to some extent, all compete for speculative dollars. For all I know 80%[2] of the top 800 coins on coinmarketcap.com are ERC20 issued tokens. That means a lower price for ETH due to competition and therefore a lower incentive for the miners who can instantly start mining another currency. Which leads to further latency, less liquidity, and further price depression.

[1] ERC20 is a protocol for issuing new tokens on the Ethereum blockchain.

[2] Does anyone have a source ? This was a wild guess.


> long term harm to the value of ETH

I don't see why this is a problem. The goal of the Ethereum developers is to increase the utility of the network, not to artificially inflate the value of ETH.

In fact for one of the future Ethereum upgrades it's planned to convert ETH into a ERC20 token, so that it's at the same level as all the other tokens on the network. It wouldn't even get a special status in terms of transaction fees, as (IIRC) the plan is to allow miners to accept whatever tokens they prefer for the gas payment.

See https://github.com/ethereum/EIPs/issues/28 and https://www.reddit.com/r/ethereum/comments/572v7t/eth_as_an_...


Neither of those links imply ether will lose its role as input for gas payment. It simply lets ether be used by contracts in the same way tokens are, which allows for greater abstraction of ether transactions.

Vlad Zamfir explicitly rejects any call for economic abstraction:

https://medium.com/@Vlad_Zamfir/against-economic-abstraction...


ERC20 tokens increase the value of the Ethereum platform. The more tokens on Ethereum, the more opportunities for interoperation, which increases the utility of all tokens (see Metcalfe's Law).

Moreover, it increases the value of ether by increasing demand for blockchain computations.


A user only needs to create a transaction if they upload something. The 175k Facebook requests per second that they compare to is mostly just people looking at stuff, which wouldn't require a transaction.


Nope, that's a low end estimate of writes.

"Every 60 seconds on Facebook: 510,000 comments are posted, 293,000 statuses are updated, and 136,000 photos are uploaded."

https://zephoria.com/top-15-valuable-facebook-statistics/amp...


Most of those writes don't need to be serialized transactions. Other p2p data structures like CRDTs and torrents are sufficient for posting comments and uploading photos; see the decentralized social network Patchwork[1] (based on scuttlebutt[2]).

The blockchain itself will only be needed for certain types of transactions, for instance those around identity (e.g. name registration), and reputation/spam prevention (forum moderators).

1. https://github.com/ssbc/patchwork 2. https://github.com/dominictarr/scuttlebutt


(510000 + 293000 + 136000) / 60 is about 15.5k, so slightly less than the estimate in this article, although you are right that I was overstating the amount of traffic that is read only.


Yes, but that's not counting things like post likes, FB Messenger, check-ins, account creations, profile edits, logging and statistics, etc etc. I wouldn't be surprised if they're in the millions of writes per second.


In a recent submission [0] they give some stats about their abuse system and at ~47:35 they mention this system gets 1M requests per seconds, which doesn't have to precisely coincide with write volume but suggests it's in the right ballpark.

[0] https://news.ycombinator.com/item?id=14624802

[1] http://events.techcast.com/bigtechday10/Garmisch-1345/


What about logging?


Decentralized apps are structured very differently than centralized apps. It doesn't really make sense to talk about about logging in that way for a decentralized app.


I think people should look into NEO for some innovation


What scaling benefits does NEO have over ETH/BTC?


Just to answer the question in the HN title "Replace it with a provably correct distributed consensus algorithm like Paxos."


Paxos requires trust between peers. The Blockchain is designed to tolerate byzantine failures. These are very different problem spaces.

(/me worked on Paxos for about a decade.)


I believe that HashGraph might be a better idea ...

https://en.wikipedia.org/wiki/Hashgraph


>>Conclusion >>Everything will be tokenized and connected by a blockchain one day.

WHAT? The guy just explained how the system is thousands of times off from where it should be!


So he mentions hard problems in game theory and computer science which have never been solved... with maybe a handful of people working on them... and he thinks it will get done some time before the end of next year?


I have a question that I hope someone can answer for me. I've owned about a dozen or so digital currencies as far back as 2012. Ethereum is one I am still trying to understand. My question is this - How does the functionality of Ethereum (it's blockchain and all that comes with it), convert to the valuation of one ETH being worth $300, or $500, or $100, etc.? How will ETH (the digital currency) be used that will give it these valuations? I understand other currencies. Take Ripples XRP for example; the more banks that are transacting with XRP, the higher the demand is for XRP, which equates to a higher valuation of XRP. So how does Ethereum and ETH get their values? Can companies use Ethereums service without increasing the demand for ETH (digital currency)?




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: