Okay, I don't want to come down too hard on this article, but I think it's nearsighted. Sure, it's true that _today's_ blockchains have many downsides the article brings up, but it's written as if those won't change or improve.
It feels to me a bit like claiming in the 90's that the internet isn't the future because you can't download that much stuff at 56k speeds.
They mention "immutability" being a problem - so much so that it somehow disallows typos or undos. That's just not true - you just represent the updates as changes in their own right (which better reflects reality than literally altering history). There's nothing about "the blockchain" that can't record human error or corrections.
They go on to talk about how proof of stake doesn't solve all problems by mentioning, "The Bitcoin blockchain is currently 157GB in size, and that’s at a very low transaction speed. The idea of everyone mining on their phone is just laughable."
Once again, they are talking about current implementations - I don't see how this is inherently a restriction in the technology, and there are (reputable) companies working on this exact thing.
The amount of money I have in cryptocurrencies can basically be rounded to zero, so I don't have much skin in this game - I just think blog posts like these aren't really making compelling points other than "the current technology today has many flaws", which I think is uninteresting to most.
A global distributed ledger is less cumbersome to develop and more efficient to run, when it uses a transactional NoSQL database, than a blockchain.
In almost all use cases, there are existing identity, reputation, and legal frameworks that a distributed ledger can depend on. Here's an article I wrote about how most of the time you're better off with a database instead of a blockchain: https://blog.fauna.com/distributed-ledger-without-the-blockc...
There are some cases where existing identity and legal frameworks can't be used, where proof-of-work has some interest. My other problem with proof-of-work is that it can't scale because it always demands that blockchains use more energy than the economic value they are protecting. Here is an analysis of how blockchains aren't immutable: https://www.coindesk.com/blockchain-immutability-myth/
I skimmed the immutability article. The argument is essentially that a country like China could wreak havoc on Bitcoin by acquiring 51% of mining power. His calculation is a bit outdated -- current mining revenue is over 7 billion [1] without even counting transaction fees -- but I guess the argument is still somewhat plausible.
More importantly, the argument doesn't apply to proof-of-stake blockchains, which I believe are the future. Unless a government is able to purchase a 51% stake in the currency, but that would require hundreds of billions for a currency as large as Bitcoin.
Proof of stake has other flaws. One issue in particular is that forks are much, much cheaper in proof of stake. This means that you can achieve "51% attacks" with decent probability with a much smaller amount of mining ability.
I've been working on a blockchain design involving PoS, and it's certainly more difficult to get right, but it's a solvable problem.
51% attacks normally require 51% stake. It's true that large stakeholders will occasionally have several winning block scores in a row, which lets them create a viable short fork, but it's not really a problem. Short forks just mean that users need to wait for several blocks if they want a high degree of certainty that a transaction is final.
51% attacks could also be more feasible if an attacker can manipulate entropy, but the usual safeguard is to derive entropy from verifier addresses, as NXT does, so that manipulating entropy will cost a verifier their block reward. Then require verifiers to have a certain minimum account age, high enough that grinding attacks become infeasible.
Certainly more complex, but with the right design PoS works fine while saving electricity, and the cost savings are passed on to all stakeholders.
The majority of the supply was produced rather trivially for a measurably inexpensive amount of captial cost to mint it prior to 2015.
One could surmise the reason crypto isn't banned yet is because nation states have the resources to mine majority stake easily due to the majority supply being created in a short time frame.
It's possible that they acquired a majority of hash power when doing so was cheaper, but in order to maintain their majority, they would have had to invest several billion since then. See [1] which shows the growth of the overall network hash rate.
I'm not saying it's unrealistic, just that it would be more expensive today than what the article says.
51% is necessary to create viable forks with arbitrary lengths. What that mining pool did was much less harmful: they just censored other parties' transactions during an ICO.
Unless a coordinated majority is censoring your transactions, you can't really be censored, your transactions will just be slightly delayed sometimes. Which is normally very harmless.
The only problem here was a poorly run ICO, where prices were dependent on the order of transactions. That wouldn't be the case with e.g. a reverse Dutch auction similar to the process for Treasury bills.
So, you are using bitcoin's mining revenue to make a claim on PoS coins?
Assuming you are correct, here's something you dint consider - most of the PoS coins need a starting point - mainly the genesis block. These coins are acquired through ICO mechanism. Example NEO. While the current price is 122 USD @ 8 billion in marketcap. But, it started at 0.3 USD and raised USD 28 million. So, China need not buy now 4 billion of coins now, it could have spent 15-20 million to acquire more than 50% of the staking coins.
Even if they acquired a 51% stake on the cheap, they would still own $4b worth of NEO today. Revealing that they hold a majority stake would destroy NEO's price, since it breaks the security model, resulting in a $4b loss.
> A global distributed ledger is less cumbersome to develop and more efficient to run, when it uses a transactional NoSQL database, than a blockchain.
In other words, a distributed system is less cumbersome if it is centralized.
Blockchain is a very expensive technique, but it's the first attempt at
developing document timestamping system (one that doesn't need trusted third
party) that produced at least mildly robust protocol.
> It feels to me a bit like claiming in the 90's that the internet isn't the future because you can't download that much stuff at 56k speeds.
The internet had tremendous utility at 56k speeds. The blockchain so far is mostly just useful for propagating itself and propping up the value of cryptocoins. There are some exceptions, such as using the blockchain to notarize documents (although has any court actually accepted blockchain-notarized documents as having legal power?), but the author's criticisms are well-founded. Even Ethereum Smart Contracts aren't particularly useful because in order to affect anything not on the blockchain you need an oracle, which destroys the whole decentralized 'trustless' concept.
> They mention "immutability" being a problem - so much so that it somehow disallows typos or undos. That's just not true - you just represent the updates as changes in their own right
The author already covered this. You can't undo a transaction without the cooperation of the other party. Accidentally send 10BTC to someone when you meant to send 1BTC? You're entirely beholden to the whims of the recipient to decide whether to refund you. Nobody else can do it. Or perhaps more importantly, if someone steals money from you, it's impossible to recover (because you can be sure the thief isn't going to refund it).
If you're using the blockchain in a manner where you can trust the recipient to be on board with correcting any errors, what benefit are you getting from the blockchain?
> I just think blog posts like these aren't really making compelling points other than "the current technology today has many flaws", which I think is uninteresting to most.
The only two points tied to "current technology" in the article are complaints about the blockchain speed and the blockchain size. But it turns out the first problem is going to be solved by literally not using the blockchain for most stuff (which pretty much proves the article's point), and the second problem is still a legitimate problem. Even if you can mine without having the full blockchain, someone is going to need to have it in order to actually validate the whole thing periodically. If we get to the point where the blockchain is so large that only a few major players can afford to have the whole thing, then we've lost the 'trustless' aspect because now we have to trust those major players when they say the blockchain validates properly.
"Immutability": I don't think the mainstream financial system will mutate transactions once they've occurred. If there's a chargeback, it's implemented as a new transaction that reverses the first one. Chargebacks are possible because of the use of intermediaries, not because of mutable transactions.
This is flat out false, and misses the point altogether.
First of all, plenty of systems have the ability to roll back transactions. Exchanges can and have declared some transactions void if they were the result of market manipulation or extreme volatility, such as during the famous flash crash.
Second, with a blockchain you need the other party to sign the reverse transaction. Either you have to trust that party, or a central and neutral authority with some sort of main key, to produce the inverse transaction. Once you have this, you have introduced a ton of trust and/or centralization into the system, in which case you could have just used a regular SQL database anyways.
It's the kind of thing that I would put in a "false things programmers believe about transactions" article if I ever wrote one.
Due to late fees, overdrafts, interest, frauds, various legislation and protections, cooling off periods, time zones, comm lags, etc etc etc, it's dangerously false to believe that transactions work in some kind of immutable real world time stamped process.
Why do you think bank transfers take several days to go through? It's because the bank is allowed to reverse the transaction within that time period, i.e. to mutate it.
I know these days there's a network of banks that do much faster transfers between them, but that's because they trust each other to reverse charges as needed.
Ever try to steal a house? The buying and selling process tends to be so comically onerous, involving numerous layers of validation, lawyers, realtors, fees, taxes, title transfer, it's worlds apart from comparing it to present day crypto currencies and crypto transactions. Real-estate being the majority proportion of all traditional physical property value in the world.
Maybe stray gold or silver coins or similar. Those offer more privacy than BTC though and are also quite easy to safely store (safety deposit boxes are cheap compared to any meaningful valuables). Or you can just buy GLD on the stock market.
Cash, at least in the US, offers a lot more privacy than BTC does. It also has low, stable transaction fees related to its use and existence.
Honestly, I think real estate chain of title, mortgages, etc is a perfect use case for blockchain. You've got lots of parties, lots of disparate data, and an onerous outdated process that makes transfer of real property take weeks to months when it could theoretically be "instant".
A city government is not the current decision maker when it comes to title of real property. Title of real property is complex and can be contested in court. There are various types of deeds involved in title and even then, you have to purchase title insurance in case some heir of an old estate comes out of the woodwork to claim title of said property. It's just not that clean cut.
Well, he has a point. Unless you use a cryptocurrency, I can't think of anything that needs the blockchain. I have seen plenty of people trying to shoehorn the blockchain into areas that don't need it - goods distribution, electricity supply, you name it and someone is trying to do it. Almost all of those things would actually work better with a centralised database.
The Blockchain is an awesome technology for an incredibly niche market. So his article is right - in most cases, you probably don't need a blockchain.
agreed! I don't think there's any particular application outside cryptocurrency that I would strongly defend as "needing" a blockchain - then again, I'm not the most imaginative person, so I think others will eventually come up with some genuinely unique and valuable uses!
I give you one shining example. Secure and untampered voting.
Let's say you record voting based on SMS for American Idol show in MySQL database. Singer A got 1000 votes, singer B got 700 votes. But singer B is more viral and popular in social media. You think if singer B goes to the next level, it will increase the rating of the show much more compared to singer A does. So you decide to bump up the singer B's voting number to 1100.
Not a good case for shared write access. Just shared read access. DB's come with their own logs. If one wanted to provide verification one only needs to provide logs that other people can read and maintain diffs/copies of
You can’t prove that logs haven’t been tampered with, though. The running system is a black box that could be doing anything to that file before making it available.
This is quite simple. You simply have the running system constantly have the file or data be readable to the public. Now anyone can prove that the logs haven't been tampered with. Even better, you can just use a merkle tree data storage solution like Git to make that verification easy and fast. See Certificate Authority for a fully fleshed out solution in this nature. (I guess you could claim that merkle trees are blockchains, but in that case I would argue that the word "blockchain" is pretty meaningless. Just call them merkle trees.)
But it's turtles all the way down. How does the public know that they're getting the data and not a surrepetitiously modified version? At some point you're relying on the system to be truthful about its contents.
It also effectively hands your vote over in cleartext to the nation state. There's a damn good reason why Russia is looking into blockchain voting, and it's not for the purpose of protecting fair and free elections.
Paper ballots work fine and have amazingly low error rates, leave it be.
Maybe for pointless votes like American Idol or Formula E fanboost that's fine, although it seems like massive overkill to me. You're still going to need to justify the energy bill/incentivize miners, and these systems have a central authority that could run a regular voting system anyways.
The issue I have with electronic voting of any kind is that it's a huge and valuable target, it's pretty much guaranteed that multiple hostile nation states will want to poke holes into these systems. Introducing crypto doesn't do squat to prevent all sorts of nasty problems, including information leaks and stolen private keys. Given what we know about how most people handle basic passwords, I think paper is probably the most secure form of voting we've ever seen.
For us, American Idol is pointless. But for the singer who got robbed the championship, it's not. Yes, I admit the energy bill is part of the blockchain scalability issue. But blockchain is still in infancy. There is a room for improvement regarding the energy bill.
The political voting is a complex beast so I am not going to comment on it yet. My main focus is for the voting process like American Idol, choosing moderators in forum.
If the voting is anonymised, then how do you protect against Sybil attacks?
When you think through this, every voting system has a weak link in terms of verifying who is a valid voter. So you must have a centralized authority here. Thus a blockchain is useless.
This is the hypothetical solution. Let's say there are 1000 voters. You premine 1000 coins then send it to each voter. Voter then can vote with 1 coin. So you can make sure the voting process is valid, and you can hide the sender in the smart contract. Of course, the technicality is not this simple. But you get the idea.
It's not really "needing", but one of the strong use cases is disrupting escrow. If domains, car/house titles, etc. existed as blockchain objects then they could be sold securely with no escrow.
Physical deeds are forged all the time, and sorting it out requires a quiet title lawsuit. A stolen electronic deed would be handled similarly. You would ask a court to declare the stolen title invalid and issue a new one.
Just to make sure it's clear, I'm not saying that courts should have any special power to manipulate the blockchain, just that they could declare a stolen title invalid, and issue a new one in the form of a new colored coin on the blockchain.
I'm not claiming any benefit related to government control, just that escrow would be unnecessary.
A centralized source will be held accountable to the legal demands, thus as trustworthy as the blockchain yet significantly more beneficial for all users in terms of speed, storage and utility.
Anything where chain of custody is important is a great application in my humble opinion. Currently a huge problem in engineering is guaranteeing the legitimacy of parts. Everything from electronics to commercial jet parts have knockoffs being made and passed off as legitimate. If you have unique QR codes for each part from the manufacturer you can use a blockchain to track chain of custody of the part.
Beyond that you can make something unique digitally and hash it and someone can "own" that digital thing, instead of money it can be items in a game or art or anything really. A musician can make a song for a single person and sign it into a blockchain and you can prove who it was for. Lots of neat applications that haven't been created yet just like the internet when it was new.
How is this any better than the manufacturer just maintaining a database of legitimate parts (identified by QR codes) and then contacting the manufacturer when you want to know if a part is legitimate? About the only thing a blockchain would do is insulate you from the manufacturer's API going down. But even that can be solved by having the manufacturer simply send you a copy of the database periodically (and then contacting the manufacturer if your database copy doesn't have the part, in case it's newer than your database, although even that can be solved by having the manufacturer generate the codes in advance, so the database they give you can already contain the codes that will be used for parts manufactured over the next month).
Heck, you don't really even need a database for this at all, come to think of it. Just have the QR code contain a signed copy of the part identifier. You can validate that the signature matches the manufacturer's public key and that will be just as good as asking the manufacturer if it's valid.
Also, now that I think about this, this whole scheme (including using a blockchain) has the fatal flaw wherein a knockoff can just copy the QR code from a valid part. There's nothing stopping anyone from reusing the QR codes, and the knockoff will appear just as legitimate as the original.
With a blockchain the end user could tag the part hash as being installed and you could see exactly who each supplier had the part at what time. A database could go offline and stop a part from begin installed into a jetliner but a blockchain would be always available. The manufacturer could track which parts the end user has in stock and installed and make production decisions easier. A consortium of manufacturers could use the same blockchain for all their parts. I am not claiming it's more efficient for all use cases just that there are some distributed trust applications that seem to make sense.
The only interesting part here is the behavior when the manufacturer's API goes down, and that's solveable just by having the clients maintain a queue of their failed modifications and retry them later when the API goes back up again. And of course the manufacturer can even provide the software that does this to the client so the client doesn't have to do any work for it.
This little subthread is a great example of a kind of fallacy that seems endemic amongst blockchain believers. "A blockchain solution X can solve problem P, therefore blockchain is useful". Without asking if there is a non-blockchain solution Y that can also solve P, and if so, what the relative merits of X and Y are.
Given that a blockchain is just a distributed database with a distributed certification mechanism, you can generally immediately construct a couple of non-blockchain solutions by first removing distributed certification, then distribution of the database itself. You can then quickly see the eigenmerits of those kinds of distribution for the problem at hand. I have yet to see an example where they are positive.
The blockchain solution can gives more benefits more than "when the manufacturer's API goes down".
So there are 3 actors in supply chain: manufacturers, retailers, and consumers. In your solution (centralized database and API), you rely on the goodwill of the manufacturers which is fine (I guess) in most cases. But retailers and consumers have good reason sometimes not to trust the manufacturers. Vice versa.
Okay, let's consider this case: the manufacturer produces milk packaged in a bottle. So they put QR code in the milk, and put some information in their database. Let's say they put the production date into this database.
QR code: Abbbccc
Information: produced on January 5th 2018
They send the milk to the warehouse A. Warehouse A keeps the milk for a night before sending to the retailers. But alas, there is a storm preventing the warehouse sending the milk to the retailers. So 1 week later, it delivers the milk to the retailers. Warehouse A informs the manufacturer about the incident. But let's say this milk only has 10 days before it hits expiry date after the production. Manufacturer decides to lie to the retailers. They updates the database.
QR code: Abbbccc
Information: produced on January 11th 2018
The blockchain is not what prevented that; the manufacturer publicly publishing that information is what prevented that. The fact that they did so to a blockchain is irrelevant.
Say the manufacturer instead just has an RSS feed on their site, where they publish that information (digitally signed, of course) as the milk is produced. The retailers just have to keep a local copy of that feed, and so they can detect any later tampering.
And if you really love the blockchain, you can always run your own blockchain that simply records snapshots of the manufacturer's RSS feed!
</sarcasm>
That said, this does bring to mind one genuinely useful aspect to the blockchain I forgot about, and that's the fact that Keybase uses the bitcoin blockchain (IIRC) to periodically record the Merkle tree roots that they use to verify their own information. The only reason to do this is as proof that they're not tampering with the Keybase history that they publish, and so fundamentally this is just the same thing as digital notarizing that I did mention before (except in this case it doesn't matter whether the courts recognize it as being valid). And you could still accomplish this without a blockchain simply by having a neutral third party agree to keep a record of the merkle tree roots, but this is one of the few cases where the 'trustless' aspect of the blockchain actually is useful.
Though of course even with a 'trustless' blockchain you still have to trust the chain itself. With Bitcoin, you can assume nobody's managed to execute a 51% attack against the chain (at least, for the time being; AIUI with the way things are going it looks like the Chinese government might be able to do it by exerting pressure on all the Chinese miners), but if you're running your own chain, how do you make mining the chain popular enough to prevent attacks?
In fact, to my mind, the only real benefit of Bitcoin at this point is the fact that it's so popular it's hard to attack (well, except by the Chinese government).
Yeah, as long as the cryptocurrency speculators are paying for it, getting a public timestamping service for almost free is nice.
I'm not actually a Bitcoin/blockchain hater; I can't avoid having a soft spot for any tech that makes me feel like I'm living in a cyberpunk world :) What I dislike is the mania. Bitcoin is a cool experiment, not a production-ready solution to anything.
maintain a queue of.. failed modifications and retry them later when the API goes back up again.
Your blockchain client still has to have a queue of transactions to be submitted, as the Internet is not magically reliable.
You're literally describing a benefit of blockchain. Its right under your nose.
It is a benefit of the blockchain, in the same way that transporting people is a benefit of a dump truck. That doesn't mean it's appropriate for that job.
There are many, many tools for storing and pushing messages to remote servers. The blockchain clients can do it, but it's absurd to use them unless you need the rest of the blockchain stuff. Even an email server (MTA) would be a better option.
A centralized database run by the manufacturer would accomplish the same thing. The number of trustless use cases, where blockchain really shines, is just not that large. Decentralization has a huge cost and most of the time it’s not worth the overhead.
In a centralized database it is allways possible to cheat. I think something like qualitiy data from a factory. Once you stored the data, there will be no way to change it later.
Why would a vendor cheat in a database that contains only a list of legitimate parts from the vendor? It is in their interest to sell those parts and not have any knock-offs sold.
The same goes for quality data, mostly because even if the vendor provides it, basically any industry partner will absolutely insist on doing sample tests on the quality anyway. That also doesn't remove the factor where the quality results are cheated before being put on the blockchain.
A blockchain is not very useful when
A) all participants are trusted or
B) there is no incentive to cheat or
C) if there is incentive to cheat there are already countermeasures available that are more useful (ie, doing samples and having a contract that specifies damage payments in case quality does not match)
Since you have to, at some point, trust the manufacturer that they built what they said they built, there is no point in a "trustless" system.
Second, you have yet to actually provide any motivation for end clients to spend money or hardware on a manufacturer's blockchain. Chances are the manufacturer would have to maintain all the miners, which is silly.
Third, the manufacturer in this case would have all of the signing keys, since they're the only ones that can make parts. This also damages the selling point of the blockchain.
As noted by other commenters, in most of the immutable data use cases that I have seen, these ignore the much greater business and operational risk placed in your counter-party. For instance, I place far more trust in an airline to get me from A to B alive and safe than I do for them to honor the fact that they issued me a ticket. We've already established a much higher level of trust based on profit (i.e. dangerous airlines lose customers) and thus a blockchain doesn't really add anything.
I think the point the earlier posters are trying to make is that if a manufacturer is at a point where they need an immutable, decentralised quality record their problems are bigger than the record keeping. As someone buying parts you generally want to trust the manufacturer you're buying from, as someone making them, if you're at the point of making crap and faking records your days are probably numbered anyway.
If you somehow managed to persuade an industry to get on board, for the most part, those with nothing to hide are the ones a decentralised quality database is the least useful for - anyone trying to hide anything (manufacturer / buyer) is going to avoid taking part or cut corners anyway.
You can't think of anything? There's a half dozen use-cases that immediately come to mind that aren't possible without a blockchain.
One obvious use case is collectible items for games. People spend thousands on games like Hearthstone or Clash Royale. Imagine if the cards you collected in such a game were ERC20 tokens. Instead of all that value being locked up within Blizzard or Supercell's servers, you could freely trade or sell your in-game items. I think that would encourage players to spend even more money on these types of games, and could open up huge new marketplaces for digital goods.
A marketplace where none of the money is going to Blizzard or Supercell. Where's the incentive for them to do this?
There's also a lot of technical issues here. What happens if I sell a card while I'm in the middle of playing a game?
And of course the usability issues. What happens if I get hacked and someone steals all my cards? Blizzard / Supercell would have no way to make things right short of giving out free copies of cards to people (which would quickly become an avenue for fraudulently duplicating cards by having various accounts get "hacked"). And more generally, in order to participate, I need a private key that I keep secure. What happens when I lose that key, because I'm not a crypto nerd but am just an average computer user playing a game? Now I've lost access to everything I spent my hard-earned money on, and once again, Blizzard / Supercell would have no way to make things right (short of giving out free copies of cards, which leads to fraud, etc).
About the only benefit here is the ability for users to trade items without the involvement of the company in question, but there's very little benefit to the company to allow that, and it carries far too many serious issues.
> What happens if I get hacked and someone steals all my cards? Blizzard / Supercell would have no way to make things right short of giving out free copies of cards to people
The blockchain is a distributed public ledger, but everything in the actual game itself is controlled by the game developer's centralized servers.
The provenance of any token can be known just by looking in the ledger, and the game's developer could simply blacklist that token on their game's servers, rendering it useless.
The blockchain does next to nothing in this game token scenario. It's still mostly a centralized system.
> About the only benefit here is the ability for users to trade items without the involvement of the company in question, but there's very little benefit to the company to allow that, and it carries far too many serious issues.
Exactly. Although, given that you can't use the tokens when the game servers are down, being unable to trade them when servers are down is probably not a big loss.
But if the game company wanted to make them tradable, they already could - see TF2. And if they don't want, they're also not going to implement a game with ERC20 tokens.
> Okay, I don't want to come down too hard on this article, but I think it's nearsighted. Sure, it's true that _today's_ blockchains have many downsides the article brings up
I read the article as a criticism of the status quo, in which case the prospect of future potential would be irrelevant.
I got downvoted the last time I said this, but cryptocurrencies are actually pretty nice for doing exactly what their purpose is: sending money over the internet. Do you know how hard it is to get Stripe or Paypal to approve you for international credit card processing? If you're a "hacker" working out of your apartment, they automatically assume you're trying to launder money and shut you down, even if you've worked hard to provide solid documentation that you are who you say you are and you're doing what you say you're doing. Even if they do approve you it can take months to integrate into their system. And that's with Stripe and/or Paypal, without Stripe and/or Paypal it's impossible. Until crypto. With crypto you can set up a transaction system in a day, by yourself. I think that's great value.
Yeah, it's nice to be able to just send money internationally to friends/clients/whoever without using your private information / real world identity / whatever. If cryptocurrencies stayed as the small nerd money that no one cares about, that would be great.
But of course, capitalism ruined everything, now the buttcoins are 99% used for speculation and scams, there was literally a PonziCoin lol, prices are huge and volatile, transaction fees are huge, the GPU market is completely screwed, there is attention from governments and businesses, and (back to the topic of the article) everyone wants a fucking blockchain instead of a database. (note: If you just want an immutable proof of non-tampering, you need Certificate Transparency!! Not a slow power-wasting system designed around libertarian "trust no one" wank.)
Well, of course something that skirts around regulations will require less red tape. Once the government catches up, you'll be required to do similar hoop jumping for cryptos. Exchanges suffer this problem already, don't they?
The cat is already out of the bag its just like bittorrents of copyrighted content. Yeah It's illegal but that doesn't stop anyone. Also, with how easy it is to change one crypto for another how would you even regulate it? I am not asking that retorically and am genuinely interested in this if anyone has an idea of how cryotocurrency regulations would work.
You regulate the fiat onramps and offramps which are the exchanges. Nobody uses bitcoin to actually pay for things, so once you take away the ability to exchange it for fiat, the whole scheme collapses. The US government could end most of this tomorrow by simply shutting down a handful of exchanges.
In my personal experience, the transfer fees, transaction times, and the fact that the market can crash overnight, makes cryptocurrencies more trouble than they're worth, at least at the moment.
I don't particularly care whether crypto succeeds or not but transfer fees and long confirmation times are pretty much relegated to bitcoin only and even then are much less now than they were in the end of 2017. ethereum is very cheap and fast to send, and there are many altcoins that offer free/extremely fast payments.
The ease of setting up online payments is a double edged sword.
On one hand, it makes it a lot easier for someone to earn some money on their side project.
But on the other hand, it also makes it a lot easier for scammers et al. to accept payments from their victims. And that's not to mention that you can't do chargebacks with Bitcoin, unlike if I get scammed with my CC where I can ring my bank and reverse the charges.
Chargebacks can be handled by an escrow contract. Paying an unknown or untrusted payee? Use an escrow service backed by a institution that sells trust and and escrow service.
This type of institutionally backed transaction holds legit value. The current problem is, that ALL digital transactions in non crypto currencyies REQUIRE this institution. This has enabled a monoplistic middleman posistion to develop that I don't need if I want to pay my friend for a painting they made.
Ask anyone that uses the square payments if theyd rather take cash or pay the card processing fee? These type of small businesses will jump all over crypto when the UX and education hits the right tipping point.
No were not, because very few transactions require an escrow. I do 90% of my in person transactions without an escrow using cash. These transactions can be replaced with crypto for a very very small fee, negligible compared to the card processing fee. The essense here is that currently a card transaction is like an escrow transaction, but most tranactions don't require that level of security, notably in person transactions. And thats where cryto is a next level tech, it can func in the same way as current card transactions and it can also operate at almost the transaction cost of cash.
Too bad humans ruined the stability of such currencies by building marketplaces designed to enable speculation. I mean I guess it's inevitable and maybe you can argue market places will help CC stabilize quicker, but it's disappointing from a purist perspective. I think there's great value in a decentralized currency that is resistant to manipulation by a central power. But bitcoin stopped being that lately.
The funny thing about it all is that Bitcoin really stopped functioning like a currency over a year ago, these days its really more of a speculative asset more than anything else.
Very interesting, and mostly right imho. Still no killer app for any blockchain so far, but lots of problems already well known. I'm almost disappointed the author didn't mention the ecological disaster that goes with the energy consumption, instead of just talking about the price.
yeah proof of work is turning out to be a pretty unsustainable idea - i'm not sure if proof of stake truly can be considered the victor yet but it seems like a huge step in the right direction.
(Completely agreed that there hasn't been a killer app yet in the space - but I think i'm more optimistic about the chances of that happening at some point)
It's these deluded comparisons that make blockchain proponents look silly. The "traditional banking system" provides orders of magnitude more services than a blockchain. They are just not comparable.
If you are comparing the cost per transaction or per amount of money transferred, then I don't see how Bitcoin could in any way be considered more efficient.
I hardly think so. Try scaling up Bitcoin to the world's current volume of transactions and you'll find it uses vastly more electricity than traditional banking systems use.
We are working on it, so watch this space. The power consumption will not increase linearly, because of tier 2 & 3 solutions. The key is that blockchain is automated. With traditional centralised trust systems, you need buildings full of people running everything.
What I feel has never been discussed is not whether blockchain or decentralization is a good idea rather how does decentralization will work? The issue is not whether immutability is bad idea rather how will it work in case of disputes?
The only answer I keep hearing is - well, game theory can take care of it. This misses the point that if people are aware of the rules, they will find ways to break it.
We saw a good example of how "we need 51% for manipulation" works in real life during Status ICO. F2pool which held 25% of the mining power was able to manipulate the ICO holding back ethereum transactions:
Opening this article, I was hoping to get a technical discussion as to why an application might or might not need blockchain. Unfortunately, I was met with a ranting article with a few straw man arguments about why blockchain is flawed.
The first point the author makes is the disadvantage of immutability. Claims that few systems benefit from immutable transaction records. First of all, I don't think that's true. Many systems do, not just financial systems with double entry bookkeeping. Event sourcing is a well defined architecture pattern in back end systems, and it turns out that immutable event logs are actually incredibly useful. It's also pretty well known that you don't erase history in financial systems. That is one of the pillars of double entry bookkeeping.
A more balanced article would point out the pros and cons of immutable systems, but to flippantly argue that immutability is useless? That's just lazy.
Tracking shipment of goods on a blockchain has many advantages. Namely, you can create a shared protocol for the data of shipment tracking, and you can open that blockchain up to certain parties to sign as the good moves along the supply chain. It doesn't have to be "trustless". A particular app's blockchain might only be open to a few trusted parties to write to. Not all transactions have to be written to a single, global, immutable ledger. There are still great benefits to sharing a common blockchain among specific, trusted, cooperative entities.
On POW and the electricity argument, I think we waste electricity on lots of frivolous things. I'm willing to bet Christmas lights also consume more than the state of Delaware. However, it's not the processing of transactions that the electricity is being spent on, it's the creation of new coins.
POS is a good alternative. I think many coins are starting to leverage POS. Ethereum will be switching to that soon.
Still, POS vs POW has nothing to do with "why you probably don't need a blockchain". These are implementation details that vary per blockchain/coin.
Scale also varies dramatically among coins. Ripple already processes 1000s of transactions / second. Lightning network on BTC is growing rapidly. Ethereum has scaling solutions in the works. Other chains have completely different properties than the top two and have different answers for the scaling issues. These issues will be solved with time.
As for rants on ICOs and scams, etc. I mean, do you know how many people have been scammed from phishing e-mails? Does that mean we should not use e-mail? No. As always, caveat emptor, do your own research, and don't take unnecessary risks.
> On POW and the electricity argument, I think we waste electricity on lots of frivolous things. I'm willing to bet Christmas lights also consume more than the state of Delaware.
Delaware used 11.26 TWh of electricity in 2016 ("total retail sales", i'm ignoring the direct use bit, sue me):
A light user of LED christmas lights ("1 to 3 wreaths, a garland, and a total of approximately 10 strings to wrap their outdoor trees"!) will use 96 watts while operating for 5 hours a day, 30 days a year, for 14.4 kWh in total:
That is based on a dubious estimate that miners will spend roughly 60% of the price of one BTC in electricity to ensure profitable mining. The price of BTC is highly volatile, the hashing power of the network is not nearly as volatile as the price. No one knows exactly how much energy is being spent.
I don't think you are right that electricity is consumed only for the creation of new coins. The proof of work is done for every block of transactions, and would still be part of the system if no new coins were created.
Correct. Producing new coins is a side effect of mining in POW systems in order to help pay the miners.
For bitcoin specifically, once the reward falls below the Satoshi, the entire cost of mining will fall on the shoulders of users in the form of transaction fees. This will not work very well.
I would not bother if I were you, I've never seen a coverage so negative of blockchains as the one we have on HN. Every week you have a new article looking like this, full of straw man arguments, never any pro/cons. "You Probably Don't Need a Blockchain", yeah you probably did not need a website in 1999 as well, and web technologies were crap. Cryptocurrencies are completely new field which needs time to mature, basing the potential future of it on current technologies isn't very wise.
I remember the Dropbox post on HN full of people asking why they would need it when they can use USB keys and ftp, I feel cryptocurrencies are clearly underestimated the same way here on HN.
I think HN is responding to the almost hyperbolic proliferation of "blockchain" as some digital panacea and social zeitgeist. It's cool to talk about "crypto" at dinner now. Every time I hear some suave new BTC owner at the table next to mine undressing his two lady friends with technically inaccurate explanations of how crypto currencies work I die a little.
But I think you're right. Time will tell. I would love to see more distributed software that empowers participants to grow stake in the digital systems they depend upon. And having well-curated frameworks and working knowledge for operating blockchains will help us grow our digital gardens. The renaissance has only just begun. Patience is a virtue.
I think the focus in the article and in the comments is all wrong. The benefit of blockchains is on the businesslevel. If you have several manufacturers, of course you can integrate with all their databases, but that requires an enourmous amount of managements and hours in meetings and implementation. The next step, which i guess some banks have done is to cooporate on a common solution which is operated and run by a commonly owned entity. This also requires tons of management and a whole new organization which eventually becomes its own business area. A third option is like uber for transporting goods, a huge independent third party which is efficient, but eventually gets too powerful, so people revert to one of the other solutions. Blockchains on the other hand has a model for distributing trust and operations. It provides a more general solution to a mexican standoff than months of meetings and long contracts. Your contract is embedded in the blockchain. Of course the blockchain needs to be updated and maintained, so i think the real issue with blockchains would be that people cannot agree to using a single one for a specific purpose. But then it is much easier to agree to using a blockchain than to use solution x provided by company y because of all the organizational overhead it could abstract away.
Most companies will adopt permissioned blockchains if they decide to use blockchain technology. It's just not common to expose your data and logic to people outside your organization even if encryption is involved. Right or wrong it's a culture thing. Because of that it's just another technology option like an API server backed by a relational database.
Blockchains and smart contracts are complicated. There have already been a large number of security issues. There is also a lot of research into making the technology performant. Picking a centralized authority is much less risky because the organization is betting on proven technology.
Distributed systems are ideal for many applications. Distributed systems verified by many 'miners' is even better, but at some point, we have to admit that the technology is flawed in key points:
- power consumption, considering global warming, is a huge waste;
- the speed all nodes communicate between each other (not even counting the great firewall of China) can't be improved after some point (BTC lightning network is NOT a real solution - read an article about how exactly it works)
Proof of stake is a VERY BAD idea that creates more problems than it solves. All I have to do to take over the chain is buy 1 coin more than anyone else on the chain..
All other problems could be solved in the future (reversible transactions, regulation/privacy etc), but with these 2 major drawbacks, blockchains are not feasible, in my opinion.
It would be nice if this was called, "Why would I need a Blockchain?" or something. It's pretty clear the author hasn't gone deep enough to tell other people how relevant Blockchain might be to their lives. A change in title/tone would avoid the crimes of confidence.
The growth of the blockchains will slow drastically, as the flaw in 'Metcalfe's law' - which states that the number of potential connections in a network is proportional to the square of the number of participants-becomes apparent: most people have nothing to sign for each other! By 2020 or so, it will become clear that the blockchains' impact on the economy has been no greater than the fax machine's.
> On smart contracts: "Of course, writing programs that produce permanent financial consequences gives me some pretty serious anxiety, and I would hope that most senior engineers would feel the same."
I don't believe most senior engineers would feel the same. It's hard to imagine our world today without programs that produce permanent financial consequences. They are everywhere.
Okay, go write a "smart" mortgage and put all your money into it. Let me know how you feel about this.
Of course every bug has financial effects, software is designed to make money in the vast majority of cases. But to write software that can literally drain every single last dollar from your clients or yourself in an unrecoverable fashion just because _any_ programming error is insanity to me.
At some point in the article they mention that an alternative to the proof of work could be to use the proof of stake: the oldest stake build the next block. Did I understand correctly? How can that work? Doesn't it create multiple problems to do that?
My less romantic, medium-term outlook on this is that all of these thought-police projects are trying to enforce a combination of nonstate binary answers and an (informational) monoculture to a messy capitalist world with the single technological argument of a distributed/anonymized/encrypted/irreversible database that has little relevance for the actual underlying idea.
Looking at the past eight+ years, and other than opening up speculation and dubious activites for a new group of people, we have not seen a single project that would ever highlight the usual required 10x benefits, let alone the promise to change the behavior of the regular user. It's merely porting a fraction of existing stuff behind cumbersome UX — With all respect for infancy of technology but what if porting my contacts, having one single login, a distributed social network or to-do list aren't just that important as the proponents are arguing for? Obvisouly all of these attempts have already failed several times. This is not the equivalent of killing Gopher through HTTP by a new experience, making information available for the first time, introducing a new socially acceptable interaction or killing industries and middlemen by means of __raw__ technology (In each case there was always more to it). Even torrenting is already more or less dead in favor of OTT because people are lazy bastards that don't care how the content gets streamed to their TV. And what if customers actually like collecting flight miles, having someone who picks up the phone when their CC was compromised, when the taxi driver harassed them, their car title got lost or their 401k was hacked off their account?
IF breaking up the power consolidation in whatever industry with blockchain tech being the primary method, the starting line is at what's already out there and then offering real advantages and incentives (other than coins) that can only be achieved through a public ledger — Obviously there are potential and often cited areas like real estate, voting and medical records but all of these seem to me as an admistrative job for a missionary movement to enforce standards and not a private startup. And yes, I get the argument for using it in adversarial areas but we're talking business here.
> Blockchains typically use the “Proof of Work” system, where multiple participants try to solve a difficult problem in order to certify a block to be valid.
Apparently no one has told him that a blockchain is just a data structure and has nothing to do with proof of work.
No, that's just a hash chain, and it has existed for decades, long before the blockchain ever appeared. For example, every POS software in my country was legally required to implement that before the Bitcoin paper was published. The blockchain is a particular implementation of an hash chain, designed to work well for transactions using some sort of distributed consensus algorithm (of which proof-of-work is a category).
If an author does not understand what he is talking about, then his conclusion should be ignored. This article is laughable, I would suggest doing your own research before listening to baseless prose. Below, we see why this might not be a sound article:
> The first miner that solves the problem is rewarded with a few Bitcoins, hence the unkind comparisons to Ponzi or MLM schemes.
Author clearly does not understand what MLM and Ponzi schemes are, likely throwing them out as buzzwords to associate mining with scams.
> Actually trying to make computers in general reflect the real world is a very hard task, and the blockchain does nothing to solve this issue.
Black and white statements are a red flag; it's likely this guy does not know much and was hired to "write posts about bitcoin". Blockchains and other emergent structures may trigger tons of research into automata theory. Blockchains do get us one step closer to representing globally unique objects. Seems like the author didn't ponder at all.
> One of the most common proposed usages of blockchain is to track the shipment of real world goods, including everything from food to diamonds. On the surface this sounds great, you could easily and trustlessly prove that the shiny rock in your beloved’s ring wasn’t mined by children in a war torn region, fantastic!
The author's sarcasm here is very telling of his lack of imagination. To swiftly denounce technology that doesn't exist in its full form yet is incredibly presumptuous.
> Ebay purchaser did not deliver? Tough. Someone held you hostage until you sent them bitcoin? Tough. Private key hacked, or hard drive destroyed? That’s unfortunate for you.
As if these problems are not applicable to fiat currency...
> The only way to recover bad bitcoin transactions is to convince everyone to do a hard fork
This is possible with smart insurance contracts with two user segments: insurance providers, and insurance seekers.
> [Refunds due to faulty transactions] would rapidly clutter up the chain full of “oops” transactions, which would pretty quickly make you wonder why you’re bothering at all.
Did this guy just forget that faulty transactions make up almost no relative volume? This is a moot point. Even if every single transaction was faulty, it'd only be a factor two more in size according to the Author. The author thinks that a factor of two is a worthy point here. I am really starting to question the validity of these points.
> It turns out, that there’s very few systems that truly benefit from an inability to amend or update transactions.
Okay, I can say that too. Where's the source?
> The idea of everyone mining on their phone is just laughable.
The idea of everyone carrying around a device that computes faster than the supercomputers Feynman was playing on is just laughable.
> On top of that, as best I can tell a large percentage of Ethereum contracts are literal Ponzi schemes and ICO tokens
So, you can't tell very well? AFAIK the logic here is also flawed; even if most of the ICOs were scams, it says more about the people doing ICOs than it does about the concept of the ICO itself. Again folks, this article contains a lot of misinformation. I highly suggest doing your own research before making decisions.
Out of all the points I mentioned, you decided to comment on the least interesting one. This is also very telling. This article seems to have been written by someone who read a single Forbes article on blockchains. Many of your points are obsolete, but readers will figure that out on their own.
I'm appalled at the number of articles in this space that are aimed at confusing laymen more than informing them. It's a shame.
The moment you start accusing people of being paid shills, the rest of your comment is literally pointless. It's hard to ignore the paid shill part. Complaining about this is like calling someone IRL an asshole and then being surprised that they totally skipped right by the rest of your treatise on the state of politics today.
while I agree with most points I don't see what new value this blog article provides. There is no indepth analysis, only opinion. And not even new ideas. This is exactly what we criticise about most blockchain lovers.
In case you are new here: The polite parts of the HN community consider it best practice to explain why they flagged or downvoted something so that the corresponding content provider has an opportunity to improve their results if they choose to do so.
It feels to me a bit like claiming in the 90's that the internet isn't the future because you can't download that much stuff at 56k speeds.
They mention "immutability" being a problem - so much so that it somehow disallows typos or undos. That's just not true - you just represent the updates as changes in their own right (which better reflects reality than literally altering history). There's nothing about "the blockchain" that can't record human error or corrections.
They go on to talk about how proof of stake doesn't solve all problems by mentioning, "The Bitcoin blockchain is currently 157GB in size, and that’s at a very low transaction speed. The idea of everyone mining on their phone is just laughable."
Once again, they are talking about current implementations - I don't see how this is inherently a restriction in the technology, and there are (reputable) companies working on this exact thing.
The amount of money I have in cryptocurrencies can basically be rounded to zero, so I don't have much skin in this game - I just think blog posts like these aren't really making compelling points other than "the current technology today has many flaws", which I think is uninteresting to most.