Ethereum’s Issues Stem From the Basics

Ethereum is certainly #2 in the market capitalization only second to Bitcoin but it doesn’t mean it’s as easy to use.  In fact I suspect my recent experience is what is keeping it from rising, Ethereum makes me nervous and reluctant to use it everyday. As someone who has used the client’s/wallets for both I find Ethereum’s is cumbersome and at times impossible to use, thus preventing the user from using it to do any transactions at all.

Imagine if a simple eTransfer or Wire from your bank took over a week to initiate?  That’s way too long and beyond the purpose of the infamous but in practice non-realtime transactions in the cryptoworld.

I spent nearly a week syncing 4 months of blocks!

I needed to do a transaction in Ethereum and opened up my Ethereum Client which slowed my whole computer down and ultimately wouldn’t update past a certain point.

I consider myself an above average user who is good at troubleshooting issues.

I updated to the latest Ethereum client and that still didn’t fix it.

Some users suggest deleting the “chaindata” folder and that didn’t fix it.

Eventually I decided to do delete the whole “Ethereum Wallet” folder (never do this without backing up your keystore files safely).  Also be aware that this folder “Ethereum Wallet” is not where your keys/wallet data are stored.  In Linux they are stored in “~/.ethereum/keystore”which is very misleading when you have a “~/.config/Ethereum\ Wallet” (which is not where your wallet data or keys are stored).  I stress this because I came across many who had sworn off the Ethereum Coin and team because of this confusion where they lost their keys and ultimately their investment and coins.

The solution was to delete “~/.config/Ethereum\ Wallet” but the fun didn’t stop there.  It was updating so slow through the missing blocks that it felt like I was mining the entire blockchaining (you could literally count 1 by 1 as it was processing or sometimes it would take minutes on a single block).  I’ve been able to sync the whole Bitcoin or Litecoin Blockchain more quickly and without or much impact on my computer.

I decided to switch the chaindata for Ethereum to SSD it did speed things up but not significantly and still took about a day to catch up and my computer still did slow down.

What I Learned About Ethereum

For all of its features I think the team is out of touch with getting the basics right first, as evidenced by the “Parity” fiasco where through no fault of the users people have essentially lost or have 160M worth of Ethereum coins frozen and lost presumably forever.  I have never seen this with another major coin.

Nor have I seen or experienced the confusion on basics of why their client is so complex.  Why does it use another program geth to sync the data?  Why are there so many different choices, fast sync (which didn’t help speed things up for me), a MIST client and so many different confusing and unnecessary choices and complexity?

I like how I can just download the Bitcoin client or Litecoin client and it works simply, there’s no guessing or confusion.

When it comes down to it, if someone with my background is having to troubleshoot and it slows me down from doing transactions, or I fear my coins could randomly be lost it doesn’t bold well for Ethereum’s future.  I don’t mind leaving other wallets running but Ethereum just takes too much computing with SSH so it’s not practical.  I will consider Ethereum a wise investment with some risks I’ve highlighted above but for any cryptocurrency to truly be accepted and successful it must be secure, fast, reliable and easy to use (something which most cryptocurrencies still fail at if not for the reason that you require the whole blockchain to keep your money in your own possession or have to rely on dangerous uninsured third party exchanges or services that are often hacked).

As we can see below this is not a sustainable practice for cryptocurrency going forward and I will be posting more about how I think the future of crypto will be significantly different than we currently see.

Screenshot-Ethereum Wallet-19

Bitcoin – I Don’t “Get It”

This may sound strange coming from a CEO who owns and uses Bitcoin and other cryptocurrency through multiple businesses that accept Bitcoin each day.   But I still really don’t understand Bitcoin on a practical level, the technical part is understandable but for how long will the current model of currencies like Bitcoin and Litecoin work?  Do not get me wrong, I am long on crypto still but what that means in the coming years and decades is probably going to be vastly different than the current model of today.

What Is A Confirmation And Why Does It Take So Long?

What I’m referring to is when you send or receive currency there are varying opinions of what it means to actually “confirm” you have it.  But even before that people who have sent and received cryptocurrency know it is actually quite slow.  It can easily take a number of minutes and even after that point it is recommended you wait for a certain amount of confirmations.

It’s quite simple, these crypto networks with multiple nodes have to talk to each other, this takes time for them to all be in sync or agreeance with the blockchain.  Once that happens you get your first confirmation, however this can be a number of minutes and still doesn’t absolutely guarantee you have the money in your wallet.

The current system is nearly impossible to use as a daily transaction/banking experience.

I’m used to using cash, debit, credit or even services like PayPal.  It is all fairly instant (although sometimes it can take several seconds for debit or credit) but once the payment is approved and the merchant is notified instantly, they knew they have their money.  Imagine waiting for even a single confirmation for cryptocurrency while in line at a supermarket?

Why does the problem exist?

It’s quite simple, ironically it’s the one huge negative side effect of distributed, decentralized cryptocurrencies.   There are other drawbacks too such as what happens to banks if they are DOS’d but this hasn’t been a huge factor so far in crypto’s history.

What other risks exist?

My biggest fear is that in the future a powerful organization or entity may eventually be able to reverse engineer or find another way to attack the blockchain and algorithm of some cryptocurrencies.  This would essentially spell disaster, chaos and the end of that currency.  It would be the equivalent of the destruction or infiltration of a fiat currency’s central banking and distribution system.

One other issue with the blockchain

Everyone knows the safest way to hold crypto is with your own wallet because exchanges are routinely hacked and coins are stolen, it is more risky to keep your coins with a third party wallet (essentially the equivalent of an online crypto bank).  The problem lays with the issue at this moment that those deposits are not insured (although I believe Coinbase and a few others may have some insurance).  This may change in the future and exchanges and currencies that are insured will definitely rise above the rest.

What is the solution?

This may draw the ire of a lot of hardcore crypto users but there has got to be some sort of central authority, body or “top-tier” network similar to root DNS servers on the internet that can serve and validate transactions on the blockchain.  There must be some sort of physical organization between the nodes on the blockchain.

Is there a current solution to this problem?

Ripple/XRP solves this problem by essentially verifying transactions instantly and keeping all the currency in essentially an online global wallet (there is no such thing as paper wallet or traditional on your computer/device wallet).  The advantage is that you don’t have to store hundreds of gigabytes of blockchain data (and growing) like Bitcoin and other currencies.  Ripple has the benefit of also being endorsed by major financial institutions which is a first for digital crypto that I’m aware of.

I haven’t done further research but currencies like XRP I believe are the future, things can be done anyway technically and Bitcoin, Litecoin and similar blockchained coins can do this if they change some of their decentralized model.  I expect there will be more infighting and similar splits as the Bitcoin Cash that emerged from the Segwit update as the industry matures and expands.

Disclaimer

I hold positions in multiple cryptocurrencies including Bitcoin and Ripple and have given my true opinion of both in this article.

How to disable Google Fonts on your website

The problem check the source code by viewing your website.
Click “View Source”

Then click the link on any “.css” at the top or search for “googlefontapis.com”

In the .css file you can see this:

#before doing any of this backup your original .css

@import url(“https://fonts.googleapis.com/css?family=Open+Sans:400,400italic,700,800”);

This is a problem and what stops your site from being viewed in China!  Since CSS files are usually called first before even displaying html this is why your users think the site is blocked or why you may falsely believe your site is blocked when it is simply the CSS font URL call that is causing it.

How to fix it:

For each Google Font Api download it as a file for example above manually entering this into your browser.
Or you can use this command in Linux:

wget https://fonts.googleapis.com/css?family=Open+Sans:400,400italic,700,800
Save the file as “compevo-google-css.css” or whatever you like:

Inside the file you will see the following:

@font-face {
font-family: ‘Open Sans’;
font-style: italic;
font-weight: 400;
src: local(‘Open Sans Italic’), local(‘OpenSans-Italic’), url(https://fonts.gstatic.com/s/opensans/v15/xjAJXh38I15wypJXxuGMBp0EAVxt0G0biEntp43Qt6E.ttf) format(‘truetype’);
}
@font-face {
font-family: ‘Open Sans’;
font-style: normal;
font-weight: 400;
src: local(‘Open Sans Regular’), local(‘OpenSans-Regular’), url(https://fonts.gstatic.com/s/opensans/v15/cJZKeOuBrn4kERxqtaUH3aCWcynf_cDxXwCLxiixG1c.ttf) format(‘truetype’);
}
@font-face {
font-family: ‘Open Sans’;
font-style: normal;
font-weight: 700;
src: local(‘Open Sans Bold’), local(‘OpenSans-Bold’), url(https://fonts.gstatic.com/s/opensans/v15/k3k702ZOKiLJc3WVjuplzInF5uFdDttMLvmWuJdhhgs.ttf) format(‘truetype’);
}
@font-face {
font-family: ‘Open Sans’;
font-style: normal;
font-weight: 800;
src: local(‘Open Sans ExtraBold’), local(‘OpenSans-ExtraBold’), url(https://fonts.gstatic.com/s/opensans/v15/EInbV5DfGHOiMmvb1Xr-honF5uFdDttMLvmWuJdhhgs.ttf) format(‘truetype’);
}

#########

for each url download the font manually:

Based on the above I made a quick script to help:

for font in `cat cssgoogle.css|grep “.ttf”|cut -d “,” -f 3|awk ‘{print $1}’|sed s#url\(##g|sed s#\)##g`; do
wget –no-check-certificate $font
done

#will download all the fonts like below

https://fonts.gstatic.com/s/opensans/v15/xjAJXh38I15wypJXxuGMBp0EAVxt0G0biEntp43Qt6E.ttf
https://fonts.gstatic.com/s/opensans/v15/cJZKeOuBrn4kERxqtaUH3aCWcynf_cDxXwCLxiixG1c.ttf
https://fonts.gstatic.com/s/opensans/v15/k3k702ZOKiLJc3WVjuplzInF5uFdDttMLvmWuJdhhgs.ttf
https://fonts.gstatic.com/s/opensans/v15/EInbV5DfGHOiMmvb1Xr-honF5uFdDttMLvmWuJdhhgs.ttf

#comment out the original

@import url(“https://fonts.googleapis.com/css?family=Open+Sans:400,400italic,700,800”);

#add the following modified code to the top of the original css file:
Change the paths to suit where you downloaded these .ttf files:
#in general you are going to be searching and replacing “https://fonts.gstatic.com/s/opensans/v15/” with “/some/to/your/ttffonts”

@font-face {
font-family: ‘Open Sans’;
font-style: italic;
font-weight: 400;
src: local(‘Open Sans Italic’), local(‘OpenSans-Italic’), url(/design-2017-zf/assets/css/xjAJXh38I15wypJXxuGMBp0EAVxt0G0biEntp43Qt6E.ttf) format(‘truetype’);
}
@font-face {
font-family: ‘Open Sans’;
font-style: normal;
font-weight: 400;
src: local(‘Open Sans Regular’), local(‘OpenSans-Regular’), url(/design-2017-zf/assets/css/cJZKeOuBrn4kERxqtaUH3aCWcynf_cDxXwCLxiixG1c.ttf) format(‘truetype’);
}
@font-face {
font-family: ‘Open Sans’;
font-style: normal;
font-weight: 700;
src: local(‘Open Sans Bold’), local(‘OpenSans-Bold’), url(/design-2017-zf/assets/css/k3k702ZOKiLJc3WVjuplzInF5uFdDttMLvmWuJdhhgs.ttf) format(‘truetype’);
}
@font-face {
font-family: ‘Open Sans’;
font-style: normal;
font-weight: 800;
src: local(‘Open Sans ExtraBold’), local(‘OpenSans-ExtraBold’), url(/design-2017-zf/assets/css/EInbV5DfGHOiMmvb1Xr-honF5uFdDttMLvmWuJdhhgs.ttf) format(‘truetype’);
}