Couple of points.
1) Blockchains don't have to be proof of work based. I'm using Stellar, which is proof of stake based. You can clear transactions in about 4 seconds with throughputs of hundreds per second. And they are super cheap. Bitcoin and ethereum are essentially legacy, first generation blockchains: they are not the final answer of what is possible. Ethereum has been meaning to get to proof of stake and sharding for several years now. I consider it a proof of concept alpha product at best in its current form. It's not actually fit for production unless your usecase tolerates having only a handful of transactions per day that each take minutes to hours to clear. This is not the case for most real world applications which is why ethereum is used exclusively for stuff that doesn't matter to real users. Like doing ICOs, gambling apps, scams, and mostly speculative trading on bullshit coins by people who have no clue about technology or any appreciation of it. It's a greed driven ecosystem.
2) Stellar and other proof of stake systems out-compete the existing financial system on cost. The whole point of the existing system is that banks operate artificial control points where they can tap into the international money streams. Their whole premise is that you have to do that via them. This means certain transactions are just impossible currently. Any globally available database is a workaround to that. Proof of stake means parties can coordinate via a trusted data base where none of the stake holders has the ability to cheat. That's basically what banking historically try to do: coordinate transactions in a tamper proof somewhat secure way. Turns out that a block chain database is cheaper than sending some dude with paper & signature by horse across europe. And modern transactions in banks are surprisingly not that much more sophisticated. Yes they use computers and (non blockchain) ledgers but most of that stuff is ancient technology.
3) Stellar does not actually do smart contracts and instead has native features that you can use as primitives to do much of the same things that people try to do with smart contracts. This is easier, more fool proof, and gets the job done. You can create and launch a token in minutes if you know what you are doing. ERC20 is very risky. Programmers make mistakes. Mistakes in financial contracts are expensive. Stellar side steps that by having a more limited but good enough system of primitive operations aimed to facilitate asset tracking, trading, time limited transactions, etc.
4) Stellar, Ripple, and several less fashionable but usable (i.e right now) blockchains are already being used by many financial players. This stuff is creeping into the existing system and becoming a part of it. There's a quite a bit of R&D money floating around in this space and there is rapid progress in this space. I predict this will take a few more years after which there will be a bit of consolidation.
IMHO blockchains as such are just jointly operated databases. The crypto eutopian BS is just that: BS. But having a solution to coordinate transactions between parties that fundamentally can't trust each other is a useful innovation. Historically banks have charged us for the privilege of operating as a trusted intermediary. Cutting them out of the equation can save a lot of money and also enables doing transactions in much larger volume and smaller scale. Doing international micro transactions via bank transfers is not a thing. It's too tedious and expensive. Doing that via payment channels on top of a blockchain is super easy to implement and dirt cheap to do. I can do a hundred thousand transactions on stellar for about 10 dollar cents (or whatever the XLM is doing these days). I can't do even a single transaction in the current financial system for that.
1) I don't understand potential implications of proof of stake well enough to discuss it, which is why I left it out. I might have brought it up at the end as a potential solution to Ethereum's speed problems, but since my biggest concern with Eth is the threats faced by smart contracts, I didn't want to distract.
2) Stellar isn't proof of stake actually! It's plain old consensus, similar to regular distributed systems tools like Raft, with the biggest difference being that each node defined which other nodes in the network it trusts. The concensus algorithm is called "federated byzantine agreement," which is a novel algorithm produced by members of SDF.
3/4) Stellar and Ripple are two currencies that I think have a high potential to do good things in the world--I actually recently started working for SDF, so I didn't want to shill too hard while bashing Btc/Eth :) Stellar is really exciting to me, the asset issuance and smart contract models it has feel really clever, and it's consensus algorithm is a big improvement for decentralization over what Ripple uses.
Nice write up. Thanks for introducing Stellar to me!
One thing though, I don't see banks being cut away as trusted intermediaries in the foreseeable future. Not even by blockchains. Banks do provide one vital feature that cryptocurrencies currently do not - guarantee against fraud. You wrote it yourself - "Programmers make mistakes". If your bank account gets hacked, there are rules established on what happens next. If your crypto wallet gets hacked, well ...tough luck.
Yup agreed. One of the big issues I see with the usability of cryptocurrencies as payment platforms is the complete absence of tools to fight fraud or theft. One interesting thing (imo) about Stellar is that it models the trust you place in a token issuer explicitly--in order to hold any given token, you have to open a "trust line" with the issuer.
I agree, it all boils down to trust and whom you trust. However, the presence of a tamper proof medium to exchange information about exactly which transactions did or did not take place is highly relevant.
Currently, people rely on banks and other financial institutions to secure them against fraud, theft, etc. Key management is the equivalent of keeping your cash in a box under your bed. It kind of works until the place burns down or you get robbed (at gun point or otherwise). Probably a bad idea to store millions $ worth of value like that, even if you live in the equivalent of fort Knox.
It's much smarter to outsource that kind of risk to somebody that knows how to keep those keys properly and insures you against the inevitable risks. So yes, bank like institutions do have a role. However their role is going to be more limited than in the past where their role also extended to the information transfer across the globe, the speed at which this happened, and control over the channels over which this happened.
With a blockchain, once you've signed a transaction and it's record has become part of the blockchain, it is an immutable fact that anyone can verify. Banks don't add a lot of value here other than agreeing that yes this thing happened exactly as recorded on the block chain. It's the steps before that where they add value and indeed securing the potential abuse of keys under their control.
With a proper blockchain, the cost of doing such transactions is extremely low. If you get mining out of the equation, it is ballpark similarish to any good old database transaction because that is literally all it is. So it all boils down to preventing cheating, delegating trust, and keeping transaction cost low.
I'm excited about blockchains precisely because of the low cost. It enables a whole lot of new usecases where currently most people can't be bothered to transact at all and where banks flat out refuse to help you do the business because their cost outweighs the profit or is too insignificant to bother to support you. There's this huge long tail of transactions that happen outside of the financial system because the transactions are just too small or insignificant to bother doing the accounting. "Here's my 2 $cents" is a famous expression of an opinion without much value. Yet, it is some value and it is hard to capture that value using existing tools when transaction costs are vastly more expensive than the actual transaction.
Transaction time on Bitcoin is an issue as long as you're willing to ignore the Lightning Network, which has become the go-to fix. While it's not used at scale yet, and needs some time to mature and grow, it solves the problem of slow transaction times, without giving up the trust that Blockchain provides.
Price/Value volatility is also not an issue worth thinking about. While Bitcoin and its competitors are incredibly volatile at the moment, it would be shortsighted to think that won't change as adoption increases and regulations become available, volatility will seize to be an issue.
On the topic of Smart Contracts, there's a lot you're ignoring too. While the current design of Smart Contracts might be sub optimal, that doesn't mean there isn't a solution or design that solves those issues. The tech is incredibly young and proper standards have yet to find their way into that market.
I fundamentally disagree with the way you're coming at some of these issues, as I think you're looking at them in a "nothing will change" kind of view. Crypto is incredibly young and underdeveloped. If there wasn't so much money to be made from it, it wouldn't be a technology most of us would've heard about yet. It's going to need years to develop and be regulated before it becomes something we use every day. Most of the issues plaguing the Crypto market today will become irrelevant in the next couple years and some of them have been fixed already. Consensus just needs to be reached on which solutions we want to use and which will fall by the wayside.
That's fair, omitting the work being done on the lightning network is a big hole. I'm aware of it, but it didn't come to mind while I was writing this. I'll add a mention of it since that's a serious effort to address this problem.
I agree volatility will decrease as a usage increases, but to me, it's a chicken-and-egg problem: volatility is a major impediment to increased adoption. I'm sure it will settle down once some of the bad actors are removed via regulation and once some of the pending investigations settle down, but I also think there will be a major downswing associated with those events.
The tech is very young, but standards are insufficient to address the problems I see with Solidity as a language. ERC20 is a standard, but there are still poorly implemented tokens. I see it as the same reason you wouldn't want to write, e.g., aircraft control software in JS—you can't verify the code in advance due to language limitations. Formal verification is an area of research in language design, and it's definitely possible for Eth/other smart contract platforms to improve in that area, but it'd be a drastic change and I don't see it being a priority any time soon.
It is young, and I expect it will stick around in some form, I just don't anticipate that these two examples will be the technology that remains at the forefront.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.