There
is a great deal of buzz about Facebook’s new cryptocurrency Libra. There is
even a trickle of technical information about it surfacing. No one seems to be
talking about the deep-seated technical reasons the new system will crash and
burn. Sadly for Libra, there isn’t just one such fatal flaw! Here I’ll describe
one of them.
The
core reason that FB’s Libra will fail is:
1. it’s a
large body of new code
2. new
code is always riddled with bugs, no matter how hard the developers try
3. Unlike
the code big companies like FB are used to, bugs are really hard to hide in
this application
It’s a
large body of new code
The
hype machine for crypto, Bitcoin, Ethereum, ICO’s, Blockchain and the rest has
been running at full speed for a few years now. Leaders in every industry
are infected with intense FOMO (fear of missing out), and are committing to
projects left and right. With all the blockchain projects going on for years
now, it’s understandable that most people would think that this code must be
solid and tested by now. There’s just one little problem: there are thousands of
bodies of code, with new ones emerging all the time as groups get excited
about fixing the glaring problems in
older implementation of the concepts; little groups like Microsoft and Intel.
These aren’t just tweaks – we’re talking major new bodies of code here.
Think
about transportation machines as diverse as propeller planes and powered
skateboards. Yes, they both get you from point A to point B, but they’re quite
a bit different from each other. The code that Libra plans to use is brand
new in every way – even the central concepts of how blocks are built
and chained are radically different than the proven-in-production methods used
by Bitcoin. That’s like saying “we’re using proven engine technology to build
our new car – except that its engine won’t use gas, diesel or electricity for
power – it will be better!”
New
code is riddled with bugs
People
who write code make mistakes. Lots of them. All the time. There are a host of
methods in varying degrees of use to prevent or catch such mistakes, things
ranging from test-driven-development to extensive code reviews. None of them work.
No, they don't work for Facebook either.
Yes,
there are some bodies of code that are remarkably reliable. Linux is a great
example – it powers over half of all the web servers in the world! Linux
performs a function that was thoroughly understood when it was written, and is
an open-source project written in a solid language – C – and led by a true
coding genius. Its quality was achieved over years of top-notch leadership with
thousands of talented contributing programmers and millions of installations.
Libra is at the opposite end of the spectrum. It’s brand new, and it’s supposed
to work flawlessly keeping track of financial assets from day one. The chances
it will perform without flaws from the beginning are essentially nil.
What’s
worse, the internet giants have an unbroken track record of releasing code
that’s riddled with errors. Yes,
Facebook is partnering with lots of corporate giants – and those giants are
equally accomplished at releasing an unbroken stream of software horror shows.
Facebook
ignores the issue of its inability to produce software that works and satisfies
users, much less have a solution for it that it will apply to Libra.
The
tech giants usually hide their bugs
The
much-lauded software geniuses at Facebook, Twitter, Google and the
rest are convinced that they are as good as programmers get. But their efforts
have a track record of failure. More important than the actual failures is the
fact that their applications are ones in which hiding errors is built into the applications!
When you enter a search query, how do you know whether the results are
accurate, so long as you get a list of vaguely relevant results? When you pull
up Facebook and see the newsfeed, are the entries always the right ones? Are
all the entries that should be there in fact there? How would you know when
they’re not?
Contrast
this with your credit card. You get a statement. You can be sure the bank has
included every transaction you’ve made, so they can make you pay for it. Most
people at least scan the transactions to see if there’s one you didn’t make, so
you can call the card company and get it removed, so you don’t have to pay for
whatever the criminal bought using your card! The typical internet method of
hiding errors just isn’t going to work here – and Facebook doesn’t even
acknowledge the issue, much less have a way to solve it.
Conclusion
Facebook,
like the other internet giants, is incapable of building code that
works, even after extensive testing and use by millions of users.
Corporate giants and the government are no better. Facebook’s usual method of
tricking users into not seeing its errors won’t work here. Facebook and its
partners are rushing to somehow leverage Bitcoin’s “success” at funding the
international illegal drug and human trafficking trade, flouting
anti-money-laundering regulations and providing a platform for what amounts to
massive illegal gambling. Of course, they talk about being charitable to the
"unbanked" and other noble goals, while continuing to enrich
themselves in a way the so-called "robber barons" could only envy.
They are likely to fail at this mission because of their inability to write
software that works.
Final
note: the standard pronunciation “Libra” is Lee-brah, like the astrological
sign. Because of its deeply flawed design, which Facebook and its partners try
to cover up, I prefer to pronounce Libra as “lie-brah” – because it’s based on
lies.
No comments:
Post a Comment