1. When I talk about scaling, I don’t mean the maximum amount of transactions per second. I mean the load that these transactions put on any full node. This seems to be ignored in most scaling discussions. This is already non-trivial for, say, Ether —last time I looked, a normal consumer PC with an average internet connection will never sync fully. This problem doesn’t go away if not everyone has a full node: it becomes worse for the full nodes, because now full nodes also have to serve regular requests from everybody else. The more full nodes a leech node queries to verify that his data is OK, the more strain it puts on the ecosystem, ie on each full node on average. This problem does not go away with any technology that requires every full node to keep the full chain’s data. The limit is not just CPU (except for the miners), it is some combination of CPU, bandwidth, memory and disk space. Take Visa: they handle 300 million transaction per day, or something like 3400 transactions per second. (Incidentally, this is more than Bitcoin does per 10 minutes block at the moment). Try handling this on a consumer PC today - but also include the whole blockchain shebang, and the network operations. Forget mining - just the bare minimum. Just the transaction data alone would be 1.2 TB per day (13 MB per second). Are you OK with extending your storage by 400 TB of data per year? You might say, “by the time we get to that amount of transactions, 400 TB will not be a problem” — but the amount of transactions on the Visa network also grows 2x every 2 years or so. Harddrives — not so much any more. In the end, if you want this kind of capacity, it will be only people with a lot of money, or companies, running full nodes. At which point it stops making any sense to have the blockchain being public — we are back where we started.
  2. As long as a technology requires a smart contract to be executed on every node to validate its results, this is a scaling issue with the technology, because any smart contract puts additional load on _every_ node. (What I truly don’t understand is why people think Smart Contracts and (public) Blockchain are anything like a good match — as you are stating correctly, it could just as well run as a database trigger. Most of stock exchanges run smart contracts — on servers, and have been for years. Running them on a public chain just makes everything slower and less efficient.)
  3. As far as I understand your argument, with wider adoption there will be more people available to secure the network, and therefore fragmenting it will pose less of a problem (if the amount of miners doubles, halving the amount of miners spent securing each of two branches of a network is no problem). Trouble is, with wider adoption the cost of running a single full node will rise — so at some point fewer people will have the means to run one, or alternatively, single transactions will have to become expensive — because, as I mentioned in (1), the security is not the thing that causes the scaling issues. The housekeeping of the chain itself, however, does not contribute to the security budget of the chain (check out this very thoughtful article on cost of security by @jordanmmck, kindly left in one of the comments by @therossgalloway in regard to the security budget). And I hope that it is clear that the 51% attack is not simply going away with some new technology — it is inherent in the principle of a public chain. Here’s a recent tweet from a Litecoin devs “By definition, a decentralized cryptocurrency must be susceptible to 51% attacks whether by hashrate, stake, and/or other permissionlessly-acquirable resources. If a crypto can’t be 51% attacked, it is permissioned and centralized.
  4. Of course it would be a bad idea on a public chain. If you control your own infrastructure though, it makes it easier for you. For everyone else it still looks like a blackbox with an API. Just like Google.

Written by

Science Fiction, Tech, sarcasm, and philosophical ramblings about the Universe.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store