+++ BLOCKCHAIN: THE TECH UTOPIA +++

in #blockchain7 years ago

If you believe everything you read, blockchain is the answer to all life's problems: it will even prevent crime and cure cancer! There's not a day goes by where I don't read an article, a tweet, or watch a video where blockchain (specifically) is credited as being the world's saviour to whatever problem the author is presently focused on. Blockchain is apparently the answer to all our security needs, all our privacy and anonymity needs, and our big government and big finance problems the world over.

But is it?

I ask, because blockchains save everything. Figuratively according to the believers, and literally according to the technology--which means the files will to continue to grow and will never shrink.

That's my first gripe with it. Nothing can ever be deleted. Because if it could, that would mean the blockchain has to be refactored, which would mean it needs to be recreated and revalidated. Which means it would be susceptible to compromise, defeating the entire point of it. So content can only be marked as non-visible by a front-end, eg; a blog site using blockchain would only be able to mark contents as non-visible, but the content would still be there. Openly accessible by anyone using the API.

This creates a problem for things such as online abuse and content that has a limited lifespan for legal reasons. In the instance of abuse, say online bullying, doxing, or worse, the content cannot be removed. That can put people's lives at risk. I'm sure if you've spent any time online you'll see that people will take one of three views when they see abuse. They will side with the victim and possibly abuse the abuser, they won't care, or they will side with the abuser, even going so far as threatening the victim with death. We are a species of extremes, and the freedom to communicate digitally has really emphasised the best and the worst in humanity.

In the case of doxing, what do you think happens if the content can't be removed? There have been many cases where identities have been mistaken, maliciously or otherwise, and innocent people have received death threats or physical harm. Many people online don't take the time to analyse what they're reading. They respond with their emotions, sharing, commenting, jumping to conclusions, or simply siding with a person they like all too frequently.

This, to put it mildly, can be very problematic.

What about the case of limited lifespan content? We're seeing blockchain being pushed as the solution to various tech problems that don't exist. There are people and organisations selling tech solutions with blockchain because it's the new buzzword. It's become a religion for some folk--for others, a way to exploit others for financial gain.

In a world where disk space and network bandwidth isn't infinite, we simply can't keep everything. We don't want to keep everything. For example, we rotate logs on our servers because we can't keep everything. We remove full and incremental backups after certain times because not only do they waste valuable space, but they become useless after a while. Even in a major major catastrophe, restoring a backup prior to a month will never happen. The backed up data is just too old and useless. Any company that has to lose a month of data in a catastrophe is going to close their doors anyway because they will no longer be trusted by anyone.

What about financial records for tax purposes? In my country, we have to keep records for 7 years. After that we destroy them. Sure they don't need to be destroyed, but in the paper world, storing folders full of documents took up considerable physical space. In a digital world, as mentioned, it takes up disk space. Sure perhaps not a huge amount, but compare the volumes of a single person to a small business to a large multinational. Their needs are all different. It might be realistic for the lower end of the scale, but probably unrealistic for a large organisation.

Anyone who thinks disk space is infinitely abundant or cheap has never had to build or fund a storage solution for a large corporation. Having large scale redundant arrays of disks, with at-rest encryption, highly available, duplicated offsite as backup, capable of high speed failover in a disaster recovery situation is really not cheap at all. Again, think about the scale. You at home with your PC vs. a large multi-national who expects to have data delivered and available globally in seconds. I can't imagine how much storage the world's major social networks require, and to have all that data globally distributed so that a person viewing the site in Khazakstan can make a post and have it show up for someone in Mexico seconds later. And someone in the US. And in the UK. And in France. And in Australia. I'm not even going to into network capacity and computer processing power. :)

Back to my point... There are other instances where data has to be destroyed for legal reasons after a certain timeframe too. A blockchain based solution doesn't just make this impractical, it makes this impossible.

Could a blockchain be created that would allow content to be deleted? I'm sure it can, but the problems then would become about trust. Who do you trust to remove that content? How do they get the authority to delete it? If you require a quorum, what happens when the members disagree about the deletion and it sits at a stalemate?

If content does get deleted, what happens to the blockchain files? There would have to be some way of refactoring it so that there isn't dead space there. In times of olde, hard drives would frequently need to be defragged--ie; defragmented. This was a time consuming and resource intensive operation that would move data around, say to the end of the disk, then go through it block by block and recreate it in sequential order at the start of the drive. That was designed to improve the speed that data was read at. If the drive head didn't have to jump all over the platter, it would be able to read faster. This is less relevant now with a mix of journalling filesystems and SSD drives which don't have to move a physical spindle and read-head, but the idea that data will be patchy across a blockchain file is relevant to our situation.

Oracle databases are another example of a horrible archaic technology that store data in blocks and require manual refactoring to eliminate the gaps.

This is not a good idea. It's actually possible to delete all the data in a database and still have it take up the same amount of disk space if it's not refactored. Amazing eh? No, it's horrible. It's badly thought out design that was probably fine in the 1980s when they didn't expect data to grow to current sizes, but it's terrible now. Same in a blockchain. Somebody new to the chain would have to download a complete copy before they can begin working. What if they download something tens or hundreds of gigs (or terrabytes!) in size and there are no records?

What a completely inefficient waste of space, bandwidth, and time.

With the data volumes in the modern world growing exponentially at a high rate, this sort of technology isn't sustainable. Even in the world of databases, we've hit a point where they're ingesting so much data that having a traditional relational database model isn't working any more. Many Big Data organisations are using NoSQL or similar databases, which are effectively just like throwing data at a wall. The requests are done in a much simpler fashion because it's less resource intensive. They're often dealing with millions or billions of rows of data and doing a traditional request limits the number of connections a server can receive, the amount of data it can process per second, and means fewer resources are needed to serve up the same amount of data. In situations such as financial transactions this can result in massive cost savings just from an infrastructure point of view.

Can we see this now with Bitcoin? It's not living up to the dream of a global, high speed, cheap alternative to fiat currency. Sure, it's global, so we have 1 out of 3.

We can't say to people, hey, download this wallet app, wait six hours for the blockchain to download over the McDonald's wifi, catch up those nine years of data, and then you can start buying digital money. Oh but first you'll have to wait a few days while the exchanges verify you, and a further few days for those purchases to stick. And when you transfer funds to someone else's wallet, it could take hours. Maybe days.

That's just not good enough.

And yes, there are projects which aim to solve these problems, but many have simply forked Bitcoin and changed a few parameters. They are still susceptible to growing and slowing down in a similar way. Projects like Bitcore have done a hybrid fork and created a whole new blockchain to keep the size down, but how many years before they catch up in size and we get yet another project fork and spawn a new blockchain promising amazing speeds? It just seems like a very circular problem.

So I honestly believe that blockchain is not the future of digital currency. Not if we want those transactions to be lightning fast globally--persistently and permanently. And not if we expect to have billions of transactions per second happening all across the planet.

From the user perspective, it must be as simple as downloading a wallet app on our mobiles, punching in our credit card number, and being able to have digital cash instantly. We need to be able to go into a shop and have the transaction happen as fast or faster than handing over cash or swiping a credit card. Otherwise what's the point? I may as well just use analogue cash. We need to be better, faster, and easier than cash.

If we can't do that, then we've failed.

OK, so doom and gloom aside, what would I have done if I were smart enough to implement a global digital finance system?

For decentralisation, I would look to email. Emails, or "transactions," take seconds to span the globe, even if they have attachments. They contain a path in the headers so you know how they arrived at the destination.

Insecure as hell unless you add public/private key encryption to encrypt the contents.

At which point you then have to deal with servers being hijacked or DNS being spoofed. DNSSEC aims to help in that regard. Having SSL/TLS certificates with chains of trust (not quite in the same way as blockchains) can prove that the originator and the recipients are who they claim to be.

But what about a server being hit by a DoS attack? That can take them offline for hours or days. Email deals with this by retrying a message for 4 days, after which it gives up and lets the originator know the message couldn't be delivered.

What if you can't reach your own mail server? Or in the case of digital cash, your local transaction server? Well, just like email, you may have different email addresses and you could choose to send using a different email address. There's no reason a digital wallet couldn't have multiple transaction servers it's registered with that can validate your chain of trust. If one transaction server is down, send it to another. Same for the destination. You could CC the transaction to multiple recipients. The first to register the claim would take ownership. Or perhaps wallet addresses could have multiple routes to get to the same place. Dupe checks would be in place to ensure that multiple transaction servers don't deliver the same transaction more than once to the same wallet, or that the same server doesn't incorrectly deliver twice (like in a disaster recovery situation where a server is rolled back to a previous backup).

Wouldn't it be great to send a transaction to rjcreed@cyber.credits or sales@mylocal.subway.cyber.credits and let the internet figure it out just like email? Or have the shops' point of sale systems come up with a QR code onscreen that would translate to a specific transaction like:

cd08f7d8c16b8b96e07375acfcb3013eafae7418b9d692a5131ea66e789a545e@sales.mylocal.subway.cyber.credits

You could scan it with your digital wallet app, approve the transaction with your key or your eyeball or your fingerprint, and they would receive confirmation immediately on their screen that the transaction has been processed.

The other big factor that many people like is anonymity. In my scenario above, it would be down to the hosting transaction server to allow or disallow an ID that is anonymised or not. Naturally I expect that on the back end, when dealing with any financial institutions or in legal contexts that you would need to supply your correct legal information, but I don't see a need for this to be public information. Your source address doesn't need to be bob.smith@cyber.credits, for example. It could instead be BigDaddy5150@cyber.credits. Of course, when you pay their rent, or receive their wages, you might want something a bit more formal or professional.

There are some other issues that would need attention which my "solution" doesn't cover:

  • verification of funds available
  • being able to globally freeze accounts of known scammers and thieves - see Etherdelta hack
  • being able to refund or reverse transactions from known scammers and thieves
  • a global ledger--which would probably either be some kind of distributed blockchain that everyone verifies their transactions on without needing to actually download the blockchain themselves, or it would be a decentralised database that validation queries could be made against

So with all of my hypothesising, I hope I've given you some food for thought. I agree that blockchain is an excellent technical solution that is applicable to some scenarios, but I think it's being given far more credit than it's due.

I strongly believe that we haven't seen the end product for a global distributed financial system. Blockchain is an incredible first step, and it has got many people thinking about trying to come up with a better way or faster transactions, but when it's being used by the masses and the fiat currency has gone the way of the dodo, I don't think digital currency solutions will resemble what we currently have at all.

-- Randall J Creed, 30 December 2017

What do you think? Is there something I'm missing? Are there projects in place that are working on new applications instead of using a blockchain based solution?

I'd love to hear about them and your thoughts.

If you've come this far and you like what you read, please follow me on Steemit or Twitter. I plan on writing more articles analysing cryptocurrency and the technology and would like to chat with like minded people. Thanks for reading.

Sort:  

Your Post Has Been Featured on @Resteemable!
Feature any Steemit post using resteemit.com!
How It Works:
1. Take Any Steemit URL
2. Erase https://
3. Type re
Get Featured Instantly – Featured Posts are voted every 2.4hrs
Join the Curation Team Here

The @OriginalWorks bot has determined this post by @rjc to be original material and upvoted it!

ezgif.com-resize.gif

To call @OriginalWorks, simply reply to any post with @originalworks or !originalworks in your message!