Scott Adams, Dilbert

I walked into a meeting at an old job to discuss the viability of a new feature to be added to our software product. After discussing how the feature would help our product, and what it could mean for our market impact, one of the sales team members pipes up, “Sounds great! Is there any way we could use machine learning there?”

The feature in question was to be implemented in a product that runs on an embedded computer, basically just a micro controller (think television remote or thermostat). The point is there is absolutely no way machine learning could have been helpful in this instance.

I’m not trying to accuse sales teams of not understanding software engineering, I’m just trying to make the point that anyone on the business side of the aisle loves to use hot trendy new words. When it comes to how we invest our own money or our own time, it’s good to be aware of what is being overly hyped at the moment.

Bitcoin not Blockchain

I’m going to focus on a very specific instance of buzzword market hyping gone wrong. Over the past ten years Bitcoin has evolved from a small project that software hobbyists work on, to a growing global economic system. Many people have naturally been working to make a profit in the space, and I don’t blame them. I just need to point out the fallacy that many companies are trying to spread, “Bitcoin is dying, Blockchain is the future.”

I believe the majority of the people spreading this propaganda are trying to claim that because Bitcoin is old software that naturally it is time to replace it with something new. That something new is probably being developed privately by their company or sponsor as we speak. Bitcoin is the best use case for a Blockchain that I have heard of so far, and not just by a little. I don’t think I’ve heard of another great idea yet. (Ethereum is interesting, but I’m not completely convinced)

Not decentralized? Not interesting.

What makes any cryptocurrency useful is the fact that it is decentralized. If it isn’t, then it’s just another PayPal or Venmo. The whole point of crypto is to enforce the ideal that no government, person, or entity can control the currency.

Cryptos need to be more than just decentralized in their network. They must be decentralized in their development (as much as possible). If a company is developing a cryptocurrency behind closed doors where no one can review the code or contribute, run like hell.

Open source software is slow to develop

The downside to good open source development is that it is all done through online collaboration, with little human interaction or management structure. This means that development time can be quite long. Fortunately because so many eyes get to view the code, the code is far less buggy and tends to be architecturally sound.

Linux

MySQL

Apache

If you need examples look to projects like Linux, MySQL, and Apache. Most of the internet runs using these technologies! They are trusted because people can review and touch them. Developers don’t need to make a call and deal with customer service when there is a problem,

they can just go fix it.

Blockchain Sucks

Okay maybe that’s a little harsh. Blockchain will probably end up having several killer use cases. I believe the biggest one will be currency, and probably Bitcoin.

Blockchain sucks because it has very few good use cases. Here is a quick rundown of the good things about a Blockchain:

Pros

Censorship resistant — Can’t be mutilated except by those who hold their own private keys

— Can’t be mutilated except by those who hold their own private keys Decentralized — Data is stored across many devices, not controlled by the same entity

That’s about it. Not a very long list right? If these two properties aren’t required in a technology, there is no reason to use a Blockchain.

Cons

Slow — Data needs to be verified by the entire network. It takes awhile to do this. This is why Bitcoin has run into severe scaling issues that require complex (Lightning Network) or hardware intensive (Big Blocks) solutions to solve.

— Data needs to be verified by the entire network. It takes awhile to do this. This is why Bitcoin has run into severe scaling issues that require complex (Lightning Network) or hardware intensive (Big Blocks) solutions to solve. Fat — In typical databases, the database manager does his best to make sure data is only stored once (and then maybe a backup or two is made). Blockchains store all data on every device in the network, and this is done out of necessity.

— In typical databases, the database manager does his best to make sure data is only stored once (and then maybe a backup or two is made). Blockchains store all data on every device in the network, and this is done out of necessity. Energy Hog — The Bitcoin network uses around the same amount of power as the entire country of Chile currently. I don’t see this as a big problem as we can replace all of the fiat system with Bitcoin eventually, but not every system needs this! https://digiconomist.net/bitcoin-energy-consumption

— The Bitcoin network uses around the same amount of power as the entire country of Chile currently. I don’t see this as a big problem as we can replace all of the fiat system with Bitcoin eventually, but not every system needs this! https://digiconomist.net/bitcoin-energy-consumption Complicated — Programming using a Blockchain as a data store is orders of magnitude more complex than just shoving that data to hard disk like typical database systems. This introduces insane developer overhead and technical debt.

I’m not saying to not spend time researching Blockchain. Please do. I just want to encourage the casual hobbyist or investor to not be fooled by the “Blockchain good, Bitcoin Bad” propoganda. The only people saying that are those that don’t truly understand how it works, or those that are actively trying to game the market for profit.

Best of luck out there, I’m always learning so please comment below with questions or concerns!

Donate

BTC: bc1qvw0ytfntx6zs0lfsruem6xwj0mewng523ktatp

ETH: 0x3d737324ed6Ac204a809d17bc4807C6D2a05D6eD

BCH: qz5j4ypu4wf2x3960elyyxz4vk0z2p9lagfh52xq59

Nano: xrb_1ipdmx5ck6fwc1hkt3fg631z6twjo9e5m6e9dbenm65sbb3e4hgmd1ygxnq3

Sources

https://www.lullabot.com/articles/new-and-shiny-vs-good-old-software