Blockchain is the world's worst database, created entirely to maintain the reputations of venture capital firms who injected hundreds of millions of dollars into a technology whose core defining insight was "You can improve on a Ponzi scam by making it self-organizing and distributed; that gets vastly more distribution, reduces the single point of failure, and makes it censorship-resistant."
That's more robust than I usually phrase things on HN, but you did ask. In slightly more detail:
Databases are wonderful things. We have a number which are actually employed in production, at a variety of institutions. They run the world. Meaningful applications run on top of Postgres, MySQL, Oracle, etc etc.
No meaningful applications run on top of "blockchain", because it is a marketing term. You cannot install blockchain just like you cannot install database. (Database sounds much cooler without the definitive article, too.) If you pick a particular instantiation of a blockchain-style database, it is a horrible, horrible database.
Can I pick on Bitcoin? Let me pick on Bitcoin. Bitcoin is claimed to be a global financial network and ready for production right now. Bitcoin cannot sustain 5 transactions per second, worldwide.
You might be sensibly interested in Bitcoin governance if, for some reason, you wanted to use Bitcoin. Bitcoin is a software artifact; it matters to users who makes changes to it and by what process. (Bitcoin is a software artifact, not a protocol, even though the Bitcoin community will tell you differently. There is a single C++ codebase which matters. It is essentially impossible to interoperate with Bitcoin without bugs-and-all replicating that codebase.) Bitcoin governance is captured by approximately ~5 people. This is a robust claim and requires extraordinary evidence.
Ordinary evidence would be pointing you, in a handwavy fashion, about the depth of acrimony with regards to raising the block size, which would let Bitcoin scale to the commanding heights of 10 or, nay, 100 transactions per second worldwide.
Extraordinary evidence might be pointing you to the time where the entire Bitcoin network was de-facto shut down based on the consensus of N people in an IRC channel. c.f. https://news.ycombinator.com/item?id=9320989 This was back in 2013. Long story short: a software update went awry so they rolled back global state by a few hours by getting the right two people to agree to it on a Skype call.
But let's get back to discussing that sole technical artifact. Bitcoin has a higher cost-to-value ratio than almost any technology conceivable; the cost to date is the market capitalization of Bitcoin. Because Bitcoin enters through a seigniorage mechanism, every Bitcoin existing was minted as compensation for "security the integrity of the blockchain" (by doing computationally expensive makework).
This cost is high. Today, routine maintenance of the Bitcoin network will cost the network approximately $1.5 million. That's on the order of $3 per write on a maximum committed capacity basis. It will cost another $1.5 million tomorrow, exchange rate depending.
(Bitcoin has successfully shifted much of the cost of operating its database to speculators rather than people who actually use Bitcoin for transaction processing. That game of musical chairs has gone on for a while.)
Bitcoin has some properties which one does not associate with many databases. One is that write acknowledgments average 5 minutes. Another is that they can stop, non-deterministically, for more than an hour at a time, worldwide, for all users simultaneously. This behavior is by design.
I can go on, and probably will some other day. This is a bit of a hobby for me.
The problem with Bitcoin is the costs associated with using it. Due to its decentralised nature it will always be more costly than centralised solutions. Therefore, Bitcoin simply cannot compete unless illegal activities are involved. The economics simply do not work out.
That's a really sweeping claim and I'd argue that it's too soon to really claim one way or another.
The security of bitcoin is inherited from it's decentralization. The massive proof of work operations in Bitcoin (and the resulting costs) are part of bitcoin's security.
Centralized solutions will always be vulnerable as long as security bugs exist (have you ever heard of a completely secure database?) And fraud will always be part of the equation.
So what's better? Currently no one knows. But interestingly enough the direction of bitcoin right now is to build centralized networks on top of a decentralized network.
The decentralisation is stupendously inefficient, Proof of Work is 47kg of carbon per transaction literally wasted, and it all centralises anyway - the code is controlled by just a few people, the mining is controlled by four miners (and there is no guarantee they are owned separately), most of the mining is in one country and 75% is about to be in one building.
Bitcoin decentralises things that don't need to be decentralised, wastefully, then naturally recentralises anyway.
I'm going to assume you mixed up your words there. I'd argue that we see lots of decentralization on the web. I don't see why it has to be one or the other, they seem to work fine in a hybrid state.
>the code is controlled by just a few people, the mining is controlled by four miners
Code is available on github and you can fork it. Mining centralization was the result of competition and some ambitious Chinese living next to dams. There is nothing preventing this from changing in the future.
>Bitcoin decentralises things that don't need to be decentralised, wastefully, then naturally recentralises anyway.
I'd say that money should definitely be decentralized.
>Code is available on github and you can fork it. Mining centralization was the result of competition and some ambitious Chinese living next to dams. There is nothing preventing this from changing in the future.
There is: mining benefits from economies of scale. Increasing specialisation increases your efficiency in hashes per dollar spent, and this increases the barrier to entry. To compete in mining now, you need not just super-cheap power but to design your own ASICs.
Specialised hardware will always be more efficient on a specific task than general hardware. I'm frankly amazed whenever I have to point this out on HN of all places, and have had to do so repeatedly.
As for the code base: the protocol is ill-specified outside the code base. So you need to get the network to adopt your forked code, or you just have another altcoin. Again, this should be well-known if you claim to know how bitcoin actually works in practice.
Youtube, Paypal, Facebook, Steam, Reddit, Medium, Github, hell even hackernews - I think the big success story of the internet in the past decade has been the centralization. Decentralization is usually popular because of illegal intents (like bittorrent). I agree with you though, they could exist in a hybrid state and there will always be markets for decentralized systems. But a global economic system run that way is on a totally different scale and stake.
> I'd say that money should definitely be decentralized.
Depending on how it's done, it very well should, but a lot of things come into question like governance and consumer protection, and actually moving the world forward and helping those who aren't computer savvy. Unless you're a libertarian, the economy is really a means to an end and not and end in itself, and another big success story over the past decades has been the huge global economy that has been created and enabled everyone from the poor to the old to people who aren't as savvy to work and live relatively safe lives. You can't just dump the bitcoin software on everyone and say, "here it is! your life savings, your paycheck, your everything, just make sure you don't fry the hard drive that it's stored on and make backups!"
Decentralization is for the most part, an enthusiast endeavour. The centralization aspect is powerful because it offloads all the technical details so that 5 hours per day of brainpower on the whole globe isn't wasted on just trying to do something as simple as recovering 5 bucks in an emergency. And this applies to almost any decentralized service and applies even more strongly to things that are of survival importance like money. I'm not disregarding the idea or making a prediction, it's just there's a lot here to think about I think
I guess we view de/centralization in a different way. All the sites you listed are centralized under a brand/code but decentralized on cloud servers. Inspecting a page and viewing sources you can see how many places a site loads from (hackernews is pretty centralized)
>Decentralization is for the most part, an enthusiast endeavour.
I'd agree that Bitcoin is an enthusiast endeavour currently. There are several elephants in the room though, the federal reserve, unaccountable corruption, currency manipulation, SuperPACS, offshore tax havens. I'm not naive enough to claim that Bitcoin could solve these problems or even any of them, but it could be used as a tool if utilized properly.
If not you could always broach the subject with a friend. 'Hey do you know anyone that sells molly?' Super awkward.
Point being there is a market for drugs and up until now you just had to be 'in the know' to get them. Now you don't have to.
I tried to pick apart the rest of your post but damn if you're not an eloquent writer. You pretty much covered every angle. My only real complaint is your point that "Bitcoin is claimed to be a global financial network and ready for production right now."
Bitcoin isn't claiming anything, it IS a global financial network being used in production right now.
except, of course, for all the fraud, thefts, exchange collapses, "hacks" and sorry-for-your-loss events in every other part of how Bitcoin works in practice. Except for the fraud, it's completely free of fraud!
How so? Are you saying that when a trojan on my machine accesses my bitcoin wallet and sends all of my bitcoins somewhere, is it not "fraudulent transaction"? Because these things happen, you know.
I obviously can't predict the future use cases, but an example off the top of my head might be something like a country issuing social security numbers at birth using the blockchain. Suddenly that "expensive" operation can be seen as extremely cheap given the utility. Go ahead and attack the example, but like I said, just something off the top of my head.
To take your example, a country issuing identification numbers does not have a trust issue. The people generally trust the government to correctly issue and record an ID number.
However, for argument's sake. People can counterfeit drivers licenses, or passports. Good luck trying to counterfeit something on the blockchain.
Edit: to expand on this, think of a poor country who doesn't have their technology up to par as a 1st world country. To build the infrastructure to even have that government database is costly versus using an already existing infrastructure to do most of the heavy lifting.
This is precisely the point. Blockchains are met with negativity because enthusiasts keep trying to evangelize their merits without having anything to show for it. If blockchains have uses besides cryptocurrencies, point to a practical example or build something and Show HN, but the incessant proselytizing of blockchain vaporware is tiring and makes non-enthusiasts roll their eyes whenever the topic comes up.
> However, for argument's sake. People can counterfeit drivers licenses, or passports. Good luck trying to counterfeit something on the blockchain.
This is another example of how blockchain enthusiasts commonly misunderstand how their technology interacts with the real world. Creating a counterfeit driver's license or passport has nothing to do with computer systems. Today's counterfeiters don't hack into a mutable database and modify identification records, they simply create a physical passport or ID that looks authentic enough to fool a human being who doesn't exist on a blockchain.
The blockchain phenomenon is akin to when a star-eyed developer writes a 10 page blog post about their FPS-RPG-RTS-MMO hybrid with a physics and chemistry simulation system that offers unlimited possibilities! Except the project usually fails after debuting a few misleading demos, and if the project ever escapes the alpha phase, the reality is hugely underwhelming and not at all resembling anything close to what was advertised. That is the blockchain in a nutshell.
I'm actually surprised nobody's brought blockchains to Star Citizen yet.
1) It seems like the term "block chain" as used by block chain companies is pointing to what the bitcoin blockchain is but without the proof of work. So, a database which history could be cryptographically audited.
2) I don't think those are necessarily bad points for Bitcoin. Maybe it is run by speculators or gold diggers but in the end many people (including me and friends) have used/are using bitcoin for legitimate reasons.
Doesn't git already meet that requirement?
The cost of hashing only has to do with the creation of blocks. Which blocks are not required to be cryptographically verifiable.
Blockchain is not a database. It's a document timestamping service
(document being a short program that describes where goes what part of
a coin, in the case of Bitcoin), it's just a service that doesn't use
a central place or a trusted third party to produce (or keep) timestamps.
If you were to use it as a database, then no wonder it would suck
horribly. It wasn't designed for that.
Aaron Voisine has done an incredible job with breadwallet, highly recommended.
Almost everyone knows how to handle real-life concerns like that with traditional currency. If you want something new to get any sort of adoption, people are going to need satisfying answers before they'll feel comfortable putting real value into it.
If you ever lose your phone you can recover your wallet with this phrase.
Remember that I didn't say your favorite toy sucks, only that not everyone else has your level of appreciation for it. Most people aren't going to put serious amounts of money into something which they don't trust and the status quo works fairly well for the average person: increasingly few people carry significant amounts of cash, most people use bank accounts and credit cards, etc. which means that the maximum cost is usually either capped or otherwise (e.g. you lose your ATM card but the recovery cost is only the time it takes to go to the bank with photo ID).
Bitcoin can do interesting things but getting non-aficionados to use it will depend on getting to a comparable degree of confidence, especially since most people don't share the [over-]confidence that the typical Bitcoin advocate has regarding their personal info-sec footing.
Bitcoin's slogan is 'be your own bank' which means you're ultimately responsible for your own security. If you're hacked, you're hacked. This is no different from modern day identity theft.
>Remember that I didn't say your favorite toy sucks, only that not everyone else has your level of appreciation for it. Most people aren't going to put serious amounts of money into something which they don't trust and the status quo works fairly well for the average person: increasingly few people carry significant amounts of cash, most people use bank accounts and credit cards, etc. which means that the maximum cost is usually either capped or otherwise (e.g. you lose your ATM card but the recovery cost is only the time it takes to go to the bank with photo ID).
Bitcoin isn't ready for the average user, much like computers in the 80s weren't ready for the average user. That isn't stopping developers who can see the writing on the wall.
I think there is a very good argument to be made that traditional currencies are not as safe as they once were as the federal reserve continues it's historically unprecedented experiments.
> This is no different from modern day identity theft.
Identity theft is a nuisance caused by large companies trying to dodge responsibility for negligence onto the public. The failure mode is that your credit rating is damaged, not that all of your money ends up irrecoverably belonging to some guy in Russia – and you have legal means to solve these problems.
> Bitcoin isn't ready for the average user, much like computers in the 80s weren't ready for the average user.
Fewer people could afford them but 80s PCs were incredibly useful – things like VisiCalc and WordStar transformed offices, the gaming industry had grown enough to support multiple dedicated studios, etc. People were willing to pay large amounts of money to own a PC precisely because it had real tangible value. Other than paying off ransomware, what can an adopter do with BitCoin which is significantly harder / impossible now? (Or, for many of the distributed ledger proposals, couldn't do faster using existing PKI?)
That's one way of looking at it.
>The failure mode is that your credit rating is damaged, not that all of your money ends up irrecoverably belonging to some guy in Russia – and you have legal means to solve these problems.
That's great and all but your identity is still stolen and your credit can never be fully trusted. In the case of Bitcoin the law clearly hasn't caught up with the tech, it will eventually as gov realizes they're not getting their taxes.
>Fewer people could afford them but 80s PCs were incredibly useful – things like VisiCalc and WordStar transformed offices, the gaming industry had grown enough to support multiple dedicated studios, etc. People were willing to pay large amounts of money to own a PC precisely because it had real tangible value.
Lots of people decried PCs as fads, the internet was a fad, smartphones were a fad. Believe it or not credit cards were declared a fad at one point.
>Other than paying off ransomware, what can an adopter do with BitCoin which is significantly harder / impossible now?
Send money to anyone on earth with an internet connection, for anything you want, fast with low fees.
And this gets back to my original point. Security is hard enough that it's common for seasoned security professionals to not follow best practices. Regular members of the public don't have a chance if they have to assume all the responsibility of their own security - this is why they outsource that to banks right now. Hence: in order to manage your own security properly with bitcoin, you have to understand the underpinnings of it. How can a person be ultimately responsible for their own security if they aren't aware of even the most basic of security issues in tech?
Phone based AES hardware with fingerprint security, coupled with QR code scanning payments. Literally point and pay with biometric data.
Or should we use pieces of plastic/paper?
But yes, pieces of plastic/paper don't require the user to have an expensive-yet-easily-lost doo-dad that is also hard to replace. Have your phone stolen? Now you have to wait not only until the banks do their bit, but also until the phone shops reopen so you can start buying things again. Not to mention that if you forget to charge your "money", you can no longer use your "money". It's also not an option for those in poverty, or for the plenty of people who don't have a phone, let alone a smartphone. "Dollars" come in a lot of forms that you can use at any point in life and in any state except perhaps severe mental illness. High-tech electronic-only money certainly does not.
One of the great things about banks is that the transactions are reversible. People click the wrong button all the time, and they call up their bank and say "oops, please fix it".
> I've recently had conversations with companies working on solving two big problems in large media buying agencies - bot-based fraud, and auditability of programmatic trading. These problems are being solved using the bitcoin blockchain.
How is the bitcoin blockchain solving these problems? Please offer some kind of details or explanation. I could be wrong, but I'm betting that you're going to offer an example of how the blockchain could, in theory, maybe solve some of these problems but there are practical barriers to implementation and no real solution to be seen. That is exactly what creates a negative response towards blockchains, big talk and nothing to show for it. Cryptocurrency is literally the only thing that blockchains have been demonstrated to be useful for yet we're constantly bombarded with claims that blockchains are going to solve countless problems and it never pans out.
I don't think that how the community is supposed to work. HN is all about discussion of existing content. It is simply a bad form to go to discussion of "blockchan for big banks" article and start talking about "blockchain for ad networks".
Yes, maybe someone out there is making something where blockchain is genuinely a right technology; if you find such a project, submit it to HN and there may be actual positive comments on the blockchain idea.
Or even better: write a blog post about real-life problems which are best being solved by the bitcoin blockchain, and submit it. I am sure people will read it with interest! (I am not being sarcastic here -- I am genuinely interested about useful bitcoin applications)
At this point the burden of proof really is pretty much entirely on the blockchain advocates. Bring a technically feasible use case to the table.
Projects that clearly fit the pattern of good use cases get a lot less flak than startups or initiatives that do further out things and don't talk about details.
Unclear definitions (e.g. is a distributed ledger without expensive proof-of-work a blockchain or not?) are another issue.
Also, that bit about Patrick was needlessly personal. He has the same right to offer an opinion as anybody else does, and your 'royalty' bit is just posturing.
If you want to teach us something about how to be more imaginative, that's great, but the best way to do so is simply to convey information.
In a distributed consensus environment a substantial number of proofs of work (in Bitcoins case a hash) must be performed to gradually ensure that a block in the chain is consistent and thus come to a consensus that it is in fact valid.
In Postgres a transaction can be verified and guaranteed to be consistent among nodes using a two phase commit protocol. Essentially a transaction is attempted, verified, and then committed by the nodes of the network in a guaranteed, and very secure, manner.
The upside to the Postgres method is you do not need a substantial number of individual processors to perform proof of work to securely verify consistency.
Distributed transactions in an RDBMS requires trusting all the hosts it runs on.
Or on top of LevelDB or sqlite if you look at google's implementation of it:
The source of truth for certificates is certificate authorities. Certificate authorities by definition must trust the claims other authorities make about what they issued. There's no need for "proof of work". There's not even any distrust.
There's a need for an audit log, an append-only database, replication, and distribution of data.
There is no need for solving the generals problem, for hashing, for confirmations, for any of the blockchain really.
In fact, lets talk about faxes. We still have these relics of the past generation in our offices. Why? Because it acts as a mechanism to collect and store timestamp events. Blockchain precisely does that.
How about a blockchain implementation that solves this problem?
I have seen zero actually feasible use cases for blockchain outside cryptocurrencies, and those only have a use case for illicit transactions.
The usual proposal I see put forward for non-cryptocurrency blockchains is a general coordinated database of everything in an industry, so all players can see what's happening.
The problem here is having common data standards at all, which is not a problem that storing it in a blockchain will solve.
The first barrier to common data standards is business models built on obscurantism; the second is that nobody wants to make the body setting the standard into the natural monopoly it will become, which is not a problem that a blockchain will solve.
The solution is for a player to come up with an open royalty-free data standard so naturally compelling that everyone adopts it, and eventually your regulator says "you know what, use this one."
This does not involve a blockchain.
NB Having worked in the area I find document security (particularly authenticity) to be a fascinating subject and its not inconceivable that a blockchain based solution could be interesting but I'd love to see how such a thing would actually work in practice and some kind of idea why it is better than earlier approaches.
"because blockchain" isn't really an argument.
Blockchain is the proverbial solution looking for a problem. As has been pointed out ad nauseam, the blockchain is often just a euphemism for database.
And that's where the backlash comes from, someone says Blockchain for settlement, or blockchain for recording startup up option tracking, or blockchain for tracking, well anything physical or digital.
The problem with these solutions is that almost always, there exists a database doing exactly what the person is proposing we use blockchain for, there aren't any trust issues with the counter parties so distributed consensus doesn't buy you much, often it makes things worse due to its immutability.
Couple that with the fact that many people like the current system, or make money based on the current system and therefor can't see anything broken about it.
Also, the current technology has inertia behind it, the new technology can't be just a bit better, it needs to be much better to displace the incumbent tech, and blockchain just isn't that much better yet for most of the soutions its proposed for.
TL/DR Blockchain is the new NoSql. Awesome, useful in very strict cases, but its currently supremely hyped up and over sold.
However it offers the potential to approach problems in a fundamentally different manner. I find myself incredibly curious and fascinated with how it works - then immediately rejected once I see discussions on HN about the blockchain.
According to your bio you've been programming for many years - is an apprehension towards something new a common pattern you've observed?
Which results in "hype recoil." There are some interesting use-cases for the technology, but the hype in areas where it is not applicable (e.g. as a liquid currency) severely erode the overall perception. Fanatic belligerence when the flaws are discussed enrich angst toward the technology.
In many ways the issue is not the technology itself; rather the evangelists of it.
"If you announce that you are updating the database software used by a consortium of banks to track derivatives trades, the New York Times will not write an article about it. If you say that you are blockchaining the blockchain software used by a blockchain of blockchains to blockchain blockchain blockchains, the New York Times will blockchain a blockchain about it"
The whole article is fairly insightful, as his often are:
The article on the front page about Accenture today is a great example. People are using it as a buzzword. Blockchain isn't snake oil, but it's sure being peddled by a lot of snake oil salesmen.
In situations where you already have trust but want immutability and cryptographic assurances, you may want to look into Merkle DAGs or other authenticated data structures, which are not blockchains at all. https://cs.umd.edu/~mwh/papers/gpads.pdf
Frankly the distributed consensus part of blockchains has always seemed more than a tad bit wasteful of energy and computation.
As someone that has actually tried to sell things with bitcoin, there are major flaws with it, and they will never be fixed because these problems are inherent to blockchains. And people trying to get rich quick keep spamming forums and HN with blockchain technology X Y Z without acknowledging these problems.
1. It is really annoying to buy. You need to go out of your way to link your bank account and passport/driver's license at any major exchange, and this takes days or even weeks. You cannot buy it instantly with a credit card or paypal unless you find a shady seller with bad rates. No one wants to sell bitcoin for something that could be chargebacked.
2. No chargebacks. Good for sellers but not for buyers. People might be able to live with this if it weren't for the other 2 major problems.
3. Payment takes forever. Waiting for the recommended amount of confirms will take at least an hour?
These problems are deal-breaking and can never be fixed when using blockchain technology.
And then after 10 mins to an hour you find you can't spend it because it's been marked invalid, and the guy you sold your iPhone to is long gone.
And I can spend money I get from Paypal as soon as I get it. I don't have to wait 1 hour.
A "private" blockchain largely defeats the point, as you don't need trustless distributed concensus when you implictly trust yourself or a central authority. We just call these versioned databases.
Blockchain is a relatively new technology with plenty of promises paired with low understanding.
I am however sceptical when large amounts of people suddenly decides that they need to swap technology NOW.
When we discuss the cryptocurrency concept, specifically bitcoin, I think reasonable people can agree that blockchain technology has yielded something unique, interesting and worthy of technical merit, despite it not living up to the insane prognostications of bitcoin fanatics . On the whole, I think it's fair to call bitcoin a success because it continues to exist and has been self sustaining more or less within the parameters of the original design for quite a few years. Although it is small, there is some real commerce that occurs in the bitcoin world, and even among some of the alt-coins that followed it. A self-sustaining mini-economy based on computer code is fascinating, and without all the breathless evangelists talking about how bitcoin will end all wars and liberate the masses from the tyranny of taxation and government, I think we'd see a lot more meaningful technical discussion of bitcoin and the other potential uses for blockchain technology.
But that is not the world we live in. We live in a world where every conceivable problem is met with an overwrought and unworkable blockchain solution. We live in a world where startups can drain 100 million dollars on a clearly stupid idea because "blockchains are the future", we live in a world where bitcoin evangelists refuse to face the reality that the incumbent financial system is not at all threatened by bitcoin and concepts like "smart contracts" and that people with common sense aren't ignorant or misunderstanding blockchains just because they're trying to tell you that throwing millions of dollars into a "decentralized autonomous organization" (a misnomer which exemplifies blockchain insanity) is a dangerous and terrible idea.
Blockchain enthusiasts need to put up or shut up. Storing land deeds and stocks on the blockchain is unworkable. Using the blockchain to power smart-locks and self-driving cars and autonomous drones and autonmous AI VCs is unworkable and unnecessary. Bitcoin, bitcoin copycats, and RNG roulette are the only examples of blockchains working mostly as intended and providing at least a marginal utility (in that cryptocurrency can be converted into spendable money). All the rest of it is demonstrably pointless (see literally every project created with etherum besides decentralized gambling software).
This is leaving aside all the political nonsense and all the bitcoin hesits, thefts, scams, and buzzword swindling. The bottom line is that people are tired of hearing about the amazing capabilities of blockchains when nobody can seem to actually demonstrate their utility (besides bitcoin) in practice.
1. A large user base (computational power) is needed to successfully run a blockchain backed product. If the network is small, a malicious attacker with enough resources could manipulate past transactions or prevent new ones (51% attack).
2. Blockchain was designed to be a trustless (no central authority) distributed ledger. In the case of Bitcoin, it prevents double spending of a virtual currency that only exists in the Internet. When applied to "real world" assets, sooner or later you will find a step in the process that involves trusting something or someone.
So far I haven't been able to identify a use case for anything but a digital asset with great traction.
And yes, if you're using blockchain to track something like gold in a vault you might as well just have a database that is run by the same entity that runs the vault.